1 2009-02-05 Sam Weinig <sam@webkit.org>
3 Reviewed by Darin Adler.
5 Fix missing checked cast.
7 * rendering/RenderObject.cpp:
8 (WebCore::RenderObject::containingBlock):
10 2009-02-05 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
12 Not reviewed. Fix WML enabled builds.
14 FrameLoader::load() got an additional 'lockHistory' parameter, pass 'false'.
16 * wml/WMLGoElement.cpp:
17 (WebCore::WMLGoElement::executeTask):
19 2009-02-05 Scott Violet <sky@google.com>
21 Reviewed by Eric Seidel.
23 https://bugs.webkit.org/show_bug.cgi?id=23625
24 Additional fix: Skia platform doesn't render text to a canvas or support clipping to an image buffer
26 Fixes three bugs in PlatformContextSkia:
28 * When a new layer was started clipped to an image we used the
29 assignment operator to copy the SkBitmap. If the SkBitmap owns it's
30 pixels, this is not the right thing to do. Instead we need to create
32 * State holds an SkBitmap by value. State's copy constructor does a
33 memcpy. This is confusing and subtle, I've converted to use a member
34 initializer list which I think is clearer and less error prone.
35 * When creating a new layer there is no need to copy the clip image.
37 * platform/graphics/skia/PlatformContextSkia.cpp:
38 (PlatformContextSkia::State::State):
39 (PlatformContextSkia::save):
40 (PlatformContextSkia::beginLayerClippedToImage):
42 2009-02-05 Scott Violet <sky@google.com>
44 Reviewed by George Staikos.
46 https://bugs.webkit.org/show_bug.cgi?id=23462
47 Changes call from setFillColor to setStrokeColor.
49 * html/CanvasStyle.cpp:
50 (WebCore::CanvasStyle::applyStrokeColor):
52 2009-02-05 David Hyatt <hyatt@apple.com>
54 Fix crash on svg custom stop test. A virtual function didn't get patched properly.
56 Reviewed by Sam Weinig
58 * rendering/RenderObject.cpp:
59 (WebCore::RenderObject::clippedOverflowRectForRepaint):
60 * rendering/RenderSVGGradientStop.h:
61 (WebCore::RenderSVGGradientStop::clippedOverflowRectForRepaint):
63 2009-02-05 Simon Fraser <simon.fraser@apple.com>
65 Reviewed by Dave Hyatt
67 https://bugs.webkit.org/show_bug.cgi?id=23765
69 Add toRenderBoxModelObject() so that we can cast objects that
72 Fix getComputedStyle to return the current value of style
73 properties that are undergoing accelerated animations, by
74 asking the AnimationController if the property has accelerated
75 animations, and, if so, asking it to generate an appropriate
78 Tightened up some type safety (CSSPropertyID), and code clarity
79 (replace bool with enum).
81 * WebCore.xcodeproj/project.pbxproj:
82 * css/CSSComputedStyleDeclaration.cpp:
83 (WebCore::hasCompositedLayer):
84 (WebCore::computedTransform):
85 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
86 * page/animation/AnimationController.cpp:
87 (WebCore::AnimationControllerPrivate::isAnimatingPropertyOnRenderer):
88 (WebCore::AnimationController::isAnimatingPropertyOnRenderer):
89 (WebCore::AnimationController::supportsAcceleratedAnimationOfProperty):
90 * page/animation/AnimationController.h:
91 * page/animation/AnimationControllerPrivate.h:
92 * page/animation/ImplicitAnimation.cpp:
93 (WebCore::ImplicitAnimation::startAnimation):
94 (WebCore::ImplicitAnimation::endAnimation):
95 * page/animation/KeyframeAnimation.cpp:
96 (WebCore::KeyframeAnimation::startAnimation):
97 (WebCore::KeyframeAnimation::endAnimation):
98 * rendering/RenderBoxModelObject.h:
99 (WebCore::RenderBoxModelObject::isBoxModelObject):
100 (WebCore::toRenderBoxModelObject):
101 * rendering/RenderLayerBacking.cpp:
102 (WebCore::RenderLayerBacking::updateLayerTransform):
103 * rendering/RenderObject.h:
104 (WebCore::RenderObject::isBoxModelObject):
105 * rendering/style/RenderStyle.cpp:
106 (WebCore::RenderStyle::applyTransform):
107 * rendering/style/RenderStyle.h:
108 (WebCore::InheritedFlags::):
110 2009-02-05 Dimitri Glazkov <dglazkov@chromium.org>
112 Reviewed by Eric Seidel.
114 https://bugs.webkit.org/show_bug.cgi?id=23767
115 Add custom V8 bindings for HTML5 database.
117 * bindings/v8/custom/V8CustomSQLStatementCallback.cpp: Added.
118 (WebCore::V8CustomSQLStatementCallback::V8CustomSQLStatementCallback):
119 (WebCore::V8CustomSQLStatementCallback::~V8CustomSQLStatementCallback):
120 (WebCore::V8CustomSQLStatementCallback::handleEvent):
121 * bindings/v8/custom/V8CustomSQLStatementCallback.h: Added.
122 (WebCore::V8CustomSQLStatementCallback::create):
123 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: Added.
124 (WebCore::V8CustomSQLStatementErrorCallback::V8CustomSQLStatementErrorCallback):
125 (WebCore::V8CustomSQLStatementErrorCallback::~V8CustomSQLStatementErrorCallback):
126 (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
127 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.h: Added.
128 (WebCore::V8CustomSQLStatementErrorCallback::create):
129 * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp: Added.
130 (WebCore::V8CustomSQLTransactionCallback::V8CustomSQLTransactionCallback):
131 (WebCore::V8CustomSQLTransactionCallback::~V8CustomSQLTransactionCallback):
132 (WebCore::V8CustomSQLTransactionCallback::handleEvent):
133 * bindings/v8/custom/V8CustomSQLTransactionCallback.h: Added.
134 (WebCore::V8CustomSQLTransactionCallback::create):
135 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp: Added.
136 (WebCore::V8CustomSQLTransactionErrorCallback::V8CustomSQLTransactionErrorCallback):
137 (WebCore::V8CustomSQLTransactionErrorCallback::~V8CustomSQLTransactionErrorCallback):
138 (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
139 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h: Added.
140 (WebCore::V8CustomSQLTransactionErrorCallback::create):
141 * bindings/v8/custom/V8CustomVoidCallback.cpp: Added.
142 (WebCore::V8CustomVoidCallback::V8CustomVoidCallback):
143 (WebCore::V8CustomVoidCallback::~V8CustomVoidCallback):
144 (WebCore::V8CustomVoidCallback::handleEvent):
145 (WebCore::invokeCallback):
146 * bindings/v8/custom/V8CustomVoidCallback.h: Added.
147 (WebCore::V8CustomVoidCallback::create):
148 * bindings/v8/custom/V8DatabaseCustom.cpp: Added.
149 (WebCore::CALLBACK_FUNC_DECL):
150 * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: Added.
151 (WebCore::CALLBACK_FUNC_DECL):
152 * bindings/v8/custom/V8SQLTransactionCustom.cpp: Added.
153 (WebCore::CALLBACK_FUNC_DECL):
155 2009-02-05 Dimitri Glazkov <dglazkov@chromium.org>
157 Reviewed by Eric Seidel.
159 https://bugs.webkit.org/show_bug.cgi?id=23747
160 Add Chromium threading-related files.
162 * platform/chromium/TemporaryLinkStubs.cpp: Removed theading-related stubs.
164 2009-02-05 Sam Weinig <sam@webkit.org>
166 Reviewed by Adam Roben.
168 Add toRenderButton methods for casting RenderObjects to RenderButtons. The methods will assert if the object
169 is not a RenderButton. Also add a toRenderButton method that takes a RenderButton but returns void and that
170 is unimplemented. This method will catch anyone trying to do a cast when the object is already a RenderButton.
172 * rendering/RenderButton.h:
173 (WebCore::RenderButton::isRenderButton):
174 (WebCore::toRenderButton):
175 * rendering/RenderFileUploadControl.cpp:
176 (WebCore::RenderFileUploadControl::paintObject):
177 * rendering/RenderObject.h:
178 (WebCore::RenderObject::isRenderButton):
180 2009-02-05 David Hyatt <hyatt@apple.com>
182 Move the m_layer member variable of RenderBox up into RenderBoxModelObject. Refactor styleDidChange'
183 of RenderObject, RenderBoxModelObject and RenderBox to get more of the code in the correct subclass.
184 In order to set the various RenderObject bits properly prior to the test for whether a layer is
185 required, I added an additional method, updateBoxModelInfoAfterStyleChange, that is responsible
186 for setting all of the bits.
188 Eliminate hasStaticX/Y, staticX/Y, and setStaticX/Y from the render tree. Move hasStaticX/Y to
189 RenderStyle, and just use the corresponding layer() methods for the
190 staticX/Y getters/setters.
192 Reviewed by Sam Weinig
194 * rendering/RenderBlock.cpp:
195 (WebCore::RenderBlock::layoutBlock):
196 (WebCore::RenderBlock::adjustPositionedBlock):
197 (WebCore::RenderBlock::layoutOnlyPositionedObjects):
198 (WebCore::RenderBlock::layoutPositionedObjects):
199 (WebCore::RenderBlock::paintObject):
200 (WebCore::RenderBlock::nodeAtPoint):
201 (WebCore::RenderBlock::offsetForContents):
202 (WebCore::RenderBlock::calcPrefWidths):
203 (WebCore::RenderBlock::baselinePosition):
204 * rendering/RenderBox.cpp:
205 (WebCore::RenderBox::RenderBox):
206 (WebCore::RenderBox::destroy):
207 (WebCore::RenderBox::styleWillChange):
208 (WebCore::RenderBox::styleDidChange):
209 (WebCore::RenderBox::updateBoxModelInfoFromStyle):
210 (WebCore::RenderBox::scrollWidth):
211 (WebCore::RenderBox::scrollHeight):
212 (WebCore::RenderBox::scrollLeft):
213 (WebCore::RenderBox::scrollTop):
214 (WebCore::RenderBox::setScrollLeft):
215 (WebCore::RenderBox::setScrollTop):
216 (WebCore::RenderBox::getOverflowClipRect):
217 (WebCore::RenderBox::localToAbsolute):
218 (WebCore::RenderBox::absoluteToLocal):
219 (WebCore::RenderBox::localToContainerQuad):
220 (WebCore::RenderBox::position):
221 (WebCore::RenderBox::computeRectForRepaint):
222 (WebCore::RenderBox::calcAbsoluteHorizontal):
223 (WebCore::RenderBox::calcAbsoluteVertical):
224 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
225 (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
226 * rendering/RenderBox.h:
227 * rendering/RenderBoxModelObject.cpp:
228 (WebCore::RenderBoxModelObject::RenderBoxModelObject):
229 (WebCore::RenderBoxModelObject::destroy):
230 (WebCore::RenderBoxModelObject::styleWillChange):
231 (WebCore::RenderBoxModelObject::styleDidChange):
232 (WebCore::RenderBoxModelObject::updateBoxModelInfoFromStyle):
233 * rendering/RenderBoxModelObject.h:
234 (WebCore::RenderBoxModelObject::layer):
235 (WebCore::RenderBoxModelObject::requiresLayer):
236 * rendering/RenderFlexibleBox.cpp:
237 (WebCore::RenderFlexibleBox::layoutBlock):
238 (WebCore::RenderFlexibleBox::layoutHorizontalBox):
239 (WebCore::RenderFlexibleBox::layoutVerticalBox):
240 * rendering/RenderInline.cpp:
241 (WebCore::RenderInline::updateBoxModelInfoFromStyle):
242 (WebCore::RenderInline::styleDidChange):
243 (WebCore::RenderInline::relativePositionedInlineOffset):
244 * rendering/RenderInline.h:
245 * rendering/RenderLayer.cpp:
246 (WebCore::RenderLayer::setStaticY):
247 (WebCore::RenderLayer::updateLayerPosition):
248 * rendering/RenderLayer.h:
249 * rendering/RenderObject.cpp:
250 (WebCore::RenderObject::setStyle):
251 (WebCore::RenderObject::styleDidChange):
252 * rendering/RenderObject.h:
253 (WebCore::RenderObject::markContainingBlocksForLayout):
254 * rendering/RenderTableRow.cpp:
255 (WebCore::RenderTableRow::paint):
256 * rendering/RenderWidget.cpp:
257 (WebCore::RenderWidget::destroy):
258 * rendering/bidi.cpp:
259 (WebCore::appendRunsForObject):
260 (WebCore::RenderBlock::layoutInlineChildren):
261 (WebCore::RenderBlock::skipTrailingWhitespace):
262 (WebCore::RenderBlock::skipLeadingWhitespace):
263 (WebCore::RenderBlock::findNextLineBreak):
264 * rendering/style/RenderStyle.h:
265 (WebCore::InheritedFlags::hasStaticX):
266 (WebCore::InheritedFlags::hasStaticY):
268 2009-02-05 Sam Weinig <sam@webkit.org>
270 Fix the windows build.
272 * bindings/scripts/CodeGeneratorCOM.pm:
275 2009-02-05 Anders Carlsson <andersca@apple.com>
277 Reviewed by Kevin Decker.
279 Update to match Gecko.
282 * plugins/npfunctions.h:
284 2009-02-05 Sam Weinig <sam@webkit.org>
286 Reviewed by Darin Adler.
288 Finish merging EventTargetNode up into Node.
290 This also fixes a small recently introduced issue where EventListeners
291 would not be removed from the document if they were attached to comment
292 nodes outside of the documentElement.
297 * WebCore.vcproj/WebCore.vcproj:
298 * WebCore.xcodeproj/project.pbxproj:
299 * WebCoreSources.bkl:
300 * bindings/js/JSEventTargetNodeCustom.cpp: Removed.
301 * bindings/js/JSNodeCustom.cpp:
302 (WebCore::JSNode::addEventListener):
303 (WebCore::JSNode::removeEventListener):
304 (WebCore::JSNode::pushEventHandlerScope):
305 * bindings/scripts/CodeGenerator.pm:
306 * dom/CharacterData.cpp:
307 (WebCore::CharacterData::CharacterData):
308 (WebCore::CharacterData::rendererIsNeeded):
309 * dom/CharacterData.h:
310 * dom/ContainerNode.cpp:
311 (WebCore::ContainerNode::willRemove):
312 (WebCore::ContainerNode::attach):
313 (WebCore::ContainerNode::detach):
314 (WebCore::ContainerNode::insertedIntoDocument):
315 (WebCore::ContainerNode::removedFromDocument):
316 (WebCore::ContainerNode::setFocus):
317 (WebCore::ContainerNode::setActive):
318 (WebCore::ContainerNode::setHovered):
319 (WebCore::dispatchChildInsertionEvents):
320 (WebCore::dispatchChildRemovalEvents):
321 * dom/ContainerNode.h:
322 (WebCore::ContainerNode::ContainerNode):
324 (WebCore::Document::removeAllEventListenersFromAllNodes):
325 (WebCore::Document::removeAllDisconnectedNodeEventListeners):
326 (WebCore::Document::setFocusedNode):
327 * dom/EventTargetNode.cpp: Removed.
328 * dom/EventTargetNode.h: Removed.
330 (WebCore::Node::scriptExecutionContext):
331 (WebCore::Node::eventListeners):
332 (WebCore::Node::insertedIntoDocument):
333 (WebCore::Node::removedFromDocument):
334 (WebCore::Node::willMoveToNewOwnerDocument):
335 (WebCore::Node::didMoveToNewOwnerDocument):
336 (WebCore::updateSVGElementInstancesAfterEventListenerChange):
337 (WebCore::Node::addEventListener):
338 (WebCore::Node::removeEventListener):
339 (WebCore::Node::removeAllEventListenersSlowCase):
340 (WebCore::Node::handleLocalEvents):
341 (WebCore::eventTargetAsSVGElementInstance):
342 (WebCore::eventTargetRespectingSVGTargetRules):
343 (WebCore::Node::dispatchEvent):
344 (WebCore::Node::dispatchGenericEvent):
345 (WebCore::Node::dispatchSubtreeModifiedEvent):
346 (WebCore::Node::dispatchWindowEvent):
347 (WebCore::Node::dispatchUIEvent):
348 (WebCore::Node::dispatchKeyEvent):
349 (WebCore::Node::dispatchMouseEvent):
350 (WebCore::Node::dispatchSimulatedMouseEvent):
351 (WebCore::Node::dispatchSimulatedClick):
352 (WebCore::Node::dispatchWheelEvent):
353 (WebCore::Node::dispatchWebKitAnimationEvent):
354 (WebCore::Node::dispatchWebKitTransitionEvent):
355 (WebCore::Node::dispatchFocusEvent):
356 (WebCore::Node::dispatchBlurEvent):
357 (WebCore::Node::dispatchEventForType):
358 (WebCore::Node::dispatchProgressEvent):
359 (WebCore::Node::dispatchStorageEvent):
360 (WebCore::Node::removeInlineEventListenerForType):
361 (WebCore::Node::setInlineEventListenerForType):
362 (WebCore::Node::setInlineEventListenerForTypeAndAttribute):
363 (WebCore::Node::inlineEventListenerForType):
364 (WebCore::Node::disabled):
365 (WebCore::Node::defaultEventHandler):
366 (WebCore::Node::onabort):
367 (WebCore::Node::setOnabort):
368 (WebCore::Node::onblur):
369 (WebCore::Node::setOnblur):
370 (WebCore::Node::onchange):
371 (WebCore::Node::setOnchange):
372 (WebCore::Node::onclick):
373 (WebCore::Node::setOnclick):
374 (WebCore::Node::oncontextmenu):
375 (WebCore::Node::setOncontextmenu):
376 (WebCore::Node::ondblclick):
377 (WebCore::Node::setOndblclick):
378 (WebCore::Node::onerror):
379 (WebCore::Node::setOnerror):
380 (WebCore::Node::onfocus):
381 (WebCore::Node::setOnfocus):
382 (WebCore::Node::oninput):
383 (WebCore::Node::setOninput):
384 (WebCore::Node::onkeydown):
385 (WebCore::Node::setOnkeydown):
386 (WebCore::Node::onkeypress):
387 (WebCore::Node::setOnkeypress):
388 (WebCore::Node::onkeyup):
389 (WebCore::Node::setOnkeyup):
390 (WebCore::Node::onload):
391 (WebCore::Node::setOnload):
392 (WebCore::Node::onmousedown):
393 (WebCore::Node::setOnmousedown):
394 (WebCore::Node::onmousemove):
395 (WebCore::Node::setOnmousemove):
396 (WebCore::Node::onmouseout):
397 (WebCore::Node::setOnmouseout):
398 (WebCore::Node::onmouseover):
399 (WebCore::Node::setOnmouseover):
400 (WebCore::Node::onmouseup):
401 (WebCore::Node::setOnmouseup):
402 (WebCore::Node::onmousewheel):
403 (WebCore::Node::setOnmousewheel):
404 (WebCore::Node::onbeforecut):
405 (WebCore::Node::setOnbeforecut):
406 (WebCore::Node::oncut):
407 (WebCore::Node::setOncut):
408 (WebCore::Node::onbeforecopy):
409 (WebCore::Node::setOnbeforecopy):
410 (WebCore::Node::oncopy):
411 (WebCore::Node::setOncopy):
412 (WebCore::Node::onbeforepaste):
413 (WebCore::Node::setOnbeforepaste):
414 (WebCore::Node::onpaste):
415 (WebCore::Node::setOnpaste):
416 (WebCore::Node::ondragenter):
417 (WebCore::Node::setOndragenter):
418 (WebCore::Node::ondragover):
419 (WebCore::Node::setOndragover):
420 (WebCore::Node::ondragleave):
421 (WebCore::Node::setOndragleave):
422 (WebCore::Node::ondrop):
423 (WebCore::Node::setOndrop):
424 (WebCore::Node::ondragstart):
425 (WebCore::Node::setOndragstart):
426 (WebCore::Node::ondrag):
427 (WebCore::Node::setOndrag):
428 (WebCore::Node::ondragend):
429 (WebCore::Node::setOndragend):
430 (WebCore::Node::onreset):
431 (WebCore::Node::setOnreset):
432 (WebCore::Node::onresize):
433 (WebCore::Node::setOnresize):
434 (WebCore::Node::onscroll):
435 (WebCore::Node::setOnscroll):
436 (WebCore::Node::onsearch):
437 (WebCore::Node::setOnsearch):
438 (WebCore::Node::onselect):
439 (WebCore::Node::setOnselect):
440 (WebCore::Node::onselectstart):
441 (WebCore::Node::setOnselectstart):
442 (WebCore::Node::onsubmit):
443 (WebCore::Node::setOnsubmit):
444 (WebCore::Node::onunload):
445 (WebCore::Node::setOnunload):
447 * editing/Editor.cpp:
448 (WebCore::Editor::dispatchCPPEvent):
449 * html/HTMLFormElement.cpp:
450 (WebCore::HTMLFormElement::handleLocalEvents):
451 * html/HTMLInputElement.cpp:
452 (WebCore::HTMLInputElement::defaultEventHandler):
453 * html/HTMLTokenizer.cpp:
454 (WebCore::HTMLTokenizer::notifyFinished):
455 * loader/MediaDocument.cpp:
456 (WebCore::MediaDocument::defaultEventHandler):
457 * page/AccessibilityRenderObject.cpp:
458 (WebCore::AccessibilityRenderObject::mouseButtonListener):
459 * page/EventHandler.cpp:
460 (WebCore::EventHandler::dispatchDragEvent):
461 (WebCore::EventHandler::updateMouseEventTargetNode):
462 (WebCore::EventHandler::dispatchMouseEvent):
463 (WebCore::EventHandler::handleWheelEvent):
464 (WebCore::EventHandler::canMouseDownStartSelect):
465 (WebCore::EventHandler::canMouseDragExtendSelect):
466 (WebCore::eventTargetNodeForDocument):
467 (WebCore::EventHandler::keyEvent):
468 * page/FrameView.cpp:
469 (WebCore::FrameView::scheduleEvent):
470 (WebCore::FrameView::updateOverflowStatus):
473 (WebCore::networkStateChanged):
474 * rendering/RenderLayer.cpp:
475 (WebCore::RenderLayer::scrollToOffset):
476 (WebCore::RenderLayer::updateOverflowStatus):
477 * rendering/RenderListBox.cpp:
478 (WebCore::RenderListBox::valueChanged):
479 * rendering/RenderMedia.h:
480 * rendering/RenderTextControl.cpp:
481 (WebCore::RenderTextControl::selectionChanged):
482 * svg/SVGElementInstance.h:
483 (WebCore::SVGElementInstance::toNode):
484 * xml/XPathExpression.cpp:
485 (WebCore::XPathExpression::evaluate):
486 * xml/XPathResult.cpp:
487 (WebCore::XPathResult::XPathResult):
489 2009-02-05 Adam Treat <adam.treat@torchmobile.com>
491 Fix the Qt build now that EventTargetNode.idl was removed in r40672.
495 2009-02-05 Scott Violet <sky@google.com>
497 Reviewed by Sam Weinig.
499 Bug 23462: Add RGB -> CMYK conversion algorithm
500 <https://bugs.webkit.org/show_bug.cgi?id=23462>
502 Adds an RGB -> CMYK converter. This isn't perfect, but better than
505 * html/CanvasStyle.cpp:
506 (WebCore::CanvasStyle::applyStrokeColor):
507 (WebCore::CanvasStyle::applyFillColor):
508 (WebCore::CanvasStyle::cmykToRGB):
509 * html/CanvasStyle.h:
511 2009-02-04 Sam Weinig <sam@webkit.org>
513 Reviewed by Darin Adler.
515 First stage of merging EventTargetNode up into Node. The intent of this change
516 is to both simplify the inheritance hierarchy (at the same time making it more
517 closely match the spec which states that all Nodes are EventTargets) and save
518 4 bytes per Node that the polymorphic multiple-inheritance was costing us.
520 This does the bare minimum to get things compiling, the next patch will clean
522 * DerivedSources.make:
524 * WebCore.xcodeproj/project.pbxproj:
525 * bindings/js/JSDocumentCustom.cpp:
526 (WebCore::JSDocument::mark):
527 * bindings/js/JSEventListener.cpp:
528 (WebCore::JSLazyEventListener::parseCode):
529 * bindings/js/JSEventTarget.cpp:
530 (WebCore::toEventTarget):
531 * bindings/js/JSEventTarget.h:
532 * bindings/js/JSEventTargetNodeCustom.cpp:
533 (WebCore::JSNode::addEventListener):
534 (WebCore::JSNode::removeEventListener):
535 (WebCore::JSNode::pushEventHandlerScope):
536 * bindings/js/JSStyleSheetCustom.cpp:
537 * bindings/scripts/CodeGeneratorJS.pm:
538 * bindings/scripts/CodeGeneratorObjC.pm:
540 * dom/CharacterData.h:
541 * dom/CharacterData.idl:
543 * dom/DocumentFragment.idl:
545 * dom/EventTarget.cpp:
546 (WebCore::EventTarget::toNode):
548 * dom/EventTarget.idl:
549 * dom/EventTargetNode.cpp:
550 (WebCore::Node::scriptExecutionContext):
551 (WebCore::Node::eventListeners):
552 (WebCore::Node::insertedIntoDocument):
553 (WebCore::Node::removedFromDocument):
554 (WebCore::Node::willMoveToNewOwnerDocument):
555 (WebCore::Node::didMoveToNewOwnerDocument):
556 (WebCore::Node::addEventListener):
557 (WebCore::Node::removeEventListener):
558 (WebCore::Node::removeAllEventListenersSlowCase):
559 (WebCore::Node::handleLocalEvents):
560 (WebCore::Node::dispatchEvent):
561 (WebCore::Node::dispatchGenericEvent):
562 (WebCore::Node::dispatchSubtreeModifiedEvent):
563 (WebCore::Node::dispatchWindowEvent):
564 (WebCore::Node::dispatchUIEvent):
565 (WebCore::Node::dispatchKeyEvent):
566 (WebCore::Node::dispatchMouseEvent):
567 (WebCore::Node::dispatchSimulatedMouseEvent):
568 (WebCore::Node::dispatchSimulatedClick):
569 (WebCore::Node::dispatchWheelEvent):
570 (WebCore::Node::dispatchWebKitAnimationEvent):
571 (WebCore::Node::dispatchWebKitTransitionEvent):
572 (WebCore::Node::dispatchFocusEvent):
573 (WebCore::Node::dispatchBlurEvent):
574 (WebCore::Node::dispatchEventForType):
575 (WebCore::Node::dispatchProgressEvent):
576 (WebCore::Node::dispatchStorageEvent):
577 (WebCore::Node::removeInlineEventListenerForType):
578 (WebCore::Node::setInlineEventListenerForType):
579 (WebCore::Node::setInlineEventListenerForTypeAndAttribute):
580 (WebCore::Node::inlineEventListenerForType):
581 (WebCore::Node::disabled):
582 (WebCore::Node::defaultEventHandler):
583 (WebCore::Node::onabort):
584 (WebCore::Node::setOnabort):
585 (WebCore::Node::onblur):
586 (WebCore::Node::setOnblur):
587 (WebCore::Node::onchange):
588 (WebCore::Node::setOnchange):
589 (WebCore::Node::onclick):
590 (WebCore::Node::setOnclick):
591 (WebCore::Node::oncontextmenu):
592 (WebCore::Node::setOncontextmenu):
593 (WebCore::Node::ondblclick):
594 (WebCore::Node::setOndblclick):
595 (WebCore::Node::onerror):
596 (WebCore::Node::setOnerror):
597 (WebCore::Node::onfocus):
598 (WebCore::Node::setOnfocus):
599 (WebCore::Node::oninput):
600 (WebCore::Node::setOninput):
601 (WebCore::Node::onkeydown):
602 (WebCore::Node::setOnkeydown):
603 (WebCore::Node::onkeypress):
604 (WebCore::Node::setOnkeypress):
605 (WebCore::Node::onkeyup):
606 (WebCore::Node::setOnkeyup):
607 (WebCore::Node::onload):
608 (WebCore::Node::setOnload):
609 (WebCore::Node::onmousedown):
610 (WebCore::Node::setOnmousedown):
611 (WebCore::Node::onmousemove):
612 (WebCore::Node::setOnmousemove):
613 (WebCore::Node::onmouseout):
614 (WebCore::Node::setOnmouseout):
615 (WebCore::Node::onmouseover):
616 (WebCore::Node::setOnmouseover):
617 (WebCore::Node::onmouseup):
618 (WebCore::Node::setOnmouseup):
619 (WebCore::Node::onmousewheel):
620 (WebCore::Node::setOnmousewheel):
621 (WebCore::Node::onbeforecut):
622 (WebCore::Node::setOnbeforecut):
623 (WebCore::Node::oncut):
624 (WebCore::Node::setOncut):
625 (WebCore::Node::onbeforecopy):
626 (WebCore::Node::setOnbeforecopy):
627 (WebCore::Node::oncopy):
628 (WebCore::Node::setOncopy):
629 (WebCore::Node::onbeforepaste):
630 (WebCore::Node::setOnbeforepaste):
631 (WebCore::Node::onpaste):
632 (WebCore::Node::setOnpaste):
633 (WebCore::Node::ondragenter):
634 (WebCore::Node::setOndragenter):
635 (WebCore::Node::ondragover):
636 (WebCore::Node::setOndragover):
637 (WebCore::Node::ondragleave):
638 (WebCore::Node::setOndragleave):
639 (WebCore::Node::ondrop):
640 (WebCore::Node::setOndrop):
641 (WebCore::Node::ondragstart):
642 (WebCore::Node::setOndragstart):
643 (WebCore::Node::ondrag):
644 (WebCore::Node::setOndrag):
645 (WebCore::Node::ondragend):
646 (WebCore::Node::setOndragend):
647 (WebCore::Node::onreset):
648 (WebCore::Node::setOnreset):
649 (WebCore::Node::onresize):
650 (WebCore::Node::setOnresize):
651 (WebCore::Node::onscroll):
652 (WebCore::Node::setOnscroll):
653 (WebCore::Node::onsearch):
654 (WebCore::Node::setOnsearch):
655 (WebCore::Node::onselect):
656 (WebCore::Node::setOnselect):
657 (WebCore::Node::onselectstart):
658 (WebCore::Node::setOnselectstart):
659 (WebCore::Node::onsubmit):
660 (WebCore::Node::setOnsubmit):
661 (WebCore::Node::onunload):
662 (WebCore::Node::setOnunload):
663 * dom/EventTargetNode.h:
664 (WebCore::toEventTargetNode):
665 (WebCore::EventTargetNodeCast):
666 * dom/EventTargetNode.idl: Removed.
667 * dom/MouseEvent.cpp:
668 (WebCore::MouseEvent::MouseEvent):
669 (WebCore::MouseEvent::initMouseEvent):
670 (WebCore::MouseEvent::toElement):
671 (WebCore::MouseEvent::fromElement):
673 (WebCore::MouseEvent::create):
674 (WebCore::MouseEvent::relatedTarget):
676 (WebCore::Node::~Node):
678 (WebCore::Node::isEventTargetNode):
679 (WebCore::Node::toNode):
680 (WebCore::Node::removeAllEventListeners):
681 (WebCore::Node::refEventTarget):
682 (WebCore::Node::derefEventTarget):
684 * page/EventHandler.h:
687 (WebCore::XPathResult::create):
689 2009-02-04 David Hyatt <hyatt@apple.com>
691 Convert RenderLayer from having a RenderBox* m_renderer to having a RenderBoxModelObject*. The
692 container-relative repaint methods all had to be changed as a result to use RenderBoxModelObject* also.
694 All of RenderLayer.cpp now uses what will be the new style for dealing with an object that can be a block
695 or an inline flow. x()/y()/width()/height() can't be queried on an inline flow, nor can many other
696 properties (like scrollWidth() / scrollHeight()), so the code has to be tightened up to convert to RenderBox
697 under the right conditions.
699 There was a bogus subtraction of renderer()->y() in localBounding box for RenderInlines. Since y was always
700 0, this subtraction wasn't necessary. It has been removed.
702 Reviewed by Adam Roben
704 * page/animation/AnimationBase.cpp:
705 * rendering/RenderBR.h:
706 (WebCore::RenderBR::selectionRectForRepaint):
707 * rendering/RenderBlock.cpp:
708 (WebCore::RenderBlock::selectionGapRectsForRepaint):
709 (WebCore::RenderBlock::rectWithOutlineForRepaint):
710 * rendering/RenderBlock.h:
711 (WebCore::RenderBlock::selectionRectForRepaint):
712 * rendering/RenderBox.cpp:
713 (WebCore::RenderBox::outlineBoundsForRepaint):
714 (WebCore::RenderBox::localToContainerQuad):
715 (WebCore::RenderBox::clippedOverflowRectForRepaint):
716 (WebCore::RenderBox::computeRectForRepaint):
717 * rendering/RenderBox.h:
718 * rendering/RenderBoxModelObject.cpp:
719 (WebCore::RenderBoxModelObject::relativePositionOffsetX):
720 (WebCore::RenderBoxModelObject::relativePositionOffsetY):
721 * rendering/RenderBoxModelObject.h:
722 (WebCore::RenderBoxModelObject::relativePositionOffset):
723 * rendering/RenderForeignObject.cpp:
724 (WebCore::RenderForeignObject::computeRectForRepaint):
725 * rendering/RenderForeignObject.h:
726 * rendering/RenderInline.cpp:
727 (WebCore::RenderInline::clippedOverflowRectForRepaint):
728 (WebCore::RenderInline::rectWithOutlineForRepaint):
729 * rendering/RenderInline.h:
730 * rendering/RenderLayer.cpp:
731 (WebCore::RenderLayer::RenderLayer):
732 (WebCore::RenderLayer::updateLayerPositions):
733 (WebCore::RenderLayer::updateTransform):
734 (WebCore::RenderLayer::setHasVisibleContent):
735 (WebCore::RenderLayer::updateLayerPosition):
736 (WebCore::RenderLayer::scrollToOffset):
737 (WebCore::RenderLayer::scrollRectToVisible):
738 (WebCore::resizerCornerRect):
739 (WebCore::RenderLayer::scrollbarCornerPresent):
740 (WebCore::RenderLayer::invalidateScrollbarRect):
741 (WebCore::RenderLayer::positionOverflowControls):
742 (WebCore::RenderLayer::computeScrollDimensions):
743 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
744 (WebCore::RenderLayer::paintScrollCorner):
745 (WebCore::RenderLayer::paintResizer):
746 (WebCore::RenderLayer::isPointInResizeControl):
747 (WebCore::RenderLayer::hitTestOverflowControls):
748 (WebCore::RenderLayer::paintLayer):
749 (WebCore::RenderLayer::hitTestLayer):
750 (WebCore::RenderLayer::localBoundingBox):
751 * rendering/RenderLayer.h:
752 (WebCore::RenderLayer::renderer):
753 (WebCore::RenderLayer::renderBox):
754 (WebCore::RenderLayer::renderBoxX):
755 (WebCore::RenderLayer::renderBoxY):
756 * rendering/RenderListMarker.cpp:
757 (WebCore::RenderListMarker::selectionRectForRepaint):
758 * rendering/RenderListMarker.h:
759 * rendering/RenderMarquee.cpp:
760 (WebCore::RenderMarquee::computePosition):
761 (WebCore::RenderMarquee::timerFired):
762 * rendering/RenderObject.cpp:
763 (WebCore::RenderObject::containerForRepaint):
764 (WebCore::RenderObject::repaintUsingContainer):
765 (WebCore::RenderObject::repaint):
766 (WebCore::RenderObject::repaintRectangle):
767 (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
768 (WebCore::RenderObject::rectWithOutlineForRepaint):
769 (WebCore::RenderObject::clippedOverflowRectForRepaint):
770 (WebCore::RenderObject::computeRectForRepaint):
771 (WebCore::RenderObject::localToContainerQuad):
772 * rendering/RenderObject.h:
773 (WebCore::RenderObject::selectionRectForRepaint):
774 (WebCore::RenderObject::outlineBoundsForRepaint):
775 * rendering/RenderPath.cpp:
776 (WebCore::RenderPath::clippedOverflowRectForRepaint):
777 (WebCore::RenderPath::outlineBoundsForRepaint):
778 * rendering/RenderPath.h:
779 * rendering/RenderReplaced.cpp:
780 (WebCore::RenderReplaced::selectionRectForRepaint):
781 (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
782 * rendering/RenderReplaced.h:
783 * rendering/RenderSVGContainer.cpp:
784 (WebCore::RenderSVGContainer::clippedOverflowRectForRepaint):
785 (WebCore::RenderSVGContainer::outlineBoundsForRepaint):
786 * rendering/RenderSVGContainer.h:
787 * rendering/RenderSVGHiddenContainer.cpp:
788 (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
789 * rendering/RenderSVGHiddenContainer.h:
790 * rendering/RenderSVGImage.cpp:
791 (WebCore::RenderSVGImage::clippedOverflowRectForRepaint):
792 * rendering/RenderSVGImage.h:
793 * rendering/RenderSVGInlineText.cpp:
794 (WebCore::RenderSVGInlineText::selectionRectForRepaint):
795 (WebCore::RenderSVGInlineText::computeRepaintRectForRange):
796 * rendering/RenderSVGInlineText.h:
797 * rendering/RenderSVGRoot.cpp:
798 (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
799 * rendering/RenderSVGRoot.h:
800 * rendering/RenderSVGText.cpp:
801 (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
802 * rendering/RenderSVGText.h:
803 * rendering/RenderSelectionInfo.h:
804 (WebCore::RenderSelectionInfoBase::repaintContainer):
805 * rendering/RenderTableCell.cpp:
806 (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
807 (WebCore::RenderTableCell::computeRectForRepaint):
808 (WebCore::RenderTableCell::localToContainerQuad):
809 * rendering/RenderTableCell.h:
810 * rendering/RenderTableCol.cpp:
811 (WebCore::RenderTableCol::clippedOverflowRectForRepaint):
812 * rendering/RenderTableCol.h:
813 * rendering/RenderTableRow.cpp:
814 (WebCore::RenderTableRow::clippedOverflowRectForRepaint):
815 * rendering/RenderTableRow.h:
816 * rendering/RenderText.cpp:
817 (WebCore::RenderText::clippedOverflowRectForRepaint):
818 (WebCore::RenderText::selectionRectForRepaint):
819 * rendering/RenderText.h:
820 * rendering/RenderTreeAsText.cpp:
822 * rendering/RenderView.cpp:
823 (WebCore::RenderView::localToContainerQuad):
824 (WebCore::RenderView::computeRectForRepaint):
825 * rendering/RenderView.h:
827 2009-02-05 Alexey Proskuryakov <ap@webkit.org>
831 * page/animation/KeyframeAnimation.h: A function prototype had two "fromStyle" arguments.
833 2009-02-05 Yael Aharon <yael.aharon@nokia.com>
835 Reviewed by Alexey Proskuryakov.
836 Landed by Simon Hausmann.
838 https://bugs.webkit.org/show_bug.cgi?id=23733
840 Use a 2 arguments constructor for KURL to avoid ASSERT failure.
842 * page/SecurityOrigin.cpp:
843 (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
845 2009-02-04 Feng Qian <feng@chromium.org>
847 Reviewed by Darin Adler.
849 Add Android-specific files to WebCore/editing directory.
850 https://bugs.webkit.org/show_bug.cgi?id=23294
852 * editing/android: Added.
853 * editing/android/EditorAndroid.cpp: Added.
854 (WebCore::Editor::newGeneralClipboard):
856 2009-02-04 Dean Jackson <dino@apple.com>
858 Reviewed by Darin Adler.
860 Remove -webkit-animation-play-state
861 The AnimationController still has the code to execute the property, but
862 it is no longer parsed or recorded.
863 https://bugs.webkit.org/show_bug.cgi?id=22907
865 * css/CSSComputedStyleDeclaration.cpp:
867 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
869 (WebCore::CSSParser::parseValue):
870 (WebCore::CSSParser::parseAnimationProperty):
872 * css/CSSPropertyNames.in:
873 * css/CSSStyleSelector.cpp:
874 (WebCore::CSSStyleSelector::applyProperty):
875 * css/CSSStyleSelector.h:
876 * platform/animation/Animation.h:
877 * rendering/style/RenderStyleConstants.h:
879 2009-02-04 Tor Arne Vestbø <tavestbo@trolltech.com>
881 Reviewed by Darin Adler.
883 Make sure we don't load on removing the media element from the document
884 https://bugs.webkit.org/show_bug.cgi?id=22105
886 Test: media/remove-from-document-no-load.html
888 * html/HTMLMediaElement.cpp:
889 (WebCore::HTMLMediaElement::removedFromDocument):
891 2009-02-04 David Hyatt <hyatt@apple.com>
893 Add a new RenderBoxModelObject class that will eventually act as the direct base class for RenderInlines. For
894 now just adding the class and putting it in between RenderObject and RenderBox in the hierarchy. RenderInline remains
895 derived from RenderBox for now.
897 Reviewed by Sam Weinig
899 * WebCore.xcodeproj/project.pbxproj:
900 * rendering/RenderBox.cpp:
901 (WebCore::RenderBox::RenderBox):
902 (WebCore::RenderBox::destroy):
903 (WebCore::RenderBox::styleWillChange):
904 (WebCore::RenderBox::styleDidChange):
905 (WebCore::RenderBox::computeRectForRepaint):
906 * rendering/RenderBox.h:
907 * rendering/RenderBoxModelObject.cpp: Added.
908 (WebCore::RenderBoxModelObject::RenderBoxModelObject):
909 (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
910 * rendering/RenderBoxModelObject.h: Added.
911 * rendering/RenderObject.h:
913 2009-02-04 Chris Marrin <cmarrin@apple.com>
915 Reviewed by Dave Hyatt
917 Added accelerated animation support to AnimationController and friends. The primary
919 * accelerated animations get their start time from the compositing engine, so we
920 wait for a callback (notifyAnimationStarted()) in order to get the start time.
921 * if software and accelerated animations start in the same cycle, they all need
922 to use the same start time, which is that of the accelerated animations.
924 Added AnimationControllerPrivate to preserve the encapsulation under
928 * WebCore.vcproj/WebCore.vcproj:
929 * WebCore.xcodeproj/project.pbxproj:
930 * page/animation/AnimationBase.cpp:
931 (WebCore::PropertyWrapperBase::animationIsAccelerated):
932 (WebCore::PropertyWrapperAcceleratedOpacity::PropertyWrapperAcceleratedOpacity):
933 (WebCore::PropertyWrapperAcceleratedOpacity::animationIsAccelerated):
934 (WebCore::PropertyWrapperAcceleratedOpacity::blend):
935 (WebCore::PropertyWrapperAcceleratedTransform::PropertyWrapperAcceleratedTransform):
936 (WebCore::PropertyWrapperAcceleratedTransform::animationIsAccelerated):
937 (WebCore::PropertyWrapperAcceleratedTransform::blend):
938 (WebCore::ensurePropertyMap):
939 (WebCore::AnimationBase::AnimationBase):
940 (WebCore::AnimationBase::~AnimationBase):
941 (WebCore::AnimationBase::blendProperties):
942 (WebCore::AnimationBase::animationOfPropertyIsAccelerated):
943 (WebCore::AnimationBase::updateStateMachine):
944 (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
945 (WebCore::AnimationBase::willNeedService):
946 (WebCore::AnimationBase::getTimeToNextEvent):
947 (WebCore::AnimationBase::goIntoEndingOrLoopingState):
948 (WebCore::AnimationBase::beginAnimationUpdateTime):
949 * page/animation/AnimationBase.h:
950 (WebCore::AnimationBase::onAnimationStartResponse):
951 (WebCore::AnimationBase::getAnimatedStyle):
952 (WebCore::AnimationBase::isAnimatingProperty):
953 (WebCore::AnimationBase::endAnimation):
954 (WebCore::AnimationBase::isFallbackAnimating):
955 * page/animation/AnimationController.cpp:
956 (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
957 (WebCore::AnimationControllerPrivate::accessCompositeAnimation):
958 (WebCore::AnimationControllerPrivate::addNodeChangeToDispatch):
959 (WebCore::AnimationControllerPrivate::animationTimerFired):
960 (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
961 (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
962 (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
963 (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
964 (WebCore::AnimationControllerPrivate::styleAvailable):
965 (WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList):
966 (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList):
967 (WebCore::AnimationControllerPrivate::startTimeResponse):
968 (WebCore::AnimationController::getAnimatedStyleForRenderer):
969 (WebCore::AnimationController::notifyAnimationStarted):
970 (WebCore::AnimationController::endAnimationUpdate):
971 * page/animation/AnimationController.h:
972 * page/animation/AnimationControllerPrivate.h: Added.
973 (WebCore::AnimationControllerPrivate::hasAnimations):
974 (WebCore::AnimationControllerPrivate::setBeginAnimationUpdateTime):
975 (WebCore::AnimationControllerPrivate::endAnimationUpdate):
976 (WebCore::AnimationControllerPrivate::receivedStartTimeResponse):
977 * page/animation/CompositeAnimation.cpp:
978 (WebCore::CompositeAnimationPrivate::CompositeAnimationPrivate):
979 (WebCore::CompositeAnimationPrivate::animationControllerPriv):
980 (WebCore::CompositeAnimationPrivate::updateTransitions):
981 (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
982 (WebCore::CompositeAnimationPrivate::animate):
983 (WebCore::CompositeAnimationPrivate::getAnimatedStyle):
984 (WebCore::CompositeAnimationPrivate::addToStartTimeResponseWaitList):
985 (WebCore::CompositeAnimationPrivate::removeFromStartTimeResponseWaitList):
986 (WebCore::CompositeAnimation::CompositeAnimation):
987 (WebCore::CompositeAnimation::animationControllerPriv):
988 (WebCore::CompositeAnimation::getAnimatedStyle):
989 (WebCore::CompositeAnimation::addToStartTimeResponseWaitList):
990 (WebCore::CompositeAnimation::removeFromStartTimeResponseWaitList):
991 * page/animation/CompositeAnimation.h:
992 (WebCore::CompositeAnimation::create):
993 * page/animation/ImplicitAnimation.cpp:
994 (WebCore::ImplicitAnimation::shouldSendEventForListener):
995 (WebCore::ImplicitAnimation::animate):
996 (WebCore::ImplicitAnimation::getAnimatedStyle):
997 (WebCore::ImplicitAnimation::startAnimation):
998 (WebCore::ImplicitAnimation::endAnimation):
999 (WebCore::ImplicitAnimation::sendTransitionEvent):
1000 (WebCore::ImplicitAnimation::willNeedService):
1001 * page/animation/ImplicitAnimation.h:
1002 * page/animation/KeyframeAnimation.cpp:
1003 (WebCore::KeyframeAnimation::getKeyframeAnimationInterval):
1004 (WebCore::KeyframeAnimation::animate):
1005 (WebCore::KeyframeAnimation::getAnimatedStyle):
1006 (WebCore::KeyframeAnimation::startAnimation):
1007 (WebCore::KeyframeAnimation::endAnimation):
1008 (WebCore::KeyframeAnimation::shouldSendEventForListener):
1009 (WebCore::KeyframeAnimation::sendAnimationEvent):
1010 (WebCore::KeyframeAnimation::willNeedService):
1011 * page/animation/KeyframeAnimation.h:
1012 * platform/graphics/GraphicsLayerClient.h:
1013 * platform/graphics/mac/GraphicsLayerCA.mm:
1014 (-[WebAnimationDelegate animationDidStart:]):
1015 * rendering/RenderLayerBacking.h:
1017 2009-02-04 Dimitri Glazkov <dglazkov@chromium.org>
1019 Not reviewed, build fix.
1021 Remove duplicate definition of msSans in FontCache::alternateFamilyName.
1023 * platform/graphics/FontCache.cpp:
1024 (WebCore::alternateFamilyName):
1026 2009-02-04 Eric Seidel <eric@webkit.org>
1028 Reviewed by George Staikos.
1030 Reverse the meaning of the if check so that Android
1031 (dpad devices) do not scroll on focus and normal platforms do
1032 http://trac.webkit.org/changeset/40647
1034 This was caught by George Staikos, and I wrote the patch.
1037 (WebCore::Element::updateFocusAppearance):
1039 2009-02-04 David Hyatt <hyatt@apple.com>
1041 Eliminate RenderContainer.
1043 Reviewed by Sam and Anders
1047 * WebCore.vcproj/WebCore.vcproj:
1048 * WebCore.xcodeproj/project.pbxproj:
1049 * WebCoreSources.bkl:
1050 * rendering/RenderBlock.cpp:
1051 (WebCore::RenderBlock::RenderBlock):
1052 (WebCore::RenderBlock::destroy):
1053 (WebCore::RenderBlock::styleWillChange):
1054 (WebCore::RenderBlock::styleDidChange):
1055 (WebCore::RenderBlock::addChild):
1056 (WebCore::RenderBlock::dirtyLineBoxes):
1057 (WebCore::RenderBlock::createInlineBox):
1058 (WebCore::RenderBlock::removeChild):
1059 (WebCore::RenderBlock::setSelectionState):
1060 (WebCore::RenderBlock::avoidsFloats):
1061 (WebCore::RenderBlock::positionForCoordinates):
1062 (WebCore::RenderBlock::calcInlinePrefWidths):
1063 (WebCore::RenderBlock::baselinePosition):
1064 (WebCore::RenderBlock::getBaselineOfFirstLineBox):
1065 (WebCore::RenderBlock::getBaselineOfLastLineBox):
1066 (WebCore::RenderBlock::rectWithOutlineForRepaint):
1067 (WebCore::RenderBlock::hoverAncestor):
1068 (WebCore::RenderBlock::updateDragState):
1069 (WebCore::RenderBlock::localCaretRect):
1070 * rendering/RenderBlock.h:
1071 (WebCore::RenderBlock::virtualChildren):
1072 (WebCore::RenderBlock::children):
1073 * rendering/RenderContainer.cpp: Removed.
1074 * rendering/RenderContainer.h: Removed.
1075 * rendering/RenderFrameSet.cpp:
1076 (WebCore::RenderFrameSet::RenderFrameSet):
1077 (WebCore::RenderFrameSet::nodeAtPoint):
1078 (WebCore::RenderFrameSet::layout):
1079 * rendering/RenderFrameSet.h:
1080 (WebCore::RenderFrameSet::virtualChildren):
1081 (WebCore::RenderFrameSet::children):
1082 * rendering/RenderInline.cpp:
1083 (WebCore::RenderInline::RenderInline):
1084 (WebCore::RenderInline::destroy):
1085 (WebCore::RenderInline::styleDidChange):
1086 (WebCore::nextContinuation):
1087 (WebCore::RenderInline::continuationBefore):
1088 (WebCore::RenderInline::addChildIgnoringContinuation):
1089 (WebCore::RenderInline::splitInlines):
1090 (WebCore::RenderInline::splitFlow):
1091 (WebCore::RenderInline::addChildToContinuation):
1092 (WebCore::RenderInline::offsetLeft):
1093 (WebCore::RenderInline::offsetTop):
1094 (WebCore::RenderInline::positionForCoordinates):
1095 (WebCore::RenderInline::clippedOverflowRectForRepaint):
1096 (WebCore::RenderInline::rectWithOutlineForRepaint):
1097 (WebCore::RenderInline::updateDragState):
1098 (WebCore::RenderInline::childBecameNonInline):
1099 * rendering/RenderInline.h:
1100 (WebCore::RenderInline::virtualChildren):
1101 (WebCore::RenderInline::children):
1102 (WebCore::RenderInline::continuation):
1103 (WebCore::RenderInline::setContinuation):
1104 * rendering/RenderLineBoxList.h:
1105 * rendering/RenderObject.h:
1106 * rendering/RenderObjectChildList.h:
1107 * rendering/RenderSVGInlineText.cpp:
1108 (WebCore::RenderSVGInlineText::computeRepaintRectForRange):
1109 * rendering/RenderSVGRoot.cpp:
1110 (WebCore::RenderSVGRoot::RenderSVGRoot):
1111 (WebCore::RenderSVGRoot::applyContentTransforms):
1112 (WebCore::RenderSVGRoot::paint):
1113 (WebCore::RenderSVGRoot::absoluteTransform):
1114 (WebCore::RenderSVGRoot::nodeAtPoint):
1115 (WebCore::RenderSVGRoot::position):
1116 * rendering/RenderSVGRoot.h:
1117 (WebCore::RenderSVGRoot::virtualChildren):
1118 (WebCore::RenderSVGRoot::children):
1119 * rendering/RenderSVGText.cpp:
1120 (WebCore::RenderSVGText::absoluteRects):
1121 (WebCore::RenderSVGText::absoluteQuads):
1122 * rendering/RenderTable.cpp:
1123 (WebCore::RenderTable::addChild):
1124 (WebCore::RenderTable::removeChild):
1125 * rendering/RenderTableCol.cpp:
1126 (WebCore::RenderTableCol::RenderTableCol):
1127 * rendering/RenderTableCol.h:
1128 (WebCore::RenderTableCol::virtualChildren):
1129 (WebCore::RenderTableCol::children):
1130 * rendering/RenderTableRow.cpp:
1131 (WebCore::RenderTableRow::RenderTableRow):
1132 (WebCore::RenderTableRow::destroy):
1133 (WebCore::RenderTableRow::styleWillChange):
1134 (WebCore::RenderTableRow::addChild):
1135 * rendering/RenderTableRow.h:
1136 (WebCore::RenderTableRow::virtualChildren):
1137 (WebCore::RenderTableRow::children):
1138 * rendering/RenderTableSection.cpp:
1139 (WebCore::RenderTableSection::RenderTableSection):
1140 (WebCore::RenderTableSection::destroy):
1141 (WebCore::RenderTableSection::addChild):
1142 (WebCore::RenderTableSection::removeChild):
1143 (WebCore::RenderTableSection::lowestPosition):
1144 (WebCore::RenderTableSection::rightmostPosition):
1145 (WebCore::RenderTableSection::leftmostPosition):
1146 * rendering/RenderTableSection.h:
1147 (WebCore::RenderTableSection::virtualChildren):
1148 (WebCore::RenderTableSection::children):
1150 2009-02-04 Mads Adger <mad@chromium.org>
1152 Reviewed by Antti Koivisto.
1154 Bug 23180 Reading freed memory at DocumentLoader::checkForPendingPreloads
1155 https://bugs.webkit.org/show_bug.cgi?id=23180
1157 Added a protector for the document potentially holding on the last reference to the loader we are interating with.
1159 * loader/loader.cpp:
1160 (WebCore::Loader::Host::didFinishLoading):
1161 (WebCore::Loader::Host::didFail):
1163 2009-02-04 Cary Clark <caryclark@google.com>
1165 Reviewed by Darin Adler.
1167 https://bugs.webkit.org/show_bug.cgi?id=23163
1168 Don't scroll to show current focus on devices that use
1169 directional pads for navigation.
1172 (WebCore::Element::updateFocusAppearance):
1174 2009-02-04 Cary Clark <caryclark@google.com>
1176 Reviewed by Darin Adler.
1178 Change RenderBlock::columnGap() access permissions from protected to
1179 public. ANDROID creates an array of focus rectangles for navigation
1180 with a trackball or directional pad, and needs access to the column gap
1181 to implement this logic.
1183 Android has no testing harness @ webkit.org, thus no tests.
1185 * rendering/RenderBlock.h:
1187 2009-02-04 Cary Clark <caryclark@google.com>
1189 Reviewed by Darin Adler and Eric Seidel.
1191 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22917
1193 Add ENABLE_ON_FIRST_TEXTAREA_FOCUS_SELECT_ALL to permit the ANDROID
1194 platform to select all when focusing on a textarea. This matches
1195 the user interface guidelines other applications on the platform.
1197 * html/HTMLTextAreaElement.cpp:
1198 (WebCore::HTMLTextAreaElement::updateFocusAppearance):
1200 2009-02-04 Beth Dakin <bdakin@apple.com>
1202 Reviewed by Dave Hyatt.
1204 Fix for <rdar://problem/6386112> Some inline-elements are not
1205 becoming proper dashboard-regions
1207 RenderInline needs its own implementation of addDashboardRegions
1208 because otherwise all of the coordinate calculations are
1211 * rendering/RenderInline.cpp:
1212 (WebCore::RenderInline::addDashboardRegions):
1213 * rendering/RenderInline.h:
1214 * rendering/RenderObject.h:
1216 2009-02-04 David Hyatt <hyatt@apple.com>
1218 Move addChild/removeChild from RenderContainer to RenderObject.
1220 Reviewed by Sam Weinig
1222 * rendering/RenderContainer.cpp:
1223 * rendering/RenderContainer.h:
1224 * rendering/RenderObject.cpp:
1225 (WebCore::updateListMarkerNumbers):
1226 (WebCore::RenderObject::addChild):
1227 (WebCore::RenderObject::removeChild):
1228 * rendering/RenderObject.h:
1229 (WebCore::RenderObject::addChildIgnoringContinuation):
1230 * rendering/RenderSVGContainer.cpp:
1231 * rendering/RenderSVGContainer.h:
1233 2009-02-04 Brady Eidson <beidson@apple.com>
1235 Reviewed by Sam Weinig
1237 <rdar://problem/3541409> - Further HistoryItem / BF cache cleanup
1239 * history/CachedFrame.cpp:
1240 (WebCore::CachedFrame::CachedFrame):
1241 (WebCore::CachedFrame::restore):
1242 * history/CachedFrame.h:
1244 * history/CachedPage.cpp:
1245 (WebCore::CachedPage::restore):
1246 * history/CachedPage.h:
1247 (WebCore::CachedPage::mainFrameView):
1249 * history/HistoryItem.cpp:
1250 (WebCore::HistoryItem::HistoryItem):
1251 (WebCore::HistoryItem::~HistoryItem):
1252 * history/HistoryItem.h:
1253 (WebCore::HistoryItem::isInPageCache):
1255 * loader/FrameLoader.cpp:
1256 (WebCore::FrameLoader::open):
1258 2009-02-04 Peter Kasting <pkasting@google.com>
1260 Reviewed by David Hyatt.
1262 https://bugs.webkit.org/show_bug.cgi?id=23743
1263 Fix memory corruption with open-source GIF decoders.
1265 * platform/image-decoders/ImageDecoder.h:
1266 (WebCore::RGBA32Buffer::clear):
1267 * platform/image-decoders/gif/GIFImageDecoder.cpp:
1268 (WebCore::GIFImageDecoder::clearFrameBufferCache):
1269 * platform/image-decoders/skia/GIFImageDecoder.cpp:
1270 (WebCore::GIFImageDecoder::clearFrameBufferCache):
1271 (WebCore::GIFImageDecoder::initFrameBuffer):
1272 * platform/image-decoders/skia/ImageDecoder.h:
1273 (WebCore::RGBA32Buffer::clear):
1275 2009-02-04 Simon Fraser <simon.fraser@apple.com>
1277 Reviewed by Dave Hyatt
1279 https://bugs.webkit.org/show_bug.cgi?id=23360
1281 When using accelerated compositing, make repaints use the correct
1282 repaint container. Hook up the RenderLayerCompositor in RenderView,
1283 and add to RenderView a method that repaints both the view
1284 contents, and any intersecting composited layers.
1286 Make enclosingCompositingLayer() a method on RenderObject, and update
1287 the compositor to use that. Add a helper method on the compositor to
1288 get the non-self compositing ancestor: ancestorCompositingLayer().
1290 Call repaintRectangleInViewAndCompositedLayers() in places that don't do
1291 container-relative repainting: selection redraw on focus change, caret,
1294 Fix a bug in RenderLayerCompositor where the m_compositingLayersNeedUpdate flag
1295 would get cleared for partial updates, thus preventing subsequent full updates.
1297 Fix a bug in RenderLayer::ensureBacking() that made new backing every time.
1299 * WebCore.xcodeproj/project.pbxproj:
1300 * editing/SelectionController.cpp:
1301 (WebCore::SelectionController::recomputeCaretRect):
1302 (WebCore::SelectionController::invalidateCaretRect):
1303 (WebCore::SelectionController::focusedOrActiveStateChanged):
1304 * rendering/RenderInline.cpp:
1305 (WebCore::RenderInline::clippedOverflowRectForRepaint):
1306 * rendering/RenderLayer.cpp:
1307 (WebCore::RenderLayer::RenderLayer):
1308 (WebCore::RenderLayer::compositor):
1309 (WebCore::RenderLayer::updateLayerPositions):
1310 (WebCore::RenderLayer::removeChild):
1311 (WebCore::RenderLayer::ensureBacking):
1312 * rendering/RenderLayer.h:
1313 (WebCore::RenderLayer::backing):
1314 * rendering/RenderLayerBacking.cpp:
1315 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1316 (WebCore::RenderLayerBacking::paintIntoLayer):
1317 (WebCore::RenderLayerBacking::notifyTransitionStarted):
1318 (WebCore::RenderLayerBacking::notifyAnimationStarted):
1319 * rendering/RenderLayerCompositor.cpp:
1320 (WebCore::RenderLayerCompositor::updateCompositingLayers):
1321 (WebCore::RenderLayerCompositor::updateLayerCompositingState):
1322 (WebCore::RenderLayerCompositor::layerWillBeRemoved):
1323 (WebCore::RenderLayerCompositor::ancestorCompositingLayer):
1324 (WebCore::RenderLayerCompositor::clippedByAncestor):
1325 * rendering/RenderLayerCompositor.h:
1326 * rendering/RenderObject.cpp:
1327 (WebCore::RenderObject::enclosingCompositingLayer):
1328 (WebCore::RenderObject::containingBlockWidth):
1329 (WebCore::RenderObject::containingBlockHeight):
1330 (WebCore::RenderObject::containerForRepaint):
1331 (WebCore::RenderObject::repaintUsingContainer):
1332 * rendering/RenderObject.h:
1333 * rendering/RenderView.cpp:
1334 (WebCore::RenderView::shouldRepaint):
1335 (WebCore::RenderView::repaintViewRectangle):
1336 (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
1337 (WebCore::RenderView::setMaximalOutlineSize):
1338 (WebCore::RenderView::usesCompositing):
1339 (WebCore::RenderView::compositor):
1340 (WebCore::RenderView::didMoveOnscreen):
1341 (WebCore::RenderView::willMoveOffscreen):
1342 * rendering/RenderView.h:
1343 * rendering/RenderWidget.cpp:
1344 (WebCore::RenderWidget::updateWidgetPosition):
1346 2009-02-04 Sam Weinig <sam@webkit.org>
1348 Reviewed by David Hyatt.
1350 Add toRenderImage methods for casting RenderObjects to RenderImages. The methods will assert if the object
1351 is not a RenderImage. Also add a toRenderImage method that takes a RenderImage but returns void and that
1352 is unimplemented. This method will catch anyone trying to do a cast when the object is already a RenderImage.
1354 * html/HTMLAnchorElement.cpp:
1355 (WebCore::HTMLAnchorElement::defaultEventHandler):
1356 * html/HTMLEmbedElement.cpp:
1357 (WebCore::HTMLEmbedElement::attach):
1358 * html/HTMLImageElement.cpp:
1359 (WebCore::HTMLImageElement::parseMappedAttribute):
1360 (WebCore::HTMLImageElement::attach):
1361 * html/HTMLInputElement.cpp:
1362 (WebCore::HTMLInputElement::parseMappedAttribute):
1363 (WebCore::HTMLInputElement::attach):
1364 * html/HTMLObjectElement.cpp:
1365 (WebCore::HTMLObjectElement::attach):
1366 * html/HTMLVideoElement.cpp:
1367 (WebCore::HTMLVideoElement::attach):
1368 * loader/ImageLoader.cpp:
1369 (WebCore::ImageLoader::setImage):
1370 (WebCore::ImageLoader::updateFromElement):
1371 (WebCore::ImageLoader::notifyFinished):
1372 * page/AccessibilityRenderObject.cpp:
1373 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1374 (WebCore::AccessibilityRenderObject::addChildren):
1375 * page/DragController.cpp:
1376 (WebCore::getCachedImage):
1377 (WebCore::getImage):
1378 * platform/mac/PasteboardMac.mm:
1379 (WebCore::Pasteboard::writeImage):
1380 * rendering/RenderImage.h:
1381 (WebCore::toRenderImage):
1382 * wml/WMLImageElement.cpp:
1383 (WebCore::WMLImageElement::parseMappedAttribute):
1384 (WebCore::WMLImageElement::attach):
1386 2009-02-04 Jungshik Shin <jshin@chromium.org>
1388 Reviewed by Eric Seidel and Dave Hyatt.
1390 https://bugs.webkit.org/show_bug.cgi?id=20531
1392 Make alternateFamilyName customized for Windows and Chromium.
1394 * platform/graphics/FontCache.cpp:
1395 (WebCore::alternateFamilyName):
1397 2009-02-04 Jungshik Shin <jshin@chromium.org>
1399 Reviewed by Eric Seidel.
1401 This comes from Chromium patch (http://codereview.chromium.org/17624).
1403 Add m_disableFontFallback to UniscriberHelper class and set it
1404 to true when filling up glyph pages for non-BMP code points.
1405 When it's set true, UniscriberHelper does not do its own font
1406 fallback. Neither does it do glyph placement. Font fallback
1407 will be taken care of in the simple script font path and glyph
1408 placement is not necessary for simple scripts.
1410 Layout test is missing at the moment due to the lack of freely
1411 distributable font covering a non-BMP code page. A test page
1412 is available at http://i18nl10n.com/webkit/nonbmp2.html
1414 See also https://bugs.webkit.org/show_bug.cgi?id=23602
1416 * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
1417 (WebCore::fillNonBMPGlyphs):
1418 * platform/graphics/chromium/UniscribeHelper.cpp:
1419 (WebCore::UniscribeHelper::UniscribeHelper):
1420 (WebCore::UniscribeHelper::shape):
1421 (WebCore::UniscribeHelper::fillShapes):
1422 * platform/graphics/chromium/UniscribeHelper.h:
1423 (WebCore::UniscribeHelper::setDisableFontFallback):
1425 2009-02-04 Sam Weinig <sam@webkit.org>
1427 Reviewed by David Hyatt.
1429 Remove some unnecessary #includes of RenderStyle.h
1431 * css/CSSPrimitiveValueMappings.h:
1432 * css/SVGCSSComputedStyleDeclaration.cpp:
1434 * rendering/PointerEventsHitRules.h:
1435 * rendering/RenderImageGeneratedContent.h:
1436 * rendering/RenderMarquee.h:
1437 * rendering/RenderScrollbar.h:
1439 2009-02-04 Dimitri Glazkov <dglazkov@chromium.org>
1441 Reviewed by Sam Weinig.
1443 https://bugs.webkit.org/show_bug.cgi?id=23657
1444 Clean up WebCore/storage IDLs.
1446 * storage/SQLError.idl: Changed to match spec.
1447 * storage/SQLResultSet.idl: Changed to match spec.
1448 * storage/SQLStatementCallback.idl: Removed.
1449 * storage/SQLStatementErrorCallback.idl: Removed.
1450 * storage/SQLTransactionCallback.idl: Removed.
1451 * storage/SQLTransactionErrorCallback.idl: Removed.
1453 2009-02-04 David Hyatt <hyatt@apple.com>
1455 Fix for https://bugs.webkit.org/show_bug.cgi?id=23734, blank content on blogs.msdn.com.
1457 Add debugging code that will catch the incorrect dirtying of a table section immediately if it happens
1458 during calcRowHeight or layoutRows. This should make it possible to discover future bugs where table sections don't
1461 The bug in blogs.msdn.com, which was caused by a bad setNeedsLayout in RenderLayer::updateScrollInfoAtferLayout. Make
1462 sure to do only a local setNeedsLayout inside that function.
1464 Reviewed by Beth Dakin
1466 * rendering/RenderLayer.cpp:
1467 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
1468 * rendering/RenderObject.cpp:
1469 (WebCore::RenderObject::RenderObject):
1470 * rendering/RenderObject.h:
1471 (WebCore::RenderObject::isSetNeedsLayoutForbidden):
1472 (WebCore::RenderObject::setNeedsLayoutIsForbidden):
1473 (WebCore::RenderObject::setNeedsLayout):
1474 (WebCore::RenderObject::setChildNeedsLayout):
1475 (WebCore::RenderObject::markContainingBlocksForLayout):
1476 * rendering/RenderTable.cpp:
1477 (WebCore::RenderTable::layout):
1478 * rendering/RenderTableSection.cpp:
1479 (WebCore::RenderTableSection::calcRowHeight):
1480 (WebCore::RenderTableSection::layoutRows):
1482 2009-02-04 Sam Weinig <sam@webkit.org>
1484 Reviewed by David Hyatt.
1486 Rename RenderStyle::Diff to StyleDifference and move it to
1487 RenderStyleConstants.h.
1489 * rendering/RenderBR.cpp:
1490 (WebCore::RenderBR::styleDidChange):
1491 * rendering/RenderBR.h:
1492 * rendering/RenderBlock.cpp:
1493 (WebCore::RenderBlock::styleWillChange):
1494 (WebCore::RenderBlock::styleDidChange):
1495 * rendering/RenderBlock.h:
1496 * rendering/RenderBox.cpp:
1497 (WebCore::RenderBox::styleWillChange):
1498 (WebCore::RenderBox::styleDidChange):
1499 * rendering/RenderBox.h:
1500 * rendering/RenderButton.cpp:
1501 (WebCore::RenderButton::styleWillChange):
1502 (WebCore::RenderButton::styleDidChange):
1503 * rendering/RenderButton.h:
1504 * rendering/RenderFieldset.cpp:
1505 (WebCore::RenderFieldset::styleDidChange):
1506 * rendering/RenderFieldset.h:
1507 * rendering/RenderFileUploadControl.cpp:
1508 (WebCore::RenderFileUploadControl::styleDidChange):
1509 * rendering/RenderFileUploadControl.h:
1510 * rendering/RenderInline.cpp:
1511 (WebCore::RenderInline::styleDidChange):
1512 * rendering/RenderInline.h:
1513 * rendering/RenderLayer.cpp:
1514 (WebCore::RenderLayer::styleChanged):
1515 * rendering/RenderLayer.h:
1516 * rendering/RenderLayerCompositor.cpp:
1517 (WebCore::RenderLayerCompositor::updateLayerCompositingState):
1518 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
1519 * rendering/RenderLayerCompositor.h:
1520 * rendering/RenderListBox.cpp:
1521 (WebCore::RenderListBox::styleDidChange):
1522 * rendering/RenderListBox.h:
1523 * rendering/RenderListItem.cpp:
1524 (WebCore::RenderListItem::styleDidChange):
1525 * rendering/RenderListItem.h:
1526 * rendering/RenderListMarker.cpp:
1527 (WebCore::RenderListMarker::styleWillChange):
1528 (WebCore::RenderListMarker::styleDidChange):
1529 * rendering/RenderListMarker.h:
1530 * rendering/RenderMenuList.cpp:
1531 (WebCore::RenderMenuList::styleDidChange):
1532 * rendering/RenderMenuList.h:
1533 * rendering/RenderObject.cpp:
1534 (WebCore::RenderObject::setStyle):
1535 (WebCore::RenderObject::styleWillChange):
1536 (WebCore::RenderObject::styleDidChange):
1537 * rendering/RenderObject.h:
1538 * rendering/RenderReplaced.cpp:
1539 (WebCore::RenderReplaced::styleDidChange):
1540 * rendering/RenderReplaced.h:
1541 * rendering/RenderSVGGradientStop.cpp:
1542 (WebCore::RenderSVGGradientStop::styleDidChange):
1543 * rendering/RenderSVGGradientStop.h:
1544 * rendering/RenderSVGInlineText.cpp:
1545 (WebCore::RenderSVGInlineText::styleDidChange):
1546 * rendering/RenderSVGInlineText.h:
1547 * rendering/RenderScrollbarPart.cpp:
1548 (WebCore::RenderScrollbarPart::styleWillChange):
1549 (WebCore::RenderScrollbarPart::styleDidChange):
1550 * rendering/RenderScrollbarPart.h:
1551 * rendering/RenderSlider.cpp:
1552 (WebCore::RenderSlider::styleDidChange):
1553 * rendering/RenderSlider.h:
1554 * rendering/RenderTable.cpp:
1555 (WebCore::RenderTable::styleDidChange):
1556 * rendering/RenderTable.h:
1557 * rendering/RenderTableCell.cpp:
1558 (WebCore::RenderTableCell::styleWillChange):
1559 (WebCore::RenderTableCell::styleDidChange):
1560 * rendering/RenderTableCell.h:
1561 * rendering/RenderTableRow.cpp:
1562 (WebCore::RenderTableRow::styleWillChange):
1563 * rendering/RenderTableRow.h:
1564 * rendering/RenderText.cpp:
1565 (WebCore::RenderText::styleDidChange):
1566 * rendering/RenderText.h:
1567 (WebCore::RenderText::styleWillChange):
1568 * rendering/RenderTextControl.cpp:
1569 (WebCore::RenderTextControl::styleDidChange):
1570 * rendering/RenderTextControl.h:
1571 * rendering/RenderTextControlSingleLine.cpp:
1572 (WebCore::RenderTextControlSingleLine::styleDidChange):
1573 * rendering/RenderTextControlSingleLine.h:
1574 * rendering/RenderWidget.cpp:
1575 (WebCore::RenderWidget::styleDidChange):
1576 * rendering/RenderWidget.h:
1577 * rendering/style/RenderStyle.cpp:
1578 (WebCore::RenderStyle::diff):
1579 (WebCore::RenderStyle::setClip):
1580 * rendering/style/RenderStyle.h:
1581 * rendering/style/RenderStyleConstants.h:
1584 2009-02-03 Sam Weinig <sam@webkit.org>
1586 Reviewed by David Hyatt.
1588 Move PseudoId enum out of RenderStyle and into RenderStyleConstants.h
1590 * css/CSSStyleSelector.cpp:
1591 (WebCore::CSSStyleSelector::matchRulesForList):
1592 (WebCore::CSSStyleSelector::initForStyleResolve):
1593 (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
1594 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
1595 (WebCore::CSSStyleSelector::styleForElement):
1596 (WebCore::CSSStyleSelector::pseudoStyleForElement):
1597 (WebCore::CSSStyleSelector::checkSelector):
1598 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1599 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
1600 (WebCore::CSSStyleSelector::applyProperty):
1601 * css/CSSStyleSelector.h:
1603 (WebCore::Node::diff):
1604 * page/FrameView.cpp:
1605 (WebCore::FrameView::createScrollbar):
1606 * rendering/InlineTextBox.cpp:
1607 (WebCore::InlineTextBox::paint):
1608 * rendering/MediaControlElements.cpp:
1609 (WebCore::MediaTextDisplayElement::MediaTextDisplayElement):
1610 (WebCore::MediaTimeDisplayElement::MediaTimeDisplayElement):
1611 (WebCore::MediaControlInputElement::MediaControlInputElement):
1612 (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
1613 (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
1614 (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
1615 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
1616 (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
1617 * rendering/MediaControlElements.h:
1618 * rendering/RenderBlock.cpp:
1619 (WebCore::RenderBlock::styleDidChange):
1620 (WebCore::RenderBlock::updateBeforeAfterContent):
1621 (WebCore::RenderBlock::firstLineBlock):
1622 (WebCore::RenderBlock::updateFirstLetter):
1623 * rendering/RenderBlock.h:
1624 * rendering/RenderBox.cpp:
1625 (WebCore::RenderBox::isAfterContent):
1626 * rendering/RenderButton.cpp:
1627 (WebCore::RenderButton::updateBeforeAfterContent):
1628 * rendering/RenderButton.h:
1629 * rendering/RenderFileUploadControl.cpp:
1630 (WebCore::RenderFileUploadControl::createButtonStyle):
1631 * rendering/RenderInline.cpp:
1632 (WebCore::RenderInline::styleDidChange):
1633 (WebCore::isAfterContent):
1634 (WebCore::RenderInline::addChildIgnoringContinuation):
1635 (WebCore::RenderInline::splitInlines):
1636 * rendering/RenderLayer.cpp:
1637 (WebCore::RenderLayer::createScrollbar):
1638 (WebCore::RenderLayer::updateScrollCornerStyle):
1639 (WebCore::RenderLayer::updateResizerStyle):
1640 * rendering/RenderListBox.cpp:
1641 (WebCore::RenderListBox::createScrollbar):
1642 * rendering/RenderMedia.cpp:
1643 (WebCore::RenderMedia::createPanel):
1644 (WebCore::RenderMedia::createTimelineContainer):
1645 * rendering/RenderMenuList.cpp:
1646 (WebCore::RenderMenuList::createScrollbar):
1647 * rendering/RenderObject.cpp:
1648 (WebCore::RenderObject::selectionBackgroundColor):
1649 (WebCore::RenderObject::selectionForegroundColor):
1650 (WebCore::RenderObject::firstLineStyleSlowCase):
1651 (WebCore::RenderObject::getCachedPseudoStyle):
1652 (WebCore::RenderObject::getUncachedPseudoStyle):
1653 * rendering/RenderObject.h:
1654 (WebCore::RenderObject::isAnonymousBlock):
1655 * rendering/RenderObjectChildList.cpp:
1656 (WebCore::RenderObjectChildList::destroyLeftoverChildren):
1657 (WebCore::beforeAfterContainer):
1658 (WebCore::RenderObjectChildList::invalidateCounters):
1659 (WebCore::RenderObjectChildList::updateBeforeAfterContent):
1660 * rendering/RenderObjectChildList.h:
1661 * rendering/RenderScrollbar.cpp:
1662 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
1663 (WebCore::pseudoForScrollbarPart):
1664 * rendering/RenderScrollbar.h:
1665 * rendering/RenderSlider.cpp:
1666 (WebCore::RenderSlider::createThumbStyle):
1667 * rendering/RenderTextControlSingleLine.cpp:
1668 (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
1669 (WebCore::RenderTextControlSingleLine::createResultsButtonStyle):
1670 (WebCore::RenderTextControlSingleLine::createCancelButtonStyle):
1671 (WebCore::RenderTextControlSingleLine::createScrollbar):
1672 * rendering/style/RenderStyle.cpp:
1673 (WebCore::pseudoBit):
1674 * rendering/style/RenderStyle.h:
1676 * rendering/style/RenderStyleConstants.h:
1679 2009-02-04 David Kilzer <ddkilzer@apple.com>
1681 CrashTracer: [REGRESSION] 53 crashes in Safari at com.apple.WebCore: WebCore::LegacyWebArchive::create + 2706
1683 <rdar://problem/6509514>
1685 Reviewed by Mark Rowe.
1687 * loader/archive/cf/LegacyWebArchive.cpp:
1688 (WebCore::LegacyWebArchive::create): Fix it correctly this time.
1689 Check for the value returned from WebCore::IconDatabase::iconForPageURL(),
1690 not WebCore::Image::data().
1692 2009-02-04 David Hyatt <hyatt@apple.com>
1694 Rename removeFromObjectLists and move it into RenderBox, since it only applies to boxes.
1696 Reviewed by Adam Roben
1698 * rendering/RenderBox.cpp:
1699 (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
1700 (WebCore::RenderBox::styleWillChange):
1701 * rendering/RenderBox.h:
1702 * rendering/RenderContainer.cpp:
1703 (WebCore::RenderContainer::removeChild):
1704 * rendering/RenderObject.cpp:
1705 (WebCore::RenderObject::styleWillChange):
1706 * rendering/RenderObject.h:
1707 * rendering/RenderSVGContainer.cpp:
1708 (WebCore::RenderSVGContainer::removeChild):
1710 2009-02-04 Jeremy Moskovich <jeremy@chromium.org>
1712 Reviewed by Dave Hyatt.
1714 https://bugs.webkit.org/show_bug.cgi?id=23471
1715 Fix text-overflow:ellipsis; for RTL case.
1717 Test: fast/css/text-overflow-ellipses.html
1719 * rendering/InlineTextBox.cpp:
1720 (WebCore::InlineTextBox::placeEllipsisBox): Add support for rtl placement.
1721 (WebCore::InlineTextBox::paintDecoration): Correctly draw decorations
1724 2009-02-04 Dimitri Glazkov <dglazkov@chromium.org>
1726 Reviewed by Darin Adler.
1728 https://bugs.webkit.org/show_bug.cgi?id=23700
1729 Upstream local changes to due to unforking of SimpleFontData
1730 (corresponds to Chromium check-in http://src.chromium.org/viewvc/chrome?view=rev&revision=8646).
1732 * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
1733 (WebCore::fillBMPGlyphs): Removed extra checks for ZWS chars.
1735 2009-02-04 David Hyatt <hyatt@apple.com>
1737 <rdar://problem/6554115> REGRESSION (r40475): World leak (JS global object) after viewing a photo on Facebook
1739 Fix a ginormous leak. (GINORMOUS!) Make sure to disconnect the event listeners attached to the Document,
1740 because, like, they point to a lot of stuff... like ... everything...
1742 Reviewed by Darin Adler
1745 (WebCore::Document::removeAllEventListenersFromAllNodes):
1747 2009-02-04 Darin Fisher <darin@chromium.org>
1749 Reviewed by Darin Adler.
1751 https://bugs.webkit.org/show_bug.cgi?id=23731
1752 Add JSCCustom and V8Custom as extended IDL attributes
1754 This helps avoid having to add #ifdefs to the IDL files to support V8 bindings.
1756 * bindings/scripts/CodeGeneratorJS.pm:
1759 * svg/SVGPathSegList.idl:
1760 * svg/SVGPointList.idl:
1761 * svg/SVGTransformList.idl:
1763 2009-02-04 Dan Bernstein <mitz@apple.com>
1767 * rendering/RenderImageGeneratedContent.h:
1769 2009-02-04 miggilin <mr.diggilin@gmail.com>
1771 Reviewed by Kevin Ollivier.
1773 Switch to using a ref-counted wxFont pointer for FontPlatformData to fix a crash
1774 with assigning to uninitialized HashTable buckets.
1776 https://bugs.webkit.org/show_bug.cgi?id=23669
1778 * platform/graphics/SimpleFontData.h:
1779 (WebCore::SimpleFontData::getWxFont):
1780 * platform/graphics/wx/FontPlatformData.h:
1782 (WebCore::FontPlatformData::FontPlatformData):
1783 (WebCore::FontPlatformData::font):
1784 (WebCore::FontPlatformData::operator==):
1785 * platform/graphics/wx/FontPlatformDataWx.cpp:
1786 (WebCore::FontPlatformData::FontPlatformData):
1787 (WebCore::FontPlatformData::computeHash):
1788 (WebCore::FontPlatformData::~FontPlatformData):
1789 * platform/graphics/wx/SimpleFontDataWx.cpp:
1790 (WebCore::SimpleFontData::platformInit):
1791 (WebCore::SimpleFontData::determinePitch):
1792 (WebCore::SimpleFontData::platformWidthForGlyph):
1793 * platform/wx/wxcode/gtk/non-kerned-drawing.cpp:
1794 (WebCore::drawTextWithSpacing):
1796 2009-02-04 David Hyatt <hyatt@apple.com>
1798 Fix a crash in generated content when a generated image with an already-cached background image gets
1799 created. It's not completely clear how to reproduce this crash.
1801 Reviewed by Adam Roben
1803 * rendering/RenderImageGeneratedContent.h:
1804 (WebCore::RenderImageGeneratedContent::imagePtr):
1806 2009-02-04 Simon Hausmann <simon.hausmann@nokia.com>
1808 Unreviewed Qt build fix.
1810 Changed ASSERT(image) to ASSERT(!image.isNull()).
1812 * platform/graphics/qt/ImageBufferQt.cpp:
1813 (WebCore::ImageBuffer::getImageData):
1815 2009-02-04 Trenton Schulz <trenton.schulz@nokia.com>
1817 Reviewed by Simon Hausmann.
1819 Fix implementation of PluginViewMac::invalidateRect to update only the
1820 specified rect, not the entire browser window.
1822 * plugins/mac/PluginViewMac.cpp:
1823 (WebCore::PluginView::invalidateRect):
1825 2009-02-04 Holger Hans Peter Freyther <zecke@selfish.org>
1827 Rubber stamped by Mark Rowe.
1829 FramePrivate was removed in r40024 remove the forward
1830 declaration as well.
1834 2009-02-04 Holger Hans Peter Freyther <zecke@selfish.org>
1836 Reviewed by Sam Weinig.
1838 https://bugs.webkit.org/show_bug.cgi?id=23426
1840 Make isFrameSet virtual and by default return false. Reimplement
1845 (WebCore::Document::isFrameSet):
1846 * html/HTMLDocument.cpp:
1847 (WebCore::HTMLDocument::isFrameSet):
1848 * html/HTMLDocument.h:
1850 2009-02-03 Oliver Hunt <oliver@apple.com>
1852 Reviewed by John Sullivan.
1854 <rdar://problem/6554092> Slow script dialog starts coming up over and over again
1856 Work around <rdar://problem/6554067> by consuming any exceptions that are
1857 thrown by _web_localizedDescription
1859 * platform/network/mac/ResourceErrorMac.mm:
1860 (WebCore::ResourceError::platformLazyInit):
1862 2009-02-03 David Hyatt <hyatt@apple.com>
1864 Move the isRenderInline checks for clientWidth/Height and scrollWidth/Height to the DOM element
1865 versions of the functions. Since internal render tree usage doesn't ever (incorrectly) call these
1866 functions on RenderInlines, this manages to get virtual function calls out of contentWidth/Height and
1867 availableWidth/Height.
1869 Reviewed by Mark Rowe
1872 (WebCore::Element::clientWidth):
1873 (WebCore::Element::clientHeight):
1874 (WebCore::Element::scrollWidth):
1875 (WebCore::Element::scrollHeight):
1876 * rendering/RenderBox.cpp:
1877 (WebCore::RenderBox::clientWidth):
1878 (WebCore::RenderBox::clientHeight):
1879 (WebCore::RenderBox::scrollWidth):
1880 (WebCore::RenderBox::scrollHeight):
1882 2009-02-03 Brad Garcia <bgarcia@google.com>
1884 Reviewed by Eric Seidel.
1886 https://bugs.webkit.org/show_bug.cgi?id=20443
1887 Remove call to canResize when trying to determine if pointer
1889 Also removed the implementation of canResize as it is no longer used.
1891 Test: fast/frames/frame-dead-region.html
1893 * rendering/RenderFrameSet.cpp:
1894 (WebCore::RenderFrameSet::nodeAtPoint):
1895 * rendering/RenderFrameSet.h:
1897 2009-02-03 David Hyatt <hyatt@apple.com>
1899 Reduce the number of calls to virtualChildren (indirectly made via RenderObject::firstChild()).
1900 This is a small gain on the PLT.
1902 Reviewed by Mark Rowe
1904 * rendering/bidi.cpp:
1905 (WebCore::inlineWidth):
1906 (WebCore::bidiNext):
1908 2009-02-03 Simon Fraser <simon.fraser@apple.com>
1910 Reviewed by Dave Hyatt
1912 https://bugs.webkit.org/show_bug.cgi?id=23628
1914 Fix selection repainting to do container-relative repaints. RenderView now
1915 repaints the selection using the containerForRepaint() for each RenderSelectionInfo.
1916 selectionRect() is now a wrapper for selectionRectForRepaint() with no container.
1918 Pull SelectionInfo out of RenderObject.h, and BlockSelectionInfo out
1919 of RenderBlock.h and move them into RenderSelectionInfo.h, with some
1920 sharing and refactoring.
1922 RenderBlock::selectionGapRectsForRepaint() is not yet container-aware.
1925 * WebCore.vcproj/WebCore.vcproj:
1926 * WebCore.xcodeproj/project.pbxproj:
1927 * rendering/RenderBR.h:
1928 (WebCore::RenderBR::selectionRectForRepaint):
1929 * rendering/RenderBlock.cpp:
1930 (WebCore::RenderBlock::selectionGapRectsForRepaint):
1931 * rendering/RenderBlock.h:
1932 (WebCore::RenderBlock::selectionRectForRepaint):
1933 * rendering/RenderListMarker.cpp:
1934 (WebCore::RenderListMarker::paint):
1935 (WebCore::RenderListMarker::selectionRectForRepaint):
1936 * rendering/RenderListMarker.h:
1937 * rendering/RenderObject.h:
1938 (WebCore::RenderObject::selectionRect):
1939 (WebCore::RenderObject::selectionRectForRepaint):
1940 * rendering/RenderReplaced.cpp:
1941 (WebCore::RenderReplaced::selectionRectForRepaint):
1942 * rendering/RenderReplaced.h:
1943 * rendering/RenderSVGInlineText.cpp:
1944 (WebCore::RenderSVGInlineText::absoluteRects):
1945 (WebCore::RenderSVGInlineText::absoluteQuads):
1946 (WebCore::RenderSVGInlineText::selectionRectForRepaint):
1947 (WebCore::RenderSVGInlineText::computeRepaintRectForRange):
1948 * rendering/RenderSVGInlineText.h:
1949 * rendering/RenderSelectionInfo.h: Added.
1950 (WebCore::RenderSelectionInfoBase::RenderSelectionInfoBase):
1951 (WebCore::RenderSelectionInfoBase::object):
1952 (WebCore::RenderSelectionInfoBase::repaintContainer):
1953 (WebCore::RenderSelectionInfoBase::state):
1954 (WebCore::RenderSelectionInfo::RenderSelectionInfo):
1955 (WebCore::RenderSelectionInfo::repaint):
1956 (WebCore::RenderSelectionInfo::rect):
1957 (WebCore::RenderBlockSelectionInfo::RenderBlockSelectionInfo):
1958 (WebCore::RenderBlockSelectionInfo::repaint):
1959 (WebCore::RenderBlockSelectionInfo::block):
1960 (WebCore::RenderBlockSelectionInfo::rects):
1961 * rendering/RenderText.cpp:
1962 (WebCore::RenderText::selectionRectForRepaint):
1963 * rendering/RenderText.h:
1964 * rendering/RenderView.cpp:
1965 (WebCore::RenderView::selectionBounds):
1966 (WebCore::RenderView::setSelection):
1967 * rendering/RenderView.h:
1968 * rendering/RenderWidget.cpp:
1969 (WebCore::RenderWidget::paint):
1971 2009-02-03 David Hyatt <hyatt@apple.com>
1973 Add inline capacity back to CSSMutableStyleDeclaration now that the bug in Vector has been fixed.
1975 Reviewed by Darin Adler & Sam Weinig
1977 * css/CSSMutableStyleDeclaration.cpp:
1978 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
1979 * css/CSSMutableStyleDeclaration.h:
1981 2009-02-03 Justin Garcia <justin.garcia@apple.com>
1983 Reviewed by Darin Adler.
1985 https://bugs.webkit.org/show_bug.cgi?id=13490
1986 Implement execCommand("styleWithCSS", ...)
1988 Determine whether or not to use HTML formatting tags for styling on the new
1989 boolean on Editor instead of whether or not the document is quirks mode.
1991 * editing/ApplyStyleCommand.cpp:
1992 (WebCore::StyleChange::StyleChange):
1993 (WebCore::StyleChange::init):
1994 (WebCore::ApplyStyleCommand::applyBlockStyle):
1995 (WebCore::ApplyStyleCommand::applyTextDecorationStyle):
1996 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
1997 * editing/Editor.cpp:
1998 (WebCore::Editor::Editor):
1999 (WebCore::Editor::clear):
2001 (WebCore::Editor::setShouldStyleWithCSS):
2002 (WebCore::Editor::shouldStyleWithCSS):
2003 * editing/EditorCommand.cpp:
2004 (WebCore::executeStyleWithCSS):
2005 (WebCore::stateStyleWithCSS):
2006 (WebCore::CommandEntry::):
2008 2009-02-03 Dirk Schulze <krit@webkit.org>
2010 Reviewed by Sam Weinig.
2012 This is a follow up of r40546. Call toImage() once speeds up ImageBuffer::getImageData()
2014 * platform/graphics/qt/ImageBufferQt.cpp:
2015 (WebCore::ImageBuffer::getImageData):
2017 2009-02-03 Anders Carlsson <andersca@apple.com>
2019 Reviewed by Kevin Decker.
2021 - Fix for <rdar://problem/6549743>
2023 On Tiger, create an autorelease pool before creating the NSGraphicsContext and drain it immediately
2024 after the call to -[NSView displayRectIgnoringOpacity:inContext:].
2026 * platform/mac/WidgetMac.mm:
2027 (WebCore::Widget::paint):
2029 2009-02-03 David Hyatt <hyatt@apple.com>
2031 Back this change out since it is causing layout tests to crash. There is something subtle going on
2034 Reviewed by Darin Adler
2036 * css/CSSMutableStyleDeclaration.cpp:
2037 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
2038 * css/CSSMutableStyleDeclaration.h:
2040 2009-02-03 David Hyatt <hyatt@apple.com>
2042 Give the properties vector of mutable style declarations an initial inline capacity to reduce malloc churn.
2044 Reviewed by Sam Weinig
2046 * css/CSSMutableStyleDeclaration.cpp:
2047 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
2048 * css/CSSMutableStyleDeclaration.h:
2050 2009-02-03 David Hyatt <hyatt@apple.com>
2052 Avoid creating extra copies of NSURLRequests for non-HTTP URLs. Only mark platform requests
2053 as needing updating when HTTP fields change if the scheme of the URL is actually HTTP or HTTPS.
2054 Thus cuts down significantly on the number of copied NSURLRequests and is about a 1% gain on the PLT.
2056 Reviewed by Darin Adler
2058 * loader/FrameLoader.cpp:
2059 (WebCore::FrameLoader::addExtraFieldsToRequest):
2060 * platform/KURL.cpp:
2061 (WebCore::KURL::invalidate):
2062 (WebCore::KURL::KURL):
2064 (WebCore::KURL::isHTTPOrHTTPS):
2065 * platform/network/ResourceRequestBase.cpp:
2066 (WebCore::ResourceRequestBase::setCachePolicy):
2067 (WebCore::ResourceRequestBase::setTimeoutInterval):
2068 (WebCore::ResourceRequestBase::setMainDocumentURL):
2069 (WebCore::ResourceRequestBase::setHTTPMethod):
2070 (WebCore::ResourceRequestBase::setHTTPHeaderField):
2071 (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
2072 (WebCore::ResourceRequestBase::setHTTPBody):
2073 (WebCore::ResourceRequestBase::setAllowHTTPCookies):
2075 2009-02-03 Xan Lopez <xan@gnome.org>
2077 Reviewed by Holger Freyther.
2079 https://bugs.webkit.org/show_bug.cgi?id=23711
2081 Add manual test for floating divs with scrollbars.
2083 * manual-tests/gtk/floatingdiv.html: Added.
2085 2009-02-03 Xan Lopez <xan@gnome.org>
2087 Reviewed by Holger Freyther.
2089 https://bugs.webkit.org/show_bug.cgi?id=23711
2091 There's no need to hold an extra ref to the scrollbar, calling
2092 setPlatformWidget takes ownership of it.
2094 Also do not disconnect the signals when destroying the widget,
2097 * platform/gtk/ScrollbarGtk.cpp:
2098 (ScrollbarGtk::ScrollbarGtk):
2099 * platform/gtk/ScrollbarGtk.h:
2101 2009-02-03 Xan Lopez <xan@gnome.org>
2103 Reviewed by Holger Freyther.
2105 https://bugs.webkit.org/show_bug.cgi?id=23711
2107 Declare scrollBar as GtkWidget* to avoid needless
2110 * platform/gtk/ScrollbarGtk.cpp:
2111 (ScrollbarGtk::ScrollbarGtk):
2112 (ScrollbarGtk::~ScrollbarGtk):
2114 2009-02-03 Xan Lopez <xan@gnome.org>
2116 Reviewed by Holger Freyther.
2118 https://bugs.webkit.org/show_bug.cgi?id=23711
2120 Properly calculate the scrollbar location for their
2121 usage in RenderLayout.
2123 * platform/gtk/ScrollbarGtk.cpp:
2124 (ScrollbarGtk::frameRectsChanged):
2126 2009-02-03 David Hyatt <hyatt@apple.com>
2128 Rename addLineBoxRects to absoluteRectsForRange, and do the same thing for the corresponding quads methods. Move the RenderContainer implementations
2129 of these methods up to RenderObject.
2131 Reviewed by Beth Dakin
2133 * bindings/objc/DOM.mm:
2134 (-[DOMNode lineBoxRects]):
2136 (WebCore::Range::addLineBoxRects):
2137 * inspector/InspectorController.cpp:
2138 (WebCore::InspectorController::drawNodeHighlight):
2139 * rendering/RenderContainer.cpp:
2140 * rendering/RenderContainer.h:
2141 * rendering/RenderObject.cpp:
2142 (WebCore::RenderObject::absoluteRectsForRange):
2143 (WebCore::RenderObject::absoluteQuadsForRange):
2144 * rendering/RenderObject.h:
2145 * rendering/RenderText.cpp:
2146 (WebCore::RenderText::absoluteRectsForRange):
2147 (WebCore::RenderText::absoluteQuadsForRange):
2148 * rendering/RenderText.h:
2150 2009-02-03 Dirk Schulze <krit@webkit.org>
2152 Reviewed by Sam Weinig and Oliver Hunt.
2154 Added getImageData() support for QtWebKit.
2156 [QT] lacks getImageData / putImageData support in Canvas
2157 https://bugs.webkit.org/show_bug.cgi?id=22186
2159 * platform/graphics/qt/ImageBufferQt.cpp:
2160 (WebCore::ImageBuffer::getImageData):
2162 2009-02-03 Eric Roman <eroman@chromium.org>
2164 Reviewed by Holger Freyther.
2166 Fix FrameChromium.cpp following r40473 which moved Frame::adjustPageHeight to FrameView::adjustPageHeight.
2168 * page/chromium/FrameChromium.cpp:
2169 (WebCore::computePageRectsForFrame):
2171 2009-02-02 Simon Fraser <simon.fraser@apple.com>
2173 Reviewed by Dave Hyatt
2175 https://bugs.webkit.org/show_bug.cgi?id=23358
2177 Hook accelerated compositing into RenderLayer.
2179 * rendering/RenderLayer.cpp:
2180 (WebCore::RenderLayer::RenderLayer):
2181 (WebCore::RenderLayer::~RenderLayer):
2182 Init and clean up backing and the hasCompositingDescendant bit.
2184 (WebCore::RenderLayer::compositor):
2185 Shortcut to get to the RenderLayerCompositor.
2187 (WebCore::RenderLayer::updateLayerPositions):
2188 We need to let full repaints propagate to all compositing layers, and
2189 update the backing after layout here.
2191 (WebCore::RenderLayer::transparentAncestor):
2192 (WebCore::transparencyClipBox):
2193 (WebCore::RenderLayer::beginTransparencyLayers):
2194 Account for the fact that opacity may be rendered via the compositing
2197 (WebCore::RenderLayer::addChild):
2198 (WebCore::RenderLayer::removeChild):
2199 (WebCore::RenderLayer::removeOnlyThisLayer):
2200 Tell the compositor when the RenderLayer hierarchy changes.
2202 (WebCore::RenderLayer::scrollToOffset):
2203 Update layer geometry after scrolling.
2205 (WebCore::RenderLayer::paintLayer):
2206 We short-circuit painting on composited layers, because these layers
2207 are painted on a callback from the compositing system.
2209 (WebCore::RenderLayer::hitTestLayer):
2210 Only apply transforms if we are rendering them in software.
2212 (WebCore::RenderLayer::localBoundingBox):
2213 (WebCore::RenderLayer::boundingBox):
2214 (WebCore::RenderLayer::absoluteBoundingBox):
2215 Refactor bounding box code that we can compute local, and ancestor-relative
2216 bounding box, as well as absolute.
2218 (WebCore::RenderLayer::ensureBacking):
2219 (WebCore::RenderLayer::clearBacking):
2220 RenderLayerBacking creation and destruction.
2222 (WebCore::RenderLayer::setParent):
2223 Tell the compositor when the RenderLayer hierarchy changes.
2225 (WebCore::RenderLayer::dirtyZOrderLists):
2226 (WebCore::RenderLayer::dirtyStackingContextZOrderLists):
2227 (WebCore::RenderLayer::dirtyOverflowList):
2228 When the z-order and overflow lists change, we need to tell the
2229 compositor that the composited layers need to be rejiggered soon.
2231 (WebCore::RenderLayer::updateZOrderLists):
2234 (WebCore::RenderLayer::setBackingNeedsRepaint):
2235 (WebCore::RenderLayer::setBackingNeedsRepaintInRect):
2236 Dirty composited layer contents for painting.
2238 (WebCore::RenderLayer::styleChanged):
2239 Update the layer backing after style changes.
2241 * rendering/RenderLayer.h:
2242 (WebCore::RenderLayer::isComposited):
2243 (WebCore::RenderLayer::backing):
2244 Accessors for testing and getting the backing for this RenderLayer.
2246 (WebCore::RenderLayer::paintsWithTransparency):
2247 (WebCore::RenderLayer::paintsWithTransform):
2248 Transform and opacity can be applied via the compositing layer, or rendered
2249 in software. These methods tell us if we need to account for them in the
2250 non-compositing path.
2252 (WebCore::RenderLayer::hasCompositingDescendant):
2253 (WebCore::RenderLayer::setHasCompositingDescendant):
2254 Maintain a bit to tell if this layer has composited descendants.
2256 2009-02-03 Simon Fraser <simon.fraser@apple.com>
2258 Reviewed by Dave Hyatt
2260 https://bugs.webkit.org/show_bug.cgi?id=23365
2262 Hook up accelerated compositing layers the native
2266 Export new Page methods.
2268 * page/ChromeClient.h:
2269 (WebCore::ChromeClient::attachRootGraphicsLayer):
2270 (WebCore::ChromeClient::setNeedsOneShotDrawingSynchronization):
2271 New methods for attaching/detaching the root GraphicsLayer, and
2272 synchronizing layer changes with window drawing.
2275 * page/FrameView.cpp:
2276 (WebCore::FrameView::updateCompositingLayers):
2277 (WebCore::FrameView::setNeedsOneShotDrawingSynchronization):
2278 (WebCore::FrameView::didMoveOnscreen):
2279 (WebCore::FrameView::willMoveOffscreen):
2280 New methods to update the compositing layer hierarchy,
2281 and pass-throughs to the RenderLayerCompositor.
2283 (WebCore::FrameView::layout):
2284 Update compositing layers after layout() and updateLayerPositions().
2287 (WebCore::Page::didMoveOnscreen):
2288 (WebCore::Page::willMoveOffscreen):
2290 New methods to allow the native view system to tell the Page when it
2291 starts to be presented on-screen, and when it will be hidden.
2293 * rendering/RenderLayerCompositor.h:
2294 * rendering/RenderLayerCompositor.cpp:
2295 (WebCore::RenderLayerCompositor::updateLayerCompositingState):
2296 (WebCore::RenderLayerCompositor::didMoveOnscreen):
2297 (WebCore::RenderLayerCompositor::willMoveOffscreen):
2298 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
2299 Rename 'attached' methods to 'moveOnscreen/moveOffscreen' to match
2300 the calls through from Page, FrameView.
2302 (WebCore::RenderLayerCompositor::layerWillBeRemoved):
2303 Dont' try to repaint or update layers if the document is being torn
2306 * rendering/RenderView.cpp:
2307 (WebCore::RenderView::didMoveOnscreen):
2308 (WebCore::RenderView::willMoveOffscreen):
2309 * rendering/RenderView.h:
2312 2009-02-03 Dirk Schulze <krit@webkit.org>
2314 Reviewed by Holger Hans Peter Freyther.
2316 Fixed getImageData and putImageData and respect pre-
2319 Cairo's ImageBuffer::getImageData() does not handle alpha=0 case correctly
2320 https://bugs.webkit.org/show_bug.cgi?id=21575
2322 * platform/graphics/cairo/ImageBufferCairo.cpp:
2323 (WebCore::ImageBuffer::getImageData):
2324 (WebCore::ImageBuffer::putImageData):
2326 2009-02-03 Dan Bernstein <mitz@apple.com>
2328 Reviewed by Brady Eidson.
2330 - fix <rdar://problem/6550530> REGRESSION (r40508): Window opened with window.open has no initial history item (global and back/forward)
2332 Test: fast/history/window-open.html
2334 * bindings/js/JSDOMWindowBase.cpp:
2335 (WebCore::createWindow): Pass the missing lockBackForwardList parameter
2336 to FrameLoader::changeLocation().
2338 2009-02-03 Adam Treat <adam.treat@torchmobile.com>
2340 Fix the Qt build after r40536.
2342 * bridge/qt/qt_runtime.cpp:
2343 (JSC::Bindings::convertQVariantToValue):
2345 2009-02-03 Dan Bernstein <mitz@apple.com>
2347 - fix -Wmissing-prototypes builds
2349 * loader/WorkerThreadableLoader.cpp:
2350 (WebCore::workerContextDidSendData): Marked this function static.
2351 (WebCore::workerContextDidReceiveResponse): Ditto.
2352 (WebCore::workerContextDidReceiveData): Ditto.
2353 (WebCore::workerContextDidFinishLoading): Ditto.
2354 (WebCore::workerContextDidFail): Ditto.
2355 (WebCore::workerContextDidGetCancelled): Ditto.
2356 (WebCore::workerContextDidReceiveAuthenticationCancellation): Ditto.
2358 2009-02-03 David Kilzer <ddkilzer@apple.com>
2360 CrashTracer: [REGRESSION] 53 crashes in Safari at com.apple.WebCore: WebCore::LegacyWebArchive::create + 2706
2362 <rdar://problem/6509514>
2364 Reviewed by Adam Roben.
2366 * loader/archive/cf/LegacyWebArchive.cpp:
2367 (WebCore::LegacyWebArchive::create): Null check the value returned
2368 from WebCore::IconDatabase::iconForPageURL().
2370 2009-02-03 Simon Hausmann <simon.hausmann@nokia.com>
2372 Reviewed by Tor Arne Vestbø.
2374 Fix conversion of QByteArray to JavaScript and back. Instead of
2375 converting it to a String (data loss!) we now map it to JSByteArray.
2377 * bridge/qt/qt_runtime.cpp:
2379 (JSC::Bindings::valueRealType): Added JSByteArray as converstion type.
2380 (JSC::Bindings::convertValueToQVariant): Convert from JSByteArray to
2381 QVariant(QByteArray).
2382 (JSC::Bindings::convertQVariantToValue): Convert from
2383 QVariant::ByteArray to jsByteArray.
2385 2009-02-03 Alexey Proskuryakov <ap@webkit.org>
2389 * GNUmakefile.am: Removed WorkerTask.{h,cpp}.
2391 2009-02-03 Dmitry Titov <dimich@chromium.org>
2393 Reviewed by Alexey Proskuryakov.
2395 https://bugs.webkit.org/show_bug.cgi?id=22718
2396 Implement WindowTimers interface in Workers.
2398 This patch moves timeoutID from Document to ScriptExecutionContext
2399 and exposes JS methods setTimeout/setInterval/clearTimeout/clearInterval inside of a Worker.
2400 Also added a test for those methods.
2402 Test: fast/workers/worker-timeout.html
2404 * bindings/js/JSWorkerContextCustom.cpp:
2405 (WebCore::setTimeoutOrInterval):
2406 Creates ScheduledAction and calls WorkerContext::installTimeout to actually add a timer.
2408 (WebCore::JSWorkerContext::setTimeout):
2409 (WebCore::JSWorkerContext::clearTimeout):
2410 (WebCore::JSWorkerContext::setInterval):
2411 (WebCore::JSWorkerContext::clearInterval):
2412 Added methods exposed to JS.
2416 * dom/ScriptExecutionContext.cpp:
2417 (WebCore::ScriptExecutionContext::addTimeout):
2418 (WebCore::ScriptExecutionContext::removeTimeout):
2419 (WebCore::ScriptExecutionContext::findTimeout):
2420 * dom/ScriptExecutionContext.h:
2421 The timerID map moves from Document to ScriptExecutionContext,
2422 to be available to Document and to WorkerContext.
2424 * dom/WorkerContext.cpp:
2425 (WebCore::WorkerContext::installTimeout): Adds a DOMTimeout.
2426 (WebCore::WorkerContext::removeTimeout): Removes a DOMTimeout.
2427 * dom/WorkerContext.h:
2429 * page/DOMTimer.cpp:
2430 (WebCore::DOMTimer::DOMTimer):
2431 (WebCore::DOMTimer::~DOMTimer):
2432 (WebCore::DOMTimer::removeById):
2433 Code change here reflects move of timeoutID map to the ScriptExecutionContext.
2434 Some checks and casts are no longer needed.
2436 2009-02-03 Dmitry Titov <dimich@chromium.org>
2438 Reviewed by Alexey Proskuryakov.
2440 https://bugs.webkit.org/show_bug.cgi?id=23560
2441 Implement SharedTimer for Workers.
2443 * dom/WorkerRunLoop.cpp:
2444 Added private class WorkerSharedTimer that implements SharedTimer interface for worker threads.
2445 (WebCore::WorkerSharedTimer::WorkerSharedTimer):
2446 (WebCore::WorkerSharedTimer::setFiredFunction):
2447 (WebCore::WorkerSharedTimer::setFireTime):
2448 (WebCore::WorkerSharedTimer::stop):
2449 (WebCore::WorkerSharedTimer::isActive):
2450 (WebCore::WorkerSharedTimer::fireTime):
2451 (WebCore::WorkerSharedTimer::fire):
2452 (WebCore::WorkerRunLoop::WorkerRunLoop):
2453 Initializes a WorkerSharedTimer instance.
2454 (WebCore::WorkerRunLoop::~WorkerRunLoop):
2455 The destructor is here so compiler is ok with having OwnPtr<WorkerSharedTimer> in .h file w/o defining WorkerSharedTimer.
2456 (WebCore::WorkerRunLoop::run):
2457 Set/reset shared timer interface on ThreadTimers, use MessageQueue::waitForMessageTimed() if timer is active.
2458 * dom/WorkerRunLoop.h:
2459 Add member of type OwnPtr<WorkerSharedTimer>
2461 2009-02-03 Steve Falkenburg <sfalken@apple.com>
2465 * WebCore.vcproj/WebCore.vcproj:
2467 2009-02-03 Alexey Proskuryakov <ap@webkit.org>
2471 * dom/CrossThreadCopier.h: Changed forward declarations to use struct instead of class where
2474 2009-02-02 David Levin <levin@chromium.org>
2476 Reviewed by Alexey Proskuryakov.
2478 Bug 23636: Make the async api of ThreadableLoader functional for the worker context.
2479 <https://bugs.webkit.org/show_bug.cgi?id=23636>
2481 Enable the async portion of ThreadableLoader for workers.
2483 No observable change in behavior, so no test.
2488 * WebCore.vcproj/WebCore.vcproj:
2489 * WebCore.xcodeproj/project.pbxproj:
2490 * WebCoreSources.bkl:
2491 * dom/CrossThreadCopier.h:
2492 * dom/GenericWorkerTask.h:
2493 * dom/WorkerThread.cpp:
2494 * loader/ThreadableLoader.cpp:
2495 (WebCore::ThreadableLoader::create):
2496 * loader/ThreadableLoaderClient.h:
2497 (WebCore::ThreadableLoaderClient::didFinishLoading):
2498 * loader/ThreadableLoaderClientWrapper.h: Added.
2499 (WebCore::ThreadableLoaderClientWrapper::create):
2500 (WebCore::ThreadableLoaderClientWrapper::clearClient):
2501 (WebCore::ThreadableLoaderClientWrapper::didSendData):
2502 (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
2503 (WebCore::ThreadableLoaderClientWrapper::didReceiveData):
2504 (WebCore::ThreadableLoaderClientWrapper::didFinishLoading):
2505 (WebCore::ThreadableLoaderClientWrapper::didFail):
2506 (WebCore::ThreadableLoaderClientWrapper::didGetCancelled):
2507 (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
2508 (WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper):
2509 * loader/WorkerThreadableLoader.cpp: Added.
2510 (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
2511 (WebCore::WorkerThreadableLoader::~WorkerThreadableLoader):
2512 (WebCore::WorkerThreadableLoader::cancel):
2513 (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
2514 (WebCore::WorkerThreadableLoader::MainThreadBridge::~MainThreadBridge):
2515 (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
2516 (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadDestroy):
2517 (WebCore::WorkerThreadableLoader::MainThreadBridge::destroy):
2518 (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCancel):
2519 (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
2520 (WebCore::WorkerThreadableLoader::MainThreadBridge::clearClientWrapper):
2521 (WebCore::workerContextDidSendData):
2522 (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
2523 (WebCore::workerContextDidReceiveResponse):
2524 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
2525 (WebCore::workerContextDidReceiveData):
2526 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
2527 (WebCore::workerContextDidFinishLoading):
2528 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
2529 (WebCore::workerContextDidFail):
2530 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
2531 (WebCore::workerContextDidGetCancelled):
2532 (WebCore::WorkerThreadableLoader::MainThreadBridge::didGetCancelled):
2533 (WebCore::workerContextDidReceiveAuthenticationCancellation):
2534 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
2535 * loader/WorkerThreadableLoader.h: Added.
2536 (WebCore::WorkerThreadableLoader::create):
2537 (WebCore::WorkerThreadableLoader::refThreadableLoader):
2538 (WebCore::WorkerThreadableLoader::derefThreadableLoader):
2540 2009-02-02 David Levin <levin@chromium.org>
2542 Reviewed by Alexey Proskuryakov.
2544 Bug 23636: Make the async api of ThreadableLoader functional for the worker context.
2545 <https://bugs.webkit.org/show_bug.cgi?id=23636>
2547 No observable change in behavior, so no test.
2549 * WebCore.xcodeproj/project.pbxproj:
2552 * dom/WorkerContext.cpp:
2553 (WebCore::WorkerContext::addMessage):
2554 (WebCore::WorkerContext::postTask):
2555 (WebCore::WorkerContext::postTaskToWorkerObject):
2556 * dom/WorkerContext.h:
2557 * dom/WorkerMessagingProxy.cpp:
2558 (WebCore::MessageWorkerContextTask::performTask):
2559 (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
2560 (WebCore::WorkerMessagingProxy::postTaskToWorkerContext):
2561 Expose postTaskToWorkerContext for use by the worker object thread.
2563 (WebCore::WorkerMessagingProxy::postTaskToWorkerObject):
2564 Change the name of postTaskToParentContext to postTaskToWorkerObject for consistency
2565 with postMessageToWorkerObject.
2567 * dom/WorkerMessagingProxy.h:
2568 * dom/WorkerRunLoop.cpp:
2569 (WebCore::WorkerRunLoop::run):
2570 (WebCore::WorkerRunLoop::postTask):
2571 * dom/WorkerRunLoop.h:
2572 * dom/WorkerTask.cpp: Removed.
2573 * dom/WorkerTask.h: Removed.
2574 Removed WorkerTask and replaced with the existing ScriptExecutionContext::Task.
2576 The resulted in the class going away along with an adapter that made
2577 a ScriptExecutionContext::Task look like a WorkerTask.
2579 * dom/WorkerThread.cpp:
2580 * dom/WorkerThread.h:
2582 2009-02-02 David Levin <levin@chromium.org>
2584 Reviewed by Alexey Proskuryakov.
2586 Bug 23618: Templated worker tasks should be more error proof to use.
2587 <https://bugs.webkit.org/show_bug.cgi?id=23618>
2589 Add the generic worker tasks templates needed for the WorkerThreadableLoader.
2591 No observable change in behavior, so no test.
2596 * WebCore.vcproj/WebCore.vcproj:
2597 * WebCore.xcodeproj/project.pbxproj:
2598 * WebCoreSources.bkl:
2599 * dom/CrossThreadCopier.cpp: Added.
2600 * dom/CrossThreadCopier.h: Added.
2601 (WebCore::CrossThreadCopierPassThrough::copy):
2602 * dom/GenericWorkerTask.h:
2603 Stop doing the WorkerMessagingProxy::askedToTerminate call automatically
2604 in performTask because was not obvious that it would be done and not always needed.
2606 (WebCore::GenericWorkerTask1::create):
2607 (WebCore::GenericWorkerTask1::GenericWorkerTask1):
2608 (WebCore::GenericWorkerTask1::performTask):
2609 (WebCore::GenericWorkerTask2::create):
2610 (WebCore::GenericWorkerTask2::GenericWorkerTask2):
2611 (WebCore::GenericWorkerTask2::performTask):
2612 (WebCore::GenericWorkerTask3::create):
2613 (WebCore::GenericWorkerTask3::GenericWorkerTask3):
2614 (WebCore::GenericWorkerTask3::performTask):
2615 (WebCore::GenericWorkerTask4::create):
2616 (WebCore::GenericWorkerTask4::GenericWorkerTask4):
2617 (WebCore::GenericWorkerTask4::performTask):
2618 (WebCore::GenericWorkerTask5::create):
2619 (WebCore::GenericWorkerTask5::GenericWorkerTask5):
2620 (WebCore::GenericWorkerTask5::performTask):
2621 (WebCore::GenericWorkerTask6::create):
2622 (WebCore::GenericWorkerTask6::GenericWorkerTask6):
2623 (WebCore::GenericWorkerTask6::performTask):
2624 (WebCore::GenericWorkerTask7::create):
2625 (WebCore::GenericWorkerTask7::GenericWorkerTask7):
2626 (WebCore::GenericWorkerTask7::performTask):
2627 (WebCore::createCallbackTask):
2628 * dom/WorkerContext.cpp:
2629 (WebCore::addMessageTask):
2630 (WebCore::WorkerContext::addMessage):
2631 * dom/WorkerMessagingProxy.h:
2632 (WebCore::WorkerMessagingProxy::askedToTerminate):
2634 2009-02-02 Sam Weinig <sam@webkit.org>
2636 Reviewed by David "The Barnabas Jones" Hyatt.
2638 Move removeChildNode, appendChildNode and insertChildNode from
2639 RenderContainer into RenderObjectChildList. Make moveChildNode
2640 static in RenderBlock, as that was the only user.
2642 * rendering/RenderBlock.cpp:
2643 (WebCore::moveChild):
2644 (WebCore::RenderBlock::makeChildrenNonInline):
2645 (WebCore::RenderBlock::removeChild):
2646 (WebCore::RenderBlock::handleRunInChild):
2647 * rendering/RenderContainer.cpp:
2648 (WebCore::RenderContainer::addChild):
2649 (WebCore::RenderContainer::removeChild):
2650 * rendering/RenderContainer.h:
2651 * rendering/RenderInline.cpp:
2652 (WebCore::RenderInline::splitInlines):
2653 (WebCore::RenderInline::splitFlow):
2654 (WebCore::RenderInline::childBecameNonInline):
2655 * rendering/RenderObject.cpp:
2656 (WebCore::RenderObject::handleDynamicFloatPositionChange):
2657 * rendering/RenderObject.h:
2658 (WebCore::RenderObject::createsAnonymousWrapper):
2659 * rendering/RenderObjectChildList.cpp:
2660 (WebCore::updateListMarkerNumbers):
2661 (WebCore::RenderObjectChildList::removeChildNode):
2662 (WebCore::RenderObjectChildList::appendChildNode):
2663 (WebCore::RenderObjectChildList::insertChildNode):
2664 * rendering/RenderObjectChildList.h:
2665 * rendering/RenderSVGContainer.cpp:
2666 (WebCore::RenderSVGContainer::addChild):
2667 (WebCore::RenderSVGContainer::removeChild):
2668 * rendering/RenderSVGContainer.h:
2669 * rendering/RenderTable.cpp:
2670 (WebCore::RenderTable::removeChild):
2671 * rendering/RenderTable.h:
2672 * rendering/RenderTableSection.cpp:
2673 (WebCore::RenderTableSection::removeChild):
2674 * rendering/RenderTableSection.h:
2676 2009-02-02 Alexey Proskuryakov <ap@webkit.org>
2678 Reviewed by Darin Alder.
2680 https://bugs.webkit.org/show_bug.cgi?id=23697
2681 Leaks seen on Worker tests
2683 * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal):
2684 Zero out m_workerThread, so that the proxy could be deleted once workerObjectDestroyed()
2687 2009-02-02 David Hyatt <hyatt@apple.com>
2689 Move positionForCoordinates up from RenderContainer into RenderBox.
2691 Reviewed by Sam Weinig
2693 * rendering/RenderBox.cpp:
2694 (WebCore::RenderBox::positionForCoordinates):
2695 * rendering/RenderBox.h:
2696 * rendering/RenderContainer.cpp:
2697 * rendering/RenderContainer.h:
2699 2009-02-02 Hiroaki Nakamura <hnakamur@gmail.com>
2701 Reviewed by Adam Roben.
2703 Fixes https://bugs.webkit.org/show_bug.cgi?id=15813
2704 Modify pre-build step to properly handle the errorlevel
2707 * WebCore.vcproj/WebCore.vcproj: Change errorlevel handling
2708 for all targets so prefast is only enabled in builds
2709 where /analyze is available.
2711 2009-02-02 David Hyatt <hyatt@apple.com>
2713 Refactor the handling of before/after content and generated content. Move most of the functions from
2714 RenderContainer into RenderObjectChildList.
2716 Reviewed by Sam Weinig
2718 * rendering/RenderBlock.cpp:
2719 (WebCore::RenderBlock::updateBeforeAfterContent):
2720 * rendering/RenderBlock.h:
2721 * rendering/RenderBox.cpp:
2722 (WebCore::RenderBox::isAfterContent):
2723 * rendering/RenderBox.h:
2724 * rendering/RenderButton.cpp:
2725 (WebCore::RenderButton::updateBeforeAfterContent):
2726 * rendering/RenderContainer.cpp:
2727 * rendering/RenderContainer.h:
2728 * rendering/RenderCounter.cpp:
2729 (WebCore::destroyCounterNodeChildren):
2730 * rendering/RenderInline.cpp:
2731 (WebCore::RenderInline::styleDidChange):
2732 (WebCore::RenderInline::addChildIgnoringContinuation):
2733 (WebCore::RenderInline::splitInlines):
2734 * rendering/RenderObject.h:
2735 * rendering/RenderObjectChildList.cpp:
2736 (WebCore::beforeAfterContainer):
2737 (WebCore::findBeforeAfterParent):
2738 (WebCore::invalidateCountersInContainer):
2739 (WebCore::RenderObjectChildList::invalidateCounters):
2740 (WebCore::RenderObjectChildList::updateBeforeAfterContent):
2741 * rendering/RenderObjectChildList.h:
2743 2009-02-02 Dmitry Titov <dimich@chromium.org>
2745 Reviewed by Darin Adler.
2747 https://bugs.webkit.org/show_bug.cgi?id=23661
2750 * history/HistoryItem.h: need to include <wtf/OwnPtr.h>
2752 * rendering/RenderThemeChromiumMac.mm:
2753 (WebCore::RenderThemeChromiumMac::adjustMenuListStyle): isEnabled() is now on FormControlElement.
2755 2009-02-02 Geoffrey Garen <ggaren@apple.com>
2759 * plugins/PluginView.cpp:
2760 (WebCore::PluginView::performRequest):
2762 2009-02-02 Geoffrey Garen <ggaren@apple.com>
2768 2009-02-02 Geoffrey Garen <ggaren@apple.com>
2770 Reviewed by Sam Weinig.
2772 Track redirects in global history.
2774 * WebCore.base.exp: Renamed some exports.
2776 * bindings/js/JSDOMWindowBase.cpp:
2777 (WebCore::createWindow):
2778 (windowProtoFuncOpen):
2779 * bindings/js/JSDOMWindowCustom.cpp:
2780 (WebCore::JSDOMWindow::setLocation):
2781 * bindings/js/JSDocumentCustom.cpp:
2782 (WebCore::JSDocument::setLocation):
2783 * bindings/js/JSHTMLFormElementCustom.cpp:
2784 (WebCore::JSHTMLFormElement::submit):
2785 * bindings/js/JSLocationCustom.cpp:
2786 (WebCore::JSLocation::setHref):
2787 (WebCore::JSLocation::setProtocol):
2788 (WebCore::JSLocation::setHost):
2789 (WebCore::JSLocation::setHostname):
2790 (WebCore::JSLocation::setPort):
2791 (WebCore::JSLocation::setPathname):
2792 (WebCore::JSLocation::setSearch):
2793 (WebCore::JSLocation::setHash):
2794 (WebCore::JSLocation::assign): Treat any navigation that is not initiated
2795 by the user as a redirect from the perspective of global history.
2797 * history/HistoryItem.cpp:
2798 (WebCore::HistoryItem::addRedirectURL): Store the last URL in the redirect
2801 * loader/DocumentLoader.cpp:
2802 (WebCore::DocumentLoader::DocumentLoader):
2803 * loader/DocumentLoader.h:
2804 (WebCore::DocumentLoader::urlForHistoryReflectsServerRedirect):
2805 (WebCore::DocumentLoader::urlForHistoryReflectsClientRedirect):
2806 (WebCore::DocumentLoader::setURLForHistoryReflectsClientRedirect): Sadly,
2807 added yet another way to track redirect state during loading, since none
2808 of the others did what I wanted, and I didn't want to cause behavior
2809 changes in existing code.
2811 * loader/EmptyClients.h:
2812 (WebCore::EmptyFrameLoaderClient::updateGlobalHistoryForRedirectWithoutHistoryItem):
2813 Stubbed out a client function to keep things building.
2815 * loader/FrameLoader.cpp:
2816 (WebCore::isBackForwardLoadType):
2817 (WebCore::FrameLoader::restoreDocumentState): Renamed FrameLoadTypeRedirect =>
2818 FrameLoadTypeRedirectWithLockedBackForwardList, to distinguish from all
2819 the other meanings of "redirect" in the loading code.
2821 (WebCore::FrameLoader::scheduleHTTPRedirection): Treat any HTTP refresh
2822 redirect as a redirect from the perspective of global history.
2824 (WebCore::FrameLoader::loadURLIntoChildFrame): Updated for rename and extra
2827 (WebCore::FrameLoader::startRedirectionTimer): Removed unused parameter.
2829 (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
2830 (WebCore::FrameLoader::loadURL):
2831 (WebCore::FrameLoader::load): Updated for rename and extra parameter.
2833 (WebCore::FrameLoader::loadWithNavigationAction): Track redirect status
2834 in the DocumentLoader, so it's accessible to WebKit's global history code.
2836 (WebCore::FrameLoader::clientRedirected): Ignore lockHistory, since it
2837 only has meaning to global history, and m_quickRedirectComing pertains
2838 to other kinds of history.
2840 (WebCore::FrameLoader::loadPostRequest):
2841 (WebCore::FrameLoader::loadEmptyDocumentSynchronously):
2842 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
2843 (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
2844 (WebCore::FrameLoader::loadItem): Updated for extra parameter and rename.
2846 (WebCore::FrameLoader::updateHistory*): Notify WebKit about redirect
2847 navigations even if they don't create new history items, so we can track
2848 the redirect in the existing history item.
2850 * loader/FrameLoader.h: See above.
2852 * loader/FrameLoaderClient.h: New client interface used by
2853 FrameLoader::updateHistory* to record a redirect even if it doesn't create
2854 a new history item of its own.
2856 * loader/FrameLoaderTypes.h: See above.
2859 * page/DragController.cpp:
2860 (WebCore::DragController::performDrag):
2861 * svg/graphics/SVGImage.cpp:
2862 (WebCore::SVGImage::dataChanged): Updated for extra parameter.
2864 2009-02-02 David Hyatt <hyatt@apple.com>
2866 Make calcPrefWidths non-abstract on RenderBox and just give it RenderContainer's implementation.
2867 Remove RenderSVGContainer's implementation, since it was never called.
2869 Reviewed by Beth Dakin
2871 * rendering/RenderBox.cpp:
2872 (WebCore::RenderBox::minPrefWidth):
2873 * rendering/RenderBox.h:
2874 (WebCore::RenderBox::calcPrefWidths):
2875 * rendering/RenderContainer.h:
2876 (WebCore::RenderContainer::moveChildNode):
2877 * rendering/RenderSVGContainer.h:
2879 2009-02-02 Anders Carlsson <andersca@apple.com>
2881 Reviewed by Sam Weinig.
2883 Add jsObjectForPluginElement to ScriptController, and have createScriptObjectForPluginElement call it.
2886 * bindings/js/ScriptController.cpp:
2887 (WebCore::ScriptController::createScriptObjectForPluginElement):
2888 (WebCore::ScriptController::jsObjectForPluginElement):
2889 * bindings/js/ScriptController.h:
2891 2009-02-02 Darin Fisher <darin@chromium.org>
2893 Reviewed by Eric Seidel (and Ojan Vafai).
2895 https://bugs.webkit.org/show_bug.cgi?id=23696
2896 Select element doesn't show new value when focus is switched in
2899 Fix PopupMenuChromium to hide itself before calling valueChanged. This
2900 better matches the behavior of the other ports.
2902 * platform/chromium/PopupMenuChromium.cpp:
2903 (WebCore::PopupListBox::create):
2904 (WebCore::PopupContainer::PopupContainer):
2905 (WebCore::PopupContainer::showPopup):
2906 (WebCore::PopupContainer::hidePopup):
2907 (WebCore::PopupListBox::abandon):
2908 (WebCore::PopupListBox::acceptIndex):
2909 (WebCore::PopupMenu::show):
2910 (WebCore::PopupMenu::hide):
2912 2009-02-02 David Hyatt <hyatt@apple.com>
2914 Make sure scrollWidth/Height just return 0 for inline flows.
2916 Reviewed by Beth Dakin
2918 * rendering/RenderBox.cpp:
2919 (WebCore::RenderBox::scrollWidth):
2920 (WebCore::RenderBox::scrollHeight):
2922 2009-02-02 Darin Adler <darin@apple.com>
2924 Reviewed by Dave Hyatt.
2926 Bug 23676: Speed up uses of reserveCapacity on new vectors by adding a new reserveInitialCapacity
2927 https://bugs.webkit.org/show_bug.cgi?id=23676
2929 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2930 (WebCore::cssPropertyName):
2931 * css/CSSMutableStyleDeclaration.cpp:
2932 (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
2933 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
2934 * css/CSSPrimitiveValue.cpp:
2935 (WebCore::CSSPrimitiveValue::cssText):
2936 * css/CSSStyleDeclaration.cpp:
2937 (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
2938 * css/CSSStyleSelector.cpp:
2939 (WebCore::CSSStyleSelector::sortMatchedRules):
2941 (WebCore::Document::formElementsState):
2942 * dom/NamedAttrMap.h:
2943 (WebCore::NamedAttrMap::reserveInitialCapacity):
2944 * editing/TextIterator.cpp:
2945 (WebCore::CharacterIterator::string):
2946 (WebCore::SearchBuffer::SearchBuffer):
2947 (WebCore::plainTextToMallocAllocatedBuffer):
2948 * editing/markup.cpp:
2949 (WebCore::joinMarkups):
2950 * history/HistoryItem.cpp:
2951 (WebCore::HistoryItem::HistoryItem):
2952 * html/HTMLTokenizer.cpp:
2953 (WebCore::Token::addAttribute):
2954 * loader/appcache/DOMApplicationCache.cpp:
2955 (WebCore::DOMApplicationCache::items):
2956 * page/SecurityOrigin.cpp:
2957 (WebCore::SecurityOrigin::toString):
2958 * page/mac/AccessibilityObjectWrapper.mm:
2960 * platform/graphics/FontCache.cpp:
2961 (WebCore::FontCache::purgeInactiveFontData):
2962 (WebCore::FontCache::invalidate):
2963 * platform/network/FormData.cpp:
2964 (WebCore::FormData::deepCopy):
2965 * platform/network/HTTPHeaderMap.cpp:
2966 (WebCore::HTTPHeaderMap::copyData):
2967 * platform/network/ResourceRequestBase.cpp:
2968 (WebCore::ResourceRequestBase::copyData):
2969 * platform/network/mac/FormDataStreamMac.mm:
2970 (WebCore::formCreate):
2971 * xml/XPathNodeSet.cpp:
2972 (WebCore::XPath::NodeSet::sort):
2973 Use reserveInitialCapacity instead of of reserveCapacity in all these call sites,
2974 which are working on new vectors that are guaranteed not to be empty.
2976 2009-02-26 Jon Honeycutt <jhoneycutt@apple.com>
2978 Build fix after r40486.
2980 Rubber-stamped by Ada Chan.
2982 * dom/Document.h: Chnaged HitTestRequest to a class from a struct.
2983 * page/EventHandler.h: Ditto.
2984 * rendering/EllipsisBox.h: Ditto.
2985 * rendering/InlineBox.h: Ditto.
2986 * rendering/InlineFlowBox.h: Ditto.
2987 * rendering/RenderLayer.h: Ditto.
2989 2009-02-02 Darin Adler <darin@apple.com>
2991 Reviewed by Anders Carlsson.
2993 Bug 23694: REGRESSION: Running svg/custom tests crashes, randomly, depending on the order of tests
2994 https://bugs.webkit.org/show_bug.cgi?id=23694
2996 * dom/ContainerNode.cpp:
2997 (WebCore::ContainerNode::insertedIntoDocument): Added back the call through to EventTargetNode.
2998 (WebCore::ContainerNode::removedFromDocument): Ditto.
2999 * dom/EventTargetNode.cpp:
3000 (WebCore::EventTargetNode::insertedIntoDocument): Changed this to not call through to Node.
3001 (WebCore::EventTargetNode::removedFromDocument): Ditto.
3003 (WebCore::Node::insertedIntoDocument): Updated comment.
3004 (WebCore::Node::removedFromDocument): Ditto.
3006 2009-02-02 Anders Carlsson <andersca@apple.com>
3008 Reviewed by Dan Bernstein.
3010 More plug-in cleanup.
3012 * WebCore.NPAPI.exp:
3015 * bindings/objc/DOM.mm:
3016 * bindings/objc/DOMPrivate.h:
3017 Remove methods that WebKit doesn't use anymore.
3019 2009-02-02 Jay Campan <jcampan@chromium.org>
3021 Reviewed by Eric Seidel.
3023 Clean up PopupMenuChromium a little.
3024 https://bugs.webkit.org/show_bug.cgi?id=23653
3026 No functional changes, only code cleanup, thus no tests.
3028 * platform/chromium/PopupMenuChromium.cpp:
3030 (WebCore::PopupListBox::PopupListBox):
3031 (WebCore::PopupContainer::create):
3032 (WebCore::PopupContainer::PopupContainer):
3033 (WebCore::PopupContainer::showPopup):
3034 (WebCore::PopupListBox::handleKeyEvent):
3035 (WebCore::PopupListBox::isSelectableItem):
3036 (WebCore::PopupListBox::selectNextRow):
3037 (WebCore::PopupListBox::selectPreviousRow):
3038 (WebCore::PopupMenu::show):
3039 * platform/chromium/PopupMenuChromium.h:
3041 2009-02-02 Anders Carlsson <andersca@apple.com>
3043 Reviewed by Dan Bernstein.
3045 Change createPlugin to take a HTMLPlugInElement, and createJavaAppletWidget to take a HTMLAppletElement.
3047 * WebCore.xcodeproj/project.pbxproj:
3048 * loader/EmptyClients.h:
3049 (WebCore::EmptyFrameLoaderClient::createPlugin):
3050 (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
3051 * loader/FrameLoader.cpp:
3052 (WebCore::toPlugInElement):
3053 (WebCore::FrameLoader::loadPlugin):
3054 (WebCore::FrameLoader::loadItem):
3055 * loader/FrameLoader.h:
3056 * loader/FrameLoaderClient.h:
3058 2009-02-02 Genevieve Mak <gen@staikos.net>
3060 Reviewed by George Staikos.
3062 https://bugs.webkit.org/show_bug.cgi?id=23508
3063 Returns Blank Page for all "about" protocols
3065 * loader/MainResourceLoader.cpp:
3066 Fix shouldLoadAsEmptyDocument() to return a blank page for an empty
3067 url or about:blank only (for now, exclusively for Torch Mobile platform).
3069 2009-02-02 Brent Fulgham <bfulgham@webkit.org>
3071 Reviewed by George Staikos.
3073 Fixes https://bugs.webkit.org/show_bug.cgi?id=23691.
3074 Correct build break caused by @r40366 by moving the
3075 common code implmentations from GraphicsContextCGWin.cpp
3076 into the base Windows class (GraphicsContextWin.cpp). Also
3077 move inTransparencyLayer since it is identical in both
3080 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
3081 Added member m_shouldIncludeChildWindows to Windows version,
3082 similar to GraphicsContextPlatformPrivateCG.h.
3083 * platform/graphics/win/GraphicsContextCGWin.cpp: Remove the
3084 implementations of shouldIncludeChildWindows,
3085 setShouldIncludeChildWindows, and inTransparencyLayer.
3086 * platform/graphics/win/GraphicsContextCairoWin.cpp: Remove
3087 the implementation of inTransparencyLayer.
3088 * platform/graphics/win/GraphicsContextWin.cpp: Move common code
3089 from GraphicsContextCGWin.cpp and GraphicsContextCairoWin.cpp.
3090 (WebCore::GraphicsContext::inTransparencyLayer):
3091 (WebCore::GraphicsContext::setShouldIncludeChildWindows):
3092 (WebCore::GraphicsContext::shouldIncludeChildWindows):
3094 2009-02-02 Darin Adler <darin@apple.com>
3096 Try to fix Wx build, and maybe Chromium build too.
3098 * WebCore.scons: Added IdentifierRep.cpp.
3099 * WebCoreSources.bkl: Ditto.
3101 2009-02-02 Darin Adler <darin@apple.com>
3103 Try to fix Wx build.
3105 * html/HTMLAreaElement.cpp: Added missing include of "Path.h".
3107 2009-02-02 Adam Treat <adam.treat@torchmobile.com>
3109 Reviewed by Nikolas Zimmermann.
3111 https://bugs.webkit.org/show_bug.cgi?id=23587
3112 Refactor HitTestRequest to eliminate all the ugly boolean arguments and
3113 use an enum bitflag instead. Cleanup all the code that constructs the
3114 various HitTestRequests to make the code more readable.
3117 (WebCore::Document::elementFromPoint):
3118 (WebCore::Document::prepareMouseEvent):
3119 * editing/SelectionController.cpp:
3120 (WebCore::SelectionController::contains):
3121 * page/AccessibilityRenderObject.cpp:
3122 (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
3123 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
3124 * page/EventHandler.cpp:
3125 (WebCore::EventHandler::eventMayStartDrag):
3126 (WebCore::EventHandler::updateSelectionForMouseDrag):
3127 (WebCore::EventHandler::hitTestResultAtPoint):
3128 (WebCore::EventHandler::handleMousePressEvent):
3129 (WebCore::EventHandler::handleMouseDoubleClickEvent):
3130 (WebCore::EventHandler::handleMouseMoveEvent):
3131 (WebCore::EventHandler::handleMouseReleaseEvent):
3132 (WebCore::EventHandler::updateDragAndDrop):
3133 (WebCore::EventHandler::handleWheelEvent):
3134 (WebCore::EventHandler::sendContextMenuEvent):
3135 (WebCore::EventHandler::hoverTimerFired):
3136 (WebCore::EventHandler::handleDrag):
3137 * page/EventHandler.h:
3138 * rendering/HitTestRequest.h:
3139 (WebCore::HitTestRequest::):
3140 (WebCore::HitTestRequest::HitTestRequest):
3141 (WebCore::HitTestRequest::readOnly):
3142 (WebCore::HitTestRequest::active):
3143 (WebCore::HitTestRequest::mouseMove):
3144 (WebCore::HitTestRequest::mouseUp):
3145 (WebCore::HitTestRequest::ignoreClipping):
3146 * rendering/RenderFrameSet.cpp:
3147 (WebCore::RenderFrameSet::nodeAtPoint):
3148 * rendering/RenderLayer.cpp:
3149 (WebCore::RenderLayer::hitTest):
3150 (WebCore::RenderLayer::hitTestLayer):
3151 (WebCore::RenderLayer::updateHoverActiveState):
3153 2009-02-02 George Staikos <george.staikos@torchmobile.com>
3155 Reviewed by Niko Zimmermann.
3157 Fix WML build by including the inlined renderStyle().
3159 * wml/WMLOptGroupElement.cpp:
3160 * wml/WMLOptionElement.cpp:
3162 2009-02-02 Darin Adler <darin@apple.com>
3164 Reviewed by Niko Zimmermann.
3166 Bug 23686: REGRESSION (r40475): Failure in fast/xpath/4XPath/Core/test_core_functions.html
3167 https://bugs.webkit.org/show_bug.cgi?id=23686
3168 rdar://problem/6547971
3170 Also fix other XPath tests that are crashing.
3172 * xml/XPathFunctions.cpp:
3173 (WebCore::XPath::FunLang::evaluate): Fix order of arguments when creating QualifiedName.
3174 * xml/XPathStep.cpp:
3175 (WebCore::XPath::Step::nodesInAxis): Use createAttrIfNeeded() rather than attr() since we
3176 need to make Attr nodes here. Yuck!
3178 2009-02-02 Yichao Yin <yichao.yin@torchmobile.com.cn>
3180 Reviewed by Niko Zimmermann.
3182 Test: wml/input-format.html
3184 * wml/WMLInputElement.cpp:
3185 (WebCore::WMLInputElement::WMLInputElement):
3186 (WebCore::formatCodes):
3187 (WebCore::WMLInputElement::dispatchBlurEvent):
3188 (WebCore::WMLInputElement::parseMappedAttribute):
3189 (WebCore::WMLInputElement::attach):
3190 (WebCore::WMLInputElement::defaultEventHandler):
3191 (WebCore::WMLInputElement::init):
3192 (WebCore::WMLInputElement::validateInputMask):
3193 (WebCore::WMLInputElement::isConformedToInputMask):
3194 (WebCore::WMLInputElement::cursorPositionToMaskIndex):
3195 * wml/WMLInputElement.h:
3197 2009-02-02 Brent Fulgham <bfulgham@webkit.org>
3199 Build fix only, no review.
3201 Fixes https://bugs.webkit.org/show_bug.cgi?id=23685.
3202 Correct build break caused by @r40473.
3204 * page/win/FrameWin.cpp: Correct access for adjustPageHeight.
3205 (WebCore::computePageRectsForFrame):
3207 2009-02-02 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3209 Not reviewed. Fix WML enabled builds.
3210 FrameLoader::urlSelected() got a new parameter: lockBackForwardList. Pass 'false', as HTMLAnchorElement does.
3212 * wml/WMLAElement.cpp:
3213 (WebCore::WMLAElement::defaultEventHandler):
3215 2009-02-02 Alexey Proskuryakov <ap@webkit.org>
3217 Reviewed by Darin Adler.
3219 <rdar://problem/6451610> Reloading a AppCache page doesn't ever hit the server
3221 Not easily testable.
3223 * loader/appcache/ApplicationCacheGroup.cpp:
3224 (WebCore::ApplicationCacheGroup::createResourceHandle): A new method that creates a resource
3225 handle in a manner that is closer to what CachedResource does. We now make conditional
3226 requests for better performance, and set max-age to ensure that stale responses are not used.
3227 (WebCore::ApplicationCacheGroup::update): Use the new createResourceHandle() method.
3228 (WebCore::ApplicationCacheGroup::didReceiveResponse): If the response code for the resource
3229 is 304, take it from the newest cache.
3230 (WebCore::ApplicationCacheGroup::didFail): Pre-compute request URL.
3231 (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Don't create a resource for
3232 the manifest if the response code was 304 - it won't be needed.
3233 (WebCore::ApplicationCacheGroup::didReceiveManifestData): Replaced an assertion that
3234 m_manifestResource is not null with a check.
3235 (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): Treat null m_manifestResource as
3236 an indication that the response was 304.
3237 (WebCore::ApplicationCacheGroup::startLoadingEntry): Use createResourceHandle().
3239 * loader/appcache/ApplicationCacheGroup.h: Added createResourceHandle().
3241 2009-02-01 Darin Adler <darin@apple.com>
3243 Reviewed by Dave Hyatt.
3245 Bug 23674: Speed up some things based on profiling the page load test
3246 https://bugs.webkit.org/show_bug.cgi?id=23674
3248 * css/CSSStyleSelector.cpp:
3249 (WebCore::CSSStyleSelector::canShareStyleWithElement): Use the newly named cssTarget instead
3250 of the old name, getCSSTarget.
3251 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
3253 * dom/ContainerNode.cpp:
3254 (WebCore::ContainerNode::insertedIntoDocument): Moved code from Node in here rather than
3255 calling through to EventTargetNode::insertedIntoDocument.
3256 (WebCore::ContainerNode::removedFromDocument): Ditto.
3257 (WebCore::ContainerNode::insertedIntoTree): Tweaked a bit.
3258 (WebCore::ContainerNode::removedFromTree): Ditto.
3260 * dom/ContainerNode.h: Moved the constructor definition here and made it inline.
3263 (WebCore::Document::removeAllEventListenersFromAllNodes): Iterate the document element and
3264 its contents only to avoid the document type node. This allows us to remove the virtual
3265 function call to isEventTargetNode from the loop.
3266 (WebCore::Document::setCSSTarget): Changed argument to be an Element rather than Node.
3268 * dom/Document.h: Changed CSS target to be an Element rather than a Node. Renamed
3269 getCSSTarget to cssTarget.
3271 * dom/EventTargetNode.cpp:
3272 (WebCore::EventTargetNode::removeAllEventListenersSlowCase): Renamed and turned the
3273 rare data check into an assertion.
3275 * dom/EventTargetNode.h: Made the fast case of removeAllEventListeners be inline.
3276 Also moved the constructor definition here and made it inline. And added toEventTargetNode,
3277 matching the design of the render tree checked casts. Later we can migrate all callers
3278 from EventTargetNodeCast to toEventTargetNode.
3280 * dom/NamedAttrMap.cpp:
3281 (WebCore::NamedAttrMap::detachAttributesFromElement): Added. Factored out from
3282 clearAttributes, so we could use this loop in cases where we're not clearing the attributes.
3283 (WebCore::NamedAttrMap::~NamedAttrMap): Call detachAttributesFromElement instead of
3284 clearAttributes here.
3285 (WebCore::NamedAttrMap::clearAttributes): Call detachAttributesFromElement here.
3286 (WebCore::NamedAttrMap::detachFromElement): Call detachAttributesFromElement instead of
3287 clearAttributes. We don't need to clear the attributes array just because the element is
3288 going away, so don't.
3289 (WebCore::NamedAttrMap::virtualLength): Added.
3291 * dom/NamedAttrMap.h: Made all the virtual functions inherited from NamedNodeMap be private.
3292 These are all unnecessarily inefficient for use outside the DOM. Changed length to be a
3293 non-virtual function. This was a fairly hot function.
3295 * dom/NamedMappedAttrMap.cpp:
3296 (WebCore::NamedMappedAttrMap::setClass): Changed to use element() function now that the
3297 m_element data member is private.
3299 * dom/NamedMappedAttrMap.h: Made a few functions private. Made the
3300 hasMappedAttributes function non-virtual.
3302 * dom/NamedNodeMap.h: Made length a non-virtual inline function that calls a virtual
3303 function, name virtualLength. This lets NamedAttrMap::length be a non-virtual function.
3306 (WebCore::Node::insertedIntoDocument): Removed call to insertedIntoTree, since it's
3307 only non-empty in subclasses of ContainerNode.
3308 (WebCore::Node::removedFromDocument): Ditto. Also removed setCSSTarget. Since a CSS
3309 target has to be an Element, this can be moved down to ContainerNode (or it could be
3310 moved down to Element for that matter).
3312 * dom/QualifiedName.cpp:
3313 (WebCore::QualifiedName::QualifiedName): Removed double initialization of m_impl.
3315 * dom/QualifiedName.h: Moved the destructor, copy constructor, assignment operator, and
3316 setPrefix function definitions into the header and made them inline.
3318 * html/HTMLAreaElement.cpp:
3319 (WebCore::HTMLAreaElement::mapMouseEvent): Updated since the stored region is now
3321 (WebCore::HTMLAreaElement::accessKey): Use AtomicString.
3322 (WebCore::HTMLAreaElement::setAccessKey): Ditto.
3323 (WebCore::HTMLAreaElement::alt): Ditto.
3324 (WebCore::HTMLAreaElement::setAlt): Ditto.
3325 (WebCore::HTMLAreaElement::coords): Ditto.
3326 (WebCore::HTMLAreaElement::setCoords): Ditto.
3327 (WebCore::HTMLAreaElement::setHref): Ditto.
3328 (WebCore::HTMLAreaElement::shape): Ditto.
3329 (WebCore::HTMLAreaElement::setShape): Ditto.
3330 (WebCore::HTMLAreaElement::setTarget): Ditto.
3332 * html/HTMLAreaElement.h: Use AtomicString in the getter and setter DOM operations.
3333 Change the region data member to be an OwnPtr<Path> instead of a Path to optimize
3334 the common case where an area element is parsed but never hit-tested. This could
3335 also have been done by changing the Path class's null case to be more efficient,
3336 but this seems fine.
3338 * html/HTMLViewSourceDocument.cpp:
3339 (WebCore::HTMLViewSourceDocument::createContainingTable): Use addAttribute instead
3341 (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Ditto.
3342 (WebCore::HTMLViewSourceDocument::addLine): Ditto.
3343 (WebCore::HTMLViewSourceDocument::addLink): Ditto.
3345 * loader/FrameLoader.cpp:
3346 (WebCore::FrameLoader::gotoAnchor): Use cssTarget under its new name instead
3347 of its old name getCSSTarget.
3349 * platform/graphics/GlyphWidthMap.cpp:
3350 (WebCore::GlyphWidthMap::locatePageSlowCase): Refactored from locatePage.
3352 * platform/graphics/GlyphWidthMap.h: Made most of this class inline.
3353 Changed m_pages to use OwnPtr.
3355 * platform/text/PlatformString.h: Remove include no longer needed since
3356 StringImpl.h includes it.
3358 * platform/text/StringImpl.cpp:
3359 (WebCore::StringImpl::createStrippingNullCharactersSlowCase): Refactored
3360 from createStrippingNullCharacters.
3361 * platform/text/StringImpl.h: Moved the definition of
3362 createStrippingNullCharacters here and made it inline.
3364 * rendering/RenderObject.cpp:
3365 (WebCore::RenderObject::firstLineStyleSlowCase): Refactored from
3368 * rendering/RenderObject.h: Moved the definition of the firstLineStyle
3369 function here and made it inline. Moved the definition of the
3370 documentBeingDestroyed function here and made it inline.
3372 * svg/SVGSVGElement.cpp:
3373 (WebCore::SVGSVGElement::getCTM): Use getAttributeItem instead of
3374 getNamedItem here since it accomplishes the same thing but is more efficient.
3375 (WebCore::SVGSVGElement::getScreenCTM): Ditto.
3376 * svg/SVGStyledElement.cpp:
3377 (WebCore::SVGStyledElement::getPresentationAttribute): Ditto.
3379 * xml/XPathFunctions.cpp:
3380 (WebCore::XPath::FunLang::evaluate): Use getAttributeItem instead of
3383 * xml/XPathStep.cpp:
3384 (WebCore::XPath::Step::nodesInAxis): Use attributeItem instead of item here.
3386 2009-02-02 Holger Hans Peter Freyther <zecke@selfish.org>
3388 Reviewed by Darin Adler.
3390 Move Frame::forceLayout, Frame::adjustPageHeight and Frame::forceLayoutWithPageWidthRange to FrameView
3392 https://bugs.webkit.org/show_bug.cgi?id=23428
3394 FrameView::forceLayout could be killed but the comment might
3395 contain a value over the the plain FrameView::layout...
3397 Adjust the WebCore/WebKit consumers of these methods.
3401 (WebCore::Frame::setPrinting):
3403 * page/FrameView.cpp:
3404 (WebCore::FrameView::forceLayout):
3405 (WebCore::FrameView::forceLayoutWithPageWidthRange):
3406 (WebCore::FrameView::adjustPageHeight):
3408 * page/PrintContext.cpp:
3409 (WebCore::PrintContext::computePageRects):
3411 2009-02-01 Dan Bernstein <mitz@apple.com>
3413 Reviewed by John Sullivan.
3415 - fix <rdar://problem/6546625> REGRESSION (r40432): iframes added to global history at haaretz.co.il
3417 Fixes http/tests/navigation/multiple-back-forward-entries.html
3419 r40432 added a parameter to FrameLoader::scheduleLocationChange() and
3420 failed to update all call sites.
3422 * bindings/js/JSDOMWindowBase.cpp:
3423 (WebCore::createWindow): Pass the lockBackForwardHistory parameter,
3424 giving it the same value as the lockHistory parameter.
3425 (windowProtoFuncOpen): Ditto.
3426 * bindings/js/JSDOMWindowCustom.cpp:
3427 (WebCore::JSDOMWindow::setLocation): Ditto.
3428 * bindings/js/JSDocumentCustom.cpp:
3429 (WebCore::JSDocument::setLocation): Ditto.
3430 * loader/FrameLoader.cpp:
3431 (WebCore::FrameLoader::requestFrame): Ditto.
3433 2009-01-31 Dan Bernstein <mitz@apple.com>
3435 Reviewed by Oliver Hunt.
3437 - fix <rdar://problem/6546549> Eliminate some RenderText::width() overhead from findNextLineBreak()
3439 On the PLT, this results in 0.36x the number of virtual function calls
3440 to RenderText::width() and 0.69x the number of calls to
3441 Font::isFixedPitch(), but makes 1.0004x the number of calls to
3444 * rendering/RenderText.cpp:
3445 (WebCore::RenderText::width): Replaced bounds checks on 'from' and 'len'
3447 * rendering/bidi.cpp:
3448 (WebCore::textWidth): Added this inlined helper function which calls
3449 Font::width() directly in the non-fixed-pitch, non-full-range case, and
3450 otherwise calls RenderText::width().
3451 (WebCore::RenderBlock::findNextLineBreak): Cache whether the font has
3452 fixed pitch (in which case RenderText::width() will be called in order
3453 to take advantage of the widthFromCache() optimization for fixed-pitch
3454 fonts). Replaced all calls to RenderText::width() with calls to the
3455 textWidth() helper function.
3457 2009-01-31 David Hyatt <hyatt@apple.com>
3459 Inline all of the setNeedsLayout method and its associated functions. Also inline setChildNeedsLayout
3460 and setNeedsPositionedMovementLayout.
3462 Reviewed by Dan Bernstein
3464 * rendering/RenderObject.cpp:
3465 (WebCore::RenderObject::setLayerNeedsFullRepaint):
3466 * rendering/RenderObject.h:
3467 (WebCore::RenderObject::setNeedsLayout):
3468 (WebCore::RenderObject::setChildNeedsLayout):
3469 (WebCore::RenderObject::setNeedsPositionedMovementLayout):
3470 (WebCore::objectIsRelayoutBoundary):
3471 (WebCore::RenderObject::markContainingBlocksForLayout):
3473 2009-01-31 Darin Adler <darin@apple.com>
3477 * loader/FrameLoader.cpp: Moved FrameLoaderClient::hasHTMLView in here.
3478 We need it to not be an inline. Sadly, FrameLoaderClient.cpp was prematurely
3479 deleted and I don't want to bring it back just to fix the build.
3481 * loader/FrameLoaderClient.h: Rearrange virtual functions and corrected
3482 a possibly-confusing comment.
3484 2009-01-31 Adam Treat <adam.treat@torchmobile.com>
3486 Reviewed by David Hyatt.
3488 https://bugs.webkit.org/show_bug.cgi?id=23664
3489 Remove unused dead code from RenderTable class. The dead code includes
3490 two enums and the associated member variables as well as one getter function.
3492 * rendering/RenderTable.cpp:
3493 (WebCore::RenderTable::RenderTable):
3494 * rendering/RenderTable.h:
3496 2009-01-31 David Hyatt <hyatt@apple.com>
3498 More removal of code from RenderContainer. Move removeLeftoverAnonymousBlock down into RenderBlock.
3499 Move destroyLeftoverChildren into the RenderObjectChildList. Convert all containers to use the
3500 RenderObjectChildList.
3502 Reviewed by Sam Weinig
3504 * WebCore.xcodeproj/project.pbxproj:
3505 * rendering/RenderBlock.cpp:
3506 (WebCore::RenderBlock::destroy):
3507 (WebCore::RenderBlock::addChild):
3508 (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
3509 (WebCore::RenderBlock::layoutPositionedObjects):
3510 (WebCore::RenderBlock::childBecameNonInline):
3511 * rendering/RenderBlock.h:
3512 * rendering/RenderBox.cpp:
3513 (WebCore::RenderBox::layout):
3514 * rendering/RenderBox.h:
3515 (WebCore::RenderBox::firstChildBox):
3516 (WebCore::RenderBox::lastChildBox):
3517 * rendering/RenderContainer.cpp:
3518 (WebCore::RenderContainer::addChild):
3519 (WebCore::RenderContainer::removeChildNode):
3520 (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
3521 (WebCore::RenderContainer::appendChildNode):
3522 (WebCore::RenderContainer::insertChildNode):
3523 (WebCore::RenderContainer::positionForCoordinates):
3524 (WebCore::RenderContainer::addLineBoxRects):
3525 (WebCore::RenderContainer::collectAbsoluteLineBoxQuads):
3526 * rendering/RenderContainer.h:
3527 (WebCore::RenderContainer::virtualChildren):
3528 (WebCore::RenderContainer::children):
3529 * rendering/RenderInline.cpp:
3530 (WebCore::RenderInline::destroy):
3531 * rendering/RenderInline.h:
3532 (WebCore::RenderInline::layout):
3533 * rendering/RenderMedia.cpp:
3534 (WebCore::RenderMedia::destroy):
3535 (WebCore::RenderMedia::children):
3536 * rendering/RenderMedia.h:
3537 (WebCore::RenderMedia::virtualChildren):
3538 * rendering/RenderObject.cpp:
3539 (WebCore::RenderObject::destroy):
3540 (WebCore::RenderObject::layout):
3541 * rendering/RenderObject.h:
3542 (WebCore::RenderObject::firstChild):
3543 (WebCore::RenderObject::lastChild):
3544 (WebCore::RenderObject::virtualChildren):
3545 (WebCore::RenderObject::canHaveChildren):
3546 * rendering/RenderObjectChildList.cpp: Added.
3547 (WebCore::RenderObjectChildList::destroyLeftoverChildren):
3548 * rendering/RenderObjectChildList.h:
3549 * rendering/RenderReplaced.h:
3550 (WebCore::RenderReplaced::canHaveChildren):
3551 * rendering/RenderSVGContainer.cpp:
3552 (WebCore::RenderSVGContainer::RenderSVGContainer):
3553 (WebCore::RenderSVGContainer::destroy):
3554 (WebCore::RenderSVGContainer::removeChildNode):
3555 (WebCore::RenderSVGContainer::appendChildNode):
3556 (WebCore::RenderSVGContainer::insertChildNode):
3557 * rendering/RenderSVGContainer.h:
3558 (WebCore::RenderSVGContainer::virtualChildren):
3559 (WebCore::RenderSVGContainer::children):
3561 2009-01-31 David Hyatt <hyatt@apple.com>
3563 Fix for https://bugs.webkit.org/show_bug.cgi?id=11363
3565 Remove the hacks in table code around the DeleteButtonController and fix tables so that positioned children don't get wrapped in anonymous objects.
3566 With the removal of a non-positioned DeleteButtonController renderer, table layout can be tightened up to only lay out table sections. Table section
3567 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
3568 be properly ignored.
3570 Reviewed by Oliver Hunt
3572 * editing/DeleteButtonController.cpp:
3573 (WebCore::DeleteButtonController::createDeletionUI):
3574 * rendering/RenderTable.cpp:
3575 (WebCore::RenderTable::addChild):
3576 (WebCore::RenderTable::layout):
3577 * rendering/RenderTableSection.cpp:
3578 (WebCore::RenderTableSection::layout):
3579 * rendering/RenderTableSection.h:
3581 2009-01-31 Adam Treat <adam.treat@torchmobile.com>
3583 Reviewed by Darin Adler.
3585 https://bugs.webkit.org/show_bug.cgi?id=23663
3586 Add a void toRenderBox() method which catches unnecessary casts at compile
3587 time and also fix the four cases where this was happening.
3589 * rendering/RenderBlock.cpp:
3590 (WebCore::RenderBlock::determineHorizontalPosition):
3591 * rendering/RenderBox.h:
3592 * rendering/RenderFlexibleBox.cpp:
3593 (WebCore::RenderFlexibleBox::layoutHorizontalBox):
3594 * rendering/RenderInline.cpp:
3595 (WebCore::RenderInline::updateHitTestResult):