1 2009-02-05 Scott Violet <sky@google.com>
3 Reviewed by George Staikos.
5 https://bugs.webkit.org/show_bug.cgi?id=23462
6 Changes call from setFillColor to setStrokeColor.
8 * html/CanvasStyle.cpp:
9 (WebCore::CanvasStyle::applyStrokeColor):
11 2009-02-05 David Hyatt <hyatt@apple.com>
13 Fix crash on svg custom stop test. A virtual function didn't get patched properly.
15 Reviewed by Sam Weinig
17 * rendering/RenderObject.cpp:
18 (WebCore::RenderObject::clippedOverflowRectForRepaint):
19 * rendering/RenderSVGGradientStop.h:
20 (WebCore::RenderSVGGradientStop::clippedOverflowRectForRepaint):
22 2009-02-05 Simon Fraser <simon.fraser@apple.com>
24 Reviewed by Dave Hyatt
26 https://bugs.webkit.org/show_bug.cgi?id=23765
28 Add toRenderBoxModelObject() so that we can cast objects that
31 Fix getComputedStyle to return the current value of style
32 properties that are undergoing accelerated animations, by
33 asking the AnimationController if the property has accelerated
34 animations, and, if so, asking it to generate an appropriate
37 Tightened up some type safety (CSSPropertyID), and code clarity
38 (replace bool with enum).
40 * WebCore.xcodeproj/project.pbxproj:
41 * css/CSSComputedStyleDeclaration.cpp:
42 (WebCore::hasCompositedLayer):
43 (WebCore::computedTransform):
44 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
45 * page/animation/AnimationController.cpp:
46 (WebCore::AnimationControllerPrivate::isAnimatingPropertyOnRenderer):
47 (WebCore::AnimationController::isAnimatingPropertyOnRenderer):
48 (WebCore::AnimationController::supportsAcceleratedAnimationOfProperty):
49 * page/animation/AnimationController.h:
50 * page/animation/AnimationControllerPrivate.h:
51 * page/animation/ImplicitAnimation.cpp:
52 (WebCore::ImplicitAnimation::startAnimation):
53 (WebCore::ImplicitAnimation::endAnimation):
54 * page/animation/KeyframeAnimation.cpp:
55 (WebCore::KeyframeAnimation::startAnimation):
56 (WebCore::KeyframeAnimation::endAnimation):
57 * rendering/RenderBoxModelObject.h:
58 (WebCore::RenderBoxModelObject::isBoxModelObject):
59 (WebCore::toRenderBoxModelObject):
60 * rendering/RenderLayerBacking.cpp:
61 (WebCore::RenderLayerBacking::updateLayerTransform):
62 * rendering/RenderObject.h:
63 (WebCore::RenderObject::isBoxModelObject):
64 * rendering/style/RenderStyle.cpp:
65 (WebCore::RenderStyle::applyTransform):
66 * rendering/style/RenderStyle.h:
67 (WebCore::InheritedFlags::):
69 2009-02-05 Dimitri Glazkov <dglazkov@chromium.org>
71 Reviewed by Eric Seidel.
73 https://bugs.webkit.org/show_bug.cgi?id=23767
74 Add custom V8 bindings for HTML5 database.
76 * bindings/v8/custom/V8CustomSQLStatementCallback.cpp: Added.
77 (WebCore::V8CustomSQLStatementCallback::V8CustomSQLStatementCallback):
78 (WebCore::V8CustomSQLStatementCallback::~V8CustomSQLStatementCallback):
79 (WebCore::V8CustomSQLStatementCallback::handleEvent):
80 * bindings/v8/custom/V8CustomSQLStatementCallback.h: Added.
81 (WebCore::V8CustomSQLStatementCallback::create):
82 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: Added.
83 (WebCore::V8CustomSQLStatementErrorCallback::V8CustomSQLStatementErrorCallback):
84 (WebCore::V8CustomSQLStatementErrorCallback::~V8CustomSQLStatementErrorCallback):
85 (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
86 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.h: Added.
87 (WebCore::V8CustomSQLStatementErrorCallback::create):
88 * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp: Added.
89 (WebCore::V8CustomSQLTransactionCallback::V8CustomSQLTransactionCallback):
90 (WebCore::V8CustomSQLTransactionCallback::~V8CustomSQLTransactionCallback):
91 (WebCore::V8CustomSQLTransactionCallback::handleEvent):
92 * bindings/v8/custom/V8CustomSQLTransactionCallback.h: Added.
93 (WebCore::V8CustomSQLTransactionCallback::create):
94 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp: Added.
95 (WebCore::V8CustomSQLTransactionErrorCallback::V8CustomSQLTransactionErrorCallback):
96 (WebCore::V8CustomSQLTransactionErrorCallback::~V8CustomSQLTransactionErrorCallback):
97 (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
98 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h: Added.
99 (WebCore::V8CustomSQLTransactionErrorCallback::create):
100 * bindings/v8/custom/V8CustomVoidCallback.cpp: Added.
101 (WebCore::V8CustomVoidCallback::V8CustomVoidCallback):
102 (WebCore::V8CustomVoidCallback::~V8CustomVoidCallback):
103 (WebCore::V8CustomVoidCallback::handleEvent):
104 (WebCore::invokeCallback):
105 * bindings/v8/custom/V8CustomVoidCallback.h: Added.
106 (WebCore::V8CustomVoidCallback::create):
107 * bindings/v8/custom/V8DatabaseCustom.cpp: Added.
108 (WebCore::CALLBACK_FUNC_DECL):
109 * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: Added.
110 (WebCore::CALLBACK_FUNC_DECL):
111 * bindings/v8/custom/V8SQLTransactionCustom.cpp: Added.
112 (WebCore::CALLBACK_FUNC_DECL):
114 2009-02-05 Dimitri Glazkov <dglazkov@chromium.org>
116 Reviewed by Eric Seidel.
118 https://bugs.webkit.org/show_bug.cgi?id=23747
119 Add Chromium threading-related files.
121 * platform/chromium/TemporaryLinkStubs.cpp: Removed theading-related stubs.
123 2009-02-05 Sam Weinig <sam@webkit.org>
125 Reviewed by Adam Roben.
127 Add toRenderButton methods for casting RenderObjects to RenderButtons. The methods will assert if the object
128 is not a RenderButton. Also add a toRenderButton method that takes a RenderButton but returns void and that
129 is unimplemented. This method will catch anyone trying to do a cast when the object is already a RenderButton.
131 * rendering/RenderButton.h:
132 (WebCore::RenderButton::isRenderButton):
133 (WebCore::toRenderButton):
134 * rendering/RenderFileUploadControl.cpp:
135 (WebCore::RenderFileUploadControl::paintObject):
136 * rendering/RenderObject.h:
137 (WebCore::RenderObject::isRenderButton):
139 2009-02-05 David Hyatt <hyatt@apple.com>
141 Move the m_layer member variable of RenderBox up into RenderBoxModelObject. Refactor styleDidChange'
142 of RenderObject, RenderBoxModelObject and RenderBox to get more of the code in the correct subclass.
143 In order to set the various RenderObject bits properly prior to the test for whether a layer is
144 required, I added an additional method, updateBoxModelInfoAfterStyleChange, that is responsible
145 for setting all of the bits.
147 Eliminate hasStaticX/Y, staticX/Y, and setStaticX/Y from the render tree. Move hasStaticX/Y to
148 RenderStyle, and just use the corresponding layer() methods for the
149 staticX/Y getters/setters.
151 Reviewed by Sam Weinig
153 * rendering/RenderBlock.cpp:
154 (WebCore::RenderBlock::layoutBlock):
155 (WebCore::RenderBlock::adjustPositionedBlock):
156 (WebCore::RenderBlock::layoutOnlyPositionedObjects):
157 (WebCore::RenderBlock::layoutPositionedObjects):
158 (WebCore::RenderBlock::paintObject):
159 (WebCore::RenderBlock::nodeAtPoint):
160 (WebCore::RenderBlock::offsetForContents):
161 (WebCore::RenderBlock::calcPrefWidths):
162 (WebCore::RenderBlock::baselinePosition):
163 * rendering/RenderBox.cpp:
164 (WebCore::RenderBox::RenderBox):
165 (WebCore::RenderBox::destroy):
166 (WebCore::RenderBox::styleWillChange):
167 (WebCore::RenderBox::styleDidChange):
168 (WebCore::RenderBox::updateBoxModelInfoFromStyle):
169 (WebCore::RenderBox::scrollWidth):
170 (WebCore::RenderBox::scrollHeight):
171 (WebCore::RenderBox::scrollLeft):
172 (WebCore::RenderBox::scrollTop):
173 (WebCore::RenderBox::setScrollLeft):
174 (WebCore::RenderBox::setScrollTop):
175 (WebCore::RenderBox::getOverflowClipRect):
176 (WebCore::RenderBox::localToAbsolute):
177 (WebCore::RenderBox::absoluteToLocal):
178 (WebCore::RenderBox::localToContainerQuad):
179 (WebCore::RenderBox::position):
180 (WebCore::RenderBox::computeRectForRepaint):
181 (WebCore::RenderBox::calcAbsoluteHorizontal):
182 (WebCore::RenderBox::calcAbsoluteVertical):
183 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
184 (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
185 * rendering/RenderBox.h:
186 * rendering/RenderBoxModelObject.cpp:
187 (WebCore::RenderBoxModelObject::RenderBoxModelObject):
188 (WebCore::RenderBoxModelObject::destroy):
189 (WebCore::RenderBoxModelObject::styleWillChange):
190 (WebCore::RenderBoxModelObject::styleDidChange):
191 (WebCore::RenderBoxModelObject::updateBoxModelInfoFromStyle):
192 * rendering/RenderBoxModelObject.h:
193 (WebCore::RenderBoxModelObject::layer):
194 (WebCore::RenderBoxModelObject::requiresLayer):
195 * rendering/RenderFlexibleBox.cpp:
196 (WebCore::RenderFlexibleBox::layoutBlock):
197 (WebCore::RenderFlexibleBox::layoutHorizontalBox):
198 (WebCore::RenderFlexibleBox::layoutVerticalBox):
199 * rendering/RenderInline.cpp:
200 (WebCore::RenderInline::updateBoxModelInfoFromStyle):
201 (WebCore::RenderInline::styleDidChange):
202 (WebCore::RenderInline::relativePositionedInlineOffset):
203 * rendering/RenderInline.h:
204 * rendering/RenderLayer.cpp:
205 (WebCore::RenderLayer::setStaticY):
206 (WebCore::RenderLayer::updateLayerPosition):
207 * rendering/RenderLayer.h:
208 * rendering/RenderObject.cpp:
209 (WebCore::RenderObject::setStyle):
210 (WebCore::RenderObject::styleDidChange):
211 * rendering/RenderObject.h:
212 (WebCore::RenderObject::markContainingBlocksForLayout):
213 * rendering/RenderTableRow.cpp:
214 (WebCore::RenderTableRow::paint):
215 * rendering/RenderWidget.cpp:
216 (WebCore::RenderWidget::destroy):
217 * rendering/bidi.cpp:
218 (WebCore::appendRunsForObject):
219 (WebCore::RenderBlock::layoutInlineChildren):
220 (WebCore::RenderBlock::skipTrailingWhitespace):
221 (WebCore::RenderBlock::skipLeadingWhitespace):
222 (WebCore::RenderBlock::findNextLineBreak):
223 * rendering/style/RenderStyle.h:
224 (WebCore::InheritedFlags::hasStaticX):
225 (WebCore::InheritedFlags::hasStaticY):
227 2009-02-05 Sam Weinig <sam@webkit.org>
229 Fix the windows build.
231 * bindings/scripts/CodeGeneratorCOM.pm:
234 2009-02-05 Anders Carlsson <andersca@apple.com>
236 Reviewed by Kevin Decker.
238 Update to match Gecko.
241 * plugins/npfunctions.h:
243 2009-02-05 Sam Weinig <sam@webkit.org>
245 Reviewed by Darin Adler.
247 Finish merging EventTargetNode up into Node.
249 This also fixes a small recently introduced issue where EventListeners
250 would not be removed from the document if they were attached to comment
251 nodes outside of the documentElement.
256 * WebCore.vcproj/WebCore.vcproj:
257 * WebCore.xcodeproj/project.pbxproj:
258 * WebCoreSources.bkl:
259 * bindings/js/JSEventTargetNodeCustom.cpp: Removed.
260 * bindings/js/JSNodeCustom.cpp:
261 (WebCore::JSNode::addEventListener):
262 (WebCore::JSNode::removeEventListener):
263 (WebCore::JSNode::pushEventHandlerScope):
264 * bindings/scripts/CodeGenerator.pm:
265 * dom/CharacterData.cpp:
266 (WebCore::CharacterData::CharacterData):
267 (WebCore::CharacterData::rendererIsNeeded):
268 * dom/CharacterData.h:
269 * dom/ContainerNode.cpp:
270 (WebCore::ContainerNode::willRemove):
271 (WebCore::ContainerNode::attach):
272 (WebCore::ContainerNode::detach):
273 (WebCore::ContainerNode::insertedIntoDocument):
274 (WebCore::ContainerNode::removedFromDocument):
275 (WebCore::ContainerNode::setFocus):
276 (WebCore::ContainerNode::setActive):
277 (WebCore::ContainerNode::setHovered):
278 (WebCore::dispatchChildInsertionEvents):
279 (WebCore::dispatchChildRemovalEvents):
280 * dom/ContainerNode.h:
281 (WebCore::ContainerNode::ContainerNode):
283 (WebCore::Document::removeAllEventListenersFromAllNodes):
284 (WebCore::Document::removeAllDisconnectedNodeEventListeners):
285 (WebCore::Document::setFocusedNode):
286 * dom/EventTargetNode.cpp: Removed.
287 * dom/EventTargetNode.h: Removed.
289 (WebCore::Node::scriptExecutionContext):
290 (WebCore::Node::eventListeners):
291 (WebCore::Node::insertedIntoDocument):
292 (WebCore::Node::removedFromDocument):
293 (WebCore::Node::willMoveToNewOwnerDocument):
294 (WebCore::Node::didMoveToNewOwnerDocument):
295 (WebCore::updateSVGElementInstancesAfterEventListenerChange):
296 (WebCore::Node::addEventListener):
297 (WebCore::Node::removeEventListener):
298 (WebCore::Node::removeAllEventListenersSlowCase):
299 (WebCore::Node::handleLocalEvents):
300 (WebCore::eventTargetAsSVGElementInstance):
301 (WebCore::eventTargetRespectingSVGTargetRules):
302 (WebCore::Node::dispatchEvent):
303 (WebCore::Node::dispatchGenericEvent):
304 (WebCore::Node::dispatchSubtreeModifiedEvent):
305 (WebCore::Node::dispatchWindowEvent):
306 (WebCore::Node::dispatchUIEvent):
307 (WebCore::Node::dispatchKeyEvent):
308 (WebCore::Node::dispatchMouseEvent):
309 (WebCore::Node::dispatchSimulatedMouseEvent):
310 (WebCore::Node::dispatchSimulatedClick):
311 (WebCore::Node::dispatchWheelEvent):
312 (WebCore::Node::dispatchWebKitAnimationEvent):
313 (WebCore::Node::dispatchWebKitTransitionEvent):
314 (WebCore::Node::dispatchFocusEvent):
315 (WebCore::Node::dispatchBlurEvent):
316 (WebCore::Node::dispatchEventForType):
317 (WebCore::Node::dispatchProgressEvent):
318 (WebCore::Node::dispatchStorageEvent):
319 (WebCore::Node::removeInlineEventListenerForType):
320 (WebCore::Node::setInlineEventListenerForType):
321 (WebCore::Node::setInlineEventListenerForTypeAndAttribute):
322 (WebCore::Node::inlineEventListenerForType):
323 (WebCore::Node::disabled):
324 (WebCore::Node::defaultEventHandler):
325 (WebCore::Node::onabort):
326 (WebCore::Node::setOnabort):
327 (WebCore::Node::onblur):
328 (WebCore::Node::setOnblur):
329 (WebCore::Node::onchange):
330 (WebCore::Node::setOnchange):
331 (WebCore::Node::onclick):
332 (WebCore::Node::setOnclick):
333 (WebCore::Node::oncontextmenu):
334 (WebCore::Node::setOncontextmenu):
335 (WebCore::Node::ondblclick):
336 (WebCore::Node::setOndblclick):
337 (WebCore::Node::onerror):
338 (WebCore::Node::setOnerror):
339 (WebCore::Node::onfocus):
340 (WebCore::Node::setOnfocus):
341 (WebCore::Node::oninput):
342 (WebCore::Node::setOninput):
343 (WebCore::Node::onkeydown):
344 (WebCore::Node::setOnkeydown):
345 (WebCore::Node::onkeypress):
346 (WebCore::Node::setOnkeypress):
347 (WebCore::Node::onkeyup):
348 (WebCore::Node::setOnkeyup):
349 (WebCore::Node::onload):
350 (WebCore::Node::setOnload):
351 (WebCore::Node::onmousedown):
352 (WebCore::Node::setOnmousedown):
353 (WebCore::Node::onmousemove):
354 (WebCore::Node::setOnmousemove):
355 (WebCore::Node::onmouseout):
356 (WebCore::Node::setOnmouseout):
357 (WebCore::Node::onmouseover):
358 (WebCore::Node::setOnmouseover):
359 (WebCore::Node::onmouseup):
360 (WebCore::Node::setOnmouseup):
361 (WebCore::Node::onmousewheel):
362 (WebCore::Node::setOnmousewheel):
363 (WebCore::Node::onbeforecut):
364 (WebCore::Node::setOnbeforecut):
365 (WebCore::Node::oncut):
366 (WebCore::Node::setOncut):
367 (WebCore::Node::onbeforecopy):
368 (WebCore::Node::setOnbeforecopy):
369 (WebCore::Node::oncopy):
370 (WebCore::Node::setOncopy):
371 (WebCore::Node::onbeforepaste):
372 (WebCore::Node::setOnbeforepaste):
373 (WebCore::Node::onpaste):
374 (WebCore::Node::setOnpaste):
375 (WebCore::Node::ondragenter):
376 (WebCore::Node::setOndragenter):
377 (WebCore::Node::ondragover):
378 (WebCore::Node::setOndragover):
379 (WebCore::Node::ondragleave):
380 (WebCore::Node::setOndragleave):
381 (WebCore::Node::ondrop):
382 (WebCore::Node::setOndrop):
383 (WebCore::Node::ondragstart):
384 (WebCore::Node::setOndragstart):
385 (WebCore::Node::ondrag):
386 (WebCore::Node::setOndrag):
387 (WebCore::Node::ondragend):
388 (WebCore::Node::setOndragend):
389 (WebCore::Node::onreset):
390 (WebCore::Node::setOnreset):
391 (WebCore::Node::onresize):
392 (WebCore::Node::setOnresize):
393 (WebCore::Node::onscroll):
394 (WebCore::Node::setOnscroll):
395 (WebCore::Node::onsearch):
396 (WebCore::Node::setOnsearch):
397 (WebCore::Node::onselect):
398 (WebCore::Node::setOnselect):
399 (WebCore::Node::onselectstart):
400 (WebCore::Node::setOnselectstart):
401 (WebCore::Node::onsubmit):
402 (WebCore::Node::setOnsubmit):
403 (WebCore::Node::onunload):
404 (WebCore::Node::setOnunload):
406 * editing/Editor.cpp:
407 (WebCore::Editor::dispatchCPPEvent):
408 * html/HTMLFormElement.cpp:
409 (WebCore::HTMLFormElement::handleLocalEvents):
410 * html/HTMLInputElement.cpp:
411 (WebCore::HTMLInputElement::defaultEventHandler):
412 * html/HTMLTokenizer.cpp:
413 (WebCore::HTMLTokenizer::notifyFinished):
414 * loader/MediaDocument.cpp:
415 (WebCore::MediaDocument::defaultEventHandler):
416 * page/AccessibilityRenderObject.cpp:
417 (WebCore::AccessibilityRenderObject::mouseButtonListener):
418 * page/EventHandler.cpp:
419 (WebCore::EventHandler::dispatchDragEvent):
420 (WebCore::EventHandler::updateMouseEventTargetNode):
421 (WebCore::EventHandler::dispatchMouseEvent):
422 (WebCore::EventHandler::handleWheelEvent):
423 (WebCore::EventHandler::canMouseDownStartSelect):
424 (WebCore::EventHandler::canMouseDragExtendSelect):
425 (WebCore::eventTargetNodeForDocument):
426 (WebCore::EventHandler::keyEvent):
427 * page/FrameView.cpp:
428 (WebCore::FrameView::scheduleEvent):
429 (WebCore::FrameView::updateOverflowStatus):
432 (WebCore::networkStateChanged):
433 * rendering/RenderLayer.cpp:
434 (WebCore::RenderLayer::scrollToOffset):
435 (WebCore::RenderLayer::updateOverflowStatus):
436 * rendering/RenderListBox.cpp:
437 (WebCore::RenderListBox::valueChanged):
438 * rendering/RenderMedia.h:
439 * rendering/RenderTextControl.cpp:
440 (WebCore::RenderTextControl::selectionChanged):
441 * svg/SVGElementInstance.h:
442 (WebCore::SVGElementInstance::toNode):
443 * xml/XPathExpression.cpp:
444 (WebCore::XPathExpression::evaluate):
445 * xml/XPathResult.cpp:
446 (WebCore::XPathResult::XPathResult):
448 2009-02-05 Adam Treat <adam.treat@torchmobile.com>
450 Fix the Qt build now that EventTargetNode.idl was removed in r40672.
454 2009-02-05 Scott Violet <sky@google.com>
456 Reviewed by Sam Weinig.
458 Bug 23462: Add RGB -> CMYK conversion algorithm
459 <https://bugs.webkit.org/show_bug.cgi?id=23462>
461 Adds an RGB -> CMYK converter. This isn't perfect, but better than
464 * html/CanvasStyle.cpp:
465 (WebCore::CanvasStyle::applyStrokeColor):
466 (WebCore::CanvasStyle::applyFillColor):
467 (WebCore::CanvasStyle::cmykToRGB):
468 * html/CanvasStyle.h:
470 2009-02-04 Sam Weinig <sam@webkit.org>
472 Reviewed by Darin Adler.
474 First stage of merging EventTargetNode up into Node. The intent of this change
475 is to both simplify the inheritance hierarchy (at the same time making it more
476 closely match the spec which states that all Nodes are EventTargets) and save
477 4 bytes per Node that the polymorphic multiple-inheritance was costing us.
479 This does the bare minimum to get things compiling, the next patch will clean
481 * DerivedSources.make:
483 * WebCore.xcodeproj/project.pbxproj:
484 * bindings/js/JSDocumentCustom.cpp:
485 (WebCore::JSDocument::mark):
486 * bindings/js/JSEventListener.cpp:
487 (WebCore::JSLazyEventListener::parseCode):
488 * bindings/js/JSEventTarget.cpp:
489 (WebCore::toEventTarget):
490 * bindings/js/JSEventTarget.h:
491 * bindings/js/JSEventTargetNodeCustom.cpp:
492 (WebCore::JSNode::addEventListener):
493 (WebCore::JSNode::removeEventListener):
494 (WebCore::JSNode::pushEventHandlerScope):
495 * bindings/js/JSStyleSheetCustom.cpp:
496 * bindings/scripts/CodeGeneratorJS.pm:
497 * bindings/scripts/CodeGeneratorObjC.pm:
499 * dom/CharacterData.h:
500 * dom/CharacterData.idl:
502 * dom/DocumentFragment.idl:
504 * dom/EventTarget.cpp:
505 (WebCore::EventTarget::toNode):
507 * dom/EventTarget.idl:
508 * dom/EventTargetNode.cpp:
509 (WebCore::Node::scriptExecutionContext):
510 (WebCore::Node::eventListeners):
511 (WebCore::Node::insertedIntoDocument):
512 (WebCore::Node::removedFromDocument):
513 (WebCore::Node::willMoveToNewOwnerDocument):
514 (WebCore::Node::didMoveToNewOwnerDocument):
515 (WebCore::Node::addEventListener):
516 (WebCore::Node::removeEventListener):
517 (WebCore::Node::removeAllEventListenersSlowCase):
518 (WebCore::Node::handleLocalEvents):
519 (WebCore::Node::dispatchEvent):
520 (WebCore::Node::dispatchGenericEvent):
521 (WebCore::Node::dispatchSubtreeModifiedEvent):
522 (WebCore::Node::dispatchWindowEvent):
523 (WebCore::Node::dispatchUIEvent):
524 (WebCore::Node::dispatchKeyEvent):
525 (WebCore::Node::dispatchMouseEvent):
526 (WebCore::Node::dispatchSimulatedMouseEvent):
527 (WebCore::Node::dispatchSimulatedClick):
528 (WebCore::Node::dispatchWheelEvent):
529 (WebCore::Node::dispatchWebKitAnimationEvent):
530 (WebCore::Node::dispatchWebKitTransitionEvent):
531 (WebCore::Node::dispatchFocusEvent):
532 (WebCore::Node::dispatchBlurEvent):
533 (WebCore::Node::dispatchEventForType):
534 (WebCore::Node::dispatchProgressEvent):
535 (WebCore::Node::dispatchStorageEvent):
536 (WebCore::Node::removeInlineEventListenerForType):
537 (WebCore::Node::setInlineEventListenerForType):
538 (WebCore::Node::setInlineEventListenerForTypeAndAttribute):
539 (WebCore::Node::inlineEventListenerForType):
540 (WebCore::Node::disabled):
541 (WebCore::Node::defaultEventHandler):
542 (WebCore::Node::onabort):
543 (WebCore::Node::setOnabort):
544 (WebCore::Node::onblur):
545 (WebCore::Node::setOnblur):
546 (WebCore::Node::onchange):
547 (WebCore::Node::setOnchange):
548 (WebCore::Node::onclick):
549 (WebCore::Node::setOnclick):
550 (WebCore::Node::oncontextmenu):
551 (WebCore::Node::setOncontextmenu):
552 (WebCore::Node::ondblclick):
553 (WebCore::Node::setOndblclick):
554 (WebCore::Node::onerror):
555 (WebCore::Node::setOnerror):
556 (WebCore::Node::onfocus):
557 (WebCore::Node::setOnfocus):
558 (WebCore::Node::oninput):
559 (WebCore::Node::setOninput):
560 (WebCore::Node::onkeydown):
561 (WebCore::Node::setOnkeydown):
562 (WebCore::Node::onkeypress):
563 (WebCore::Node::setOnkeypress):
564 (WebCore::Node::onkeyup):
565 (WebCore::Node::setOnkeyup):
566 (WebCore::Node::onload):
567 (WebCore::Node::setOnload):
568 (WebCore::Node::onmousedown):
569 (WebCore::Node::setOnmousedown):
570 (WebCore::Node::onmousemove):
571 (WebCore::Node::setOnmousemove):
572 (WebCore::Node::onmouseout):
573 (WebCore::Node::setOnmouseout):
574 (WebCore::Node::onmouseover):
575 (WebCore::Node::setOnmouseover):
576 (WebCore::Node::onmouseup):
577 (WebCore::Node::setOnmouseup):
578 (WebCore::Node::onmousewheel):
579 (WebCore::Node::setOnmousewheel):
580 (WebCore::Node::onbeforecut):
581 (WebCore::Node::setOnbeforecut):
582 (WebCore::Node::oncut):
583 (WebCore::Node::setOncut):
584 (WebCore::Node::onbeforecopy):
585 (WebCore::Node::setOnbeforecopy):
586 (WebCore::Node::oncopy):
587 (WebCore::Node::setOncopy):
588 (WebCore::Node::onbeforepaste):
589 (WebCore::Node::setOnbeforepaste):
590 (WebCore::Node::onpaste):
591 (WebCore::Node::setOnpaste):
592 (WebCore::Node::ondragenter):
593 (WebCore::Node::setOndragenter):
594 (WebCore::Node::ondragover):
595 (WebCore::Node::setOndragover):
596 (WebCore::Node::ondragleave):
597 (WebCore::Node::setOndragleave):
598 (WebCore::Node::ondrop):
599 (WebCore::Node::setOndrop):
600 (WebCore::Node::ondragstart):
601 (WebCore::Node::setOndragstart):
602 (WebCore::Node::ondrag):
603 (WebCore::Node::setOndrag):
604 (WebCore::Node::ondragend):
605 (WebCore::Node::setOndragend):
606 (WebCore::Node::onreset):
607 (WebCore::Node::setOnreset):
608 (WebCore::Node::onresize):
609 (WebCore::Node::setOnresize):
610 (WebCore::Node::onscroll):
611 (WebCore::Node::setOnscroll):
612 (WebCore::Node::onsearch):
613 (WebCore::Node::setOnsearch):
614 (WebCore::Node::onselect):
615 (WebCore::Node::setOnselect):
616 (WebCore::Node::onselectstart):
617 (WebCore::Node::setOnselectstart):
618 (WebCore::Node::onsubmit):
619 (WebCore::Node::setOnsubmit):
620 (WebCore::Node::onunload):
621 (WebCore::Node::setOnunload):
622 * dom/EventTargetNode.h:
623 (WebCore::toEventTargetNode):
624 (WebCore::EventTargetNodeCast):
625 * dom/EventTargetNode.idl: Removed.
626 * dom/MouseEvent.cpp:
627 (WebCore::MouseEvent::MouseEvent):
628 (WebCore::MouseEvent::initMouseEvent):
629 (WebCore::MouseEvent::toElement):
630 (WebCore::MouseEvent::fromElement):
632 (WebCore::MouseEvent::create):
633 (WebCore::MouseEvent::relatedTarget):
635 (WebCore::Node::~Node):
637 (WebCore::Node::isEventTargetNode):
638 (WebCore::Node::toNode):
639 (WebCore::Node::removeAllEventListeners):
640 (WebCore::Node::refEventTarget):
641 (WebCore::Node::derefEventTarget):
643 * page/EventHandler.h:
646 (WebCore::XPathResult::create):
648 2009-02-04 David Hyatt <hyatt@apple.com>
650 Convert RenderLayer from having a RenderBox* m_renderer to having a RenderBoxModelObject*. The
651 container-relative repaint methods all had to be changed as a result to use RenderBoxModelObject* also.
653 All of RenderLayer.cpp now uses what will be the new style for dealing with an object that can be a block
654 or an inline flow. x()/y()/width()/height() can't be queried on an inline flow, nor can many other
655 properties (like scrollWidth() / scrollHeight()), so the code has to be tightened up to convert to RenderBox
656 under the right conditions.
658 There was a bogus subtraction of renderer()->y() in localBounding box for RenderInlines. Since y was always
659 0, this subtraction wasn't necessary. It has been removed.
661 Reviewed by Adam Roben
663 * page/animation/AnimationBase.cpp:
664 * rendering/RenderBR.h:
665 (WebCore::RenderBR::selectionRectForRepaint):
666 * rendering/RenderBlock.cpp:
667 (WebCore::RenderBlock::selectionGapRectsForRepaint):
668 (WebCore::RenderBlock::rectWithOutlineForRepaint):
669 * rendering/RenderBlock.h:
670 (WebCore::RenderBlock::selectionRectForRepaint):
671 * rendering/RenderBox.cpp:
672 (WebCore::RenderBox::outlineBoundsForRepaint):
673 (WebCore::RenderBox::localToContainerQuad):
674 (WebCore::RenderBox::clippedOverflowRectForRepaint):
675 (WebCore::RenderBox::computeRectForRepaint):
676 * rendering/RenderBox.h:
677 * rendering/RenderBoxModelObject.cpp:
678 (WebCore::RenderBoxModelObject::relativePositionOffsetX):
679 (WebCore::RenderBoxModelObject::relativePositionOffsetY):
680 * rendering/RenderBoxModelObject.h:
681 (WebCore::RenderBoxModelObject::relativePositionOffset):
682 * rendering/RenderForeignObject.cpp:
683 (WebCore::RenderForeignObject::computeRectForRepaint):
684 * rendering/RenderForeignObject.h:
685 * rendering/RenderInline.cpp:
686 (WebCore::RenderInline::clippedOverflowRectForRepaint):
687 (WebCore::RenderInline::rectWithOutlineForRepaint):
688 * rendering/RenderInline.h:
689 * rendering/RenderLayer.cpp:
690 (WebCore::RenderLayer::RenderLayer):
691 (WebCore::RenderLayer::updateLayerPositions):
692 (WebCore::RenderLayer::updateTransform):
693 (WebCore::RenderLayer::setHasVisibleContent):
694 (WebCore::RenderLayer::updateLayerPosition):
695 (WebCore::RenderLayer::scrollToOffset):
696 (WebCore::RenderLayer::scrollRectToVisible):
697 (WebCore::resizerCornerRect):
698 (WebCore::RenderLayer::scrollbarCornerPresent):
699 (WebCore::RenderLayer::invalidateScrollbarRect):
700 (WebCore::RenderLayer::positionOverflowControls):
701 (WebCore::RenderLayer::computeScrollDimensions):
702 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
703 (WebCore::RenderLayer::paintScrollCorner):
704 (WebCore::RenderLayer::paintResizer):
705 (WebCore::RenderLayer::isPointInResizeControl):
706 (WebCore::RenderLayer::hitTestOverflowControls):
707 (WebCore::RenderLayer::paintLayer):
708 (WebCore::RenderLayer::hitTestLayer):
709 (WebCore::RenderLayer::localBoundingBox):
710 * rendering/RenderLayer.h:
711 (WebCore::RenderLayer::renderer):
712 (WebCore::RenderLayer::renderBox):
713 (WebCore::RenderLayer::renderBoxX):
714 (WebCore::RenderLayer::renderBoxY):
715 * rendering/RenderListMarker.cpp:
716 (WebCore::RenderListMarker::selectionRectForRepaint):
717 * rendering/RenderListMarker.h:
718 * rendering/RenderMarquee.cpp:
719 (WebCore::RenderMarquee::computePosition):
720 (WebCore::RenderMarquee::timerFired):
721 * rendering/RenderObject.cpp:
722 (WebCore::RenderObject::containerForRepaint):
723 (WebCore::RenderObject::repaintUsingContainer):
724 (WebCore::RenderObject::repaint):
725 (WebCore::RenderObject::repaintRectangle):
726 (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
727 (WebCore::RenderObject::rectWithOutlineForRepaint):
728 (WebCore::RenderObject::clippedOverflowRectForRepaint):
729 (WebCore::RenderObject::computeRectForRepaint):
730 (WebCore::RenderObject::localToContainerQuad):
731 * rendering/RenderObject.h:
732 (WebCore::RenderObject::selectionRectForRepaint):
733 (WebCore::RenderObject::outlineBoundsForRepaint):
734 * rendering/RenderPath.cpp:
735 (WebCore::RenderPath::clippedOverflowRectForRepaint):
736 (WebCore::RenderPath::outlineBoundsForRepaint):
737 * rendering/RenderPath.h:
738 * rendering/RenderReplaced.cpp:
739 (WebCore::RenderReplaced::selectionRectForRepaint):
740 (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
741 * rendering/RenderReplaced.h:
742 * rendering/RenderSVGContainer.cpp:
743 (WebCore::RenderSVGContainer::clippedOverflowRectForRepaint):
744 (WebCore::RenderSVGContainer::outlineBoundsForRepaint):
745 * rendering/RenderSVGContainer.h:
746 * rendering/RenderSVGHiddenContainer.cpp:
747 (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
748 * rendering/RenderSVGHiddenContainer.h:
749 * rendering/RenderSVGImage.cpp:
750 (WebCore::RenderSVGImage::clippedOverflowRectForRepaint):
751 * rendering/RenderSVGImage.h:
752 * rendering/RenderSVGInlineText.cpp:
753 (WebCore::RenderSVGInlineText::selectionRectForRepaint):
754 (WebCore::RenderSVGInlineText::computeRepaintRectForRange):
755 * rendering/RenderSVGInlineText.h:
756 * rendering/RenderSVGRoot.cpp:
757 (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
758 * rendering/RenderSVGRoot.h:
759 * rendering/RenderSVGText.cpp:
760 (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
761 * rendering/RenderSVGText.h:
762 * rendering/RenderSelectionInfo.h:
763 (WebCore::RenderSelectionInfoBase::repaintContainer):
764 * rendering/RenderTableCell.cpp:
765 (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
766 (WebCore::RenderTableCell::computeRectForRepaint):
767 (WebCore::RenderTableCell::localToContainerQuad):
768 * rendering/RenderTableCell.h:
769 * rendering/RenderTableCol.cpp:
770 (WebCore::RenderTableCol::clippedOverflowRectForRepaint):
771 * rendering/RenderTableCol.h:
772 * rendering/RenderTableRow.cpp:
773 (WebCore::RenderTableRow::clippedOverflowRectForRepaint):
774 * rendering/RenderTableRow.h:
775 * rendering/RenderText.cpp:
776 (WebCore::RenderText::clippedOverflowRectForRepaint):
777 (WebCore::RenderText::selectionRectForRepaint):
778 * rendering/RenderText.h:
779 * rendering/RenderTreeAsText.cpp:
781 * rendering/RenderView.cpp:
782 (WebCore::RenderView::localToContainerQuad):
783 (WebCore::RenderView::computeRectForRepaint):
784 * rendering/RenderView.h:
786 2009-02-05 Alexey Proskuryakov <ap@webkit.org>
790 * page/animation/KeyframeAnimation.h: A function prototype had two "fromStyle" arguments.
792 2009-02-05 Yael Aharon <yael.aharon@nokia.com>
794 Reviewed by Alexey Proskuryakov.
795 Landed by Simon Hausmann.
797 https://bugs.webkit.org/show_bug.cgi?id=23733
799 Use a 2 arguments constructor for KURL to avoid ASSERT failure.
801 * page/SecurityOrigin.cpp:
802 (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
804 2009-02-04 Feng Qian <feng@chromium.org>
806 Reviewed by Darin Adler.
808 Add Android-specific files to WebCore/editing directory.
809 https://bugs.webkit.org/show_bug.cgi?id=23294
811 * editing/android: Added.
812 * editing/android/EditorAndroid.cpp: Added.
813 (WebCore::Editor::newGeneralClipboard):
815 2009-02-04 Dean Jackson <dino@apple.com>
817 Reviewed by Darin Adler.
819 Remove -webkit-animation-play-state
820 The AnimationController still has the code to execute the property, but
821 it is no longer parsed or recorded.
822 https://bugs.webkit.org/show_bug.cgi?id=22907
824 * css/CSSComputedStyleDeclaration.cpp:
826 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
828 (WebCore::CSSParser::parseValue):
829 (WebCore::CSSParser::parseAnimationProperty):
831 * css/CSSPropertyNames.in:
832 * css/CSSStyleSelector.cpp:
833 (WebCore::CSSStyleSelector::applyProperty):
834 * css/CSSStyleSelector.h:
835 * platform/animation/Animation.h:
836 * rendering/style/RenderStyleConstants.h:
838 2009-02-04 Tor Arne Vestbø <tavestbo@trolltech.com>
840 Reviewed by Darin Adler.
842 Make sure we don't load on removing the media element from the document
843 https://bugs.webkit.org/show_bug.cgi?id=22105
845 Test: media/remove-from-document-no-load.html
847 * html/HTMLMediaElement.cpp:
848 (WebCore::HTMLMediaElement::removedFromDocument):
850 2009-02-04 David Hyatt <hyatt@apple.com>
852 Add a new RenderBoxModelObject class that will eventually act as the direct base class for RenderInlines. For
853 now just adding the class and putting it in between RenderObject and RenderBox in the hierarchy. RenderInline remains
854 derived from RenderBox for now.
856 Reviewed by Sam Weinig
858 * WebCore.xcodeproj/project.pbxproj:
859 * rendering/RenderBox.cpp:
860 (WebCore::RenderBox::RenderBox):
861 (WebCore::RenderBox::destroy):
862 (WebCore::RenderBox::styleWillChange):
863 (WebCore::RenderBox::styleDidChange):
864 (WebCore::RenderBox::computeRectForRepaint):
865 * rendering/RenderBox.h:
866 * rendering/RenderBoxModelObject.cpp: Added.
867 (WebCore::RenderBoxModelObject::RenderBoxModelObject):
868 (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
869 * rendering/RenderBoxModelObject.h: Added.
870 * rendering/RenderObject.h:
872 2009-02-04 Chris Marrin <cmarrin@apple.com>
874 Reviewed by Dave Hyatt
876 Added accelerated animation support to AnimationController and friends. The primary
878 * accelerated animations get their start time from the compositing engine, so we
879 wait for a callback (notifyAnimationStarted()) in order to get the start time.
880 * if software and accelerated animations start in the same cycle, they all need
881 to use the same start time, which is that of the accelerated animations.
883 Added AnimationControllerPrivate to preserve the encapsulation under
887 * WebCore.vcproj/WebCore.vcproj:
888 * WebCore.xcodeproj/project.pbxproj:
889 * page/animation/AnimationBase.cpp:
890 (WebCore::PropertyWrapperBase::animationIsAccelerated):
891 (WebCore::PropertyWrapperAcceleratedOpacity::PropertyWrapperAcceleratedOpacity):
892 (WebCore::PropertyWrapperAcceleratedOpacity::animationIsAccelerated):
893 (WebCore::PropertyWrapperAcceleratedOpacity::blend):
894 (WebCore::PropertyWrapperAcceleratedTransform::PropertyWrapperAcceleratedTransform):
895 (WebCore::PropertyWrapperAcceleratedTransform::animationIsAccelerated):
896 (WebCore::PropertyWrapperAcceleratedTransform::blend):
897 (WebCore::ensurePropertyMap):
898 (WebCore::AnimationBase::AnimationBase):
899 (WebCore::AnimationBase::~AnimationBase):
900 (WebCore::AnimationBase::blendProperties):
901 (WebCore::AnimationBase::animationOfPropertyIsAccelerated):
902 (WebCore::AnimationBase::updateStateMachine):
903 (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
904 (WebCore::AnimationBase::willNeedService):
905 (WebCore::AnimationBase::getTimeToNextEvent):
906 (WebCore::AnimationBase::goIntoEndingOrLoopingState):
907 (WebCore::AnimationBase::beginAnimationUpdateTime):
908 * page/animation/AnimationBase.h:
909 (WebCore::AnimationBase::onAnimationStartResponse):
910 (WebCore::AnimationBase::getAnimatedStyle):
911 (WebCore::AnimationBase::isAnimatingProperty):
912 (WebCore::AnimationBase::endAnimation):
913 (WebCore::AnimationBase::isFallbackAnimating):
914 * page/animation/AnimationController.cpp:
915 (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
916 (WebCore::AnimationControllerPrivate::accessCompositeAnimation):
917 (WebCore::AnimationControllerPrivate::addNodeChangeToDispatch):
918 (WebCore::AnimationControllerPrivate::animationTimerFired):
919 (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
920 (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
921 (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
922 (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
923 (WebCore::AnimationControllerPrivate::styleAvailable):
924 (WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList):
925 (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList):
926 (WebCore::AnimationControllerPrivate::startTimeResponse):
927 (WebCore::AnimationController::getAnimatedStyleForRenderer):
928 (WebCore::AnimationController::notifyAnimationStarted):
929 (WebCore::AnimationController::endAnimationUpdate):
930 * page/animation/AnimationController.h:
931 * page/animation/AnimationControllerPrivate.h: Added.
932 (WebCore::AnimationControllerPrivate::hasAnimations):
933 (WebCore::AnimationControllerPrivate::setBeginAnimationUpdateTime):
934 (WebCore::AnimationControllerPrivate::endAnimationUpdate):
935 (WebCore::AnimationControllerPrivate::receivedStartTimeResponse):
936 * page/animation/CompositeAnimation.cpp:
937 (WebCore::CompositeAnimationPrivate::CompositeAnimationPrivate):
938 (WebCore::CompositeAnimationPrivate::animationControllerPriv):
939 (WebCore::CompositeAnimationPrivate::updateTransitions):
940 (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
941 (WebCore::CompositeAnimationPrivate::animate):
942 (WebCore::CompositeAnimationPrivate::getAnimatedStyle):
943 (WebCore::CompositeAnimationPrivate::addToStartTimeResponseWaitList):
944 (WebCore::CompositeAnimationPrivate::removeFromStartTimeResponseWaitList):
945 (WebCore::CompositeAnimation::CompositeAnimation):
946 (WebCore::CompositeAnimation::animationControllerPriv):
947 (WebCore::CompositeAnimation::getAnimatedStyle):
948 (WebCore::CompositeAnimation::addToStartTimeResponseWaitList):
949 (WebCore::CompositeAnimation::removeFromStartTimeResponseWaitList):
950 * page/animation/CompositeAnimation.h:
951 (WebCore::CompositeAnimation::create):
952 * page/animation/ImplicitAnimation.cpp:
953 (WebCore::ImplicitAnimation::shouldSendEventForListener):
954 (WebCore::ImplicitAnimation::animate):
955 (WebCore::ImplicitAnimation::getAnimatedStyle):
956 (WebCore::ImplicitAnimation::startAnimation):
957 (WebCore::ImplicitAnimation::endAnimation):
958 (WebCore::ImplicitAnimation::sendTransitionEvent):
959 (WebCore::ImplicitAnimation::willNeedService):
960 * page/animation/ImplicitAnimation.h:
961 * page/animation/KeyframeAnimation.cpp:
962 (WebCore::KeyframeAnimation::getKeyframeAnimationInterval):
963 (WebCore::KeyframeAnimation::animate):
964 (WebCore::KeyframeAnimation::getAnimatedStyle):
965 (WebCore::KeyframeAnimation::startAnimation):
966 (WebCore::KeyframeAnimation::endAnimation):
967 (WebCore::KeyframeAnimation::shouldSendEventForListener):
968 (WebCore::KeyframeAnimation::sendAnimationEvent):
969 (WebCore::KeyframeAnimation::willNeedService):
970 * page/animation/KeyframeAnimation.h:
971 * platform/graphics/GraphicsLayerClient.h:
972 * platform/graphics/mac/GraphicsLayerCA.mm:
973 (-[WebAnimationDelegate animationDidStart:]):
974 * rendering/RenderLayerBacking.h:
976 2009-02-04 Dimitri Glazkov <dglazkov@chromium.org>
978 Not reviewed, build fix.
980 Remove duplicate definition of msSans in FontCache::alternateFamilyName.
982 * platform/graphics/FontCache.cpp:
983 (WebCore::alternateFamilyName):
985 2009-02-04 Eric Seidel <eric@webkit.org>
987 Reviewed by George Staikos.
989 Reverse the meaning of the if check so that Android
990 (dpad devices) do not scroll on focus and normal platforms do
991 http://trac.webkit.org/changeset/40647
993 This was caught by George Staikos, and I wrote the patch.
996 (WebCore::Element::updateFocusAppearance):
998 2009-02-04 David Hyatt <hyatt@apple.com>
1000 Eliminate RenderContainer.
1002 Reviewed by Sam and Anders
1006 * WebCore.vcproj/WebCore.vcproj:
1007 * WebCore.xcodeproj/project.pbxproj:
1008 * WebCoreSources.bkl:
1009 * rendering/RenderBlock.cpp:
1010 (WebCore::RenderBlock::RenderBlock):
1011 (WebCore::RenderBlock::destroy):
1012 (WebCore::RenderBlock::styleWillChange):
1013 (WebCore::RenderBlock::styleDidChange):
1014 (WebCore::RenderBlock::addChild):
1015 (WebCore::RenderBlock::dirtyLineBoxes):
1016 (WebCore::RenderBlock::createInlineBox):
1017 (WebCore::RenderBlock::removeChild):
1018 (WebCore::RenderBlock::setSelectionState):
1019 (WebCore::RenderBlock::avoidsFloats):
1020 (WebCore::RenderBlock::positionForCoordinates):
1021 (WebCore::RenderBlock::calcInlinePrefWidths):
1022 (WebCore::RenderBlock::baselinePosition):
1023 (WebCore::RenderBlock::getBaselineOfFirstLineBox):
1024 (WebCore::RenderBlock::getBaselineOfLastLineBox):
1025 (WebCore::RenderBlock::rectWithOutlineForRepaint):
1026 (WebCore::RenderBlock::hoverAncestor):
1027 (WebCore::RenderBlock::updateDragState):
1028 (WebCore::RenderBlock::localCaretRect):
1029 * rendering/RenderBlock.h:
1030 (WebCore::RenderBlock::virtualChildren):
1031 (WebCore::RenderBlock::children):
1032 * rendering/RenderContainer.cpp: Removed.
1033 * rendering/RenderContainer.h: Removed.
1034 * rendering/RenderFrameSet.cpp:
1035 (WebCore::RenderFrameSet::RenderFrameSet):
1036 (WebCore::RenderFrameSet::nodeAtPoint):
1037 (WebCore::RenderFrameSet::layout):
1038 * rendering/RenderFrameSet.h:
1039 (WebCore::RenderFrameSet::virtualChildren):
1040 (WebCore::RenderFrameSet::children):
1041 * rendering/RenderInline.cpp:
1042 (WebCore::RenderInline::RenderInline):
1043 (WebCore::RenderInline::destroy):
1044 (WebCore::RenderInline::styleDidChange):
1045 (WebCore::nextContinuation):
1046 (WebCore::RenderInline::continuationBefore):
1047 (WebCore::RenderInline::addChildIgnoringContinuation):
1048 (WebCore::RenderInline::splitInlines):
1049 (WebCore::RenderInline::splitFlow):
1050 (WebCore::RenderInline::addChildToContinuation):
1051 (WebCore::RenderInline::offsetLeft):
1052 (WebCore::RenderInline::offsetTop):
1053 (WebCore::RenderInline::positionForCoordinates):
1054 (WebCore::RenderInline::clippedOverflowRectForRepaint):
1055 (WebCore::RenderInline::rectWithOutlineForRepaint):
1056 (WebCore::RenderInline::updateDragState):
1057 (WebCore::RenderInline::childBecameNonInline):
1058 * rendering/RenderInline.h:
1059 (WebCore::RenderInline::virtualChildren):
1060 (WebCore::RenderInline::children):
1061 (WebCore::RenderInline::continuation):
1062 (WebCore::RenderInline::setContinuation):
1063 * rendering/RenderLineBoxList.h:
1064 * rendering/RenderObject.h:
1065 * rendering/RenderObjectChildList.h:
1066 * rendering/RenderSVGInlineText.cpp:
1067 (WebCore::RenderSVGInlineText::computeRepaintRectForRange):
1068 * rendering/RenderSVGRoot.cpp:
1069 (WebCore::RenderSVGRoot::RenderSVGRoot):
1070 (WebCore::RenderSVGRoot::applyContentTransforms):
1071 (WebCore::RenderSVGRoot::paint):
1072 (WebCore::RenderSVGRoot::absoluteTransform):
1073 (WebCore::RenderSVGRoot::nodeAtPoint):
1074 (WebCore::RenderSVGRoot::position):
1075 * rendering/RenderSVGRoot.h:
1076 (WebCore::RenderSVGRoot::virtualChildren):
1077 (WebCore::RenderSVGRoot::children):
1078 * rendering/RenderSVGText.cpp:
1079 (WebCore::RenderSVGText::absoluteRects):
1080 (WebCore::RenderSVGText::absoluteQuads):
1081 * rendering/RenderTable.cpp:
1082 (WebCore::RenderTable::addChild):
1083 (WebCore::RenderTable::removeChild):
1084 * rendering/RenderTableCol.cpp:
1085 (WebCore::RenderTableCol::RenderTableCol):
1086 * rendering/RenderTableCol.h:
1087 (WebCore::RenderTableCol::virtualChildren):
1088 (WebCore::RenderTableCol::children):
1089 * rendering/RenderTableRow.cpp:
1090 (WebCore::RenderTableRow::RenderTableRow):
1091 (WebCore::RenderTableRow::destroy):
1092 (WebCore::RenderTableRow::styleWillChange):
1093 (WebCore::RenderTableRow::addChild):
1094 * rendering/RenderTableRow.h:
1095 (WebCore::RenderTableRow::virtualChildren):
1096 (WebCore::RenderTableRow::children):
1097 * rendering/RenderTableSection.cpp:
1098 (WebCore::RenderTableSection::RenderTableSection):
1099 (WebCore::RenderTableSection::destroy):
1100 (WebCore::RenderTableSection::addChild):
1101 (WebCore::RenderTableSection::removeChild):
1102 (WebCore::RenderTableSection::lowestPosition):
1103 (WebCore::RenderTableSection::rightmostPosition):
1104 (WebCore::RenderTableSection::leftmostPosition):
1105 * rendering/RenderTableSection.h:
1106 (WebCore::RenderTableSection::virtualChildren):
1107 (WebCore::RenderTableSection::children):
1109 2009-02-04 Mads Adger <mad@chromium.org>
1111 Reviewed by Antti Koivisto.
1113 Bug 23180 Reading freed memory at DocumentLoader::checkForPendingPreloads
1114 https://bugs.webkit.org/show_bug.cgi?id=23180
1116 Added a protector for the document potentially holding on the last reference to the loader we are interating with.
1118 * loader/loader.cpp:
1119 (WebCore::Loader::Host::didFinishLoading):
1120 (WebCore::Loader::Host::didFail):
1122 2009-02-04 Cary Clark <caryclark@google.com>
1124 Reviewed by Darin Adler.
1126 https://bugs.webkit.org/show_bug.cgi?id=23163
1127 Don't scroll to show current focus on devices that use
1128 directional pads for navigation.
1131 (WebCore::Element::updateFocusAppearance):
1133 2009-02-04 Cary Clark <caryclark@google.com>
1135 Reviewed by Darin Adler.
1137 Change RenderBlock::columnGap() access permissions from protected to
1138 public. ANDROID creates an array of focus rectangles for navigation
1139 with a trackball or directional pad, and needs access to the column gap
1140 to implement this logic.
1142 Android has no testing harness @ webkit.org, thus no tests.
1144 * rendering/RenderBlock.h:
1146 2009-02-04 Cary Clark <caryclark@google.com>
1148 Reviewed by Darin Adler and Eric Seidel.
1150 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22917
1152 Add ENABLE_ON_FIRST_TEXTAREA_FOCUS_SELECT_ALL to permit the ANDROID
1153 platform to select all when focusing on a textarea. This matches
1154 the user interface guidelines other applications on the platform.
1156 * html/HTMLTextAreaElement.cpp:
1157 (WebCore::HTMLTextAreaElement::updateFocusAppearance):
1159 2009-02-04 Beth Dakin <bdakin@apple.com>
1161 Reviewed by Dave Hyatt.
1163 Fix for <rdar://problem/6386112> Some inline-elements are not
1164 becoming proper dashboard-regions
1166 RenderInline needs its own implementation of addDashboardRegions
1167 because otherwise all of the coordinate calculations are
1170 * rendering/RenderInline.cpp:
1171 (WebCore::RenderInline::addDashboardRegions):
1172 * rendering/RenderInline.h:
1173 * rendering/RenderObject.h:
1175 2009-02-04 David Hyatt <hyatt@apple.com>
1177 Move addChild/removeChild from RenderContainer to RenderObject.
1179 Reviewed by Sam Weinig
1181 * rendering/RenderContainer.cpp:
1182 * rendering/RenderContainer.h:
1183 * rendering/RenderObject.cpp:
1184 (WebCore::updateListMarkerNumbers):
1185 (WebCore::RenderObject::addChild):
1186 (WebCore::RenderObject::removeChild):
1187 * rendering/RenderObject.h:
1188 (WebCore::RenderObject::addChildIgnoringContinuation):
1189 * rendering/RenderSVGContainer.cpp:
1190 * rendering/RenderSVGContainer.h:
1192 2009-02-04 Brady Eidson <beidson@apple.com>
1194 Reviewed by Sam Weinig
1196 <rdar://problem/3541409> - Further HistoryItem / BF cache cleanup
1198 * history/CachedFrame.cpp:
1199 (WebCore::CachedFrame::CachedFrame):
1200 (WebCore::CachedFrame::restore):
1201 * history/CachedFrame.h:
1203 * history/CachedPage.cpp:
1204 (WebCore::CachedPage::restore):
1205 * history/CachedPage.h:
1206 (WebCore::CachedPage::mainFrameView):
1208 * history/HistoryItem.cpp:
1209 (WebCore::HistoryItem::HistoryItem):
1210 (WebCore::HistoryItem::~HistoryItem):
1211 * history/HistoryItem.h:
1212 (WebCore::HistoryItem::isInPageCache):
1214 * loader/FrameLoader.cpp:
1215 (WebCore::FrameLoader::open):
1217 2009-02-04 Peter Kasting <pkasting@google.com>
1219 Reviewed by David Hyatt.
1221 https://bugs.webkit.org/show_bug.cgi?id=23743
1222 Fix memory corruption with open-source GIF decoders.
1224 * platform/image-decoders/ImageDecoder.h:
1225 (WebCore::RGBA32Buffer::clear):
1226 * platform/image-decoders/gif/GIFImageDecoder.cpp:
1227 (WebCore::GIFImageDecoder::clearFrameBufferCache):
1228 * platform/image-decoders/skia/GIFImageDecoder.cpp:
1229 (WebCore::GIFImageDecoder::clearFrameBufferCache):
1230 (WebCore::GIFImageDecoder::initFrameBuffer):
1231 * platform/image-decoders/skia/ImageDecoder.h:
1232 (WebCore::RGBA32Buffer::clear):
1234 2009-02-04 Simon Fraser <simon.fraser@apple.com>
1236 Reviewed by Dave Hyatt
1238 https://bugs.webkit.org/show_bug.cgi?id=23360
1240 When using accelerated compositing, make repaints use the correct
1241 repaint container. Hook up the RenderLayerCompositor in RenderView,
1242 and add to RenderView a method that repaints both the view
1243 contents, and any intersecting composited layers.
1245 Make enclosingCompositingLayer() a method on RenderObject, and update
1246 the compositor to use that. Add a helper method on the compositor to
1247 get the non-self compositing ancestor: ancestorCompositingLayer().
1249 Call repaintRectangleInViewAndCompositedLayers() in places that don't do
1250 container-relative repainting: selection redraw on focus change, caret,
1253 Fix a bug in RenderLayerCompositor where the m_compositingLayersNeedUpdate flag
1254 would get cleared for partial updates, thus preventing subsequent full updates.
1256 Fix a bug in RenderLayer::ensureBacking() that made new backing every time.
1258 * WebCore.xcodeproj/project.pbxproj:
1259 * editing/SelectionController.cpp:
1260 (WebCore::SelectionController::recomputeCaretRect):
1261 (WebCore::SelectionController::invalidateCaretRect):
1262 (WebCore::SelectionController::focusedOrActiveStateChanged):
1263 * rendering/RenderInline.cpp:
1264 (WebCore::RenderInline::clippedOverflowRectForRepaint):
1265 * rendering/RenderLayer.cpp:
1266 (WebCore::RenderLayer::RenderLayer):
1267 (WebCore::RenderLayer::compositor):
1268 (WebCore::RenderLayer::updateLayerPositions):
1269 (WebCore::RenderLayer::removeChild):
1270 (WebCore::RenderLayer::ensureBacking):
1271 * rendering/RenderLayer.h:
1272 (WebCore::RenderLayer::backing):
1273 * rendering/RenderLayerBacking.cpp:
1274 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1275 (WebCore::RenderLayerBacking::paintIntoLayer):
1276 (WebCore::RenderLayerBacking::notifyTransitionStarted):
1277 (WebCore::RenderLayerBacking::notifyAnimationStarted):
1278 * rendering/RenderLayerCompositor.cpp:
1279 (WebCore::RenderLayerCompositor::updateCompositingLayers):
1280 (WebCore::RenderLayerCompositor::updateLayerCompositingState):
1281 (WebCore::RenderLayerCompositor::layerWillBeRemoved):
1282 (WebCore::RenderLayerCompositor::ancestorCompositingLayer):
1283 (WebCore::RenderLayerCompositor::clippedByAncestor):
1284 * rendering/RenderLayerCompositor.h:
1285 * rendering/RenderObject.cpp:
1286 (WebCore::RenderObject::enclosingCompositingLayer):
1287 (WebCore::RenderObject::containingBlockWidth):
1288 (WebCore::RenderObject::containingBlockHeight):
1289 (WebCore::RenderObject::containerForRepaint):
1290 (WebCore::RenderObject::repaintUsingContainer):
1291 * rendering/RenderObject.h:
1292 * rendering/RenderView.cpp:
1293 (WebCore::RenderView::shouldRepaint):
1294 (WebCore::RenderView::repaintViewRectangle):
1295 (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
1296 (WebCore::RenderView::setMaximalOutlineSize):
1297 (WebCore::RenderView::usesCompositing):
1298 (WebCore::RenderView::compositor):
1299 (WebCore::RenderView::didMoveOnscreen):
1300 (WebCore::RenderView::willMoveOffscreen):
1301 * rendering/RenderView.h:
1302 * rendering/RenderWidget.cpp:
1303 (WebCore::RenderWidget::updateWidgetPosition):
1305 2009-02-04 Sam Weinig <sam@webkit.org>
1307 Reviewed by David Hyatt.
1309 Add toRenderImage methods for casting RenderObjects to RenderImages. The methods will assert if the object
1310 is not a RenderImage. Also add a toRenderImage method that takes a RenderImage but returns void and that
1311 is unimplemented. This method will catch anyone trying to do a cast when the object is already a RenderImage.
1313 * html/HTMLAnchorElement.cpp:
1314 (WebCore::HTMLAnchorElement::defaultEventHandler):
1315 * html/HTMLEmbedElement.cpp:
1316 (WebCore::HTMLEmbedElement::attach):
1317 * html/HTMLImageElement.cpp:
1318 (WebCore::HTMLImageElement::parseMappedAttribute):
1319 (WebCore::HTMLImageElement::attach):
1320 * html/HTMLInputElement.cpp:
1321 (WebCore::HTMLInputElement::parseMappedAttribute):
1322 (WebCore::HTMLInputElement::attach):
1323 * html/HTMLObjectElement.cpp:
1324 (WebCore::HTMLObjectElement::attach):
1325 * html/HTMLVideoElement.cpp:
1326 (WebCore::HTMLVideoElement::attach):
1327 * loader/ImageLoader.cpp:
1328 (WebCore::ImageLoader::setImage):
1329 (WebCore::ImageLoader::updateFromElement):
1330 (WebCore::ImageLoader::notifyFinished):
1331 * page/AccessibilityRenderObject.cpp:
1332 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1333 (WebCore::AccessibilityRenderObject::addChildren):
1334 * page/DragController.cpp:
1335 (WebCore::getCachedImage):
1336 (WebCore::getImage):
1337 * platform/mac/PasteboardMac.mm:
1338 (WebCore::Pasteboard::writeImage):
1339 * rendering/RenderImage.h:
1340 (WebCore::toRenderImage):
1341 * wml/WMLImageElement.cpp:
1342 (WebCore::WMLImageElement::parseMappedAttribute):
1343 (WebCore::WMLImageElement::attach):
1345 2009-02-04 Jungshik Shin <jshin@chromium.org>
1347 Reviewed by Eric Seidel and Dave Hyatt.
1349 https://bugs.webkit.org/show_bug.cgi?id=20531
1351 Make alternateFamilyName customized for Windows and Chromium.
1353 * platform/graphics/FontCache.cpp:
1354 (WebCore::alternateFamilyName):
1356 2009-02-04 Jungshik Shin <jshin@chromium.org>
1358 Reviewed by Eric Seidel.
1360 This comes from Chromium patch (http://codereview.chromium.org/17624).
1362 Add m_disableFontFallback to UniscriberHelper class and set it
1363 to true when filling up glyph pages for non-BMP code points.
1364 When it's set true, UniscriberHelper does not do its own font
1365 fallback. Neither does it do glyph placement. Font fallback
1366 will be taken care of in the simple script font path and glyph
1367 placement is not necessary for simple scripts.
1369 Layout test is missing at the moment due to the lack of freely
1370 distributable font covering a non-BMP code page. A test page
1371 is available at http://i18nl10n.com/webkit/nonbmp2.html
1373 See also https://bugs.webkit.org/show_bug.cgi?id=23602
1375 * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
1376 (WebCore::fillNonBMPGlyphs):
1377 * platform/graphics/chromium/UniscribeHelper.cpp:
1378 (WebCore::UniscribeHelper::UniscribeHelper):
1379 (WebCore::UniscribeHelper::shape):
1380 (WebCore::UniscribeHelper::fillShapes):
1381 * platform/graphics/chromium/UniscribeHelper.h:
1382 (WebCore::UniscribeHelper::setDisableFontFallback):
1384 2009-02-04 Sam Weinig <sam@webkit.org>
1386 Reviewed by David Hyatt.
1388 Remove some unnecessary #includes of RenderStyle.h
1390 * css/CSSPrimitiveValueMappings.h:
1391 * css/SVGCSSComputedStyleDeclaration.cpp:
1393 * rendering/PointerEventsHitRules.h:
1394 * rendering/RenderImageGeneratedContent.h:
1395 * rendering/RenderMarquee.h:
1396 * rendering/RenderScrollbar.h:
1398 2009-02-04 Dimitri Glazkov <dglazkov@chromium.org>
1400 Reviewed by Sam Weinig.
1402 https://bugs.webkit.org/show_bug.cgi?id=23657
1403 Clean up WebCore/storage IDLs.
1405 * storage/SQLError.idl: Changed to match spec.
1406 * storage/SQLResultSet.idl: Changed to match spec.
1407 * storage/SQLStatementCallback.idl: Removed.
1408 * storage/SQLStatementErrorCallback.idl: Removed.
1409 * storage/SQLTransactionCallback.idl: Removed.
1410 * storage/SQLTransactionErrorCallback.idl: Removed.
1412 2009-02-04 David Hyatt <hyatt@apple.com>
1414 Fix for https://bugs.webkit.org/show_bug.cgi?id=23734, blank content on blogs.msdn.com.
1416 Add debugging code that will catch the incorrect dirtying of a table section immediately if it happens
1417 during calcRowHeight or layoutRows. This should make it possible to discover future bugs where table sections don't
1420 The bug in blogs.msdn.com, which was caused by a bad setNeedsLayout in RenderLayer::updateScrollInfoAtferLayout. Make
1421 sure to do only a local setNeedsLayout inside that function.
1423 Reviewed by Beth Dakin
1425 * rendering/RenderLayer.cpp:
1426 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
1427 * rendering/RenderObject.cpp:
1428 (WebCore::RenderObject::RenderObject):
1429 * rendering/RenderObject.h:
1430 (WebCore::RenderObject::isSetNeedsLayoutForbidden):
1431 (WebCore::RenderObject::setNeedsLayoutIsForbidden):
1432 (WebCore::RenderObject::setNeedsLayout):
1433 (WebCore::RenderObject::setChildNeedsLayout):
1434 (WebCore::RenderObject::markContainingBlocksForLayout):
1435 * rendering/RenderTable.cpp:
1436 (WebCore::RenderTable::layout):
1437 * rendering/RenderTableSection.cpp:
1438 (WebCore::RenderTableSection::calcRowHeight):
1439 (WebCore::RenderTableSection::layoutRows):
1441 2009-02-04 Sam Weinig <sam@webkit.org>
1443 Reviewed by David Hyatt.
1445 Rename RenderStyle::Diff to StyleDifference and move it to
1446 RenderStyleConstants.h.
1448 * rendering/RenderBR.cpp:
1449 (WebCore::RenderBR::styleDidChange):
1450 * rendering/RenderBR.h:
1451 * rendering/RenderBlock.cpp:
1452 (WebCore::RenderBlock::styleWillChange):
1453 (WebCore::RenderBlock::styleDidChange):
1454 * rendering/RenderBlock.h:
1455 * rendering/RenderBox.cpp:
1456 (WebCore::RenderBox::styleWillChange):
1457 (WebCore::RenderBox::styleDidChange):
1458 * rendering/RenderBox.h:
1459 * rendering/RenderButton.cpp:
1460 (WebCore::RenderButton::styleWillChange):
1461 (WebCore::RenderButton::styleDidChange):
1462 * rendering/RenderButton.h:
1463 * rendering/RenderFieldset.cpp:
1464 (WebCore::RenderFieldset::styleDidChange):
1465 * rendering/RenderFieldset.h:
1466 * rendering/RenderFileUploadControl.cpp:
1467 (WebCore::RenderFileUploadControl::styleDidChange):
1468 * rendering/RenderFileUploadControl.h:
1469 * rendering/RenderInline.cpp:
1470 (WebCore::RenderInline::styleDidChange):
1471 * rendering/RenderInline.h:
1472 * rendering/RenderLayer.cpp:
1473 (WebCore::RenderLayer::styleChanged):
1474 * rendering/RenderLayer.h:
1475 * rendering/RenderLayerCompositor.cpp:
1476 (WebCore::RenderLayerCompositor::updateLayerCompositingState):
1477 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
1478 * rendering/RenderLayerCompositor.h:
1479 * rendering/RenderListBox.cpp:
1480 (WebCore::RenderListBox::styleDidChange):
1481 * rendering/RenderListBox.h:
1482 * rendering/RenderListItem.cpp:
1483 (WebCore::RenderListItem::styleDidChange):
1484 * rendering/RenderListItem.h:
1485 * rendering/RenderListMarker.cpp:
1486 (WebCore::RenderListMarker::styleWillChange):
1487 (WebCore::RenderListMarker::styleDidChange):
1488 * rendering/RenderListMarker.h:
1489 * rendering/RenderMenuList.cpp:
1490 (WebCore::RenderMenuList::styleDidChange):
1491 * rendering/RenderMenuList.h:
1492 * rendering/RenderObject.cpp:
1493 (WebCore::RenderObject::setStyle):
1494 (WebCore::RenderObject::styleWillChange):
1495 (WebCore::RenderObject::styleDidChange):
1496 * rendering/RenderObject.h:
1497 * rendering/RenderReplaced.cpp:
1498 (WebCore::RenderReplaced::styleDidChange):
1499 * rendering/RenderReplaced.h:
1500 * rendering/RenderSVGGradientStop.cpp:
1501 (WebCore::RenderSVGGradientStop::styleDidChange):
1502 * rendering/RenderSVGGradientStop.h:
1503 * rendering/RenderSVGInlineText.cpp:
1504 (WebCore::RenderSVGInlineText::styleDidChange):
1505 * rendering/RenderSVGInlineText.h:
1506 * rendering/RenderScrollbarPart.cpp:
1507 (WebCore::RenderScrollbarPart::styleWillChange):
1508 (WebCore::RenderScrollbarPart::styleDidChange):
1509 * rendering/RenderScrollbarPart.h:
1510 * rendering/RenderSlider.cpp:
1511 (WebCore::RenderSlider::styleDidChange):
1512 * rendering/RenderSlider.h:
1513 * rendering/RenderTable.cpp:
1514 (WebCore::RenderTable::styleDidChange):
1515 * rendering/RenderTable.h:
1516 * rendering/RenderTableCell.cpp:
1517 (WebCore::RenderTableCell::styleWillChange):
1518 (WebCore::RenderTableCell::styleDidChange):
1519 * rendering/RenderTableCell.h:
1520 * rendering/RenderTableRow.cpp:
1521 (WebCore::RenderTableRow::styleWillChange):
1522 * rendering/RenderTableRow.h:
1523 * rendering/RenderText.cpp:
1524 (WebCore::RenderText::styleDidChange):
1525 * rendering/RenderText.h:
1526 (WebCore::RenderText::styleWillChange):
1527 * rendering/RenderTextControl.cpp:
1528 (WebCore::RenderTextControl::styleDidChange):
1529 * rendering/RenderTextControl.h:
1530 * rendering/RenderTextControlSingleLine.cpp:
1531 (WebCore::RenderTextControlSingleLine::styleDidChange):
1532 * rendering/RenderTextControlSingleLine.h:
1533 * rendering/RenderWidget.cpp:
1534 (WebCore::RenderWidget::styleDidChange):
1535 * rendering/RenderWidget.h:
1536 * rendering/style/RenderStyle.cpp:
1537 (WebCore::RenderStyle::diff):
1538 (WebCore::RenderStyle::setClip):
1539 * rendering/style/RenderStyle.h:
1540 * rendering/style/RenderStyleConstants.h:
1543 2009-02-03 Sam Weinig <sam@webkit.org>
1545 Reviewed by David Hyatt.
1547 Move PseudoId enum out of RenderStyle and into RenderStyleConstants.h
1549 * css/CSSStyleSelector.cpp:
1550 (WebCore::CSSStyleSelector::matchRulesForList):
1551 (WebCore::CSSStyleSelector::initForStyleResolve):
1552 (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
1553 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
1554 (WebCore::CSSStyleSelector::styleForElement):
1555 (WebCore::CSSStyleSelector::pseudoStyleForElement):
1556 (WebCore::CSSStyleSelector::checkSelector):
1557 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1558 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
1559 (WebCore::CSSStyleSelector::applyProperty):
1560 * css/CSSStyleSelector.h:
1562 (WebCore::Node::diff):
1563 * page/FrameView.cpp:
1564 (WebCore::FrameView::createScrollbar):
1565 * rendering/InlineTextBox.cpp:
1566 (WebCore::InlineTextBox::paint):
1567 * rendering/MediaControlElements.cpp:
1568 (WebCore::MediaTextDisplayElement::MediaTextDisplayElement):
1569 (WebCore::MediaTimeDisplayElement::MediaTimeDisplayElement):
1570 (WebCore::MediaControlInputElement::MediaControlInputElement):
1571 (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
1572 (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
1573 (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
1574 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
1575 (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
1576 * rendering/MediaControlElements.h:
1577 * rendering/RenderBlock.cpp:
1578 (WebCore::RenderBlock::styleDidChange):
1579 (WebCore::RenderBlock::updateBeforeAfterContent):
1580 (WebCore::RenderBlock::firstLineBlock):
1581 (WebCore::RenderBlock::updateFirstLetter):
1582 * rendering/RenderBlock.h:
1583 * rendering/RenderBox.cpp:
1584 (WebCore::RenderBox::isAfterContent):
1585 * rendering/RenderButton.cpp:
1586 (WebCore::RenderButton::updateBeforeAfterContent):
1587 * rendering/RenderButton.h:
1588 * rendering/RenderFileUploadControl.cpp:
1589 (WebCore::RenderFileUploadControl::createButtonStyle):
1590 * rendering/RenderInline.cpp:
1591 (WebCore::RenderInline::styleDidChange):
1592 (WebCore::isAfterContent):
1593 (WebCore::RenderInline::addChildIgnoringContinuation):
1594 (WebCore::RenderInline::splitInlines):
1595 * rendering/RenderLayer.cpp:
1596 (WebCore::RenderLayer::createScrollbar):
1597 (WebCore::RenderLayer::updateScrollCornerStyle):
1598 (WebCore::RenderLayer::updateResizerStyle):
1599 * rendering/RenderListBox.cpp:
1600 (WebCore::RenderListBox::createScrollbar):
1601 * rendering/RenderMedia.cpp:
1602 (WebCore::RenderMedia::createPanel):
1603 (WebCore::RenderMedia::createTimelineContainer):
1604 * rendering/RenderMenuList.cpp:
1605 (WebCore::RenderMenuList::createScrollbar):
1606 * rendering/RenderObject.cpp:
1607 (WebCore::RenderObject::selectionBackgroundColor):
1608 (WebCore::RenderObject::selectionForegroundColor):
1609 (WebCore::RenderObject::firstLineStyleSlowCase):
1610 (WebCore::RenderObject::getCachedPseudoStyle):
1611 (WebCore::RenderObject::getUncachedPseudoStyle):
1612 * rendering/RenderObject.h:
1613 (WebCore::RenderObject::isAnonymousBlock):
1614 * rendering/RenderObjectChildList.cpp:
1615 (WebCore::RenderObjectChildList::destroyLeftoverChildren):
1616 (WebCore::beforeAfterContainer):
1617 (WebCore::RenderObjectChildList::invalidateCounters):
1618 (WebCore::RenderObjectChildList::updateBeforeAfterContent):
1619 * rendering/RenderObjectChildList.h:
1620 * rendering/RenderScrollbar.cpp:
1621 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
1622 (WebCore::pseudoForScrollbarPart):
1623 * rendering/RenderScrollbar.h:
1624 * rendering/RenderSlider.cpp:
1625 (WebCore::RenderSlider::createThumbStyle):
1626 * rendering/RenderTextControlSingleLine.cpp:
1627 (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
1628 (WebCore::RenderTextControlSingleLine::createResultsButtonStyle):
1629 (WebCore::RenderTextControlSingleLine::createCancelButtonStyle):
1630 (WebCore::RenderTextControlSingleLine::createScrollbar):
1631 * rendering/style/RenderStyle.cpp:
1632 (WebCore::pseudoBit):
1633 * rendering/style/RenderStyle.h:
1635 * rendering/style/RenderStyleConstants.h:
1638 2009-02-04 David Kilzer <ddkilzer@apple.com>
1640 CrashTracer: [REGRESSION] 53 crashes in Safari at com.apple.WebCore: WebCore::LegacyWebArchive::create + 2706
1642 <rdar://problem/6509514>
1644 Reviewed by Mark Rowe.
1646 * loader/archive/cf/LegacyWebArchive.cpp:
1647 (WebCore::LegacyWebArchive::create): Fix it correctly this time.
1648 Check for the value returned from WebCore::IconDatabase::iconForPageURL(),
1649 not WebCore::Image::data().
1651 2009-02-04 David Hyatt <hyatt@apple.com>
1653 Rename removeFromObjectLists and move it into RenderBox, since it only applies to boxes.
1655 Reviewed by Adam Roben
1657 * rendering/RenderBox.cpp:
1658 (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
1659 (WebCore::RenderBox::styleWillChange):
1660 * rendering/RenderBox.h:
1661 * rendering/RenderContainer.cpp:
1662 (WebCore::RenderContainer::removeChild):
1663 * rendering/RenderObject.cpp:
1664 (WebCore::RenderObject::styleWillChange):
1665 * rendering/RenderObject.h:
1666 * rendering/RenderSVGContainer.cpp:
1667 (WebCore::RenderSVGContainer::removeChild):
1669 2009-02-04 Jeremy Moskovich <jeremy@chromium.org>
1671 Reviewed by Dave Hyatt.
1673 https://bugs.webkit.org/show_bug.cgi?id=23471
1674 Fix text-overflow:ellipsis; for RTL case.
1676 Test: fast/css/text-overflow-ellipses.html
1678 * rendering/InlineTextBox.cpp:
1679 (WebCore::InlineTextBox::placeEllipsisBox): Add support for rtl placement.
1680 (WebCore::InlineTextBox::paintDecoration): Correctly draw decorations
1683 2009-02-04 Dimitri Glazkov <dglazkov@chromium.org>
1685 Reviewed by Darin Adler.
1687 https://bugs.webkit.org/show_bug.cgi?id=23700
1688 Upstream local changes to due to unforking of SimpleFontData
1689 (corresponds to Chromium check-in http://src.chromium.org/viewvc/chrome?view=rev&revision=8646).
1691 * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
1692 (WebCore::fillBMPGlyphs): Removed extra checks for ZWS chars.
1694 2009-02-04 David Hyatt <hyatt@apple.com>
1696 <rdar://problem/6554115> REGRESSION (r40475): World leak (JS global object) after viewing a photo on Facebook
1698 Fix a ginormous leak. (GINORMOUS!) Make sure to disconnect the event listeners attached to the Document,
1699 because, like, they point to a lot of stuff... like ... everything...
1701 Reviewed by Darin Adler
1704 (WebCore::Document::removeAllEventListenersFromAllNodes):
1706 2009-02-04 Darin Fisher <darin@chromium.org>
1708 Reviewed by Darin Adler.
1710 https://bugs.webkit.org/show_bug.cgi?id=23731
1711 Add JSCCustom and V8Custom as extended IDL attributes
1713 This helps avoid having to add #ifdefs to the IDL files to support V8 bindings.
1715 * bindings/scripts/CodeGeneratorJS.pm:
1718 * svg/SVGPathSegList.idl:
1719 * svg/SVGPointList.idl:
1720 * svg/SVGTransformList.idl:
1722 2009-02-04 Dan Bernstein <mitz@apple.com>
1726 * rendering/RenderImageGeneratedContent.h:
1728 2009-02-04 miggilin <mr.diggilin@gmail.com>
1730 Reviewed by Kevin Ollivier.
1732 Switch to using a ref-counted wxFont pointer for FontPlatformData to fix a crash
1733 with assigning to uninitialized HashTable buckets.
1735 https://bugs.webkit.org/show_bug.cgi?id=23669
1737 * platform/graphics/SimpleFontData.h:
1738 (WebCore::SimpleFontData::getWxFont):
1739 * platform/graphics/wx/FontPlatformData.h:
1741 (WebCore::FontPlatformData::FontPlatformData):
1742 (WebCore::FontPlatformData::font):
1743 (WebCore::FontPlatformData::operator==):
1744 * platform/graphics/wx/FontPlatformDataWx.cpp:
1745 (WebCore::FontPlatformData::FontPlatformData):
1746 (WebCore::FontPlatformData::computeHash):
1747 (WebCore::FontPlatformData::~FontPlatformData):
1748 * platform/graphics/wx/SimpleFontDataWx.cpp:
1749 (WebCore::SimpleFontData::platformInit):
1750 (WebCore::SimpleFontData::determinePitch):
1751 (WebCore::SimpleFontData::platformWidthForGlyph):
1752 * platform/wx/wxcode/gtk/non-kerned-drawing.cpp:
1753 (WebCore::drawTextWithSpacing):
1755 2009-02-04 David Hyatt <hyatt@apple.com>
1757 Fix a crash in generated content when a generated image with an already-cached background image gets
1758 created. It's not completely clear how to reproduce this crash.
1760 Reviewed by Adam Roben
1762 * rendering/RenderImageGeneratedContent.h:
1763 (WebCore::RenderImageGeneratedContent::imagePtr):
1765 2009-02-04 Simon Hausmann <simon.hausmann@nokia.com>
1767 Unreviewed Qt build fix.
1769 Changed ASSERT(image) to ASSERT(!image.isNull()).
1771 * platform/graphics/qt/ImageBufferQt.cpp:
1772 (WebCore::ImageBuffer::getImageData):
1774 2009-02-04 Trenton Schulz <trenton.schulz@nokia.com>
1776 Reviewed by Simon Hausmann.
1778 Fix implementation of PluginViewMac::invalidateRect to update only the
1779 specified rect, not the entire browser window.
1781 * plugins/mac/PluginViewMac.cpp:
1782 (WebCore::PluginView::invalidateRect):
1784 2009-02-04 Holger Hans Peter Freyther <zecke@selfish.org>
1786 Rubber stamped by Mark Rowe.
1788 FramePrivate was removed in r40024 remove the forward
1789 declaration as well.
1793 2009-02-04 Holger Hans Peter Freyther <zecke@selfish.org>
1795 Reviewed by Sam Weinig.
1797 https://bugs.webkit.org/show_bug.cgi?id=23426
1799 Make isFrameSet virtual and by default return false. Reimplement
1804 (WebCore::Document::isFrameSet):
1805 * html/HTMLDocument.cpp:
1806 (WebCore::HTMLDocument::isFrameSet):
1807 * html/HTMLDocument.h:
1809 2009-02-03 Oliver Hunt <oliver@apple.com>
1811 Reviewed by John Sullivan.
1813 <rdar://problem/6554092> Slow script dialog starts coming up over and over again
1815 Work around <rdar://problem/6554067> by consuming any exceptions that are
1816 thrown by _web_localizedDescription
1818 * platform/network/mac/ResourceErrorMac.mm:
1819 (WebCore::ResourceError::platformLazyInit):
1821 2009-02-03 David Hyatt <hyatt@apple.com>
1823 Move the isRenderInline checks for clientWidth/Height and scrollWidth/Height to the DOM element
1824 versions of the functions. Since internal render tree usage doesn't ever (incorrectly) call these
1825 functions on RenderInlines, this manages to get virtual function calls out of contentWidth/Height and
1826 availableWidth/Height.
1828 Reviewed by Mark Rowe
1831 (WebCore::Element::clientWidth):
1832 (WebCore::Element::clientHeight):
1833 (WebCore::Element::scrollWidth):
1834 (WebCore::Element::scrollHeight):
1835 * rendering/RenderBox.cpp:
1836 (WebCore::RenderBox::clientWidth):
1837 (WebCore::RenderBox::clientHeight):
1838 (WebCore::RenderBox::scrollWidth):
1839 (WebCore::RenderBox::scrollHeight):
1841 2009-02-03 Brad Garcia <bgarcia@google.com>
1843 Reviewed by Eric Seidel.
1845 https://bugs.webkit.org/show_bug.cgi?id=20443
1846 Remove call to canResize when trying to determine if pointer
1848 Also removed the implementation of canResize as it is no longer used.
1850 Test: fast/frames/frame-dead-region.html
1852 * rendering/RenderFrameSet.cpp:
1853 (WebCore::RenderFrameSet::nodeAtPoint):
1854 * rendering/RenderFrameSet.h:
1856 2009-02-03 David Hyatt <hyatt@apple.com>
1858 Reduce the number of calls to virtualChildren (indirectly made via RenderObject::firstChild()).
1859 This is a small gain on the PLT.
1861 Reviewed by Mark Rowe
1863 * rendering/bidi.cpp:
1864 (WebCore::inlineWidth):
1865 (WebCore::bidiNext):
1867 2009-02-03 Simon Fraser <simon.fraser@apple.com>
1869 Reviewed by Dave Hyatt
1871 https://bugs.webkit.org/show_bug.cgi?id=23628
1873 Fix selection repainting to do container-relative repaints. RenderView now
1874 repaints the selection using the containerForRepaint() for each RenderSelectionInfo.
1875 selectionRect() is now a wrapper for selectionRectForRepaint() with no container.
1877 Pull SelectionInfo out of RenderObject.h, and BlockSelectionInfo out
1878 of RenderBlock.h and move them into RenderSelectionInfo.h, with some
1879 sharing and refactoring.
1881 RenderBlock::selectionGapRectsForRepaint() is not yet container-aware.
1884 * WebCore.vcproj/WebCore.vcproj:
1885 * WebCore.xcodeproj/project.pbxproj:
1886 * rendering/RenderBR.h:
1887 (WebCore::RenderBR::selectionRectForRepaint):
1888 * rendering/RenderBlock.cpp:
1889 (WebCore::RenderBlock::selectionGapRectsForRepaint):
1890 * rendering/RenderBlock.h:
1891 (WebCore::RenderBlock::selectionRectForRepaint):
1892 * rendering/RenderListMarker.cpp:
1893 (WebCore::RenderListMarker::paint):
1894 (WebCore::RenderListMarker::selectionRectForRepaint):
1895 * rendering/RenderListMarker.h:
1896 * rendering/RenderObject.h:
1897 (WebCore::RenderObject::selectionRect):
1898 (WebCore::RenderObject::selectionRectForRepaint):
1899 * rendering/RenderReplaced.cpp:
1900 (WebCore::RenderReplaced::selectionRectForRepaint):
1901 * rendering/RenderReplaced.h:
1902 * rendering/RenderSVGInlineText.cpp:
1903 (WebCore::RenderSVGInlineText::absoluteRects):
1904 (WebCore::RenderSVGInlineText::absoluteQuads):
1905 (WebCore::RenderSVGInlineText::selectionRectForRepaint):
1906 (WebCore::RenderSVGInlineText::computeRepaintRectForRange):
1907 * rendering/RenderSVGInlineText.h:
1908 * rendering/RenderSelectionInfo.h: Added.
1909 (WebCore::RenderSelectionInfoBase::RenderSelectionInfoBase):
1910 (WebCore::RenderSelectionInfoBase::object):
1911 (WebCore::RenderSelectionInfoBase::repaintContainer):
1912 (WebCore::RenderSelectionInfoBase::state):
1913 (WebCore::RenderSelectionInfo::RenderSelectionInfo):
1914 (WebCore::RenderSelectionInfo::repaint):
1915 (WebCore::RenderSelectionInfo::rect):
1916 (WebCore::RenderBlockSelectionInfo::RenderBlockSelectionInfo):
1917 (WebCore::RenderBlockSelectionInfo::repaint):
1918 (WebCore::RenderBlockSelectionInfo::block):
1919 (WebCore::RenderBlockSelectionInfo::rects):
1920 * rendering/RenderText.cpp:
1921 (WebCore::RenderText::selectionRectForRepaint):
1922 * rendering/RenderText.h:
1923 * rendering/RenderView.cpp:
1924 (WebCore::RenderView::selectionBounds):
1925 (WebCore::RenderView::setSelection):
1926 * rendering/RenderView.h:
1927 * rendering/RenderWidget.cpp:
1928 (WebCore::RenderWidget::paint):
1930 2009-02-03 David Hyatt <hyatt@apple.com>
1932 Add inline capacity back to CSSMutableStyleDeclaration now that the bug in Vector has been fixed.
1934 Reviewed by Darin Adler & Sam Weinig
1936 * css/CSSMutableStyleDeclaration.cpp:
1937 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
1938 * css/CSSMutableStyleDeclaration.h:
1940 2009-02-03 Justin Garcia <justin.garcia@apple.com>
1942 Reviewed by Darin Adler.
1944 https://bugs.webkit.org/show_bug.cgi?id=13490
1945 Implement execCommand("styleWithCSS", ...)
1947 Determine whether or not to use HTML formatting tags for styling on the new
1948 boolean on Editor instead of whether or not the document is quirks mode.
1950 * editing/ApplyStyleCommand.cpp:
1951 (WebCore::StyleChange::StyleChange):
1952 (WebCore::StyleChange::init):
1953 (WebCore::ApplyStyleCommand::applyBlockStyle):
1954 (WebCore::ApplyStyleCommand::applyTextDecorationStyle):
1955 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
1956 * editing/Editor.cpp:
1957 (WebCore::Editor::Editor):
1958 (WebCore::Editor::clear):
1960 (WebCore::Editor::setShouldStyleWithCSS):
1961 (WebCore::Editor::shouldStyleWithCSS):
1962 * editing/EditorCommand.cpp:
1963 (WebCore::executeStyleWithCSS):
1964 (WebCore::stateStyleWithCSS):
1965 (WebCore::CommandEntry::):
1967 2009-02-03 Dirk Schulze <krit@webkit.org>
1969 Reviewed by Sam Weinig.
1971 This is a follow up of r40546. Call toImage() once speeds up ImageBuffer::getImageData()
1973 * platform/graphics/qt/ImageBufferQt.cpp:
1974 (WebCore::ImageBuffer::getImageData):
1976 2009-02-03 Anders Carlsson <andersca@apple.com>
1978 Reviewed by Kevin Decker.
1980 - Fix for <rdar://problem/6549743>
1982 On Tiger, create an autorelease pool before creating the NSGraphicsContext and drain it immediately
1983 after the call to -[NSView displayRectIgnoringOpacity:inContext:].
1985 * platform/mac/WidgetMac.mm:
1986 (WebCore::Widget::paint):
1988 2009-02-03 David Hyatt <hyatt@apple.com>
1990 Back this change out since it is causing layout tests to crash. There is something subtle going on
1993 Reviewed by Darin Adler
1995 * css/CSSMutableStyleDeclaration.cpp:
1996 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
1997 * css/CSSMutableStyleDeclaration.h:
1999 2009-02-03 David Hyatt <hyatt@apple.com>
2001 Give the properties vector of mutable style declarations an initial inline capacity to reduce malloc churn.
2003 Reviewed by Sam Weinig
2005 * css/CSSMutableStyleDeclaration.cpp:
2006 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
2007 * css/CSSMutableStyleDeclaration.h:
2009 2009-02-03 David Hyatt <hyatt@apple.com>
2011 Avoid creating extra copies of NSURLRequests for non-HTTP URLs. Only mark platform requests
2012 as needing updating when HTTP fields change if the scheme of the URL is actually HTTP or HTTPS.
2013 Thus cuts down significantly on the number of copied NSURLRequests and is about a 1% gain on the PLT.
2015 Reviewed by Darin Adler
2017 * loader/FrameLoader.cpp:
2018 (WebCore::FrameLoader::addExtraFieldsToRequest):
2019 * platform/KURL.cpp:
2020 (WebCore::KURL::invalidate):
2021 (WebCore::KURL::KURL):
2023 (WebCore::KURL::isHTTPOrHTTPS):
2024 * platform/network/ResourceRequestBase.cpp:
2025 (WebCore::ResourceRequestBase::setCachePolicy):
2026 (WebCore::ResourceRequestBase::setTimeoutInterval):
2027 (WebCore::ResourceRequestBase::setMainDocumentURL):
2028 (WebCore::ResourceRequestBase::setHTTPMethod):
2029 (WebCore::ResourceRequestBase::setHTTPHeaderField):
2030 (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
2031 (WebCore::ResourceRequestBase::setHTTPBody):
2032 (WebCore::ResourceRequestBase::setAllowHTTPCookies):
2034 2009-02-03 Xan Lopez <xan@gnome.org>
2036 Reviewed by Holger Freyther.
2038 https://bugs.webkit.org/show_bug.cgi?id=23711
2040 Add manual test for floating divs with scrollbars.
2042 * manual-tests/gtk/floatingdiv.html: Added.
2044 2009-02-03 Xan Lopez <xan@gnome.org>
2046 Reviewed by Holger Freyther.
2048 https://bugs.webkit.org/show_bug.cgi?id=23711
2050 There's no need to hold an extra ref to the scrollbar, calling
2051 setPlatformWidget takes ownership of it.
2053 Also do not disconnect the signals when destroying the widget,
2056 * platform/gtk/ScrollbarGtk.cpp:
2057 (ScrollbarGtk::ScrollbarGtk):
2058 * platform/gtk/ScrollbarGtk.h:
2060 2009-02-03 Xan Lopez <xan@gnome.org>
2062 Reviewed by Holger Freyther.
2064 https://bugs.webkit.org/show_bug.cgi?id=23711
2066 Declare scrollBar as GtkWidget* to avoid needless
2069 * platform/gtk/ScrollbarGtk.cpp:
2070 (ScrollbarGtk::ScrollbarGtk):
2071 (ScrollbarGtk::~ScrollbarGtk):
2073 2009-02-03 Xan Lopez <xan@gnome.org>
2075 Reviewed by Holger Freyther.
2077 https://bugs.webkit.org/show_bug.cgi?id=23711
2079 Properly calculate the scrollbar location for their
2080 usage in RenderLayout.
2082 * platform/gtk/ScrollbarGtk.cpp:
2083 (ScrollbarGtk::frameRectsChanged):
2085 2009-02-03 David Hyatt <hyatt@apple.com>
2087 Rename addLineBoxRects to absoluteRectsForRange, and do the same thing for the corresponding quads methods. Move the RenderContainer implementations
2088 of these methods up to RenderObject.
2090 Reviewed by Beth Dakin
2092 * bindings/objc/DOM.mm:
2093 (-[DOMNode lineBoxRects]):
2095 (WebCore::Range::addLineBoxRects):
2096 * inspector/InspectorController.cpp:
2097 (WebCore::InspectorController::drawNodeHighlight):
2098 * rendering/RenderContainer.cpp:
2099 * rendering/RenderContainer.h:
2100 * rendering/RenderObject.cpp:
2101 (WebCore::RenderObject::absoluteRectsForRange):
2102 (WebCore::RenderObject::absoluteQuadsForRange):
2103 * rendering/RenderObject.h:
2104 * rendering/RenderText.cpp:
2105 (WebCore::RenderText::absoluteRectsForRange):
2106 (WebCore::RenderText::absoluteQuadsForRange):
2107 * rendering/RenderText.h:
2109 2009-02-03 Dirk Schulze <krit@webkit.org>
2111 Reviewed by Sam Weinig and Oliver Hunt.
2113 Added getImageData() support for QtWebKit.
2115 [QT] lacks getImageData / putImageData support in Canvas
2116 https://bugs.webkit.org/show_bug.cgi?id=22186
2118 * platform/graphics/qt/ImageBufferQt.cpp:
2119 (WebCore::ImageBuffer::getImageData):
2121 2009-02-03 Eric Roman <eroman@chromium.org>
2123 Reviewed by Holger Freyther.
2125 Fix FrameChromium.cpp following r40473 which moved Frame::adjustPageHeight to FrameView::adjustPageHeight.
2127 * page/chromium/FrameChromium.cpp:
2128 (WebCore::computePageRectsForFrame):
2130 2009-02-02 Simon Fraser <simon.fraser@apple.com>
2132 Reviewed by Dave Hyatt
2134 https://bugs.webkit.org/show_bug.cgi?id=23358
2136 Hook accelerated compositing into RenderLayer.
2138 * rendering/RenderLayer.cpp:
2139 (WebCore::RenderLayer::RenderLayer):
2140 (WebCore::RenderLayer::~RenderLayer):
2141 Init and clean up backing and the hasCompositingDescendant bit.
2143 (WebCore::RenderLayer::compositor):
2144 Shortcut to get to the RenderLayerCompositor.
2146 (WebCore::RenderLayer::updateLayerPositions):
2147 We need to let full repaints propagate to all compositing layers, and
2148 update the backing after layout here.
2150 (WebCore::RenderLayer::transparentAncestor):
2151 (WebCore::transparencyClipBox):
2152 (WebCore::RenderLayer::beginTransparencyLayers):
2153 Account for the fact that opacity may be rendered via the compositing
2156 (WebCore::RenderLayer::addChild):
2157 (WebCore::RenderLayer::removeChild):
2158 (WebCore::RenderLayer::removeOnlyThisLayer):
2159 Tell the compositor when the RenderLayer hierarchy changes.
2161 (WebCore::RenderLayer::scrollToOffset):
2162 Update layer geometry after scrolling.
2164 (WebCore::RenderLayer::paintLayer):
2165 We short-circuit painting on composited layers, because these layers
2166 are painted on a callback from the compositing system.
2168 (WebCore::RenderLayer::hitTestLayer):
2169 Only apply transforms if we are rendering them in software.
2171 (WebCore::RenderLayer::localBoundingBox):
2172 (WebCore::RenderLayer::boundingBox):
2173 (WebCore::RenderLayer::absoluteBoundingBox):
2174 Refactor bounding box code that we can compute local, and ancestor-relative
2175 bounding box, as well as absolute.
2177 (WebCore::RenderLayer::ensureBacking):
2178 (WebCore::RenderLayer::clearBacking):
2179 RenderLayerBacking creation and destruction.
2181 (WebCore::RenderLayer::setParent):
2182 Tell the compositor when the RenderLayer hierarchy changes.
2184 (WebCore::RenderLayer::dirtyZOrderLists):
2185 (WebCore::RenderLayer::dirtyStackingContextZOrderLists):
2186 (WebCore::RenderLayer::dirtyOverflowList):
2187 When the z-order and overflow lists change, we need to tell the
2188 compositor that the composited layers need to be rejiggered soon.
2190 (WebCore::RenderLayer::updateZOrderLists):
2193 (WebCore::RenderLayer::setBackingNeedsRepaint):
2194 (WebCore::RenderLayer::setBackingNeedsRepaintInRect):
2195 Dirty composited layer contents for painting.
2197 (WebCore::RenderLayer::styleChanged):
2198 Update the layer backing after style changes.
2200 * rendering/RenderLayer.h:
2201 (WebCore::RenderLayer::isComposited):
2202 (WebCore::RenderLayer::backing):
2203 Accessors for testing and getting the backing for this RenderLayer.
2205 (WebCore::RenderLayer::paintsWithTransparency):
2206 (WebCore::RenderLayer::paintsWithTransform):
2207 Transform and opacity can be applied via the compositing layer, or rendered
2208 in software. These methods tell us if we need to account for them in the
2209 non-compositing path.
2211 (WebCore::RenderLayer::hasCompositingDescendant):
2212 (WebCore::RenderLayer::setHasCompositingDescendant):
2213 Maintain a bit to tell if this layer has composited descendants.
2215 2009-02-03 Simon Fraser <simon.fraser@apple.com>
2217 Reviewed by Dave Hyatt
2219 https://bugs.webkit.org/show_bug.cgi?id=23365
2221 Hook up accelerated compositing layers the native
2225 Export new Page methods.
2227 * page/ChromeClient.h:
2228 (WebCore::ChromeClient::attachRootGraphicsLayer):
2229 (WebCore::ChromeClient::setNeedsOneShotDrawingSynchronization):
2230 New methods for attaching/detaching the root GraphicsLayer, and
2231 synchronizing layer changes with window drawing.
2234 * page/FrameView.cpp:
2235 (WebCore::FrameView::updateCompositingLayers):
2236 (WebCore::FrameView::setNeedsOneShotDrawingSynchronization):
2237 (WebCore::FrameView::didMoveOnscreen):
2238 (WebCore::FrameView::willMoveOffscreen):
2239 New methods to update the compositing layer hierarchy,
2240 and pass-throughs to the RenderLayerCompositor.
2242 (WebCore::FrameView::layout):
2243 Update compositing layers after layout() and updateLayerPositions().
2246 (WebCore::Page::didMoveOnscreen):
2247 (WebCore::Page::willMoveOffscreen):
2249 New methods to allow the native view system to tell the Page when it
2250 starts to be presented on-screen, and when it will be hidden.
2252 * rendering/RenderLayerCompositor.h:
2253 * rendering/RenderLayerCompositor.cpp:
2254 (WebCore::RenderLayerCompositor::updateLayerCompositingState):
2255 (WebCore::RenderLayerCompositor::didMoveOnscreen):
2256 (WebCore::RenderLayerCompositor::willMoveOffscreen):
2257 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
2258 Rename 'attached' methods to 'moveOnscreen/moveOffscreen' to match
2259 the calls through from Page, FrameView.
2261 (WebCore::RenderLayerCompositor::layerWillBeRemoved):
2262 Dont' try to repaint or update layers if the document is being torn
2265 * rendering/RenderView.cpp:
2266 (WebCore::RenderView::didMoveOnscreen):
2267 (WebCore::RenderView::willMoveOffscreen):
2268 * rendering/RenderView.h:
2271 2009-02-03 Dirk Schulze <krit@webkit.org>
2273 Reviewed by Holger Hans Peter Freyther.
2275 Fixed getImageData and putImageData and respect pre-
2278 Cairo's ImageBuffer::getImageData() does not handle alpha=0 case correctly
2279 https://bugs.webkit.org/show_bug.cgi?id=21575
2281 * platform/graphics/cairo/ImageBufferCairo.cpp:
2282 (WebCore::ImageBuffer::getImageData):
2283 (WebCore::ImageBuffer::putImageData):
2285 2009-02-03 Dan Bernstein <mitz@apple.com>
2287 Reviewed by Brady Eidson.
2289 - fix <rdar://problem/6550530> REGRESSION (r40508): Window opened with window.open has no initial history item (global and back/forward)
2291 Test: fast/history/window-open.html
2293 * bindings/js/JSDOMWindowBase.cpp:
2294 (WebCore::createWindow): Pass the missing lockBackForwardList parameter
2295 to FrameLoader::changeLocation().
2297 2009-02-03 Adam Treat <adam.treat@torchmobile.com>
2299 Fix the Qt build after r40536.
2301 * bridge/qt/qt_runtime.cpp:
2302 (JSC::Bindings::convertQVariantToValue):
2304 2009-02-03 Dan Bernstein <mitz@apple.com>
2306 - fix -Wmissing-prototypes builds
2308 * loader/WorkerThreadableLoader.cpp:
2309 (WebCore::workerContextDidSendData): Marked this function static.
2310 (WebCore::workerContextDidReceiveResponse): Ditto.
2311 (WebCore::workerContextDidReceiveData): Ditto.
2312 (WebCore::workerContextDidFinishLoading): Ditto.
2313 (WebCore::workerContextDidFail): Ditto.
2314 (WebCore::workerContextDidGetCancelled): Ditto.
2315 (WebCore::workerContextDidReceiveAuthenticationCancellation): Ditto.
2317 2009-02-03 David Kilzer <ddkilzer@apple.com>
2319 CrashTracer: [REGRESSION] 53 crashes in Safari at com.apple.WebCore: WebCore::LegacyWebArchive::create + 2706
2321 <rdar://problem/6509514>
2323 Reviewed by Adam Roben.
2325 * loader/archive/cf/LegacyWebArchive.cpp:
2326 (WebCore::LegacyWebArchive::create): Null check the value returned
2327 from WebCore::IconDatabase::iconForPageURL().
2329 2009-02-03 Simon Hausmann <simon.hausmann@nokia.com>
2331 Reviewed by Tor Arne Vestbø.
2333 Fix conversion of QByteArray to JavaScript and back. Instead of
2334 converting it to a String (data loss!) we now map it to JSByteArray.
2336 * bridge/qt/qt_runtime.cpp:
2338 (JSC::Bindings::valueRealType): Added JSByteArray as converstion type.
2339 (JSC::Bindings::convertValueToQVariant): Convert from JSByteArray to
2340 QVariant(QByteArray).
2341 (JSC::Bindings::convertQVariantToValue): Convert from
2342 QVariant::ByteArray to jsByteArray.
2344 2009-02-03 Alexey Proskuryakov <ap@webkit.org>
2348 * GNUmakefile.am: Removed WorkerTask.{h,cpp}.
2350 2009-02-03 Dmitry Titov <dimich@chromium.org>
2352 Reviewed by Alexey Proskuryakov.
2354 https://bugs.webkit.org/show_bug.cgi?id=22718
2355 Implement WindowTimers interface in Workers.
2357 This patch moves timeoutID from Document to ScriptExecutionContext
2358 and exposes JS methods setTimeout/setInterval/clearTimeout/clearInterval inside of a Worker.
2359 Also added a test for those methods.
2361 Test: fast/workers/worker-timeout.html
2363 * bindings/js/JSWorkerContextCustom.cpp:
2364 (WebCore::setTimeoutOrInterval):
2365 Creates ScheduledAction and calls WorkerContext::installTimeout to actually add a timer.
2367 (WebCore::JSWorkerContext::setTimeout):
2368 (WebCore::JSWorkerContext::clearTimeout):
2369 (WebCore::JSWorkerContext::setInterval):
2370 (WebCore::JSWorkerContext::clearInterval):
2371 Added methods exposed to JS.
2375 * dom/ScriptExecutionContext.cpp:
2376 (WebCore::ScriptExecutionContext::addTimeout):
2377 (WebCore::ScriptExecutionContext::removeTimeout):
2378 (WebCore::ScriptExecutionContext::findTimeout):
2379 * dom/ScriptExecutionContext.h:
2380 The timerID map moves from Document to ScriptExecutionContext,
2381 to be available to Document and to WorkerContext.
2383 * dom/WorkerContext.cpp:
2384 (WebCore::WorkerContext::installTimeout): Adds a DOMTimeout.
2385 (WebCore::WorkerContext::removeTimeout): Removes a DOMTimeout.
2386 * dom/WorkerContext.h:
2388 * page/DOMTimer.cpp:
2389 (WebCore::DOMTimer::DOMTimer):
2390 (WebCore::DOMTimer::~DOMTimer):
2391 (WebCore::DOMTimer::removeById):
2392 Code change here reflects move of timeoutID map to the ScriptExecutionContext.
2393 Some checks and casts are no longer needed.
2395 2009-02-03 Dmitry Titov <dimich@chromium.org>
2397 Reviewed by Alexey Proskuryakov.
2399 https://bugs.webkit.org/show_bug.cgi?id=23560
2400 Implement SharedTimer for Workers.
2402 * dom/WorkerRunLoop.cpp:
2403 Added private class WorkerSharedTimer that implements SharedTimer interface for worker threads.
2404 (WebCore::WorkerSharedTimer::WorkerSharedTimer):
2405 (WebCore::WorkerSharedTimer::setFiredFunction):
2406 (WebCore::WorkerSharedTimer::setFireTime):
2407 (WebCore::WorkerSharedTimer::stop):
2408 (WebCore::WorkerSharedTimer::isActive):
2409 (WebCore::WorkerSharedTimer::fireTime):
2410 (WebCore::WorkerSharedTimer::fire):
2411 (WebCore::WorkerRunLoop::WorkerRunLoop):
2412 Initializes a WorkerSharedTimer instance.
2413 (WebCore::WorkerRunLoop::~WorkerRunLoop):
2414 The destructor is here so compiler is ok with having OwnPtr<WorkerSharedTimer> in .h file w/o defining WorkerSharedTimer.
2415 (WebCore::WorkerRunLoop::run):
2416 Set/reset shared timer interface on ThreadTimers, use MessageQueue::waitForMessageTimed() if timer is active.
2417 * dom/WorkerRunLoop.h:
2418 Add member of type OwnPtr<WorkerSharedTimer>
2420 2009-02-03 Steve Falkenburg <sfalken@apple.com>
2424 * WebCore.vcproj/WebCore.vcproj:
2426 2009-02-03 Alexey Proskuryakov <ap@webkit.org>
2430 * dom/CrossThreadCopier.h: Changed forward declarations to use struct instead of class where
2433 2009-02-02 David Levin <levin@chromium.org>
2435 Reviewed by Alexey Proskuryakov.
2437 Bug 23636: Make the async api of ThreadableLoader functional for the worker context.
2438 <https://bugs.webkit.org/show_bug.cgi?id=23636>
2440 Enable the async portion of ThreadableLoader for workers.
2442 No observable change in behavior, so no test.
2447 * WebCore.vcproj/WebCore.vcproj:
2448 * WebCore.xcodeproj/project.pbxproj:
2449 * WebCoreSources.bkl:
2450 * dom/CrossThreadCopier.h:
2451 * dom/GenericWorkerTask.h:
2452 * dom/WorkerThread.cpp:
2453 * loader/ThreadableLoader.cpp:
2454 (WebCore::ThreadableLoader::create):
2455 * loader/ThreadableLoaderClient.h:
2456 (WebCore::ThreadableLoaderClient::didFinishLoading):
2457 * loader/ThreadableLoaderClientWrapper.h: Added.
2458 (WebCore::ThreadableLoaderClientWrapper::create):
2459 (WebCore::ThreadableLoaderClientWrapper::clearClient):
2460 (WebCore::ThreadableLoaderClientWrapper::didSendData):
2461 (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
2462 (WebCore::ThreadableLoaderClientWrapper::didReceiveData):
2463 (WebCore::ThreadableLoaderClientWrapper::didFinishLoading):
2464 (WebCore::ThreadableLoaderClientWrapper::didFail):
2465 (WebCore::ThreadableLoaderClientWrapper::didGetCancelled):
2466 (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
2467 (WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper):
2468 * loader/WorkerThreadableLoader.cpp: Added.
2469 (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
2470 (WebCore::WorkerThreadableLoader::~WorkerThreadableLoader):
2471 (WebCore::WorkerThreadableLoader::cancel):
2472 (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
2473 (WebCore::WorkerThreadableLoader::MainThreadBridge::~MainThreadBridge):
2474 (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
2475 (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadDestroy):
2476 (WebCore::WorkerThreadableLoader::MainThreadBridge::destroy):
2477 (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCancel):
2478 (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
2479 (WebCore::WorkerThreadableLoader::MainThreadBridge::clearClientWrapper):
2480 (WebCore::workerContextDidSendData):
2481 (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
2482 (WebCore::workerContextDidReceiveResponse):
2483 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
2484 (WebCore::workerContextDidReceiveData):
2485 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
2486 (WebCore::workerContextDidFinishLoading):
2487 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
2488 (WebCore::workerContextDidFail):
2489 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
2490 (WebCore::workerContextDidGetCancelled):
2491 (WebCore::WorkerThreadableLoader::MainThreadBridge::didGetCancelled):
2492 (WebCore::workerContextDidReceiveAuthenticationCancellation):
2493 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
2494 * loader/WorkerThreadableLoader.h: Added.
2495 (WebCore::WorkerThreadableLoader::create):
2496 (WebCore::WorkerThreadableLoader::refThreadableLoader):
2497 (WebCore::WorkerThreadableLoader::derefThreadableLoader):
2499 2009-02-02 David Levin <levin@chromium.org>
2501 Reviewed by Alexey Proskuryakov.
2503 Bug 23636: Make the async api of ThreadableLoader functional for the worker context.
2504 <https://bugs.webkit.org/show_bug.cgi?id=23636>
2506 No observable change in behavior, so no test.
2508 * WebCore.xcodeproj/project.pbxproj:
2511 * dom/WorkerContext.cpp:
2512 (WebCore::WorkerContext::addMessage):
2513 (WebCore::WorkerContext::postTask):
2514 (WebCore::WorkerContext::postTaskToWorkerObject):
2515 * dom/WorkerContext.h:
2516 * dom/WorkerMessagingProxy.cpp:
2517 (WebCore::MessageWorkerContextTask::performTask):
2518 (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
2519 (WebCore::WorkerMessagingProxy::postTaskToWorkerContext):
2520 Expose postTaskToWorkerContext for use by the worker object thread.
2522 (WebCore::WorkerMessagingProxy::postTaskToWorkerObject):
2523 Change the name of postTaskToParentContext to postTaskToWorkerObject for consistency
2524 with postMessageToWorkerObject.
2526 * dom/WorkerMessagingProxy.h:
2527 * dom/WorkerRunLoop.cpp:
2528 (WebCore::WorkerRunLoop::run):
2529 (WebCore::WorkerRunLoop::postTask):
2530 * dom/WorkerRunLoop.h:
2531 * dom/WorkerTask.cpp: Removed.
2532 * dom/WorkerTask.h: Removed.
2533 Removed WorkerTask and replaced with the existing ScriptExecutionContext::Task.
2535 The resulted in the class going away along with an adapter that made
2536 a ScriptExecutionContext::Task look like a WorkerTask.
2538 * dom/WorkerThread.cpp:
2539 * dom/WorkerThread.h:
2541 2009-02-02 David Levin <levin@chromium.org>
2543 Reviewed by Alexey Proskuryakov.
2545 Bug 23618: Templated worker tasks should be more error proof to use.
2546 <https://bugs.webkit.org/show_bug.cgi?id=23618>
2548 Add the generic worker tasks templates needed for the WorkerThreadableLoader.
2550 No observable change in behavior, so no test.
2555 * WebCore.vcproj/WebCore.vcproj:
2556 * WebCore.xcodeproj/project.pbxproj:
2557 * WebCoreSources.bkl:
2558 * dom/CrossThreadCopier.cpp: Added.
2559 * dom/CrossThreadCopier.h: Added.
2560 (WebCore::CrossThreadCopierPassThrough::copy):
2561 * dom/GenericWorkerTask.h:
2562 Stop doing the WorkerMessagingProxy::askedToTerminate call automatically
2563 in performTask because was not obvious that it would be done and not always needed.
2565 (WebCore::GenericWorkerTask1::create):
2566 (WebCore::GenericWorkerTask1::GenericWorkerTask1):
2567 (WebCore::GenericWorkerTask1::performTask):
2568 (WebCore::GenericWorkerTask2::create):
2569 (WebCore::GenericWorkerTask2::GenericWorkerTask2):
2570 (WebCore::GenericWorkerTask2::performTask):
2571 (WebCore::GenericWorkerTask3::create):
2572 (WebCore::GenericWorkerTask3::GenericWorkerTask3):
2573 (WebCore::GenericWorkerTask3::performTask):
2574 (WebCore::GenericWorkerTask4::create):
2575 (WebCore::GenericWorkerTask4::GenericWorkerTask4):
2576 (WebCore::GenericWorkerTask4::performTask):
2577 (WebCore::GenericWorkerTask5::create):
2578 (WebCore::GenericWorkerTask5::GenericWorkerTask5):
2579 (WebCore::GenericWorkerTask5::performTask):
2580 (WebCore::GenericWorkerTask6::create):
2581 (WebCore::GenericWorkerTask6::GenericWorkerTask6):
2582 (WebCore::GenericWorkerTask6::performTask):
2583 (WebCore::GenericWorkerTask7::create):
2584 (WebCore::GenericWorkerTask7::GenericWorkerTask7):
2585 (WebCore::GenericWorkerTask7::performTask):
2586 (WebCore::createCallbackTask):
2587 * dom/WorkerContext.cpp:
2588 (WebCore::addMessageTask):
2589 (WebCore::WorkerContext::addMessage):
2590 * dom/WorkerMessagingProxy.h:
2591 (WebCore::WorkerMessagingProxy::askedToTerminate):
2593 2009-02-02 Sam Weinig <sam@webkit.org>
2595 Reviewed by David "The Barnabas Jones" Hyatt.
2597 Move removeChildNode, appendChildNode and insertChildNode from
2598 RenderContainer into RenderObjectChildList. Make moveChildNode
2599 static in RenderBlock, as that was the only user.
2601 * rendering/RenderBlock.cpp:
2602 (WebCore::moveChild):
2603 (WebCore::RenderBlock::makeChildrenNonInline):
2604 (WebCore::RenderBlock::removeChild):
2605 (WebCore::RenderBlock::handleRunInChild):
2606 * rendering/RenderContainer.cpp:
2607 (WebCore::RenderContainer::addChild):
2608 (WebCore::RenderContainer::removeChild):
2609 * rendering/RenderContainer.h:
2610 * rendering/RenderInline.cpp:
2611 (WebCore::RenderInline::splitInlines):
2612 (WebCore::RenderInline::splitFlow):
2613 (WebCore::RenderInline::childBecameNonInline):
2614 * rendering/RenderObject.cpp:
2615 (WebCore::RenderObject::handleDynamicFloatPositionChange):
2616 * rendering/RenderObject.h:
2617 (WebCore::RenderObject::createsAnonymousWrapper):
2618 * rendering/RenderObjectChildList.cpp:
2619 (WebCore::updateListMarkerNumbers):
2620 (WebCore::RenderObjectChildList::removeChildNode):
2621 (WebCore::RenderObjectChildList::appendChildNode):
2622 (WebCore::RenderObjectChildList::insertChildNode):
2623 * rendering/RenderObjectChildList.h:
2624 * rendering/RenderSVGContainer.cpp:
2625 (WebCore::RenderSVGContainer::addChild):
2626 (WebCore::RenderSVGContainer::removeChild):
2627 * rendering/RenderSVGContainer.h:
2628 * rendering/RenderTable.cpp:
2629 (WebCore::RenderTable::removeChild):
2630 * rendering/RenderTable.h:
2631 * rendering/RenderTableSection.cpp:
2632 (WebCore::RenderTableSection::removeChild):
2633 * rendering/RenderTableSection.h:
2635 2009-02-02 Alexey Proskuryakov <ap@webkit.org>
2637 Reviewed by Darin Alder.
2639 https://bugs.webkit.org/show_bug.cgi?id=23697
2640 Leaks seen on Worker tests
2642 * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal):
2643 Zero out m_workerThread, so that the proxy could be deleted once workerObjectDestroyed()
2646 2009-02-02 David Hyatt <hyatt@apple.com>
2648 Move positionForCoordinates up from RenderContainer into RenderBox.
2650 Reviewed by Sam Weinig
2652 * rendering/RenderBox.cpp:
2653 (WebCore::RenderBox::positionForCoordinates):
2654 * rendering/RenderBox.h:
2655 * rendering/RenderContainer.cpp:
2656 * rendering/RenderContainer.h:
2658 2009-02-02 Hiroaki Nakamura <hnakamur@gmail.com>
2660 Reviewed by Adam Roben.
2662 Fixes https://bugs.webkit.org/show_bug.cgi?id=15813
2663 Modify pre-build step to properly handle the errorlevel
2666 * WebCore.vcproj/WebCore.vcproj: Change errorlevel handling
2667 for all targets so prefast is only enabled in builds
2668 where /analyze is available.
2670 2009-02-02 David Hyatt <hyatt@apple.com>
2672 Refactor the handling of before/after content and generated content. Move most of the functions from
2673 RenderContainer into RenderObjectChildList.
2675 Reviewed by Sam Weinig
2677 * rendering/RenderBlock.cpp:
2678 (WebCore::RenderBlock::updateBeforeAfterContent):
2679 * rendering/RenderBlock.h:
2680 * rendering/RenderBox.cpp:
2681 (WebCore::RenderBox::isAfterContent):
2682 * rendering/RenderBox.h:
2683 * rendering/RenderButton.cpp:
2684 (WebCore::RenderButton::updateBeforeAfterContent):
2685 * rendering/RenderContainer.cpp:
2686 * rendering/RenderContainer.h:
2687 * rendering/RenderCounter.cpp:
2688 (WebCore::destroyCounterNodeChildren):
2689 * rendering/RenderInline.cpp:
2690 (WebCore::RenderInline::styleDidChange):
2691 (WebCore::RenderInline::addChildIgnoringContinuation):
2692 (WebCore::RenderInline::splitInlines):
2693 * rendering/RenderObject.h:
2694 * rendering/RenderObjectChildList.cpp:
2695 (WebCore::beforeAfterContainer):
2696 (WebCore::findBeforeAfterParent):
2697 (WebCore::invalidateCountersInContainer):
2698 (WebCore::RenderObjectChildList::invalidateCounters):
2699 (WebCore::RenderObjectChildList::updateBeforeAfterContent):
2700 * rendering/RenderObjectChildList.h:
2702 2009-02-02 Dmitry Titov <dimich@chromium.org>
2704 Reviewed by Darin Adler.
2706 https://bugs.webkit.org/show_bug.cgi?id=23661
2709 * history/HistoryItem.h: need to include <wtf/OwnPtr.h>
2711 * rendering/RenderThemeChromiumMac.mm:
2712 (WebCore::RenderThemeChromiumMac::adjustMenuListStyle): isEnabled() is now on FormControlElement.
2714 2009-02-02 Geoffrey Garen <ggaren@apple.com>
2718 * plugins/PluginView.cpp:
2719 (WebCore::PluginView::performRequest):
2721 2009-02-02 Geoffrey Garen <ggaren@apple.com>
2727 2009-02-02 Geoffrey Garen <ggaren@apple.com>
2729 Reviewed by Sam Weinig.
2731 Track redirects in global history.
2733 * WebCore.base.exp: Renamed some exports.
2735 * bindings/js/JSDOMWindowBase.cpp:
2736 (WebCore::createWindow):
2737 (windowProtoFuncOpen):
2738 * bindings/js/JSDOMWindowCustom.cpp:
2739 (WebCore::JSDOMWindow::setLocation):
2740 * bindings/js/JSDocumentCustom.cpp:
2741 (WebCore::JSDocument::setLocation):
2742 * bindings/js/JSHTMLFormElementCustom.cpp:
2743 (WebCore::JSHTMLFormElement::submit):
2744 * bindings/js/JSLocationCustom.cpp:
2745 (WebCore::JSLocation::setHref):
2746 (WebCore::JSLocation::setProtocol):
2747 (WebCore::JSLocation::setHost):
2748 (WebCore::JSLocation::setHostname):
2749 (WebCore::JSLocation::setPort):
2750 (WebCore::JSLocation::setPathname):
2751 (WebCore::JSLocation::setSearch):
2752 (WebCore::JSLocation::setHash):
2753 (WebCore::JSLocation::assign): Treat any navigation that is not initiated
2754 by the user as a redirect from the perspective of global history.
2756 * history/HistoryItem.cpp:
2757 (WebCore::HistoryItem::addRedirectURL): Store the last URL in the redirect
2760 * loader/DocumentLoader.cpp:
2761 (WebCore::DocumentLoader::DocumentLoader):
2762 * loader/DocumentLoader.h:
2763 (WebCore::DocumentLoader::urlForHistoryReflectsServerRedirect):
2764 (WebCore::DocumentLoader::urlForHistoryReflectsClientRedirect):
2765 (WebCore::DocumentLoader::setURLForHistoryReflectsClientRedirect): Sadly,
2766 added yet another way to track redirect state during loading, since none
2767 of the others did what I wanted, and I didn't want to cause behavior
2768 changes in existing code.
2770 * loader/EmptyClients.h:
2771 (WebCore::EmptyFrameLoaderClient::updateGlobalHistoryForRedirectWithoutHistoryItem):
2772 Stubbed out a client function to keep things building.
2774 * loader/FrameLoader.cpp:
2775 (WebCore::isBackForwardLoadType):
2776 (WebCore::FrameLoader::restoreDocumentState): Renamed FrameLoadTypeRedirect =>
2777 FrameLoadTypeRedirectWithLockedBackForwardList, to distinguish from all
2778 the other meanings of "redirect" in the loading code.
2780 (WebCore::FrameLoader::scheduleHTTPRedirection): Treat any HTTP refresh
2781 redirect as a redirect from the perspective of global history.
2783 (WebCore::FrameLoader::loadURLIntoChildFrame): Updated for rename and extra
2786 (WebCore::FrameLoader::startRedirectionTimer): Removed unused parameter.
2788 (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
2789 (WebCore::FrameLoader::loadURL):
2790 (WebCore::FrameLoader::load): Updated for rename and extra parameter.
2792 (WebCore::FrameLoader::loadWithNavigationAction): Track redirect status
2793 in the DocumentLoader, so it's accessible to WebKit's global history code.
2795 (WebCore::FrameLoader::clientRedirected): Ignore lockHistory, since it
2796 only has meaning to global history, and m_quickRedirectComing pertains
2797 to other kinds of history.
2799 (WebCore::FrameLoader::loadPostRequest):
2800 (WebCore::FrameLoader::loadEmptyDocumentSynchronously):
2801 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
2802 (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
2803 (WebCore::FrameLoader::loadItem): Updated for extra parameter and rename.
2805 (WebCore::FrameLoader::updateHistory*): Notify WebKit about redirect
2806 navigations even if they don't create new history items, so we can track
2807 the redirect in the existing history item.
2809 * loader/FrameLoader.h: See above.
2811 * loader/FrameLoaderClient.h: New client interface used by
2812 FrameLoader::updateHistory* to record a redirect even if it doesn't create
2813 a new history item of its own.
2815 * loader/FrameLoaderTypes.h: See above.
2818 * page/DragController.cpp:
2819 (WebCore::DragController::performDrag):
2820 * svg/graphics/SVGImage.cpp:
2821 (WebCore::SVGImage::dataChanged): Updated for extra parameter.
2823 2009-02-02 David Hyatt <hyatt@apple.com>
2825 Make calcPrefWidths non-abstract on RenderBox and just give it RenderContainer's implementation.
2826 Remove RenderSVGContainer's implementation, since it was never called.
2828 Reviewed by Beth Dakin
2830 * rendering/RenderBox.cpp:
2831 (WebCore::RenderBox::minPrefWidth):
2832 * rendering/RenderBox.h:
2833 (WebCore::RenderBox::calcPrefWidths):
2834 * rendering/RenderContainer.h:
2835 (WebCore::RenderContainer::moveChildNode):
2836 * rendering/RenderSVGContainer.h:
2838 2009-02-02 Anders Carlsson <andersca@apple.com>
2840 Reviewed by Sam Weinig.
2842 Add jsObjectForPluginElement to ScriptController, and have createScriptObjectForPluginElement call it.
2845 * bindings/js/ScriptController.cpp:
2846 (WebCore::ScriptController::createScriptObjectForPluginElement):
2847 (WebCore::ScriptController::jsObjectForPluginElement):
2848 * bindings/js/ScriptController.h:
2850 2009-02-02 Darin Fisher <darin@chromium.org>
2852 Reviewed by Eric Seidel (and Ojan Vafai).
2854 https://bugs.webkit.org/show_bug.cgi?id=23696
2855 Select element doesn't show new value when focus is switched in
2858 Fix PopupMenuChromium to hide itself before calling valueChanged. This
2859 better matches the behavior of the other ports.
2861 * platform/chromium/PopupMenuChromium.cpp:
2862 (WebCore::PopupListBox::create):
2863 (WebCore::PopupContainer::PopupContainer):
2864 (WebCore::PopupContainer::showPopup):
2865 (WebCore::PopupContainer::hidePopup):
2866 (WebCore::PopupListBox::abandon):
2867 (WebCore::PopupListBox::acceptIndex):
2868 (WebCore::PopupMenu::show):
2869 (WebCore::PopupMenu::hide):
2871 2009-02-02 David Hyatt <hyatt@apple.com>
2873 Make sure scrollWidth/Height just return 0 for inline flows.
2875 Reviewed by Beth Dakin
2877 * rendering/RenderBox.cpp:
2878 (WebCore::RenderBox::scrollWidth):
2879 (WebCore::RenderBox::scrollHeight):
2881 2009-02-02 Darin Adler <darin@apple.com>
2883 Reviewed by Dave Hyatt.
2885 Bug 23676: Speed up uses of reserveCapacity on new vectors by adding a new reserveInitialCapacity
2886 https://bugs.webkit.org/show_bug.cgi?id=23676
2888 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2889 (WebCore::cssPropertyName):
2890 * css/CSSMutableStyleDeclaration.cpp:
2891 (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
2892 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
2893 * css/CSSPrimitiveValue.cpp:
2894 (WebCore::CSSPrimitiveValue::cssText):
2895 * css/CSSStyleDeclaration.cpp:
2896 (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
2897 * css/CSSStyleSelector.cpp:
2898 (WebCore::CSSStyleSelector::sortMatchedRules):
2900 (WebCore::Document::formElementsState):
2901 * dom/NamedAttrMap.h:
2902 (WebCore::NamedAttrMap::reserveInitialCapacity):
2903 * editing/TextIterator.cpp:
2904 (WebCore::CharacterIterator::string):
2905 (WebCore::SearchBuffer::SearchBuffer):
2906 (WebCore::plainTextToMallocAllocatedBuffer):
2907 * editing/markup.cpp:
2908 (WebCore::joinMarkups):
2909 * history/HistoryItem.cpp:
2910 (WebCore::HistoryItem::HistoryItem):
2911 * html/HTMLTokenizer.cpp:
2912 (WebCore::Token::addAttribute):
2913 * loader/appcache/DOMApplicationCache.cpp:
2914 (WebCore::DOMApplicationCache::items):
2915 * page/SecurityOrigin.cpp:
2916 (WebCore::SecurityOrigin::toString):
2917 * page/mac/AccessibilityObjectWrapper.mm:
2919 * platform/graphics/FontCache.cpp:
2920 (WebCore::FontCache::purgeInactiveFontData):
2921 (WebCore::FontCache::invalidate):
2922 * platform/network/FormData.cpp:
2923 (WebCore::FormData::deepCopy):
2924 * platform/network/HTTPHeaderMap.cpp:
2925 (WebCore::HTTPHeaderMap::copyData):
2926 * platform/network/ResourceRequestBase.cpp:
2927 (WebCore::ResourceRequestBase::copyData):
2928 * platform/network/mac/FormDataStreamMac.mm:
2929 (WebCore::formCreate):
2930 * xml/XPathNodeSet.cpp:
2931 (WebCore::XPath::NodeSet::sort):
2932 Use reserveInitialCapacity instead of of reserveCapacity in all these call sites,
2933 which are working on new vectors that are guaranteed not to be empty.
2935 2009-02-26 Jon Honeycutt <jhoneycutt@apple.com>
2937 Build fix after r40486.
2939 Rubber-stamped by Ada Chan.
2941 * dom/Document.h: Chnaged HitTestRequest to a class from a struct.
2942 * page/EventHandler.h: Ditto.
2943 * rendering/EllipsisBox.h: Ditto.
2944 * rendering/InlineBox.h: Ditto.
2945 * rendering/InlineFlowBox.h: Ditto.
2946 * rendering/RenderLayer.h: Ditto.
2948 2009-02-02 Darin Adler <darin@apple.com>
2950 Reviewed by Anders Carlsson.
2952 Bug 23694: REGRESSION: Running svg/custom tests crashes, randomly, depending on the order of tests
2953 https://bugs.webkit.org/show_bug.cgi?id=23694
2955 * dom/ContainerNode.cpp:
2956 (WebCore::ContainerNode::insertedIntoDocument): Added back the call through to EventTargetNode.
2957 (WebCore::ContainerNode::removedFromDocument): Ditto.
2958 * dom/EventTargetNode.cpp:
2959 (WebCore::EventTargetNode::insertedIntoDocument): Changed this to not call through to Node.
2960 (WebCore::EventTargetNode::removedFromDocument): Ditto.
2962 (WebCore::Node::insertedIntoDocument): Updated comment.
2963 (WebCore::Node::removedFromDocument): Ditto.
2965 2009-02-02 Anders Carlsson <andersca@apple.com>
2967 Reviewed by Dan Bernstein.
2969 More plug-in cleanup.
2971 * WebCore.NPAPI.exp:
2974 * bindings/objc/DOM.mm:
2975 * bindings/objc/DOMPrivate.h:
2976 Remove methods that WebKit doesn't use anymore.
2978 2009-02-02 Jay Campan <jcampan@chromium.org>
2980 Reviewed by Eric Seidel.
2982 Clean up PopupMenuChromium a little.
2983 https://bugs.webkit.org/show_bug.cgi?id=23653
2985 No functional changes, only code cleanup, thus no tests.
2987 * platform/chromium/PopupMenuChromium.cpp:
2989 (WebCore::PopupListBox::PopupListBox):
2990 (WebCore::PopupContainer::create):
2991 (WebCore::PopupContainer::PopupContainer):
2992 (WebCore::PopupContainer::showPopup):
2993 (WebCore::PopupListBox::handleKeyEvent):
2994 (WebCore::PopupListBox::isSelectableItem):
2995 (WebCore::PopupListBox::selectNextRow):
2996 (WebCore::PopupListBox::selectPreviousRow):
2997 (WebCore::PopupMenu::show):
2998 * platform/chromium/PopupMenuChromium.h:
3000 2009-02-02 Anders Carlsson <andersca@apple.com>
3002 Reviewed by Dan Bernstein.
3004 Change createPlugin to take a HTMLPlugInElement, and createJavaAppletWidget to take a HTMLAppletElement.
3006 * WebCore.xcodeproj/project.pbxproj:
3007 * loader/EmptyClients.h:
3008 (WebCore::EmptyFrameLoaderClient::createPlugin):
3009 (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
3010 * loader/FrameLoader.cpp:
3011 (WebCore::toPlugInElement):
3012 (WebCore::FrameLoader::loadPlugin):
3013 (WebCore::FrameLoader::loadItem):
3014 * loader/FrameLoader.h:
3015 * loader/FrameLoaderClient.h:
3017 2009-02-02 Genevieve Mak <gen@staikos.net>
3019 Reviewed by George Staikos.
3021 https://bugs.webkit.org/show_bug.cgi?id=23508
3022 Returns Blank Page for all "about" protocols
3024 * loader/MainResourceLoader.cpp:
3025 Fix shouldLoadAsEmptyDocument() to return a blank page for an empty
3026 url or about:blank only (for now, exclusively for Torch Mobile platform).
3028 2009-02-02 Brent Fulgham <bfulgham@webkit.org>
3030 Reviewed by George Staikos.
3032 Fixes https://bugs.webkit.org/show_bug.cgi?id=23691.
3033 Correct build break caused by @r40366 by moving the
3034 common code implmentations from GraphicsContextCGWin.cpp
3035 into the base Windows class (GraphicsContextWin.cpp). Also
3036 move inTransparencyLayer since it is identical in both
3039 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
3040 Added member m_shouldIncludeChildWindows to Windows version,
3041 similar to GraphicsContextPlatformPrivateCG.h.
3042 * platform/graphics/win/GraphicsContextCGWin.cpp: Remove the
3043 implementations of shouldIncludeChildWindows,
3044 setShouldIncludeChildWindows, and inTransparencyLayer.
3045 * platform/graphics/win/GraphicsContextCairoWin.cpp: Remove
3046 the implementation of inTransparencyLayer.
3047 * platform/graphics/win/GraphicsContextWin.cpp: Move common code
3048 from GraphicsContextCGWin.cpp and GraphicsContextCairoWin.cpp.
3049 (WebCore::GraphicsContext::inTransparencyLayer):
3050 (WebCore::GraphicsContext::setShouldIncludeChildWindows):
3051 (WebCore::GraphicsContext::shouldIncludeChildWindows):
3053 2009-02-02 Darin Adler <darin@apple.com>
3055 Try to fix Wx build, and maybe Chromium build too.
3057 * WebCore.scons: Added IdentifierRep.cpp.
3058 * WebCoreSources.bkl: Ditto.
3060 2009-02-02 Darin Adler <darin@apple.com>
3062 Try to fix Wx build.
3064 * html/HTMLAreaElement.cpp: Added missing include of "Path.h".
3066 2009-02-02 Adam Treat <adam.treat@torchmobile.com>
3068 Reviewed by Nikolas Zimmermann.
3070 https://bugs.webkit.org/show_bug.cgi?id=23587
3071 Refactor HitTestRequest to eliminate all the ugly boolean arguments and
3072 use an enum bitflag instead. Cleanup all the code that constructs the
3073 various HitTestRequests to make the code more readable.
3076 (WebCore::Document::elementFromPoint):
3077 (WebCore::Document::prepareMouseEvent):
3078 * editing/SelectionController.cpp:
3079 (WebCore::SelectionController::contains):
3080 * page/AccessibilityRenderObject.cpp:
3081 (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
3082 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
3083 * page/EventHandler.cpp:
3084 (WebCore::EventHandler::eventMayStartDrag):
3085 (WebCore::EventHandler::updateSelectionForMouseDrag):
3086 (WebCore::EventHandler::hitTestResultAtPoint):
3087 (WebCore::EventHandler::handleMousePressEvent):
3088 (WebCore::EventHandler::handleMouseDoubleClickEvent):
3089 (WebCore::EventHandler::handleMouseMoveEvent):
3090 (WebCore::EventHandler::handleMouseReleaseEvent):
3091 (WebCore::EventHandler::updateDragAndDrop):
3092 (WebCore::EventHandler::handleWheelEvent):
3093 (WebCore::EventHandler::sendContextMenuEvent):
3094 (WebCore::EventHandler::hoverTimerFired):
3095 (WebCore::EventHandler::handleDrag):
3096 * page/EventHandler.h:
3097 * rendering/HitTestRequest.h:
3098 (WebCore::HitTestRequest::):
3099 (WebCore::HitTestRequest::HitTestRequest):
3100 (WebCore::HitTestRequest::readOnly):
3101 (WebCore::HitTestRequest::active):
3102 (WebCore::HitTestRequest::mouseMove):
3103 (WebCore::HitTestRequest::mouseUp):
3104 (WebCore::HitTestRequest::ignoreClipping):
3105 * rendering/RenderFrameSet.cpp:
3106 (WebCore::RenderFrameSet::nodeAtPoint):
3107 * rendering/RenderLayer.cpp:
3108 (WebCore::RenderLayer::hitTest):
3109 (WebCore::RenderLayer::hitTestLayer):
3110 (WebCore::RenderLayer::updateHoverActiveState):
3112 2009-02-02 George Staikos <george.staikos@torchmobile.com>
3114 Reviewed by Niko Zimmermann.
3116 Fix WML build by including the inlined renderStyle().
3118 * wml/WMLOptGroupElement.cpp:
3119 * wml/WMLOptionElement.cpp:
3121 2009-02-02 Darin Adler <darin@apple.com>
3123 Reviewed by Niko Zimmermann.
3125 Bug 23686: REGRESSION (r40475): Failure in fast/xpath/4XPath/Core/test_core_functions.html
3126 https://bugs.webkit.org/show_bug.cgi?id=23686
3127 rdar://problem/6547971
3129 Also fix other XPath tests that are crashing.
3131 * xml/XPathFunctions.cpp:
3132 (WebCore::XPath::FunLang::evaluate): Fix order of arguments when creating QualifiedName.
3133 * xml/XPathStep.cpp:
3134 (WebCore::XPath::Step::nodesInAxis): Use createAttrIfNeeded() rather than attr() since we
3135 need to make Attr nodes here. Yuck!
3137 2009-02-02 Yichao Yin <yichao.yin@torchmobile.com.cn>
3139 Reviewed by Niko Zimmermann.
3141 Test: wml/input-format.html
3143 * wml/WMLInputElement.cpp:
3144 (WebCore::WMLInputElement::WMLInputElement):
3145 (WebCore::formatCodes):
3146 (WebCore::WMLInputElement::dispatchBlurEvent):
3147 (WebCore::WMLInputElement::parseMappedAttribute):
3148 (WebCore::WMLInputElement::attach):
3149 (WebCore::WMLInputElement::defaultEventHandler):
3150 (WebCore::WMLInputElement::init):
3151 (WebCore::WMLInputElement::validateInputMask):
3152 (WebCore::WMLInputElement::isConformedToInputMask):
3153 (WebCore::WMLInputElement::cursorPositionToMaskIndex):
3154 * wml/WMLInputElement.h:
3156 2009-02-02 Brent Fulgham <bfulgham@webkit.org>
3158 Build fix only, no review.
3160 Fixes https://bugs.webkit.org/show_bug.cgi?id=23685.
3161 Correct build break caused by @r40473.
3163 * page/win/FrameWin.cpp: Correct access for adjustPageHeight.
3164 (WebCore::computePageRectsForFrame):
3166 2009-02-02 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3168 Not reviewed. Fix WML enabled builds.
3169 FrameLoader::urlSelected() got a new parameter: lockBackForwardList. Pass 'false', as HTMLAnchorElement does.
3171 * wml/WMLAElement.cpp:
3172 (WebCore::WMLAElement::defaultEventHandler):
3174 2009-02-02 Alexey Proskuryakov <ap@webkit.org>
3176 Reviewed by Darin Adler.
3178 <rdar://problem/6451610> Reloading a AppCache page doesn't ever hit the server
3180 Not easily testable.
3182 * loader/appcache/ApplicationCacheGroup.cpp:
3183 (WebCore::ApplicationCacheGroup::createResourceHandle): A new method that creates a resource
3184 handle in a manner that is closer to what CachedResource does. We now make conditional
3185 requests for better performance, and set max-age to ensure that stale responses are not used.
3186 (WebCore::ApplicationCacheGroup::update): Use the new createResourceHandle() method.
3187 (WebCore::ApplicationCacheGroup::didReceiveResponse): If the response code for the resource
3188 is 304, take it from the newest cache.
3189 (WebCore::ApplicationCacheGroup::didFail): Pre-compute request URL.
3190 (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Don't create a resource for
3191 the manifest if the response code was 304 - it won't be needed.
3192 (WebCore::ApplicationCacheGroup::didReceiveManifestData): Replaced an assertion that
3193 m_manifestResource is not null with a check.
3194 (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): Treat null m_manifestResource as
3195 an indication that the response was 304.
3196 (WebCore::ApplicationCacheGroup::startLoadingEntry): Use createResourceHandle().
3198 * loader/appcache/ApplicationCacheGroup.h: Added createResourceHandle().
3200 2009-02-01 Darin Adler <darin@apple.com>
3202 Reviewed by Dave Hyatt.
3204 Bug 23674: Speed up some things based on profiling the page load test
3205 https://bugs.webkit.org/show_bug.cgi?id=23674
3207 * css/CSSStyleSelector.cpp:
3208 (WebCore::CSSStyleSelector::canShareStyleWithElement): Use the newly named cssTarget instead
3209 of the old name, getCSSTarget.
3210 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
3212 * dom/ContainerNode.cpp:
3213 (WebCore::ContainerNode::insertedIntoDocument): Moved code from Node in here rather than
3214 calling through to EventTargetNode::insertedIntoDocument.
3215 (WebCore::ContainerNode::removedFromDocument): Ditto.
3216 (WebCore::ContainerNode::insertedIntoTree): Tweaked a bit.
3217 (WebCore::ContainerNode::removedFromTree): Ditto.
3219 * dom/ContainerNode.h: Moved the constructor definition here and made it inline.
3222 (WebCore::Document::removeAllEventListenersFromAllNodes): Iterate the document element and
3223 its contents only to avoid the document type node. This allows us to remove the virtual
3224 function call to isEventTargetNode from the loop.
3225 (WebCore::Document::setCSSTarget): Changed argument to be an Element rather than Node.
3227 * dom/Document.h: Changed CSS target to be an Element rather than a Node. Renamed
3228 getCSSTarget to cssTarget.
3230 * dom/EventTargetNode.cpp:
3231 (WebCore::EventTargetNode::removeAllEventListenersSlowCase): Renamed and turned the
3232 rare data check into an assertion.
3234 * dom/EventTargetNode.h: Made the fast case of removeAllEventListeners be inline.
3235 Also moved the constructor definition here and made it inline. And added toEventTargetNode,
3236 matching the design of the render tree checked casts. Later we can migrate all callers
3237 from EventTargetNodeCast to toEventTargetNode.
3239 * dom/NamedAttrMap.cpp:
3240 (WebCore::NamedAttrMap::detachAttributesFromElement): Added. Factored out from
3241 clearAttributes, so we could use this loop in cases where we're not clearing the attributes.
3242 (WebCore::NamedAttrMap::~NamedAttrMap): Call detachAttributesFromElement instead of
3243 clearAttributes here.
3244 (WebCore::NamedAttrMap::clearAttributes): Call detachAttributesFromElement here.
3245 (WebCore::NamedAttrMap::detachFromElement): Call detachAttributesFromElement instead of
3246 clearAttributes. We don't need to clear the attributes array just because the element is
3247 going away, so don't.
3248 (WebCore::NamedAttrMap::virtualLength): Added.
3250 * dom/NamedAttrMap.h: Made all the virtual functions inherited from NamedNodeMap be private.
3251 These are all unnecessarily inefficient for use outside the DOM. Changed length to be a
3252 non-virtual function. This was a fairly hot function.
3254 * dom/NamedMappedAttrMap.cpp:
3255 (WebCore::NamedMappedAttrMap::setClass): Changed to use element() function now that the
3256 m_element data member is private.
3258 * dom/NamedMappedAttrMap.h: Made a few functions private. Made the
3259 hasMappedAttributes function non-virtual.
3261 * dom/NamedNodeMap.h: Made length a non-virtual inline function that calls a virtual
3262 function, name virtualLength. This lets NamedAttrMap::length be a non-virtual function.
3265 (WebCore::Node::insertedIntoDocument): Removed call to insertedIntoTree, since it's
3266 only non-empty in subclasses of ContainerNode.
3267 (WebCore::Node::removedFromDocument): Ditto. Also removed setCSSTarget. Since a CSS
3268 target has to be an Element, this can be moved down to ContainerNode (or it could be
3269 moved down to Element for that matter).
3271 * dom/QualifiedName.cpp:
3272 (WebCore::QualifiedName::QualifiedName): Removed double initialization of m_impl.
3274 * dom/QualifiedName.h: Moved the destructor, copy constructor, assignment operator, and
3275 setPrefix function definitions into the header and made them inline.
3277 * html/HTMLAreaElement.cpp:
3278 (WebCore::HTMLAreaElement::mapMouseEvent): Updated since the stored region is now
3280 (WebCore::HTMLAreaElement::accessKey): Use AtomicString.
3281 (WebCore::HTMLAreaElement::setAccessKey): Ditto.
3282 (WebCore::HTMLAreaElement::alt): Ditto.
3283 (WebCore::HTMLAreaElement::setAlt): Ditto.
3284 (WebCore::HTMLAreaElement::coords): Ditto.
3285 (WebCore::HTMLAreaElement::setCoords): Ditto.
3286 (WebCore::HTMLAreaElement::setHref): Ditto.
3287 (WebCore::HTMLAreaElement::shape): Ditto.
3288 (WebCore::HTMLAreaElement::setShape): Ditto.
3289 (WebCore::HTMLAreaElement::setTarget): Ditto.
3291 * html/HTMLAreaElement.h: Use AtomicString in the getter and setter DOM operations.
3292 Change the region data member to be an OwnPtr<Path> instead of a Path to optimize
3293 the common case where an area element is parsed but never hit-tested. This could
3294 also have been done by changing the Path class's null case to be more efficient,
3295 but this seems fine.
3297 * html/HTMLViewSourceDocument.cpp:
3298 (WebCore::HTMLViewSourceDocument::createContainingTable): Use addAttribute instead
3300 (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Ditto.
3301 (WebCore::HTMLViewSourceDocument::addLine): Ditto.
3302 (WebCore::HTMLViewSourceDocument::addLink): Ditto.
3304 * loader/FrameLoader.cpp:
3305 (WebCore::FrameLoader::gotoAnchor): Use cssTarget under its new name instead
3306 of its old name getCSSTarget.
3308 * platform/graphics/GlyphWidthMap.cpp:
3309 (WebCore::GlyphWidthMap::locatePageSlowCase): Refactored from locatePage.
3311 * platform/graphics/GlyphWidthMap.h: Made most of this class inline.
3312 Changed m_pages to use OwnPtr.
3314 * platform/text/PlatformString.h: Remove include no longer needed since
3315 StringImpl.h includes it.
3317 * platform/text/StringImpl.cpp:
3318 (WebCore::StringImpl::createStrippingNullCharactersSlowCase): Refactored
3319 from createStrippingNullCharacters.
3320 * platform/text/StringImpl.h: Moved the definition of
3321 createStrippingNullCharacters here and made it inline.
3323 * rendering/RenderObject.cpp:
3324 (WebCore::RenderObject::firstLineStyleSlowCase): Refactored from
3327 * rendering/RenderObject.h: Moved the definition of the firstLineStyle
3328 function here and made it inline. Moved the definition of the
3329 documentBeingDestroyed function here and made it inline.
3331 * svg/SVGSVGElement.cpp:
3332 (WebCore::SVGSVGElement::getCTM): Use getAttributeItem instead of
3333 getNamedItem here since it accomplishes the same thing but is more efficient.
3334 (WebCore::SVGSVGElement::getScreenCTM): Ditto.
3335 * svg/SVGStyledElement.cpp:
3336 (WebCore::SVGStyledElement::getPresentationAttribute): Ditto.
3338 * xml/XPathFunctions.cpp:
3339 (WebCore::XPath::FunLang::evaluate): Use getAttributeItem instead of
3342 * xml/XPathStep.cpp:
3343 (WebCore::XPath::Step::nodesInAxis): Use attributeItem instead of item here.
3345 2009-02-02 Holger Hans Peter Freyther <zecke@selfish.org>
3347 Reviewed by Darin Adler.
3349 Move Frame::forceLayout, Frame::adjustPageHeight and Frame::forceLayoutWithPageWidthRange to FrameView
3351 https://bugs.webkit.org/show_bug.cgi?id=23428
3353 FrameView::forceLayout could be killed but the comment might
3354 contain a value over the the plain FrameView::layout...
3356 Adjust the WebCore/WebKit consumers of these methods.
3360 (WebCore::Frame::setPrinting):
3362 * page/FrameView.cpp:
3363 (WebCore::FrameView::forceLayout):
3364 (WebCore::FrameView::forceLayoutWithPageWidthRange):
3365 (WebCore::FrameView::adjustPageHeight):
3367 * page/PrintContext.cpp:
3368 (WebCore::PrintContext::computePageRects):
3370 2009-02-01 Dan Bernstein <mitz@apple.com>
3372 Reviewed by John Sullivan.
3374 - fix <rdar://problem/6546625> REGRESSION (r40432): iframes added to global history at haaretz.co.il
3376 Fixes http/tests/navigation/multiple-back-forward-entries.html
3378 r40432 added a parameter to FrameLoader::scheduleLocationChange() and
3379 failed to update all call sites.
3381 * bindings/js/JSDOMWindowBase.cpp:
3382 (WebCore::createWindow): Pass the lockBackForwardHistory parameter,
3383 giving it the same value as the lockHistory parameter.
3384 (windowProtoFuncOpen): Ditto.
3385 * bindings/js/JSDOMWindowCustom.cpp:
3386 (WebCore::JSDOMWindow::setLocation): Ditto.
3387 * bindings/js/JSDocumentCustom.cpp:
3388 (WebCore::JSDocument::setLocation): Ditto.
3389 * loader/FrameLoader.cpp:
3390 (WebCore::FrameLoader::requestFrame): Ditto.
3392 2009-01-31 Dan Bernstein <mitz@apple.com>
3394 Reviewed by Oliver Hunt.
3396 - fix <rdar://problem/6546549> Eliminate some RenderText::width() overhead from findNextLineBreak()
3398 On the PLT, this results in 0.36x the number of virtual function calls
3399 to RenderText::width() and 0.69x the number of calls to
3400 Font::isFixedPitch(), but makes 1.0004x the number of calls to
3403 * rendering/RenderText.cpp:
3404 (WebCore::RenderText::width): Replaced bounds checks on 'from' and 'len'
3406 * rendering/bidi.cpp:
3407 (WebCore::textWidth): Added this inlined helper function which calls
3408 Font::width() directly in the non-fixed-pitch, non-full-range case, and
3409 otherwise calls RenderText::width().
3410 (WebCore::RenderBlock::findNextLineBreak): Cache whether the font has
3411 fixed pitch (in which case RenderText::width() will be called in order
3412 to take advantage of the widthFromCache() optimization for fixed-pitch
3413 fonts). Replaced all calls to RenderText::width() with calls to the
3414 textWidth() helper function.
3416 2009-01-31 David Hyatt <hyatt@apple.com>
3418 Inline all of the setNeedsLayout method and its associated functions. Also inline setChildNeedsLayout
3419 and setNeedsPositionedMovementLayout.
3421 Reviewed by Dan Bernstein
3423 * rendering/RenderObject.cpp:
3424 (WebCore::RenderObject::setLayerNeedsFullRepaint):
3425 * rendering/RenderObject.h:
3426 (WebCore::RenderObject::setNeedsLayout):
3427 (WebCore::RenderObject::setChildNeedsLayout):
3428 (WebCore::RenderObject::setNeedsPositionedMovementLayout):
3429 (WebCore::objectIsRelayoutBoundary):
3430 (WebCore::RenderObject::markContainingBlocksForLayout):
3432 2009-01-31 Darin Adler <darin@apple.com>
3436 * loader/FrameLoader.cpp: Moved FrameLoaderClient::hasHTMLView in here.
3437 We need it to not be an inline. Sadly, FrameLoaderClient.cpp was prematurely
3438 deleted and I don't want to bring it back just to fix the build.
3440 * loader/FrameLoaderClient.h: Rearrange virtual functions and corrected
3441 a possibly-confusing comment.
3443 2009-01-31 Adam Treat <adam.treat@torchmobile.com>
3445 Reviewed by David Hyatt.
3447 https://bugs.webkit.org/show_bug.cgi?id=23664
3448 Remove unused dead code from RenderTable class. The dead code includes
3449 two enums and the associated member variables as well as one getter function.
3451 * rendering/RenderTable.cpp:
3452 (WebCore::RenderTable::RenderTable):
3453 * rendering/RenderTable.h:
3455 2009-01-31 David Hyatt <hyatt@apple.com>
3457 More removal of code from RenderContainer. Move removeLeftoverAnonymousBlock down into RenderBlock.
3458 Move destroyLeftoverChildren into the RenderObjectChildList. Convert all containers to use the
3459 RenderObjectChildList.
3461 Reviewed by Sam Weinig
3463 * WebCore.xcodeproj/project.pbxproj:
3464 * rendering/RenderBlock.cpp:
3465 (WebCore::RenderBlock::destroy):
3466 (WebCore::RenderBlock::addChild):
3467 (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
3468 (WebCore::RenderBlock::layoutPositionedObjects):
3469 (WebCore::RenderBlock::childBecameNonInline):
3470 * rendering/RenderBlock.h:
3471 * rendering/RenderBox.cpp:
3472 (WebCore::RenderBox::layout):
3473 * rendering/RenderBox.h:
3474 (WebCore::RenderBox::firstChildBox):
3475 (WebCore::RenderBox::lastChildBox):
3476 * rendering/RenderContainer.cpp:
3477 (WebCore::RenderContainer::addChild):
3478 (WebCore::RenderContainer::removeChildNode):
3479 (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
3480 (WebCore::RenderContainer::appendChildNode):
3481 (WebCore::RenderContainer::insertChildNode):
3482 (WebCore::RenderContainer::positionForCoordinates):
3483 (WebCore::RenderContainer::addLineBoxRects):
3484 (WebCore::RenderContainer::collectAbsoluteLineBoxQuads):
3485 * rendering/RenderContainer.h:
3486 (WebCore::RenderContainer::virtualChildren):
3487 (WebCore::RenderContainer::children):
3488 * rendering/RenderInline.cpp:
3489 (WebCore::RenderInline::destroy):
3490 * rendering/RenderInline.h:
3491 (WebCore::RenderInline::layout):
3492 * rendering/RenderMedia.cpp:
3493 (WebCore::RenderMedia::destroy):
3494 (WebCore::RenderMedia::children):
3495 * rendering/RenderMedia.h:
3496 (WebCore::RenderMedia::virtualChildren):
3497 * rendering/RenderObject.cpp:
3498 (WebCore::RenderObject::destroy):
3499 (WebCore::RenderObject::layout):
3500 * rendering/RenderObject.h:
3501 (WebCore::RenderObject::firstChild):
3502 (WebCore::RenderObject::lastChild):
3503 (WebCore::RenderObject::virtualChildren):
3504 (WebCore::RenderObject::canHaveChildren):
3505 * rendering/RenderObjectChildList.cpp: Added.
3506 (WebCore::RenderObjectChildList::destroyLeftoverChildren):
3507 * rendering/RenderObjectChildList.h:
3508 * rendering/RenderReplaced.h:
3509 (WebCore::RenderReplaced::canHaveChildren):
3510 * rendering/RenderSVGContainer.cpp:
3511 (WebCore::RenderSVGContainer::RenderSVGContainer):
3512 (WebCore::RenderSVGContainer::destroy):
3513 (WebCore::RenderSVGContainer::removeChildNode):
3514 (WebCore::RenderSVGContainer::appendChildNode):
3515 (WebCore::RenderSVGContainer::insertChildNode):
3516 * rendering/RenderSVGContainer.h:
3517 (WebCore::RenderSVGContainer::virtualChildren):
3518 (WebCore::RenderSVGContainer::children):
3520 2009-01-31 David Hyatt <hyatt@apple.com>
3522 Fix for https://bugs.webkit.org/show_bug.cgi?id=11363
3524 Remove the hacks in table code around the DeleteButtonController and fix tables so that positioned children don't get wrapped in anonymous objects.
3525 With the removal of a non-positioned DeleteButtonController renderer, table layout can be tightened up to only lay out table sections. Table section
3526 layout is tightened up to ignore non-table rows. When a table has multiple captions, only the real one will do a layout now. The other ones will
3527 be properly ignored.
3529 Reviewed by Oliver Hunt
3531 * editing/DeleteButtonController.cpp:
3532 (WebCore::DeleteButtonController::createDeletionUI):
3533 * rendering/RenderTable.cpp:
3534 (WebCore::RenderTable::addChild):
3535 (WebCore::RenderTable::layout):
3536 * rendering/RenderTableSection.cpp:
3537 (WebCore::RenderTableSection::layout):
3538 * rendering/RenderTableSection.h:
3540 2009-01-31 Adam Treat <adam.treat@torchmobile.com>
3542 Reviewed by Darin Adler.
3544 https://bugs.webkit.org/show_bug.cgi?id=23663
3545 Add a void toRenderBox() method which catches unnecessary casts at compile
3546 time and also fix the four cases where this was happening.
3548 * rendering/RenderBlock.cpp:
3549 (WebCore::RenderBlock::determineHorizontalPosition):
3550 * rendering/RenderBox.h:
3551 * rendering/RenderFlexibleBox.cpp:
3552 (WebCore::RenderFlexibleBox::layoutHorizontalBox):
3553 * rendering/RenderInline.cpp:
3554 (WebCore::RenderInline::updateHitTestResult):
3555 * rendering/RenderLayer.cpp:
3556 (WebCore::RenderLayer::updateLayerPosition):
3558 2009-01-30 Adam Barth <abarth@webkit.org>
3560 Reviewed by Sam Weinig.
3562 Add a pref to disable web security.
3566 (WebCore::Document::initSecurityContext):
3567 * page/SecurityOrigin.cpp:
3568 (WebCore::SecurityOrigin::SecurityOrigin):
3569 (WebCore::SecurityOrigin::canAccess):
3570 (WebCore::SecurityOrigin::canRequest):
3571 (WebCore::SecurityOrigin::grantUniversalAccess):
3572 * page/SecurityOrigin.h:
3573 * page/Settings.cpp:
3574 (WebCore::Settings::Settings):
3575 (WebCore::Settings::setWebSecurityEnabled):
3577 (WebCore::Settings::isWebSecurityEnabled):
3579 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
3583 Move the inline virtual destructor after a non-inline virtual
3584 function so that the symbol for the vtable is not marked as a
3585 weakly exported symbol.
3587 This trick was previously used at revision 36122 in JSObject.h
3589 * loader/FrameLoaderClient.h:
3590 (WebCore::FrameLoaderClient::~FrameLoaderClient):
3592 2009-01-30 Oliver Hunt <oliver@apple.com>
3594 Reviewed by Stephanie Lewis
3596 Inline SimpleFontData::widthForGlyph for a minor page load improvement.
3598 * platform/graphics/SimpleFontData.cpp:
3599 * platform/graphics/SimpleFontData.h:
3600 (WebCore::SimpleFontData::widthForGlyph):
3602 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
3604 Build fix for WX and maybe even Windows.
3606 * WebCore.vcproj/WebCore.vcproj:
3607 * WebCoreSources.bkl:
3609 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
3611 Reviewed by Darin Adler.
3613 Move Frame::sendResizeEvent and Frame::sendScrollEvent to EventHandler
3615 Carry out the move and catch up in two call sites.
3618 * page/EventHandler.cpp:
3619 (WebCore::EventHandler::sendResizeEvent):
3620 (WebCore::EventHandler::sendScrollEvent):
3621 * page/EventHandler.h:
3624 * page/FrameView.cpp:
3625 (WebCore::FrameView::performPostLayoutTasks):
3626 (WebCore::FrameView::valueChanged):
3628 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
3630 Reviewed by Darin Adler.
3632 Move Frame::isFrameSet to Document::isFrameSet
3634 Changed the FrameLoader callsite. I assume that as this
3635 point m_frame.document() might return a null pointer. Change
3636 the condition to either not having a document or not having a
3637 frame set. This should be semantically equivalent to the
3640 Make Document::body() const to be able to call it from within
3641 Document::isFrameSet. Leave the isHTMLDocument() check as this
3642 is a stronger condition than simply having a HTMLElement in the
3647 (WebCore::Document::isFrameSet):
3648 (WebCore::Document::body):
3650 * loader/FrameLoader.cpp:
3651 (WebCore::FrameLoader::shouldScrollToAnchor):
3652 * loader/archive/cf/LegacyWebArchive.cpp:
3653 (WebCore::LegacyWebArchive::createFromSelection):
3657 2009-01-30 Aurelian Maga <aurelianmaga@yahoo.com>
3659 Reviewed by Holger Freyther.
3661 [GTK] Logic fixes and build fixes
3663 https://bugs.webkit.org/show_bug.cgi?id=22022
3665 Catch up with the internal GeoLocation API and fix the logic of
3666 the previous version.
3668 * platform/gtk/GeolocationServiceGtk.cpp:
3669 (WebCore::GeolocationServiceGtk::startUpdating):
3670 (WebCore::GeolocationServiceGtk::updateLocationInformation):
3671 (WebCore::GeolocationServiceGtk::position_changed):
3673 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
3675 Reviewed by Nikolas Zimmermann.
3677 [GTK] Implement GeolocationService using the Geoclue library
3679 https://bugs.webkit.org/show_bug.cgi?id=22022
3681 Untested implementation of the GeolocationService using the geoclue
3682 library. Velocity handling is completely missing and the accuracy
3683 handling might be wrong.
3685 * platform/gtk/GeolocationServiceGtk.cpp:
3686 (WTF::GeoclueAccuracy):
3687 (WebCore::GeolocationServiceGtk::GeolocationServiceGtk):
3688 (WebCore::GeolocationServiceGtk::~GeolocationServiceGtk):
3689 (WebCore::GeolocationServiceGtk::startUpdating):
3690 (WebCore::GeolocationServiceGtk::stopUpdating):
3691 (WebCore::GeolocationServiceGtk::suspend):
3692 (WebCore::GeolocationServiceGtk::resume):
3693 (WebCore::GeolocationServiceGtk::lastPosition):
3694 (WebCore::GeolocationServiceGtk::lastError):
3695 (WebCore::GeolocationServiceGtk::updateLocationInformation):
3696 (WebCore::GeolocationServiceGtk::updatePosition):
3697 (WebCore::GeolocationServiceGtk::position_changed):
3698 (WebCore::GeolocationServiceGtk::setError):
3699 * platform/gtk/GeolocationServiceGtk.h:
3701 2009-01-30 Mark Rowe <mrowe@apple.com>
3703 Build fix. Declare preferredSize as static.
3705 * platform/text/cf/StringImplCF.cpp:
3706 (WebCore::StringWrapperCFAllocator::preferredSize):
3708 2009-01-30 Darin Adler <darin@apple.com>
3710 Reviewed by Mark Rowe.
3712 Bug 23622: create CFString and NSString objects from WebCore::String without copying the characters
3713 https://bugs.webkit.org/show_bug.cgi?id=23622
3715 * platform/text/cf/StringImplCF.cpp:
3716 (WebCore::StringWrapperCFAllocator::allocator): Added. Returns the allocator.
3717 (WebCore::StringWrapperCFAllocator::retain): Added. Callback for allocator.
3718 (WebCore::StringWrapperCFAllocator::release): Ditto.
3719 (WebCore::StringWrapperCFAllocator::copyDescription): Ditto.
3720 (WebCore::StringWrapperCFAllocator::allocate): Ditto.
3721 (WebCore::StringWrapperCFAllocator::reallocate): Ditto.
3722 (WebCore::StringWrapperCFAllocator::deallocate): Ditto.
3723 (WebCore::StringWrapperCFAllocator::preferredSize): Ditto.
3724 (WebCore::StringWrapperCFAllocator::create): Added. Creates the allocator, but
3725 returns 0 if garbage collection is enabled.
3726 (WebCore::StringImpl::createCFString): Use StringWrapperCFAllocator if possible.
3728 * platform/text/mac/StringImplMac.mm:
3729 (WebCore::StringImpl::operator NSString *): Use CFString and toll-free bridging,
3730 rather than using NSString directly. This lets NSString benefit from the above.
3732 2009-01-30 Darin Adler <darin@apple.com>
3735 (WebCore::Frame::createView): Fix debug build by removing get() from assert.
3737 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
3739 Reviewed by Simon Hausmann.
3741 https://bugs.webkit.org/show_bug.cgi?id=22056
3743 Kill FrameLoaderClient.cpp, move the code over to Frame::createView
3745 FrameLoaderClient is supposed to be an interface, move the
3746 to be shared code to Frame which is a controller and is
3747 allowed to create a FrameView.
3752 * WebCore.xcodeproj/project.pbxproj:
3753 * loader/FrameLoaderClient.cpp: Removed.
3754 * loader/FrameLoaderClient.h:
3755 (WebCore::FrameLoaderClient::~FrameLoaderClient):
3757 (WebCore::Frame::createView):
3760 2009-01-30 Simon Fraser <simon.fraser@apple.com>
3762 Reviewed by Dave Hyatt
3764 https://bugs.webkit.org/show_bug.cgi?id=23357
3766 New files to support accelerated compositing at the RenderLayer
3769 * WebCore.xcodeproj/project.pbxproj:
3770 New files added to project, and run through the sort script.
3772 * rendering/RenderLayerBacking.cpp: Added.
3773 * rendering/RenderLayerBacking.h: Added.
3774 New object to store compositing-related data for a single
3777 * rendering/RenderLayerCompositor.cpp: Added.
3778 * rendering/RenderLayerCompositor.h: Added.
3779 Per-RenderView controller object for compositing hierarchy
3782 2009-01-30 Simon Fraser <simon.fraser@apple.com>
3784 Reviewed by Dave Hyatt
3786 https://bugs.webkit.org/show_bug.cgi?id=23356
3788 Add new files related to accelerated compositing:
3790 * WebCore.xcodeproj/project.pbxproj:
3791 Add the files to the project. Also add ColorCG.cpp, for the
3792 Color(CGColorRef) constructor.
3794 * platform/graphics/GraphicsLayer.cpp: Added.
3795 * platform/graphics/GraphicsLayer.h: Added.
3796 GraphicsLayer is a platform abstraction for a hardware-backed
3799 * platform/graphics/GraphicsLayerClient.h: Added.
3800 Client of GraphicsLayer, allowing GraphicsLayer to call out
3803 * platform/graphics/mac/GraphicsLayerCA.h: Added.
3804 * platform/graphics/mac/GraphicsLayerCA.mm: Added.
3805 Mac Core Animation implementation of GraphicsLayer.
3807 * platform/graphics/mac/WebLayer.h: Added.
3808 * platform/graphics/mac/WebLayer.mm: Added.
3809 * platform/graphics/mac/WebTiledLayer.h: Added.
3810 * platform/graphics/mac/WebTiledLayer.mm: Added.
3811 Subclasses of CALayer and CATiledLayer -- helpers for the
3812 GraphicsLayerCA implementation.
3814 2009-01-30 Geoffrey Garen <ggaren@apple.com>
3816 Reviewed by Sam Weinig.
3818 Split "lockHistory" into "lockHistory" and "lockBackForwardList" in
3819 preparation for setting them differently during a redirect.
3822 * bindings/js/JSHTMLFormElementCustom.cpp:
3823 (WebCore::JSHTMLFormElement::submit):
3824 * bindings/js/JSLocationCustom.cpp:
3825 (WebCore::navigateIfAllowed):
3826 (WebCore::JSLocation::setHref):
3827 (WebCore::JSLocation::setProtocol):
3828 (WebCore::JSLocation::setHost):
3829 (WebCore::JSLocation::setHostname):
3830 (WebCore::JSLocation::setPort):
3831 (WebCore::JSLocation::setPathname):
3832 (WebCore::JSLocation::setSearch):
3833 (WebCore::JSLocation::setHash):
3834 (WebCore::JSLocation::replace):
3835 (WebCore::JSLocation::assign):
3836 * html/HTMLAnchorElement.cpp:
3837 (WebCore::HTMLAnchorElement::defaultEventHandler):
3838 * html/HTMLFormElement.cpp:
3839 (WebCore::HTMLFormElement::submit):
3840 * html/HTMLFormElement.h:
3841 * loader/FrameLoader.cpp:
3842 (WebCore::FormSubmission::FormSubmission):
3843 (WebCore::ScheduledRedirection::ScheduledRedirection):
3844 (WebCore::isBackForwardLoadType):
3845 (WebCore::FrameLoader::createWindow):
3846 (WebCore::FrameLoader::changeLocation):
3847 (WebCore::FrameLoader::urlSelected):
3848 (WebCore::FrameLoader::submitFormAgain):
3849 (WebCore::FrameLoader::submitForm):
3850 (WebCore::FrameLoader::restoreDocumentState):
3851 (WebCore::FrameLoader::scheduleHTTPRedirection):
3852 (WebCore::FrameLoader::scheduleLocationChange):
3853 (WebCore::FrameLoader::scheduleRefresh):
3854 (WebCore::FrameLoader::redirectionTimerFired):
3855 (WebCore::FrameLoader::loadURLIntoChildFrame):
3856 (WebCore::FrameLoader::startRedirectionTimer):
3857 (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
3858 (WebCore::FrameLoader::transitionToCommitted):
3859 (WebCore::FrameLoader::clientRedirected):
3860 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
3861 (WebCore::FrameLoader::loadItem):
3862 * loader/FrameLoader.h:
3863 * loader/FrameLoaderTypes.h:
3865 * page/ContextMenuController.cpp:
3866 (WebCore::ContextMenuController::contextMenuItemSelected):
3867 * svg/SVGAElement.cpp:
3868 (WebCore::SVGAElement::defaultEventHandler):
3870 2009-01-30 Sam Weinig <sam@webkit.org>
3872 Reviewed by Dan Bernstein.
3874 Fix for <rdar://problem/6545095>
3875 ASSERTION FAILED: RenderBlock.h:519: !o || o->isRenderBlock()
3877 Test: fast/block/float/crash-replaced-display-block.html
3879 * rendering/RenderBlock.cpp:
3880 (WebCore::RenderBlock::layoutBlockChildren): Move RenderBlock only code into
3881 isRenderBlock if-statement.
3883 2009-01-30 Chris Fleizach <cfleizach@apple.com>
3885 Reviewed by Oliver Hunt.
3887 Bug 23656: AX hierarchy for iFrames is incorrect
3888 https://bugs.webkit.org/show_bug.cgi?id=23656
3890 The AX hierarchy when an iFrame was present was incorrect. A different scroll area was
3891 returned when going down compared to when going up.
3893 * page/mac/AccessibilityObjectWrapper.mm:
3896 2009-01-30 Adam Treat <adam.treat@torchmobile.com>
3898 Fix Qt build to include new class IdentifierRep introduced in revision 40412.
3902 2009-01-30 Anders Carlsson <andersca@apple.com>
3904 Reviewed by Sam Weinig.
3906 Make IdentifierRep.h a private header, and add symbols needed by WebKit to WebCore.LP64.exp.
3909 * WebCore.xcodeproj/project.pbxproj:
3911 2009-01-30 Sam Weinig <sam@webkit.org>
3913 Commit files I forgot to in the previous commit.
3915 * page/AccessibilityRenderObject.cpp:
3916 (WebCore::AccessibilityRenderObject::layoutCount):
3918 (WebCore::Frame::contentRenderer):
3919 (WebCore::Frame::forceLayoutWithPageWidthRange):
3920 * page/FrameView.cpp:
3921 (WebCore::FrameView::layout):
3922 * rendering/RenderBlock.cpp:
3923 (WebCore::RenderBlock::nodeAtPoint):
3924 * rendering/RenderObject.cpp:
3925 (WebCore::RenderObject::repaintUsingContainer):
3926 (WebCore::RenderObject::repaint):
3927 (WebCore::RenderObject::repaintRectangle):
3928 (WebCore::RenderObject::view):
3929 (WebCore::RenderObject::scheduleRelayout):
3930 (WebCore::RenderObject::maximalOutlineSize):
3931 * rendering/SVGRenderSupport.cpp:
3932 (WebCore::clampImageBufferSizeToViewport):
3933 * svg/SVGLength.cpp:
3934 (WebCore::SVGLength::PercentageOfViewport):
3936 2009-01-30 Geoffrey Garen <ggaren@apple.com>
3938 Reviewed by Darin Adler.
3940 More scaffolding for redirect tracking. No behavior change yet.
3942 * bindings/js/JSHTMLFormElementCustom.cpp:
3943 (WebCore::JSHTMLFormElement::submit): Added scaffolding necessary for
3944 redirect checking in a form submission through JS. (Currently, we
3945 just specify "no redirect.")
3947 * bindings/js/ScriptController.h:
3948 * bindings/js/ScriptController.cpp:
3949 (WebCore::ScriptController::processingUserGesture):
3950 (WebCore::ScriptController::processingUserGestureEvent):
3951 (WebCore::ScriptController::isJavaScriptAnchorNavigation): Refactored
3952 user gesture check to make it more clear.
3954 (WebCore::ScriptController::pageIsProcessingUserGesture): Added a helper
3955 for checking if there's a user gesture in any frame on the page (a more
3956 relaxed rule than our popup blocking rule, which requires the user
3957 gesture to occur in the frame that's executing JavaScript.)
3959 * html/HTMLFormElement.h:
3960 * html/HTMLFormElement.cpp:
3961 (WebCore::HTMLFormElement::submit): Added scaffolding necessary for
3962 redirect checking in a form submission through the DOM. (Currently, we
3963 just specify "no redirect.")
3965 * html/HTMLFormElement.idl: Made submit custom so it can participate
3966 in redirect checking.
3968 * loader/FrameLoader.h:
3969 * loader/FrameLoader.cpp:
3970 (WebCore::FormSubmission::FormSubmission): Clarified some names, and
3971 added a "lockHistory" parameter to form submissions, to match other
3974 (WebCore::FrameLoader::submitFormAgain):
3975 (WebCore::FrameLoader::submitForm): Use the lockHistory parameter.
3977 (WebCore::FrameLoader::userGestureHint): Refactored this function for
3978 clarity, and added a FIXME for a change I was too scared to make myself.
3979 (Really, we should just get rid of this function.)
3981 (WebCore::FrameLoader::loadFrameRequestWithFormAndValues): Refactored
3982 to pass a FrameLoadType to form posts, too, so they can participate in
3985 (WebCore::FrameLoader::loadPostRequest):
3986 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
3987 (WebCore::FrameLoader::loadItem): Use the lockHistory parameter.
3989 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
3991 Reviewed by Mark Rowe.
3993 [Gtk+] Use AccessibilityObject::stringValue for the AtkObject name
3995 https://bugs.webkit.org/show_bug.cgi?id=21546
3997 The API documentation at http://library.gnome.org/devel/atk/stable/AtkText.html
3998 states that: "AtkObjects whose text content is simple, unattributed, and very
3999 brief may expose that content via atk_object_get_name instead"
4001 As we are currently not able to always provide a AtkTextInterface
4002 implementation this will make the whole content available to accerciser,
4005 * page/gtk/AccessibilityObjectWrapperAtk.cpp:
4007 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
4009 Unreviewed build fix.
4011 Include string.h for strdup.
4013 * bridge/IdentifierRep.h:
4015 2009-01-30 Sam Weinig <sam@webkit.org>
4017 Reviewed by Dan Bernstein.
4019 Add toRenderView methods for casting RenderObjects to RenderViews. The methods will assert if the object
4020 is not a RenderView.
4023 (WebCore::Document::renderView):
4024 * editing/SelectionController.cpp:
4025 (WebCore::SelectionController::nodeWillBeRemoved):
4026 (WebCore::SelectionController::recomputeCaretRect):
4027 (WebCore::SelectionController::invalidateCaretRect):
4028 (WebCore::SelectionController::focusedOrActiveStateChanged):
4029 * editing/mac/SelectionControllerMac.mm:
4030 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
4031 * rendering/RenderBox.cpp:
4032 (WebCore::RenderBox::styleDidChange):
4033 (WebCore::RenderBox::repaintLayerRectsForImage):
4034 (WebCore::RenderBox::availableHeightUsing):
4035 * rendering/RenderView.h:
4036 (WebCore::toRenderView):
4038 2009-01-30 Simon Fraser <simon.fraser@apple.com>
4040 Reviewed by Dave Hyatt
4042 https://bugs.webkit.org/show_bug.cgi?id=23360
4044 Really use the container-relative repaint rect methods
4045 for repaint during layout
4047 * rendering/RenderObject.h:
4048 (WebCore::RenderObject::LayoutRepainter::LayoutRepainter):
4050 2009-01-30 Anders Carlsson <andersca@apple.com>
4052 Reviewed by Darin Adler.
4054 Get rid of PrivateIdentifier and use IdentifierRep instead.
4056 * bridge/NP_jsobject.cpp:
4060 (_NPN_RemoveProperty):
4063 * bridge/c/c_instance.cpp:
4064 (JSC::Bindings::CInstance::getPropertyNames):
4065 * bridge/c/c_utility.cpp:
4066 (JSC::Bindings::convertNPStringToUTF16):
4067 * bridge/c/c_utility.h:
4068 * bridge/npruntime.cpp:
4069 (_NPN_GetStringIdentifier):
4070 (_NPN_GetStringIdentifiers):
4071 (_NPN_GetIntIdentifier):
4072 (_NPN_IdentifierIsString):
4073 (_NPN_UTF8FromIdentifier):
4074 (_NPN_IntFromIdentifier):
4076 2009-01-30 Anders Carlsson <andersca@apple.com>
4078 Reviewed by Sam Weinig and Darin Adler.
4080 Make IdentifierRep a real class, add necessary class methods.
4082 * bridge/IdentifierRep.cpp:
4083 (WebCore::identifierSet):
4084 Returns a set of all identifiers.
4086 (WebCore::IdentifierRep::isValid):
4087 Return whether an identifier is valid, meaning that it's present in the
4090 * bridge/IdentifierRep.h:
4091 (WebCore::IdentifierRep::isString):
4092 (WebCore::IdentifierRep::number):
4093 (WebCore::IdentifierRep::string):
4094 (WebCore::IdentifierRep::IdentifierRep):
4095 (WebCore::IdentifierRep::):
4097 2009-01-30 Anders Carlsson <andersca@apple.com>
4099 Reviewed by Sam Weinig.
4101 Add IdentifierRep which will be used by both plug-in implementations.
4104 * WebCore.vcproj/WebCore.vcproj:
4105 * WebCore.xcodeproj/project.pbxproj:
4106 * bridge/IdentifierRep.cpp: Added.
4107 (WebCore::IdentifierRep::IdentifierRep):
4108 (WebCore::IdentifierRep::):
4109 (WebCore::intIdentifierMap):
4110 (WebCore::identifierRep):
4111 (WebCore::stringIdentifierMap):
4112 * bridge/IdentifierRep.h: Added.
4113 * bridge/c/c_utility.h:
4114 * platform/text/PlatformString.h:
4115 * platform/text/String.cpp:
4116 (WebCore::String::fromUTF8WithLatin1Fallback):
4118 2009-01-30 Sam Weinig <sam@webkit.org>
4120 Reviewed by David Hyatt.
4122 Add toRenderInline methods for casting RenderObjects to RenderInlines. The methods will assert if the object
4123 is not a RenderInline.
4125 * rendering/InlineFlowBox.cpp:
4126 (WebCore::InlineFlowBox::removeLineBoxFromRenderObject):
4127 (WebCore::InlineFlowBox::extractLineBoxFromRenderObject):
4128 (WebCore::InlineFlowBox::attachLineBoxToRenderObject):
4129 (WebCore::InlineFlowBox::rendererLineBoxes):
4130 (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
4131 (WebCore::InlineFlowBox::paint):
4132 * rendering/LayoutState.cpp:
4133 (WebCore::LayoutState::LayoutState):
4134 * rendering/RenderBlock.cpp:
4135 (WebCore::RenderBlock::paintObject):
4136 (WebCore::RenderBlock::addFocusRingRects):
4137 * rendering/RenderBox.cpp:
4138 (WebCore::RenderBox::offsetFromContainer):
4139 (WebCore::RenderBox::computeRectForRepaint):
4140 (WebCore::RenderBox::containingBlockWidthForPositioned):
4141 (WebCore::RenderBox::containingBlockHeightForPositioned):
4142 (WebCore::RenderBox::calcAbsoluteHorizontalValues):
4143 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
4144 * rendering/RenderContainer.cpp:
4145 (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
4146 * rendering/RenderInline.cpp:
4147 (WebCore::RenderInline::inlineContinuation):
4148 (WebCore::nextContinuation):
4149 (WebCore::RenderInline::splitInlines):
4150 * rendering/RenderInline.h:
4151 (WebCore::toRenderInline):
4152 * rendering/RenderLayer.cpp:
4153 (WebCore::RenderLayer::updateLayerPosition):
4154 (WebCore::RenderLayer::boundingBox):
4155 * rendering/RenderLineBoxList.cpp:
4156 (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
4157 * rendering/RenderText.h:
4158 * rendering/RenderTreeAsText.cpp:
4159 (WebCore::operator<<):
4160 * rendering/bidi.cpp:
4161 (WebCore::RenderBlock::createLineBoxes):
4162 (WebCore::RenderBlock::layoutInlineChildren):
4164 2009-01-30 Darin Fisher <darin@chromium.org>
4166 Reviewed by Eric Seidel.
4168 https://bugs.webkit.org/show_bug.cgi?id=23647
4169 Fix PLATFORM(SKIA)'s ImageSource::clear method to match other ports
4171 * platform/graphics/skia/ImageSourceSkia.cpp:
4172 (WebCore::ImageSource::clear):
4174 2009-01-30 David Hyatt <hyatt@apple.com>
4176 Add toRenderBlock methods for casting RenderObjects to RenderBlocks. The methods will assert if the object
4177 is not a RenderBlock. Also add a toRenderBlock method that takes a RenderBlock but returns void and that
4178 is unimplemented. This method will catch anyone trying to do a cast when the object is already a RenderBlock.
4180 Making this change caught a bad cast in RenderBlock::layoutBlockChildren, so that is also fixed by this
4181 patch with a containsFloats() check.
4183 Reviewed by Darin Adler
4185 * dom/PositionIterator.cpp:
4186 (WebCore::PositionIterator::isCandidate):
4187 * editing/CompositeEditCommand.cpp:
4188 (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
4189 * editing/Editor.cpp:
4190 (WebCore::Editor::hasBidiSelection):
4191 * page/AccessibilityRenderObject.cpp:
4192 (WebCore::AccessibilityRenderObject::anchorElement):
4193 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
4194 * rendering/RenderBlock.cpp:
4195 (WebCore::RenderBlock::styleWillChange):
4196 (WebCore::RenderBlock::removeChild):
4197 (WebCore::RenderBlock::layoutBlock):
4198 (WebCore::RenderBlock::collapseMargins):
4199 (WebCore::RenderBlock::clearFloatsIfNeeded):
4200 (WebCore::RenderBlock::layoutBlockChildren):
4201 (WebCore::RenderBlock::fillBlockSelectionGaps):
4202 (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
4203 (WebCore::RenderBlock::firstLineBlock):
4204 (WebCore::getLineAtIndex):
4205 (WebCore::getHeightForLineCount):
4206 (WebCore::RenderBlock::lineCount):
4207 (WebCore::RenderBlock::adjustForBorderFit):
4208 (WebCore::RenderBlock::clearTruncation):
4209 * rendering/RenderBlock.h:
4210 (WebCore::toRenderBlock):
4211 * rendering/RenderBox.cpp:
4212 (WebCore::RenderBox::offsetFromContainer):
4213 (WebCore::RenderBox::computeRectForRepaint):
4214 (WebCore::RenderBox::calcReplacedHeightUsing):
4215 * rendering/RenderFlexibleBox.cpp:
4216 (WebCore::RenderFlexibleBox::layoutHorizontalBox):
4217 (WebCore::RenderFlexibleBox::layoutVerticalBox):
4218 * rendering/RenderInline.cpp:
4219 (WebCore::RenderInline::inlineContinuation):
4220 (WebCore::nextContinuation):
4221 (WebCore::RenderInline::positionForCoordinates):
4222 * rendering/RenderLayer.cpp:
4223 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
4224 * rendering/RenderListItem.cpp:
4225 (WebCore::getParentOfFirstLineBox):
4226 (WebCore::RenderListItem::positionListMarker):
4227 * rendering/RenderObject.cpp:
4228 (WebCore::RenderObject::containingBlock):
4229 (WebCore::RenderObject::computeRectForRepaint):
4230 (WebCore::RenderObject::removeFromObjectLists):
4231 (WebCore::RenderObject::getTextDecorationColors):
4232 * rendering/RenderTable.cpp:
4233 (WebCore::RenderTable::addChild):
4234 (WebCore::RenderTable::recalcSections):
4235 * rendering/RenderTextControl.cpp:
4236 (WebCore::RenderTextControl::styleDidChange):
4237 * rendering/RenderTextControlSingleLine.cpp:
4238 (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
4239 * rendering/RootInlineBox.cpp:
4240 (WebCore::RootInlineBox::block):
4241 * rendering/bidi.cpp:
4242 (WebCore::RenderBlock::createLineBoxes):
4244 2009-01-30 Brady Eidson <beidson@apple.com>
4246 Reviewed by Sam Weinig
4248 - Let CachedFrame handle the suspending/resuming of active DOM objects itself instead of
4249 relying on some outside force.
4250 - Clear the previous history item inside FrameLoader instead of relying on multiple
4251 FrameLoaderClients to do it.