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