1 2009-02-05 Scott Violet <sky@google.com>
3 Reviewed by Eric Seidel.
5 https://bugs.webkit.org/show_bug.cgi?id=23766
6 CanvasRenderingContext2D::setShadow needs else for other platforms.
8 Implements the CMYK variant of CanvasRenderingContext2D::setShadow for
9 other platforms using the CMYK color constructor.
11 * html/CanvasRenderingContext2D.cpp:
12 (WebCore::CanvasRenderingContext2D::setShadow):
14 2009-02-05 Scott Violet <sky@google.com>
16 Reviewed by Eric Seidel.
18 https://bugs.webkit.org/show_bug.cgi?id=23687
19 Wires up Skia'a ImageBuffer::toDataURL to support pngs.
20 This helps Chromium pass a couple of layout tests.
22 * platform/graphics/skia/ImageBufferSkia.cpp:
23 (WebCore::ImageBuffer::toDataURL):
24 * platform/image-encoders: Added.
25 * platform/image-encoders/skia: Added.
26 * platform/image-encoders/skia/PNGImageEncoder.cpp: Added.
28 (WebCore::PngEncoderState::EncoderWriteCallback):
29 (WebCore::PngEncoderState::ConvertBGRAtoRGB):
30 (WebCore::PngEncoderState::PngWriteStructDestroyer::PngWriteStructDestroyer):
31 (WebCore::PngEncoderState::PngWriteStructDestroyer::~PngWriteStructDestroyer):
32 (WebCore::PNGImageEncoder::encode):
33 * platform/image-encoders/skia/PNGImageEncoder.h: Added.
35 2009-02-05 Sam Weinig <sam@webkit.org>
37 Reviewed by Darin Adler.
39 Fix missing checked cast.
41 * rendering/RenderObject.cpp:
42 (WebCore::RenderObject::containingBlock):
44 2009-02-05 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
46 Not reviewed. Fix WML enabled builds.
48 FrameLoader::load() got an additional 'lockHistory' parameter, pass 'false'.
50 * wml/WMLGoElement.cpp:
51 (WebCore::WMLGoElement::executeTask):
53 2009-02-05 Scott Violet <sky@google.com>
55 Reviewed by Eric Seidel.
57 https://bugs.webkit.org/show_bug.cgi?id=23625
58 Additional fix: Skia platform doesn't render text to a canvas or support clipping to an image buffer
60 Fixes three bugs in PlatformContextSkia:
62 * When a new layer was started clipped to an image we used the
63 assignment operator to copy the SkBitmap. If the SkBitmap owns it's
64 pixels, this is not the right thing to do. Instead we need to create
66 * State holds an SkBitmap by value. State's copy constructor does a
67 memcpy. This is confusing and subtle, I've converted to use a member
68 initializer list which I think is clearer and less error prone.
69 * When creating a new layer there is no need to copy the clip image.
71 * platform/graphics/skia/PlatformContextSkia.cpp:
72 (PlatformContextSkia::State::State):
73 (PlatformContextSkia::save):
74 (PlatformContextSkia::beginLayerClippedToImage):
76 2009-02-05 Scott Violet <sky@google.com>
78 Reviewed by George Staikos.
80 https://bugs.webkit.org/show_bug.cgi?id=23462
81 Changes call from setFillColor to setStrokeColor.
83 * html/CanvasStyle.cpp:
84 (WebCore::CanvasStyle::applyStrokeColor):
86 2009-02-05 David Hyatt <hyatt@apple.com>
88 Fix crash on svg custom stop test. A virtual function didn't get patched properly.
90 Reviewed by Sam Weinig
92 * rendering/RenderObject.cpp:
93 (WebCore::RenderObject::clippedOverflowRectForRepaint):
94 * rendering/RenderSVGGradientStop.h:
95 (WebCore::RenderSVGGradientStop::clippedOverflowRectForRepaint):
97 2009-02-05 Simon Fraser <simon.fraser@apple.com>
99 Reviewed by Dave Hyatt
101 https://bugs.webkit.org/show_bug.cgi?id=23765
103 Add toRenderBoxModelObject() so that we can cast objects that
106 Fix getComputedStyle to return the current value of style
107 properties that are undergoing accelerated animations, by
108 asking the AnimationController if the property has accelerated
109 animations, and, if so, asking it to generate an appropriate
112 Tightened up some type safety (CSSPropertyID), and code clarity
113 (replace bool with enum).
115 * WebCore.xcodeproj/project.pbxproj:
116 * css/CSSComputedStyleDeclaration.cpp:
117 (WebCore::hasCompositedLayer):
118 (WebCore::computedTransform):
119 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
120 * page/animation/AnimationController.cpp:
121 (WebCore::AnimationControllerPrivate::isAnimatingPropertyOnRenderer):
122 (WebCore::AnimationController::isAnimatingPropertyOnRenderer):
123 (WebCore::AnimationController::supportsAcceleratedAnimationOfProperty):
124 * page/animation/AnimationController.h:
125 * page/animation/AnimationControllerPrivate.h:
126 * page/animation/ImplicitAnimation.cpp:
127 (WebCore::ImplicitAnimation::startAnimation):
128 (WebCore::ImplicitAnimation::endAnimation):
129 * page/animation/KeyframeAnimation.cpp:
130 (WebCore::KeyframeAnimation::startAnimation):
131 (WebCore::KeyframeAnimation::endAnimation):
132 * rendering/RenderBoxModelObject.h:
133 (WebCore::RenderBoxModelObject::isBoxModelObject):
134 (WebCore::toRenderBoxModelObject):
135 * rendering/RenderLayerBacking.cpp:
136 (WebCore::RenderLayerBacking::updateLayerTransform):
137 * rendering/RenderObject.h:
138 (WebCore::RenderObject::isBoxModelObject):
139 * rendering/style/RenderStyle.cpp:
140 (WebCore::RenderStyle::applyTransform):
141 * rendering/style/RenderStyle.h:
142 (WebCore::InheritedFlags::):
144 2009-02-05 Dimitri Glazkov <dglazkov@chromium.org>
146 Reviewed by Eric Seidel.
148 https://bugs.webkit.org/show_bug.cgi?id=23767
149 Add custom V8 bindings for HTML5 database.
151 * bindings/v8/custom/V8CustomSQLStatementCallback.cpp: Added.
152 (WebCore::V8CustomSQLStatementCallback::V8CustomSQLStatementCallback):
153 (WebCore::V8CustomSQLStatementCallback::~V8CustomSQLStatementCallback):
154 (WebCore::V8CustomSQLStatementCallback::handleEvent):
155 * bindings/v8/custom/V8CustomSQLStatementCallback.h: Added.
156 (WebCore::V8CustomSQLStatementCallback::create):
157 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: Added.
158 (WebCore::V8CustomSQLStatementErrorCallback::V8CustomSQLStatementErrorCallback):
159 (WebCore::V8CustomSQLStatementErrorCallback::~V8CustomSQLStatementErrorCallback):
160 (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
161 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.h: Added.
162 (WebCore::V8CustomSQLStatementErrorCallback::create):
163 * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp: Added.
164 (WebCore::V8CustomSQLTransactionCallback::V8CustomSQLTransactionCallback):
165 (WebCore::V8CustomSQLTransactionCallback::~V8CustomSQLTransactionCallback):
166 (WebCore::V8CustomSQLTransactionCallback::handleEvent):
167 * bindings/v8/custom/V8CustomSQLTransactionCallback.h: Added.
168 (WebCore::V8CustomSQLTransactionCallback::create):
169 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp: Added.
170 (WebCore::V8CustomSQLTransactionErrorCallback::V8CustomSQLTransactionErrorCallback):
171 (WebCore::V8CustomSQLTransactionErrorCallback::~V8CustomSQLTransactionErrorCallback):
172 (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
173 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h: Added.
174 (WebCore::V8CustomSQLTransactionErrorCallback::create):
175 * bindings/v8/custom/V8CustomVoidCallback.cpp: Added.
176 (WebCore::V8CustomVoidCallback::V8CustomVoidCallback):
177 (WebCore::V8CustomVoidCallback::~V8CustomVoidCallback):
178 (WebCore::V8CustomVoidCallback::handleEvent):
179 (WebCore::invokeCallback):
180 * bindings/v8/custom/V8CustomVoidCallback.h: Added.
181 (WebCore::V8CustomVoidCallback::create):
182 * bindings/v8/custom/V8DatabaseCustom.cpp: Added.
183 (WebCore::CALLBACK_FUNC_DECL):
184 * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: Added.
185 (WebCore::CALLBACK_FUNC_DECL):
186 * bindings/v8/custom/V8SQLTransactionCustom.cpp: Added.
187 (WebCore::CALLBACK_FUNC_DECL):
189 2009-02-05 Dimitri Glazkov <dglazkov@chromium.org>
191 Reviewed by Eric Seidel.
193 https://bugs.webkit.org/show_bug.cgi?id=23747
194 Add Chromium threading-related files.
196 * platform/chromium/TemporaryLinkStubs.cpp: Removed theading-related stubs.
198 2009-02-05 Sam Weinig <sam@webkit.org>
200 Reviewed by Adam Roben.
202 Add toRenderButton methods for casting RenderObjects to RenderButtons. The methods will assert if the object
203 is not a RenderButton. Also add a toRenderButton method that takes a RenderButton but returns void and that
204 is unimplemented. This method will catch anyone trying to do a cast when the object is already a RenderButton.
206 * rendering/RenderButton.h:
207 (WebCore::RenderButton::isRenderButton):
208 (WebCore::toRenderButton):
209 * rendering/RenderFileUploadControl.cpp:
210 (WebCore::RenderFileUploadControl::paintObject):
211 * rendering/RenderObject.h:
212 (WebCore::RenderObject::isRenderButton):
214 2009-02-05 David Hyatt <hyatt@apple.com>
216 Move the m_layer member variable of RenderBox up into RenderBoxModelObject. Refactor styleDidChange'
217 of RenderObject, RenderBoxModelObject and RenderBox to get more of the code in the correct subclass.
218 In order to set the various RenderObject bits properly prior to the test for whether a layer is
219 required, I added an additional method, updateBoxModelInfoAfterStyleChange, that is responsible
220 for setting all of the bits.
222 Eliminate hasStaticX/Y, staticX/Y, and setStaticX/Y from the render tree. Move hasStaticX/Y to
223 RenderStyle, and just use the corresponding layer() methods for the
224 staticX/Y getters/setters.
226 Reviewed by Sam Weinig
228 * rendering/RenderBlock.cpp:
229 (WebCore::RenderBlock::layoutBlock):
230 (WebCore::RenderBlock::adjustPositionedBlock):
231 (WebCore::RenderBlock::layoutOnlyPositionedObjects):
232 (WebCore::RenderBlock::layoutPositionedObjects):
233 (WebCore::RenderBlock::paintObject):
234 (WebCore::RenderBlock::nodeAtPoint):
235 (WebCore::RenderBlock::offsetForContents):
236 (WebCore::RenderBlock::calcPrefWidths):
237 (WebCore::RenderBlock::baselinePosition):
238 * rendering/RenderBox.cpp:
239 (WebCore::RenderBox::RenderBox):
240 (WebCore::RenderBox::destroy):
241 (WebCore::RenderBox::styleWillChange):
242 (WebCore::RenderBox::styleDidChange):
243 (WebCore::RenderBox::updateBoxModelInfoFromStyle):
244 (WebCore::RenderBox::scrollWidth):
245 (WebCore::RenderBox::scrollHeight):
246 (WebCore::RenderBox::scrollLeft):
247 (WebCore::RenderBox::scrollTop):
248 (WebCore::RenderBox::setScrollLeft):
249 (WebCore::RenderBox::setScrollTop):
250 (WebCore::RenderBox::getOverflowClipRect):
251 (WebCore::RenderBox::localToAbsolute):
252 (WebCore::RenderBox::absoluteToLocal):
253 (WebCore::RenderBox::localToContainerQuad):
254 (WebCore::RenderBox::position):
255 (WebCore::RenderBox::computeRectForRepaint):
256 (WebCore::RenderBox::calcAbsoluteHorizontal):
257 (WebCore::RenderBox::calcAbsoluteVertical):
258 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
259 (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
260 * rendering/RenderBox.h:
261 * rendering/RenderBoxModelObject.cpp:
262 (WebCore::RenderBoxModelObject::RenderBoxModelObject):
263 (WebCore::RenderBoxModelObject::destroy):
264 (WebCore::RenderBoxModelObject::styleWillChange):
265 (WebCore::RenderBoxModelObject::styleDidChange):
266 (WebCore::RenderBoxModelObject::updateBoxModelInfoFromStyle):
267 * rendering/RenderBoxModelObject.h:
268 (WebCore::RenderBoxModelObject::layer):
269 (WebCore::RenderBoxModelObject::requiresLayer):
270 * rendering/RenderFlexibleBox.cpp:
271 (WebCore::RenderFlexibleBox::layoutBlock):
272 (WebCore::RenderFlexibleBox::layoutHorizontalBox):
273 (WebCore::RenderFlexibleBox::layoutVerticalBox):
274 * rendering/RenderInline.cpp:
275 (WebCore::RenderInline::updateBoxModelInfoFromStyle):
276 (WebCore::RenderInline::styleDidChange):
277 (WebCore::RenderInline::relativePositionedInlineOffset):
278 * rendering/RenderInline.h:
279 * rendering/RenderLayer.cpp:
280 (WebCore::RenderLayer::setStaticY):
281 (WebCore::RenderLayer::updateLayerPosition):
282 * rendering/RenderLayer.h:
283 * rendering/RenderObject.cpp:
284 (WebCore::RenderObject::setStyle):
285 (WebCore::RenderObject::styleDidChange):
286 * rendering/RenderObject.h:
287 (WebCore::RenderObject::markContainingBlocksForLayout):
288 * rendering/RenderTableRow.cpp:
289 (WebCore::RenderTableRow::paint):
290 * rendering/RenderWidget.cpp:
291 (WebCore::RenderWidget::destroy):
292 * rendering/bidi.cpp:
293 (WebCore::appendRunsForObject):
294 (WebCore::RenderBlock::layoutInlineChildren):
295 (WebCore::RenderBlock::skipTrailingWhitespace):
296 (WebCore::RenderBlock::skipLeadingWhitespace):
297 (WebCore::RenderBlock::findNextLineBreak):
298 * rendering/style/RenderStyle.h:
299 (WebCore::InheritedFlags::hasStaticX):
300 (WebCore::InheritedFlags::hasStaticY):
302 2009-02-05 Sam Weinig <sam@webkit.org>
304 Fix the windows build.
306 * bindings/scripts/CodeGeneratorCOM.pm:
309 2009-02-05 Anders Carlsson <andersca@apple.com>
311 Reviewed by Kevin Decker.
313 Update to match Gecko.
316 * plugins/npfunctions.h:
318 2009-02-05 Sam Weinig <sam@webkit.org>
320 Reviewed by Darin Adler.
322 Finish merging EventTargetNode up into Node.
324 This also fixes a small recently introduced issue where EventListeners
325 would not be removed from the document if they were attached to comment
326 nodes outside of the documentElement.
331 * WebCore.vcproj/WebCore.vcproj:
332 * WebCore.xcodeproj/project.pbxproj:
333 * WebCoreSources.bkl:
334 * bindings/js/JSEventTargetNodeCustom.cpp: Removed.
335 * bindings/js/JSNodeCustom.cpp:
336 (WebCore::JSNode::addEventListener):
337 (WebCore::JSNode::removeEventListener):
338 (WebCore::JSNode::pushEventHandlerScope):
339 * bindings/scripts/CodeGenerator.pm:
340 * dom/CharacterData.cpp:
341 (WebCore::CharacterData::CharacterData):
342 (WebCore::CharacterData::rendererIsNeeded):
343 * dom/CharacterData.h:
344 * dom/ContainerNode.cpp:
345 (WebCore::ContainerNode::willRemove):
346 (WebCore::ContainerNode::attach):
347 (WebCore::ContainerNode::detach):
348 (WebCore::ContainerNode::insertedIntoDocument):
349 (WebCore::ContainerNode::removedFromDocument):
350 (WebCore::ContainerNode::setFocus):
351 (WebCore::ContainerNode::setActive):
352 (WebCore::ContainerNode::setHovered):
353 (WebCore::dispatchChildInsertionEvents):
354 (WebCore::dispatchChildRemovalEvents):
355 * dom/ContainerNode.h:
356 (WebCore::ContainerNode::ContainerNode):
358 (WebCore::Document::removeAllEventListenersFromAllNodes):
359 (WebCore::Document::removeAllDisconnectedNodeEventListeners):
360 (WebCore::Document::setFocusedNode):
361 * dom/EventTargetNode.cpp: Removed.
362 * dom/EventTargetNode.h: Removed.
364 (WebCore::Node::scriptExecutionContext):
365 (WebCore::Node::eventListeners):
366 (WebCore::Node::insertedIntoDocument):
367 (WebCore::Node::removedFromDocument):
368 (WebCore::Node::willMoveToNewOwnerDocument):
369 (WebCore::Node::didMoveToNewOwnerDocument):
370 (WebCore::updateSVGElementInstancesAfterEventListenerChange):
371 (WebCore::Node::addEventListener):
372 (WebCore::Node::removeEventListener):
373 (WebCore::Node::removeAllEventListenersSlowCase):
374 (WebCore::Node::handleLocalEvents):
375 (WebCore::eventTargetAsSVGElementInstance):
376 (WebCore::eventTargetRespectingSVGTargetRules):
377 (WebCore::Node::dispatchEvent):
378 (WebCore::Node::dispatchGenericEvent):
379 (WebCore::Node::dispatchSubtreeModifiedEvent):
380 (WebCore::Node::dispatchWindowEvent):
381 (WebCore::Node::dispatchUIEvent):
382 (WebCore::Node::dispatchKeyEvent):
383 (WebCore::Node::dispatchMouseEvent):
384 (WebCore::Node::dispatchSimulatedMouseEvent):
385 (WebCore::Node::dispatchSimulatedClick):
386 (WebCore::Node::dispatchWheelEvent):
387 (WebCore::Node::dispatchWebKitAnimationEvent):
388 (WebCore::Node::dispatchWebKitTransitionEvent):
389 (WebCore::Node::dispatchFocusEvent):
390 (WebCore::Node::dispatchBlurEvent):
391 (WebCore::Node::dispatchEventForType):
392 (WebCore::Node::dispatchProgressEvent):
393 (WebCore::Node::dispatchStorageEvent):
394 (WebCore::Node::removeInlineEventListenerForType):
395 (WebCore::Node::setInlineEventListenerForType):
396 (WebCore::Node::setInlineEventListenerForTypeAndAttribute):
397 (WebCore::Node::inlineEventListenerForType):
398 (WebCore::Node::disabled):
399 (WebCore::Node::defaultEventHandler):
400 (WebCore::Node::onabort):
401 (WebCore::Node::setOnabort):
402 (WebCore::Node::onblur):
403 (WebCore::Node::setOnblur):
404 (WebCore::Node::onchange):
405 (WebCore::Node::setOnchange):
406 (WebCore::Node::onclick):
407 (WebCore::Node::setOnclick):
408 (WebCore::Node::oncontextmenu):
409 (WebCore::Node::setOncontextmenu):
410 (WebCore::Node::ondblclick):
411 (WebCore::Node::setOndblclick):
412 (WebCore::Node::onerror):
413 (WebCore::Node::setOnerror):
414 (WebCore::Node::onfocus):
415 (WebCore::Node::setOnfocus):
416 (WebCore::Node::oninput):
417 (WebCore::Node::setOninput):
418 (WebCore::Node::onkeydown):
419 (WebCore::Node::setOnkeydown):
420 (WebCore::Node::onkeypress):
421 (WebCore::Node::setOnkeypress):
422 (WebCore::Node::onkeyup):
423 (WebCore::Node::setOnkeyup):
424 (WebCore::Node::onload):
425 (WebCore::Node::setOnload):
426 (WebCore::Node::onmousedown):
427 (WebCore::Node::setOnmousedown):
428 (WebCore::Node::onmousemove):
429 (WebCore::Node::setOnmousemove):
430 (WebCore::Node::onmouseout):
431 (WebCore::Node::setOnmouseout):
432 (WebCore::Node::onmouseover):
433 (WebCore::Node::setOnmouseover):
434 (WebCore::Node::onmouseup):
435 (WebCore::Node::setOnmouseup):
436 (WebCore::Node::onmousewheel):
437 (WebCore::Node::setOnmousewheel):
438 (WebCore::Node::onbeforecut):
439 (WebCore::Node::setOnbeforecut):
440 (WebCore::Node::oncut):
441 (WebCore::Node::setOncut):
442 (WebCore::Node::onbeforecopy):
443 (WebCore::Node::setOnbeforecopy):
444 (WebCore::Node::oncopy):
445 (WebCore::Node::setOncopy):
446 (WebCore::Node::onbeforepaste):
447 (WebCore::Node::setOnbeforepaste):
448 (WebCore::Node::onpaste):
449 (WebCore::Node::setOnpaste):
450 (WebCore::Node::ondragenter):
451 (WebCore::Node::setOndragenter):
452 (WebCore::Node::ondragover):
453 (WebCore::Node::setOndragover):
454 (WebCore::Node::ondragleave):
455 (WebCore::Node::setOndragleave):
456 (WebCore::Node::ondrop):
457 (WebCore::Node::setOndrop):
458 (WebCore::Node::ondragstart):
459 (WebCore::Node::setOndragstart):
460 (WebCore::Node::ondrag):
461 (WebCore::Node::setOndrag):
462 (WebCore::Node::ondragend):
463 (WebCore::Node::setOndragend):
464 (WebCore::Node::onreset):
465 (WebCore::Node::setOnreset):
466 (WebCore::Node::onresize):
467 (WebCore::Node::setOnresize):
468 (WebCore::Node::onscroll):
469 (WebCore::Node::setOnscroll):
470 (WebCore::Node::onsearch):
471 (WebCore::Node::setOnsearch):
472 (WebCore::Node::onselect):
473 (WebCore::Node::setOnselect):
474 (WebCore::Node::onselectstart):
475 (WebCore::Node::setOnselectstart):
476 (WebCore::Node::onsubmit):
477 (WebCore::Node::setOnsubmit):
478 (WebCore::Node::onunload):
479 (WebCore::Node::setOnunload):
481 * editing/Editor.cpp:
482 (WebCore::Editor::dispatchCPPEvent):
483 * html/HTMLFormElement.cpp:
484 (WebCore::HTMLFormElement::handleLocalEvents):
485 * html/HTMLInputElement.cpp:
486 (WebCore::HTMLInputElement::defaultEventHandler):
487 * html/HTMLTokenizer.cpp:
488 (WebCore::HTMLTokenizer::notifyFinished):
489 * loader/MediaDocument.cpp:
490 (WebCore::MediaDocument::defaultEventHandler):
491 * page/AccessibilityRenderObject.cpp:
492 (WebCore::AccessibilityRenderObject::mouseButtonListener):
493 * page/EventHandler.cpp:
494 (WebCore::EventHandler::dispatchDragEvent):
495 (WebCore::EventHandler::updateMouseEventTargetNode):
496 (WebCore::EventHandler::dispatchMouseEvent):
497 (WebCore::EventHandler::handleWheelEvent):
498 (WebCore::EventHandler::canMouseDownStartSelect):
499 (WebCore::EventHandler::canMouseDragExtendSelect):
500 (WebCore::eventTargetNodeForDocument):
501 (WebCore::EventHandler::keyEvent):
502 * page/FrameView.cpp:
503 (WebCore::FrameView::scheduleEvent):
504 (WebCore::FrameView::updateOverflowStatus):
507 (WebCore::networkStateChanged):
508 * rendering/RenderLayer.cpp:
509 (WebCore::RenderLayer::scrollToOffset):
510 (WebCore::RenderLayer::updateOverflowStatus):
511 * rendering/RenderListBox.cpp:
512 (WebCore::RenderListBox::valueChanged):
513 * rendering/RenderMedia.h:
514 * rendering/RenderTextControl.cpp:
515 (WebCore::RenderTextControl::selectionChanged):
516 * svg/SVGElementInstance.h:
517 (WebCore::SVGElementInstance::toNode):
518 * xml/XPathExpression.cpp:
519 (WebCore::XPathExpression::evaluate):
520 * xml/XPathResult.cpp:
521 (WebCore::XPathResult::XPathResult):
523 2009-02-05 Adam Treat <adam.treat@torchmobile.com>
525 Fix the Qt build now that EventTargetNode.idl was removed in r40672.
529 2009-02-05 Scott Violet <sky@google.com>
531 Reviewed by Sam Weinig.
533 Bug 23462: Add RGB -> CMYK conversion algorithm
534 <https://bugs.webkit.org/show_bug.cgi?id=23462>
536 Adds an RGB -> CMYK converter. This isn't perfect, but better than
539 * html/CanvasStyle.cpp:
540 (WebCore::CanvasStyle::applyStrokeColor):
541 (WebCore::CanvasStyle::applyFillColor):
542 (WebCore::CanvasStyle::cmykToRGB):
543 * html/CanvasStyle.h:
545 2009-02-04 Sam Weinig <sam@webkit.org>
547 Reviewed by Darin Adler.
549 First stage of merging EventTargetNode up into Node. The intent of this change
550 is to both simplify the inheritance hierarchy (at the same time making it more
551 closely match the spec which states that all Nodes are EventTargets) and save
552 4 bytes per Node that the polymorphic multiple-inheritance was costing us.
554 This does the bare minimum to get things compiling, the next patch will clean
556 * DerivedSources.make:
558 * WebCore.xcodeproj/project.pbxproj:
559 * bindings/js/JSDocumentCustom.cpp:
560 (WebCore::JSDocument::mark):
561 * bindings/js/JSEventListener.cpp:
562 (WebCore::JSLazyEventListener::parseCode):
563 * bindings/js/JSEventTarget.cpp:
564 (WebCore::toEventTarget):
565 * bindings/js/JSEventTarget.h:
566 * bindings/js/JSEventTargetNodeCustom.cpp:
567 (WebCore::JSNode::addEventListener):
568 (WebCore::JSNode::removeEventListener):
569 (WebCore::JSNode::pushEventHandlerScope):
570 * bindings/js/JSStyleSheetCustom.cpp:
571 * bindings/scripts/CodeGeneratorJS.pm:
572 * bindings/scripts/CodeGeneratorObjC.pm:
574 * dom/CharacterData.h:
575 * dom/CharacterData.idl:
577 * dom/DocumentFragment.idl:
579 * dom/EventTarget.cpp:
580 (WebCore::EventTarget::toNode):
582 * dom/EventTarget.idl:
583 * dom/EventTargetNode.cpp:
584 (WebCore::Node::scriptExecutionContext):
585 (WebCore::Node::eventListeners):
586 (WebCore::Node::insertedIntoDocument):
587 (WebCore::Node::removedFromDocument):
588 (WebCore::Node::willMoveToNewOwnerDocument):
589 (WebCore::Node::didMoveToNewOwnerDocument):
590 (WebCore::Node::addEventListener):
591 (WebCore::Node::removeEventListener):
592 (WebCore::Node::removeAllEventListenersSlowCase):
593 (WebCore::Node::handleLocalEvents):
594 (WebCore::Node::dispatchEvent):
595 (WebCore::Node::dispatchGenericEvent):
596 (WebCore::Node::dispatchSubtreeModifiedEvent):
597 (WebCore::Node::dispatchWindowEvent):
598 (WebCore::Node::dispatchUIEvent):
599 (WebCore::Node::dispatchKeyEvent):
600 (WebCore::Node::dispatchMouseEvent):
601 (WebCore::Node::dispatchSimulatedMouseEvent):
602 (WebCore::Node::dispatchSimulatedClick):
603 (WebCore::Node::dispatchWheelEvent):
604 (WebCore::Node::dispatchWebKitAnimationEvent):
605 (WebCore::Node::dispatchWebKitTransitionEvent):
606 (WebCore::Node::dispatchFocusEvent):
607 (WebCore::Node::dispatchBlurEvent):
608 (WebCore::Node::dispatchEventForType):
609 (WebCore::Node::dispatchProgressEvent):
610 (WebCore::Node::dispatchStorageEvent):
611 (WebCore::Node::removeInlineEventListenerForType):
612 (WebCore::Node::setInlineEventListenerForType):
613 (WebCore::Node::setInlineEventListenerForTypeAndAttribute):
614 (WebCore::Node::inlineEventListenerForType):
615 (WebCore::Node::disabled):
616 (WebCore::Node::defaultEventHandler):
617 (WebCore::Node::onabort):
618 (WebCore::Node::setOnabort):
619 (WebCore::Node::onblur):
620 (WebCore::Node::setOnblur):
621 (WebCore::Node::onchange):
622 (WebCore::Node::setOnchange):
623 (WebCore::Node::onclick):
624 (WebCore::Node::setOnclick):
625 (WebCore::Node::oncontextmenu):
626 (WebCore::Node::setOncontextmenu):
627 (WebCore::Node::ondblclick):
628 (WebCore::Node::setOndblclick):
629 (WebCore::Node::onerror):
630 (WebCore::Node::setOnerror):
631 (WebCore::Node::onfocus):
632 (WebCore::Node::setOnfocus):
633 (WebCore::Node::oninput):
634 (WebCore::Node::setOninput):
635 (WebCore::Node::onkeydown):
636 (WebCore::Node::setOnkeydown):
637 (WebCore::Node::onkeypress):
638 (WebCore::Node::setOnkeypress):
639 (WebCore::Node::onkeyup):
640 (WebCore::Node::setOnkeyup):
641 (WebCore::Node::onload):
642 (WebCore::Node::setOnload):
643 (WebCore::Node::onmousedown):
644 (WebCore::Node::setOnmousedown):
645 (WebCore::Node::onmousemove):
646 (WebCore::Node::setOnmousemove):
647 (WebCore::Node::onmouseout):
648 (WebCore::Node::setOnmouseout):
649 (WebCore::Node::onmouseover):
650 (WebCore::Node::setOnmouseover):
651 (WebCore::Node::onmouseup):
652 (WebCore::Node::setOnmouseup):
653 (WebCore::Node::onmousewheel):
654 (WebCore::Node::setOnmousewheel):
655 (WebCore::Node::onbeforecut):
656 (WebCore::Node::setOnbeforecut):
657 (WebCore::Node::oncut):
658 (WebCore::Node::setOncut):
659 (WebCore::Node::onbeforecopy):
660 (WebCore::Node::setOnbeforecopy):
661 (WebCore::Node::oncopy):
662 (WebCore::Node::setOncopy):
663 (WebCore::Node::onbeforepaste):
664 (WebCore::Node::setOnbeforepaste):
665 (WebCore::Node::onpaste):
666 (WebCore::Node::setOnpaste):
667 (WebCore::Node::ondragenter):
668 (WebCore::Node::setOndragenter):
669 (WebCore::Node::ondragover):
670 (WebCore::Node::setOndragover):
671 (WebCore::Node::ondragleave):
672 (WebCore::Node::setOndragleave):
673 (WebCore::Node::ondrop):
674 (WebCore::Node::setOndrop):
675 (WebCore::Node::ondragstart):
676 (WebCore::Node::setOndragstart):
677 (WebCore::Node::ondrag):
678 (WebCore::Node::setOndrag):
679 (WebCore::Node::ondragend):
680 (WebCore::Node::setOndragend):
681 (WebCore::Node::onreset):
682 (WebCore::Node::setOnreset):
683 (WebCore::Node::onresize):
684 (WebCore::Node::setOnresize):
685 (WebCore::Node::onscroll):
686 (WebCore::Node::setOnscroll):
687 (WebCore::Node::onsearch):
688 (WebCore::Node::setOnsearch):
689 (WebCore::Node::onselect):
690 (WebCore::Node::setOnselect):
691 (WebCore::Node::onselectstart):
692 (WebCore::Node::setOnselectstart):
693 (WebCore::Node::onsubmit):
694 (WebCore::Node::setOnsubmit):
695 (WebCore::Node::onunload):
696 (WebCore::Node::setOnunload):
697 * dom/EventTargetNode.h:
698 (WebCore::toEventTargetNode):
699 (WebCore::EventTargetNodeCast):
700 * dom/EventTargetNode.idl: Removed.
701 * dom/MouseEvent.cpp:
702 (WebCore::MouseEvent::MouseEvent):
703 (WebCore::MouseEvent::initMouseEvent):
704 (WebCore::MouseEvent::toElement):
705 (WebCore::MouseEvent::fromElement):
707 (WebCore::MouseEvent::create):
708 (WebCore::MouseEvent::relatedTarget):
710 (WebCore::Node::~Node):
712 (WebCore::Node::isEventTargetNode):
713 (WebCore::Node::toNode):
714 (WebCore::Node::removeAllEventListeners):
715 (WebCore::Node::refEventTarget):
716 (WebCore::Node::derefEventTarget):
718 * page/EventHandler.h:
721 (WebCore::XPathResult::create):
723 2009-02-04 David Hyatt <hyatt@apple.com>
725 Convert RenderLayer from having a RenderBox* m_renderer to having a RenderBoxModelObject*. The
726 container-relative repaint methods all had to be changed as a result to use RenderBoxModelObject* also.
728 All of RenderLayer.cpp now uses what will be the new style for dealing with an object that can be a block
729 or an inline flow. x()/y()/width()/height() can't be queried on an inline flow, nor can many other
730 properties (like scrollWidth() / scrollHeight()), so the code has to be tightened up to convert to RenderBox
731 under the right conditions.
733 There was a bogus subtraction of renderer()->y() in localBounding box for RenderInlines. Since y was always
734 0, this subtraction wasn't necessary. It has been removed.
736 Reviewed by Adam Roben
738 * page/animation/AnimationBase.cpp:
739 * rendering/RenderBR.h:
740 (WebCore::RenderBR::selectionRectForRepaint):
741 * rendering/RenderBlock.cpp:
742 (WebCore::RenderBlock::selectionGapRectsForRepaint):
743 (WebCore::RenderBlock::rectWithOutlineForRepaint):
744 * rendering/RenderBlock.h:
745 (WebCore::RenderBlock::selectionRectForRepaint):
746 * rendering/RenderBox.cpp:
747 (WebCore::RenderBox::outlineBoundsForRepaint):
748 (WebCore::RenderBox::localToContainerQuad):
749 (WebCore::RenderBox::clippedOverflowRectForRepaint):
750 (WebCore::RenderBox::computeRectForRepaint):
751 * rendering/RenderBox.h:
752 * rendering/RenderBoxModelObject.cpp:
753 (WebCore::RenderBoxModelObject::relativePositionOffsetX):
754 (WebCore::RenderBoxModelObject::relativePositionOffsetY):
755 * rendering/RenderBoxModelObject.h:
756 (WebCore::RenderBoxModelObject::relativePositionOffset):
757 * rendering/RenderForeignObject.cpp:
758 (WebCore::RenderForeignObject::computeRectForRepaint):
759 * rendering/RenderForeignObject.h:
760 * rendering/RenderInline.cpp:
761 (WebCore::RenderInline::clippedOverflowRectForRepaint):
762 (WebCore::RenderInline::rectWithOutlineForRepaint):
763 * rendering/RenderInline.h:
764 * rendering/RenderLayer.cpp:
765 (WebCore::RenderLayer::RenderLayer):
766 (WebCore::RenderLayer::updateLayerPositions):
767 (WebCore::RenderLayer::updateTransform):
768 (WebCore::RenderLayer::setHasVisibleContent):
769 (WebCore::RenderLayer::updateLayerPosition):
770 (WebCore::RenderLayer::scrollToOffset):
771 (WebCore::RenderLayer::scrollRectToVisible):
772 (WebCore::resizerCornerRect):
773 (WebCore::RenderLayer::scrollbarCornerPresent):
774 (WebCore::RenderLayer::invalidateScrollbarRect):
775 (WebCore::RenderLayer::positionOverflowControls):
776 (WebCore::RenderLayer::computeScrollDimensions):
777 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
778 (WebCore::RenderLayer::paintScrollCorner):
779 (WebCore::RenderLayer::paintResizer):
780 (WebCore::RenderLayer::isPointInResizeControl):
781 (WebCore::RenderLayer::hitTestOverflowControls):
782 (WebCore::RenderLayer::paintLayer):
783 (WebCore::RenderLayer::hitTestLayer):
784 (WebCore::RenderLayer::localBoundingBox):
785 * rendering/RenderLayer.h:
786 (WebCore::RenderLayer::renderer):
787 (WebCore::RenderLayer::renderBox):
788 (WebCore::RenderLayer::renderBoxX):
789 (WebCore::RenderLayer::renderBoxY):
790 * rendering/RenderListMarker.cpp:
791 (WebCore::RenderListMarker::selectionRectForRepaint):
792 * rendering/RenderListMarker.h:
793 * rendering/RenderMarquee.cpp:
794 (WebCore::RenderMarquee::computePosition):
795 (WebCore::RenderMarquee::timerFired):
796 * rendering/RenderObject.cpp:
797 (WebCore::RenderObject::containerForRepaint):
798 (WebCore::RenderObject::repaintUsingContainer):
799 (WebCore::RenderObject::repaint):
800 (WebCore::RenderObject::repaintRectangle):
801 (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
802 (WebCore::RenderObject::rectWithOutlineForRepaint):
803 (WebCore::RenderObject::clippedOverflowRectForRepaint):
804 (WebCore::RenderObject::computeRectForRepaint):
805 (WebCore::RenderObject::localToContainerQuad):
806 * rendering/RenderObject.h:
807 (WebCore::RenderObject::selectionRectForRepaint):
808 (WebCore::RenderObject::outlineBoundsForRepaint):
809 * rendering/RenderPath.cpp:
810 (WebCore::RenderPath::clippedOverflowRectForRepaint):
811 (WebCore::RenderPath::outlineBoundsForRepaint):
812 * rendering/RenderPath.h:
813 * rendering/RenderReplaced.cpp:
814 (WebCore::RenderReplaced::selectionRectForRepaint):
815 (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
816 * rendering/RenderReplaced.h:
817 * rendering/RenderSVGContainer.cpp:
818 (WebCore::RenderSVGContainer::clippedOverflowRectForRepaint):
819 (WebCore::RenderSVGContainer::outlineBoundsForRepaint):
820 * rendering/RenderSVGContainer.h:
821 * rendering/RenderSVGHiddenContainer.cpp:
822 (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
823 * rendering/RenderSVGHiddenContainer.h:
824 * rendering/RenderSVGImage.cpp:
825 (WebCore::RenderSVGImage::clippedOverflowRectForRepaint):
826 * rendering/RenderSVGImage.h:
827 * rendering/RenderSVGInlineText.cpp:
828 (WebCore::RenderSVGInlineText::selectionRectForRepaint):
829 (WebCore::RenderSVGInlineText::computeRepaintRectForRange):
830 * rendering/RenderSVGInlineText.h:
831 * rendering/RenderSVGRoot.cpp:
832 (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
833 * rendering/RenderSVGRoot.h:
834 * rendering/RenderSVGText.cpp:
835 (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
836 * rendering/RenderSVGText.h:
837 * rendering/RenderSelectionInfo.h:
838 (WebCore::RenderSelectionInfoBase::repaintContainer):
839 * rendering/RenderTableCell.cpp:
840 (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
841 (WebCore::RenderTableCell::computeRectForRepaint):
842 (WebCore::RenderTableCell::localToContainerQuad):
843 * rendering/RenderTableCell.h:
844 * rendering/RenderTableCol.cpp:
845 (WebCore::RenderTableCol::clippedOverflowRectForRepaint):
846 * rendering/RenderTableCol.h:
847 * rendering/RenderTableRow.cpp:
848 (WebCore::RenderTableRow::clippedOverflowRectForRepaint):
849 * rendering/RenderTableRow.h:
850 * rendering/RenderText.cpp:
851 (WebCore::RenderText::clippedOverflowRectForRepaint):
852 (WebCore::RenderText::selectionRectForRepaint):
853 * rendering/RenderText.h:
854 * rendering/RenderTreeAsText.cpp:
856 * rendering/RenderView.cpp:
857 (WebCore::RenderView::localToContainerQuad):
858 (WebCore::RenderView::computeRectForRepaint):
859 * rendering/RenderView.h:
861 2009-02-05 Alexey Proskuryakov <ap@webkit.org>
865 * page/animation/KeyframeAnimation.h: A function prototype had two "fromStyle" arguments.
867 2009-02-05 Yael Aharon <yael.aharon@nokia.com>
869 Reviewed by Alexey Proskuryakov.
870 Landed by Simon Hausmann.
872 https://bugs.webkit.org/show_bug.cgi?id=23733
874 Use a 2 arguments constructor for KURL to avoid ASSERT failure.
876 * page/SecurityOrigin.cpp:
877 (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
879 2009-02-04 Feng Qian <feng@chromium.org>
881 Reviewed by Darin Adler.
883 Add Android-specific files to WebCore/editing directory.
884 https://bugs.webkit.org/show_bug.cgi?id=23294
886 * editing/android: Added.
887 * editing/android/EditorAndroid.cpp: Added.
888 (WebCore::Editor::newGeneralClipboard):
890 2009-02-04 Dean Jackson <dino@apple.com>
892 Reviewed by Darin Adler.
894 Remove -webkit-animation-play-state
895 The AnimationController still has the code to execute the property, but
896 it is no longer parsed or recorded.
897 https://bugs.webkit.org/show_bug.cgi?id=22907
899 * css/CSSComputedStyleDeclaration.cpp:
901 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
903 (WebCore::CSSParser::parseValue):
904 (WebCore::CSSParser::parseAnimationProperty):
906 * css/CSSPropertyNames.in:
907 * css/CSSStyleSelector.cpp:
908 (WebCore::CSSStyleSelector::applyProperty):
909 * css/CSSStyleSelector.h:
910 * platform/animation/Animation.h:
911 * rendering/style/RenderStyleConstants.h:
913 2009-02-04 Tor Arne Vestbø <tavestbo@trolltech.com>
915 Reviewed by Darin Adler.
917 Make sure we don't load on removing the media element from the document
918 https://bugs.webkit.org/show_bug.cgi?id=22105
920 Test: media/remove-from-document-no-load.html
922 * html/HTMLMediaElement.cpp:
923 (WebCore::HTMLMediaElement::removedFromDocument):
925 2009-02-04 David Hyatt <hyatt@apple.com>
927 Add a new RenderBoxModelObject class that will eventually act as the direct base class for RenderInlines. For
928 now just adding the class and putting it in between RenderObject and RenderBox in the hierarchy. RenderInline remains
929 derived from RenderBox for now.
931 Reviewed by Sam Weinig
933 * WebCore.xcodeproj/project.pbxproj:
934 * rendering/RenderBox.cpp:
935 (WebCore::RenderBox::RenderBox):
936 (WebCore::RenderBox::destroy):
937 (WebCore::RenderBox::styleWillChange):
938 (WebCore::RenderBox::styleDidChange):
939 (WebCore::RenderBox::computeRectForRepaint):
940 * rendering/RenderBox.h:
941 * rendering/RenderBoxModelObject.cpp: Added.
942 (WebCore::RenderBoxModelObject::RenderBoxModelObject):
943 (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
944 * rendering/RenderBoxModelObject.h: Added.
945 * rendering/RenderObject.h:
947 2009-02-04 Chris Marrin <cmarrin@apple.com>
949 Reviewed by Dave Hyatt
951 Added accelerated animation support to AnimationController and friends. The primary
953 * accelerated animations get their start time from the compositing engine, so we
954 wait for a callback (notifyAnimationStarted()) in order to get the start time.
955 * if software and accelerated animations start in the same cycle, they all need
956 to use the same start time, which is that of the accelerated animations.
958 Added AnimationControllerPrivate to preserve the encapsulation under
962 * WebCore.vcproj/WebCore.vcproj:
963 * WebCore.xcodeproj/project.pbxproj:
964 * page/animation/AnimationBase.cpp:
965 (WebCore::PropertyWrapperBase::animationIsAccelerated):
966 (WebCore::PropertyWrapperAcceleratedOpacity::PropertyWrapperAcceleratedOpacity):
967 (WebCore::PropertyWrapperAcceleratedOpacity::animationIsAccelerated):
968 (WebCore::PropertyWrapperAcceleratedOpacity::blend):
969 (WebCore::PropertyWrapperAcceleratedTransform::PropertyWrapperAcceleratedTransform):
970 (WebCore::PropertyWrapperAcceleratedTransform::animationIsAccelerated):
971 (WebCore::PropertyWrapperAcceleratedTransform::blend):
972 (WebCore::ensurePropertyMap):
973 (WebCore::AnimationBase::AnimationBase):
974 (WebCore::AnimationBase::~AnimationBase):
975 (WebCore::AnimationBase::blendProperties):
976 (WebCore::AnimationBase::animationOfPropertyIsAccelerated):
977 (WebCore::AnimationBase::updateStateMachine):
978 (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
979 (WebCore::AnimationBase::willNeedService):
980 (WebCore::AnimationBase::getTimeToNextEvent):
981 (WebCore::AnimationBase::goIntoEndingOrLoopingState):
982 (WebCore::AnimationBase::beginAnimationUpdateTime):
983 * page/animation/AnimationBase.h:
984 (WebCore::AnimationBase::onAnimationStartResponse):
985 (WebCore::AnimationBase::getAnimatedStyle):
986 (WebCore::AnimationBase::isAnimatingProperty):
987 (WebCore::AnimationBase::endAnimation):
988 (WebCore::AnimationBase::isFallbackAnimating):
989 * page/animation/AnimationController.cpp:
990 (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
991 (WebCore::AnimationControllerPrivate::accessCompositeAnimation):
992 (WebCore::AnimationControllerPrivate::addNodeChangeToDispatch):
993 (WebCore::AnimationControllerPrivate::animationTimerFired):
994 (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
995 (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
996 (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
997 (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
998 (WebCore::AnimationControllerPrivate::styleAvailable):
999 (WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList):
1000 (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList):
1001 (WebCore::AnimationControllerPrivate::startTimeResponse):
1002 (WebCore::AnimationController::getAnimatedStyleForRenderer):
1003 (WebCore::AnimationController::notifyAnimationStarted):
1004 (WebCore::AnimationController::endAnimationUpdate):
1005 * page/animation/AnimationController.h:
1006 * page/animation/AnimationControllerPrivate.h: Added.
1007 (WebCore::AnimationControllerPrivate::hasAnimations):
1008 (WebCore::AnimationControllerPrivate::setBeginAnimationUpdateTime):
1009 (WebCore::AnimationControllerPrivate::endAnimationUpdate):
1010 (WebCore::AnimationControllerPrivate::receivedStartTimeResponse):
1011 * page/animation/CompositeAnimation.cpp:
1012 (WebCore::CompositeAnimationPrivate::CompositeAnimationPrivate):
1013 (WebCore::CompositeAnimationPrivate::animationControllerPriv):
1014 (WebCore::CompositeAnimationPrivate::updateTransitions):
1015 (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
1016 (WebCore::CompositeAnimationPrivate::animate):
1017 (WebCore::CompositeAnimationPrivate::getAnimatedStyle):
1018 (WebCore::CompositeAnimationPrivate::addToStartTimeResponseWaitList):
1019 (WebCore::CompositeAnimationPrivate::removeFromStartTimeResponseWaitList):
1020 (WebCore::CompositeAnimation::CompositeAnimation):
1021 (WebCore::CompositeAnimation::animationControllerPriv):
1022 (WebCore::CompositeAnimation::getAnimatedStyle):
1023 (WebCore::CompositeAnimation::addToStartTimeResponseWaitList):
1024 (WebCore::CompositeAnimation::removeFromStartTimeResponseWaitList):
1025 * page/animation/CompositeAnimation.h:
1026 (WebCore::CompositeAnimation::create):
1027 * page/animation/ImplicitAnimation.cpp:
1028 (WebCore::ImplicitAnimation::shouldSendEventForListener):
1029 (WebCore::ImplicitAnimation::animate):
1030 (WebCore::ImplicitAnimation::getAnimatedStyle):
1031 (WebCore::ImplicitAnimation::startAnimation):
1032 (WebCore::ImplicitAnimation::endAnimation):
1033 (WebCore::ImplicitAnimation::sendTransitionEvent):
1034 (WebCore::ImplicitAnimation::willNeedService):
1035 * page/animation/ImplicitAnimation.h:
1036 * page/animation/KeyframeAnimation.cpp:
1037 (WebCore::KeyframeAnimation::getKeyframeAnimationInterval):
1038 (WebCore::KeyframeAnimation::animate):
1039 (WebCore::KeyframeAnimation::getAnimatedStyle):
1040 (WebCore::KeyframeAnimation::startAnimation):
1041 (WebCore::KeyframeAnimation::endAnimation):
1042 (WebCore::KeyframeAnimation::shouldSendEventForListener):
1043 (WebCore::KeyframeAnimation::sendAnimationEvent):
1044 (WebCore::KeyframeAnimation::willNeedService):
1045 * page/animation/KeyframeAnimation.h:
1046 * platform/graphics/GraphicsLayerClient.h:
1047 * platform/graphics/mac/GraphicsLayerCA.mm:
1048 (-[WebAnimationDelegate animationDidStart:]):
1049 * rendering/RenderLayerBacking.h:
1051 2009-02-04 Dimitri Glazkov <dglazkov@chromium.org>
1053 Not reviewed, build fix.
1055 Remove duplicate definition of msSans in FontCache::alternateFamilyName.
1057 * platform/graphics/FontCache.cpp:
1058 (WebCore::alternateFamilyName):
1060 2009-02-04 Eric Seidel <eric@webkit.org>
1062 Reviewed by George Staikos.
1064 Reverse the meaning of the if check so that Android
1065 (dpad devices) do not scroll on focus and normal platforms do
1066 http://trac.webkit.org/changeset/40647
1068 This was caught by George Staikos, and I wrote the patch.
1071 (WebCore::Element::updateFocusAppearance):
1073 2009-02-04 David Hyatt <hyatt@apple.com>
1075 Eliminate RenderContainer.
1077 Reviewed by Sam and Anders
1081 * WebCore.vcproj/WebCore.vcproj:
1082 * WebCore.xcodeproj/project.pbxproj:
1083 * WebCoreSources.bkl:
1084 * rendering/RenderBlock.cpp:
1085 (WebCore::RenderBlock::RenderBlock):
1086 (WebCore::RenderBlock::destroy):
1087 (WebCore::RenderBlock::styleWillChange):
1088 (WebCore::RenderBlock::styleDidChange):
1089 (WebCore::RenderBlock::addChild):
1090 (WebCore::RenderBlock::dirtyLineBoxes):
1091 (WebCore::RenderBlock::createInlineBox):
1092 (WebCore::RenderBlock::removeChild):
1093 (WebCore::RenderBlock::setSelectionState):
1094 (WebCore::RenderBlock::avoidsFloats):
1095 (WebCore::RenderBlock::positionForCoordinates):
1096 (WebCore::RenderBlock::calcInlinePrefWidths):
1097 (WebCore::RenderBlock::baselinePosition):
1098 (WebCore::RenderBlock::getBaselineOfFirstLineBox):
1099 (WebCore::RenderBlock::getBaselineOfLastLineBox):
1100 (WebCore::RenderBlock::rectWithOutlineForRepaint):
1101 (WebCore::RenderBlock::hoverAncestor):
1102 (WebCore::RenderBlock::updateDragState):
1103 (WebCore::RenderBlock::localCaretRect):
1104 * rendering/RenderBlock.h:
1105 (WebCore::RenderBlock::virtualChildren):
1106 (WebCore::RenderBlock::children):
1107 * rendering/RenderContainer.cpp: Removed.
1108 * rendering/RenderContainer.h: Removed.
1109 * rendering/RenderFrameSet.cpp:
1110 (WebCore::RenderFrameSet::RenderFrameSet):
1111 (WebCore::RenderFrameSet::nodeAtPoint):
1112 (WebCore::RenderFrameSet::layout):
1113 * rendering/RenderFrameSet.h:
1114 (WebCore::RenderFrameSet::virtualChildren):
1115 (WebCore::RenderFrameSet::children):
1116 * rendering/RenderInline.cpp:
1117 (WebCore::RenderInline::RenderInline):
1118 (WebCore::RenderInline::destroy):
1119 (WebCore::RenderInline::styleDidChange):
1120 (WebCore::nextContinuation):
1121 (WebCore::RenderInline::continuationBefore):
1122 (WebCore::RenderInline::addChildIgnoringContinuation):
1123 (WebCore::RenderInline::splitInlines):
1124 (WebCore::RenderInline::splitFlow):
1125 (WebCore::RenderInline::addChildToContinuation):
1126 (WebCore::RenderInline::offsetLeft):
1127 (WebCore::RenderInline::offsetTop):
1128 (WebCore::RenderInline::positionForCoordinates):
1129 (WebCore::RenderInline::clippedOverflowRectForRepaint):
1130 (WebCore::RenderInline::rectWithOutlineForRepaint):
1131 (WebCore::RenderInline::updateDragState):
1132 (WebCore::RenderInline::childBecameNonInline):
1133 * rendering/RenderInline.h:
1134 (WebCore::RenderInline::virtualChildren):
1135 (WebCore::RenderInline::children):
1136 (WebCore::RenderInline::continuation):
1137 (WebCore::RenderInline::setContinuation):
1138 * rendering/RenderLineBoxList.h:
1139 * rendering/RenderObject.h:
1140 * rendering/RenderObjectChildList.h:
1141 * rendering/RenderSVGInlineText.cpp:
1142 (WebCore::RenderSVGInlineText::computeRepaintRectForRange):
1143 * rendering/RenderSVGRoot.cpp:
1144 (WebCore::RenderSVGRoot::RenderSVGRoot):
1145 (WebCore::RenderSVGRoot::applyContentTransforms):
1146 (WebCore::RenderSVGRoot::paint):
1147 (WebCore::RenderSVGRoot::absoluteTransform):
1148 (WebCore::RenderSVGRoot::nodeAtPoint):
1149 (WebCore::RenderSVGRoot::position):
1150 * rendering/RenderSVGRoot.h:
1151 (WebCore::RenderSVGRoot::virtualChildren):
1152 (WebCore::RenderSVGRoot::children):
1153 * rendering/RenderSVGText.cpp:
1154 (WebCore::RenderSVGText::absoluteRects):
1155 (WebCore::RenderSVGText::absoluteQuads):
1156 * rendering/RenderTable.cpp:
1157 (WebCore::RenderTable::addChild):
1158 (WebCore::RenderTable::removeChild):
1159 * rendering/RenderTableCol.cpp:
1160 (WebCore::RenderTableCol::RenderTableCol):
1161 * rendering/RenderTableCol.h:
1162 (WebCore::RenderTableCol::virtualChildren):
1163 (WebCore::RenderTableCol::children):
1164 * rendering/RenderTableRow.cpp:
1165 (WebCore::RenderTableRow::RenderTableRow):
1166 (WebCore::RenderTableRow::destroy):
1167 (WebCore::RenderTableRow::styleWillChange):
1168 (WebCore::RenderTableRow::addChild):
1169 * rendering/RenderTableRow.h:
1170 (WebCore::RenderTableRow::virtualChildren):
1171 (WebCore::RenderTableRow::children):
1172 * rendering/RenderTableSection.cpp:
1173 (WebCore::RenderTableSection::RenderTableSection):
1174 (WebCore::RenderTableSection::destroy):
1175 (WebCore::RenderTableSection::addChild):
1176 (WebCore::RenderTableSection::removeChild):
1177 (WebCore::RenderTableSection::lowestPosition):
1178 (WebCore::RenderTableSection::rightmostPosition):
1179 (WebCore::RenderTableSection::leftmostPosition):
1180 * rendering/RenderTableSection.h:
1181 (WebCore::RenderTableSection::virtualChildren):
1182 (WebCore::RenderTableSection::children):
1184 2009-02-04 Mads Adger <mad@chromium.org>
1186 Reviewed by Antti Koivisto.
1188 Bug 23180 Reading freed memory at DocumentLoader::checkForPendingPreloads
1189 https://bugs.webkit.org/show_bug.cgi?id=23180
1191 Added a protector for the document potentially holding on the last reference to the loader we are interating with.
1193 * loader/loader.cpp:
1194 (WebCore::Loader::Host::didFinishLoading):
1195 (WebCore::Loader::Host::didFail):
1197 2009-02-04 Cary Clark <caryclark@google.com>
1199 Reviewed by Darin Adler.
1201 https://bugs.webkit.org/show_bug.cgi?id=23163
1202 Don't scroll to show current focus on devices that use
1203 directional pads for navigation.
1206 (WebCore::Element::updateFocusAppearance):
1208 2009-02-04 Cary Clark <caryclark@google.com>
1210 Reviewed by Darin Adler.
1212 Change RenderBlock::columnGap() access permissions from protected to
1213 public. ANDROID creates an array of focus rectangles for navigation
1214 with a trackball or directional pad, and needs access to the column gap
1215 to implement this logic.
1217 Android has no testing harness @ webkit.org, thus no tests.
1219 * rendering/RenderBlock.h:
1221 2009-02-04 Cary Clark <caryclark@google.com>
1223 Reviewed by Darin Adler and Eric Seidel.
1225 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22917
1227 Add ENABLE_ON_FIRST_TEXTAREA_FOCUS_SELECT_ALL to permit the ANDROID
1228 platform to select all when focusing on a textarea. This matches
1229 the user interface guidelines other applications on the platform.
1231 * html/HTMLTextAreaElement.cpp:
1232 (WebCore::HTMLTextAreaElement::updateFocusAppearance):
1234 2009-02-04 Beth Dakin <bdakin@apple.com>
1236 Reviewed by Dave Hyatt.
1238 Fix for <rdar://problem/6386112> Some inline-elements are not
1239 becoming proper dashboard-regions
1241 RenderInline needs its own implementation of addDashboardRegions
1242 because otherwise all of the coordinate calculations are
1245 * rendering/RenderInline.cpp:
1246 (WebCore::RenderInline::addDashboardRegions):
1247 * rendering/RenderInline.h:
1248 * rendering/RenderObject.h:
1250 2009-02-04 David Hyatt <hyatt@apple.com>
1252 Move addChild/removeChild from RenderContainer to RenderObject.
1254 Reviewed by Sam Weinig
1256 * rendering/RenderContainer.cpp:
1257 * rendering/RenderContainer.h:
1258 * rendering/RenderObject.cpp:
1259 (WebCore::updateListMarkerNumbers):
1260 (WebCore::RenderObject::addChild):
1261 (WebCore::RenderObject::removeChild):
1262 * rendering/RenderObject.h:
1263 (WebCore::RenderObject::addChildIgnoringContinuation):
1264 * rendering/RenderSVGContainer.cpp:
1265 * rendering/RenderSVGContainer.h:
1267 2009-02-04 Brady Eidson <beidson@apple.com>
1269 Reviewed by Sam Weinig
1271 <rdar://problem/3541409> - Further HistoryItem / BF cache cleanup
1273 * history/CachedFrame.cpp:
1274 (WebCore::CachedFrame::CachedFrame):
1275 (WebCore::CachedFrame::restore):
1276 * history/CachedFrame.h:
1278 * history/CachedPage.cpp:
1279 (WebCore::CachedPage::restore):
1280 * history/CachedPage.h:
1281 (WebCore::CachedPage::mainFrameView):
1283 * history/HistoryItem.cpp:
1284 (WebCore::HistoryItem::HistoryItem):
1285 (WebCore::HistoryItem::~HistoryItem):
1286 * history/HistoryItem.h:
1287 (WebCore::HistoryItem::isInPageCache):
1289 * loader/FrameLoader.cpp:
1290 (WebCore::FrameLoader::open):
1292 2009-02-04 Peter Kasting <pkasting@google.com>
1294 Reviewed by David Hyatt.
1296 https://bugs.webkit.org/show_bug.cgi?id=23743
1297 Fix memory corruption with open-source GIF decoders.
1299 * platform/image-decoders/ImageDecoder.h:
1300 (WebCore::RGBA32Buffer::clear):
1301 * platform/image-decoders/gif/GIFImageDecoder.cpp:
1302 (WebCore::GIFImageDecoder::clearFrameBufferCache):
1303 * platform/image-decoders/skia/GIFImageDecoder.cpp:
1304 (WebCore::GIFImageDecoder::clearFrameBufferCache):
1305 (WebCore::GIFImageDecoder::initFrameBuffer):
1306 * platform/image-decoders/skia/ImageDecoder.h:
1307 (WebCore::RGBA32Buffer::clear):
1309 2009-02-04 Simon Fraser <simon.fraser@apple.com>
1311 Reviewed by Dave Hyatt
1313 https://bugs.webkit.org/show_bug.cgi?id=23360
1315 When using accelerated compositing, make repaints use the correct
1316 repaint container. Hook up the RenderLayerCompositor in RenderView,
1317 and add to RenderView a method that repaints both the view
1318 contents, and any intersecting composited layers.
1320 Make enclosingCompositingLayer() a method on RenderObject, and update
1321 the compositor to use that. Add a helper method on the compositor to
1322 get the non-self compositing ancestor: ancestorCompositingLayer().
1324 Call repaintRectangleInViewAndCompositedLayers() in places that don't do
1325 container-relative repainting: selection redraw on focus change, caret,
1328 Fix a bug in RenderLayerCompositor where the m_compositingLayersNeedUpdate flag
1329 would get cleared for partial updates, thus preventing subsequent full updates.
1331 Fix a bug in RenderLayer::ensureBacking() that made new backing every time.
1333 * WebCore.xcodeproj/project.pbxproj:
1334 * editing/SelectionController.cpp:
1335 (WebCore::SelectionController::recomputeCaretRect):
1336 (WebCore::SelectionController::invalidateCaretRect):
1337 (WebCore::SelectionController::focusedOrActiveStateChanged):
1338 * rendering/RenderInline.cpp:
1339 (WebCore::RenderInline::clippedOverflowRectForRepaint):
1340 * rendering/RenderLayer.cpp:
1341 (WebCore::RenderLayer::RenderLayer):
1342 (WebCore::RenderLayer::compositor):
1343 (WebCore::RenderLayer::updateLayerPositions):
1344 (WebCore::RenderLayer::removeChild):
1345 (WebCore::RenderLayer::ensureBacking):
1346 * rendering/RenderLayer.h:
1347 (WebCore::RenderLayer::backing):
1348 * rendering/RenderLayerBacking.cpp:
1349 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1350 (WebCore::RenderLayerBacking::paintIntoLayer):
1351 (WebCore::RenderLayerBacking::notifyTransitionStarted):
1352 (WebCore::RenderLayerBacking::notifyAnimationStarted):
1353 * rendering/RenderLayerCompositor.cpp:
1354 (WebCore::RenderLayerCompositor::updateCompositingLayers):
1355 (WebCore::RenderLayerCompositor::updateLayerCompositingState):
1356 (WebCore::RenderLayerCompositor::layerWillBeRemoved):
1357 (WebCore::RenderLayerCompositor::ancestorCompositingLayer):
1358 (WebCore::RenderLayerCompositor::clippedByAncestor):
1359 * rendering/RenderLayerCompositor.h:
1360 * rendering/RenderObject.cpp:
1361 (WebCore::RenderObject::enclosingCompositingLayer):
1362 (WebCore::RenderObject::containingBlockWidth):
1363 (WebCore::RenderObject::containingBlockHeight):
1364 (WebCore::RenderObject::containerForRepaint):
1365 (WebCore::RenderObject::repaintUsingContainer):
1366 * rendering/RenderObject.h:
1367 * rendering/RenderView.cpp:
1368 (WebCore::RenderView::shouldRepaint):
1369 (WebCore::RenderView::repaintViewRectangle):
1370 (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
1371 (WebCore::RenderView::setMaximalOutlineSize):
1372 (WebCore::RenderView::usesCompositing):
1373 (WebCore::RenderView::compositor):
1374 (WebCore::RenderView::didMoveOnscreen):
1375 (WebCore::RenderView::willMoveOffscreen):
1376 * rendering/RenderView.h:
1377 * rendering/RenderWidget.cpp:
1378 (WebCore::RenderWidget::updateWidgetPosition):
1380 2009-02-04 Sam Weinig <sam@webkit.org>
1382 Reviewed by David Hyatt.
1384 Add toRenderImage methods for casting RenderObjects to RenderImages. The methods will assert if the object
1385 is not a RenderImage. Also add a toRenderImage method that takes a RenderImage but returns void and that
1386 is unimplemented. This method will catch anyone trying to do a cast when the object is already a RenderImage.
1388 * html/HTMLAnchorElement.cpp:
1389 (WebCore::HTMLAnchorElement::defaultEventHandler):
1390 * html/HTMLEmbedElement.cpp:
1391 (WebCore::HTMLEmbedElement::attach):
1392 * html/HTMLImageElement.cpp:
1393 (WebCore::HTMLImageElement::parseMappedAttribute):
1394 (WebCore::HTMLImageElement::attach):
1395 * html/HTMLInputElement.cpp:
1396 (WebCore::HTMLInputElement::parseMappedAttribute):
1397 (WebCore::HTMLInputElement::attach):
1398 * html/HTMLObjectElement.cpp:
1399 (WebCore::HTMLObjectElement::attach):
1400 * html/HTMLVideoElement.cpp:
1401 (WebCore::HTMLVideoElement::attach):
1402 * loader/ImageLoader.cpp:
1403 (WebCore::ImageLoader::setImage):
1404 (WebCore::ImageLoader::updateFromElement):
1405 (WebCore::ImageLoader::notifyFinished):
1406 * page/AccessibilityRenderObject.cpp:
1407 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1408 (WebCore::AccessibilityRenderObject::addChildren):
1409 * page/DragController.cpp:
1410 (WebCore::getCachedImage):
1411 (WebCore::getImage):
1412 * platform/mac/PasteboardMac.mm:
1413 (WebCore::Pasteboard::writeImage):
1414 * rendering/RenderImage.h:
1415 (WebCore::toRenderImage):
1416 * wml/WMLImageElement.cpp:
1417 (WebCore::WMLImageElement::parseMappedAttribute):
1418 (WebCore::WMLImageElement::attach):
1420 2009-02-04 Jungshik Shin <jshin@chromium.org>
1422 Reviewed by Eric Seidel and Dave Hyatt.
1424 https://bugs.webkit.org/show_bug.cgi?id=20531
1426 Make alternateFamilyName customized for Windows and Chromium.
1428 * platform/graphics/FontCache.cpp:
1429 (WebCore::alternateFamilyName):
1431 2009-02-04 Jungshik Shin <jshin@chromium.org>
1433 Reviewed by Eric Seidel.
1435 This comes from Chromium patch (http://codereview.chromium.org/17624).
1437 Add m_disableFontFallback to UniscriberHelper class and set it
1438 to true when filling up glyph pages for non-BMP code points.
1439 When it's set true, UniscriberHelper does not do its own font
1440 fallback. Neither does it do glyph placement. Font fallback
1441 will be taken care of in the simple script font path and glyph
1442 placement is not necessary for simple scripts.
1444 Layout test is missing at the moment due to the lack of freely
1445 distributable font covering a non-BMP code page. A test page
1446 is available at http://i18nl10n.com/webkit/nonbmp2.html
1448 See also https://bugs.webkit.org/show_bug.cgi?id=23602
1450 * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
1451 (WebCore::fillNonBMPGlyphs):
1452 * platform/graphics/chromium/UniscribeHelper.cpp:
1453 (WebCore::UniscribeHelper::UniscribeHelper):
1454 (WebCore::UniscribeHelper::shape):
1455 (WebCore::UniscribeHelper::fillShapes):
1456 * platform/graphics/chromium/UniscribeHelper.h:
1457 (WebCore::UniscribeHelper::setDisableFontFallback):
1459 2009-02-04 Sam Weinig <sam@webkit.org>
1461 Reviewed by David Hyatt.
1463 Remove some unnecessary #includes of RenderStyle.h
1465 * css/CSSPrimitiveValueMappings.h:
1466 * css/SVGCSSComputedStyleDeclaration.cpp:
1468 * rendering/PointerEventsHitRules.h:
1469 * rendering/RenderImageGeneratedContent.h:
1470 * rendering/RenderMarquee.h:
1471 * rendering/RenderScrollbar.h:
1473 2009-02-04 Dimitri Glazkov <dglazkov@chromium.org>
1475 Reviewed by Sam Weinig.
1477 https://bugs.webkit.org/show_bug.cgi?id=23657
1478 Clean up WebCore/storage IDLs.
1480 * storage/SQLError.idl: Changed to match spec.
1481 * storage/SQLResultSet.idl: Changed to match spec.
1482 * storage/SQLStatementCallback.idl: Removed.
1483 * storage/SQLStatementErrorCallback.idl: Removed.
1484 * storage/SQLTransactionCallback.idl: Removed.
1485 * storage/SQLTransactionErrorCallback.idl: Removed.
1487 2009-02-04 David Hyatt <hyatt@apple.com>
1489 Fix for https://bugs.webkit.org/show_bug.cgi?id=23734, blank content on blogs.msdn.com.
1491 Add debugging code that will catch the incorrect dirtying of a table section immediately if it happens
1492 during calcRowHeight or layoutRows. This should make it possible to discover future bugs where table sections don't
1495 The bug in blogs.msdn.com, which was caused by a bad setNeedsLayout in RenderLayer::updateScrollInfoAtferLayout. Make
1496 sure to do only a local setNeedsLayout inside that function.
1498 Reviewed by Beth Dakin
1500 * rendering/RenderLayer.cpp:
1501 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
1502 * rendering/RenderObject.cpp:
1503 (WebCore::RenderObject::RenderObject):
1504 * rendering/RenderObject.h:
1505 (WebCore::RenderObject::isSetNeedsLayoutForbidden):
1506 (WebCore::RenderObject::setNeedsLayoutIsForbidden):
1507 (WebCore::RenderObject::setNeedsLayout):
1508 (WebCore::RenderObject::setChildNeedsLayout):
1509 (WebCore::RenderObject::markContainingBlocksForLayout):
1510 * rendering/RenderTable.cpp:
1511 (WebCore::RenderTable::layout):
1512 * rendering/RenderTableSection.cpp:
1513 (WebCore::RenderTableSection::calcRowHeight):
1514 (WebCore::RenderTableSection::layoutRows):
1516 2009-02-04 Sam Weinig <sam@webkit.org>
1518 Reviewed by David Hyatt.
1520 Rename RenderStyle::Diff to StyleDifference and move it to
1521 RenderStyleConstants.h.
1523 * rendering/RenderBR.cpp:
1524 (WebCore::RenderBR::styleDidChange):
1525 * rendering/RenderBR.h:
1526 * rendering/RenderBlock.cpp:
1527 (WebCore::RenderBlock::styleWillChange):
1528 (WebCore::RenderBlock::styleDidChange):
1529 * rendering/RenderBlock.h:
1530 * rendering/RenderBox.cpp:
1531 (WebCore::RenderBox::styleWillChange):
1532 (WebCore::RenderBox::styleDidChange):
1533 * rendering/RenderBox.h:
1534 * rendering/RenderButton.cpp:
1535 (WebCore::RenderButton::styleWillChange):
1536 (WebCore::RenderButton::styleDidChange):
1537 * rendering/RenderButton.h:
1538 * rendering/RenderFieldset.cpp:
1539 (WebCore::RenderFieldset::styleDidChange):
1540 * rendering/RenderFieldset.h:
1541 * rendering/RenderFileUploadControl.cpp:
1542 (WebCore::RenderFileUploadControl::styleDidChange):
1543 * rendering/RenderFileUploadControl.h:
1544 * rendering/RenderInline.cpp:
1545 (WebCore::RenderInline::styleDidChange):
1546 * rendering/RenderInline.h:
1547 * rendering/RenderLayer.cpp:
1548 (WebCore::RenderLayer::styleChanged):
1549 * rendering/RenderLayer.h:
1550 * rendering/RenderLayerCompositor.cpp:
1551 (WebCore::RenderLayerCompositor::updateLayerCompositingState):
1552 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
1553 * rendering/RenderLayerCompositor.h:
1554 * rendering/RenderListBox.cpp:
1555 (WebCore::RenderListBox::styleDidChange):
1556 * rendering/RenderListBox.h:
1557 * rendering/RenderListItem.cpp:
1558 (WebCore::RenderListItem::styleDidChange):
1559 * rendering/RenderListItem.h:
1560 * rendering/RenderListMarker.cpp:
1561 (WebCore::RenderListMarker::styleWillChange):
1562 (WebCore::RenderListMarker::styleDidChange):
1563 * rendering/RenderListMarker.h:
1564 * rendering/RenderMenuList.cpp:
1565 (WebCore::RenderMenuList::styleDidChange):
1566 * rendering/RenderMenuList.h:
1567 * rendering/RenderObject.cpp:
1568 (WebCore::RenderObject::setStyle):
1569 (WebCore::RenderObject::styleWillChange):
1570 (WebCore::RenderObject::styleDidChange):
1571 * rendering/RenderObject.h:
1572 * rendering/RenderReplaced.cpp:
1573 (WebCore::RenderReplaced::styleDidChange):
1574 * rendering/RenderReplaced.h:
1575 * rendering/RenderSVGGradientStop.cpp:
1576 (WebCore::RenderSVGGradientStop::styleDidChange):
1577 * rendering/RenderSVGGradientStop.h:
1578 * rendering/RenderSVGInlineText.cpp:
1579 (WebCore::RenderSVGInlineText::styleDidChange):
1580 * rendering/RenderSVGInlineText.h:
1581 * rendering/RenderScrollbarPart.cpp:
1582 (WebCore::RenderScrollbarPart::styleWillChange):
1583 (WebCore::RenderScrollbarPart::styleDidChange):
1584 * rendering/RenderScrollbarPart.h:
1585 * rendering/RenderSlider.cpp:
1586 (WebCore::RenderSlider::styleDidChange):
1587 * rendering/RenderSlider.h:
1588 * rendering/RenderTable.cpp:
1589 (WebCore::RenderTable::styleDidChange):
1590 * rendering/RenderTable.h:
1591 * rendering/RenderTableCell.cpp:
1592 (WebCore::RenderTableCell::styleWillChange):
1593 (WebCore::RenderTableCell::styleDidChange):
1594 * rendering/RenderTableCell.h:
1595 * rendering/RenderTableRow.cpp:
1596 (WebCore::RenderTableRow::styleWillChange):
1597 * rendering/RenderTableRow.h:
1598 * rendering/RenderText.cpp:
1599 (WebCore::RenderText::styleDidChange):
1600 * rendering/RenderText.h:
1601 (WebCore::RenderText::styleWillChange):
1602 * rendering/RenderTextControl.cpp:
1603 (WebCore::RenderTextControl::styleDidChange):
1604 * rendering/RenderTextControl.h:
1605 * rendering/RenderTextControlSingleLine.cpp:
1606 (WebCore::RenderTextControlSingleLine::styleDidChange):
1607 * rendering/RenderTextControlSingleLine.h:
1608 * rendering/RenderWidget.cpp:
1609 (WebCore::RenderWidget::styleDidChange):
1610 * rendering/RenderWidget.h:
1611 * rendering/style/RenderStyle.cpp:
1612 (WebCore::RenderStyle::diff):
1613 (WebCore::RenderStyle::setClip):
1614 * rendering/style/RenderStyle.h:
1615 * rendering/style/RenderStyleConstants.h:
1618 2009-02-03 Sam Weinig <sam@webkit.org>
1620 Reviewed by David Hyatt.
1622 Move PseudoId enum out of RenderStyle and into RenderStyleConstants.h
1624 * css/CSSStyleSelector.cpp:
1625 (WebCore::CSSStyleSelector::matchRulesForList):
1626 (WebCore::CSSStyleSelector::initForStyleResolve):
1627 (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
1628 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
1629 (WebCore::CSSStyleSelector::styleForElement):
1630 (WebCore::CSSStyleSelector::pseudoStyleForElement):
1631 (WebCore::CSSStyleSelector::checkSelector):
1632 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1633 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
1634 (WebCore::CSSStyleSelector::applyProperty):
1635 * css/CSSStyleSelector.h:
1637 (WebCore::Node::diff):
1638 * page/FrameView.cpp:
1639 (WebCore::FrameView::createScrollbar):
1640 * rendering/InlineTextBox.cpp:
1641 (WebCore::InlineTextBox::paint):
1642 * rendering/MediaControlElements.cpp:
1643 (WebCore::MediaTextDisplayElement::MediaTextDisplayElement):
1644 (WebCore::MediaTimeDisplayElement::MediaTimeDisplayElement):
1645 (WebCore::MediaControlInputElement::MediaControlInputElement):
1646 (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
1647 (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
1648 (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
1649 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
1650 (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
1651 * rendering/MediaControlElements.h:
1652 * rendering/RenderBlock.cpp:
1653 (WebCore::RenderBlock::styleDidChange):
1654 (WebCore::RenderBlock::updateBeforeAfterContent):
1655 (WebCore::RenderBlock::firstLineBlock):
1656 (WebCore::RenderBlock::updateFirstLetter):
1657 * rendering/RenderBlock.h:
1658 * rendering/RenderBox.cpp:
1659 (WebCore::RenderBox::isAfterContent):
1660 * rendering/RenderButton.cpp:
1661 (WebCore::RenderButton::updateBeforeAfterContent):
1662 * rendering/RenderButton.h:
1663 * rendering/RenderFileUploadControl.cpp:
1664 (WebCore::RenderFileUploadControl::createButtonStyle):
1665 * rendering/RenderInline.cpp:
1666 (WebCore::RenderInline::styleDidChange):
1667 (WebCore::isAfterContent):
1668 (WebCore::RenderInline::addChildIgnoringContinuation):
1669 (WebCore::RenderInline::splitInlines):
1670 * rendering/RenderLayer.cpp:
1671 (WebCore::RenderLayer::createScrollbar):
1672 (WebCore::RenderLayer::updateScrollCornerStyle):
1673 (WebCore::RenderLayer::updateResizerStyle):
1674 * rendering/RenderListBox.cpp:
1675 (WebCore::RenderListBox::createScrollbar):
1676 * rendering/RenderMedia.cpp:
1677 (WebCore::RenderMedia::createPanel):
1678 (WebCore::RenderMedia::createTimelineContainer):
1679 * rendering/RenderMenuList.cpp:
1680 (WebCore::RenderMenuList::createScrollbar):
1681 * rendering/RenderObject.cpp:
1682 (WebCore::RenderObject::selectionBackgroundColor):
1683 (WebCore::RenderObject::selectionForegroundColor):
1684 (WebCore::RenderObject::firstLineStyleSlowCase):
1685 (WebCore::RenderObject::getCachedPseudoStyle):
1686 (WebCore::RenderObject::getUncachedPseudoStyle):
1687 * rendering/RenderObject.h:
1688 (WebCore::RenderObject::isAnonymousBlock):
1689 * rendering/RenderObjectChildList.cpp:
1690 (WebCore::RenderObjectChildList::destroyLeftoverChildren):
1691 (WebCore::beforeAfterContainer):
1692 (WebCore::RenderObjectChildList::invalidateCounters):
1693 (WebCore::RenderObjectChildList::updateBeforeAfterContent):
1694 * rendering/RenderObjectChildList.h:
1695 * rendering/RenderScrollbar.cpp:
1696 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
1697 (WebCore::pseudoForScrollbarPart):
1698 * rendering/RenderScrollbar.h:
1699 * rendering/RenderSlider.cpp:
1700 (WebCore::RenderSlider::createThumbStyle):
1701 * rendering/RenderTextControlSingleLine.cpp:
1702 (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
1703 (WebCore::RenderTextControlSingleLine::createResultsButtonStyle):
1704 (WebCore::RenderTextControlSingleLine::createCancelButtonStyle):
1705 (WebCore::RenderTextControlSingleLine::createScrollbar):
1706 * rendering/style/RenderStyle.cpp:
1707 (WebCore::pseudoBit):
1708 * rendering/style/RenderStyle.h:
1710 * rendering/style/RenderStyleConstants.h:
1713 2009-02-04 David Kilzer <ddkilzer@apple.com>
1715 CrashTracer: [REGRESSION] 53 crashes in Safari at com.apple.WebCore: WebCore::LegacyWebArchive::create + 2706
1717 <rdar://problem/6509514>
1719 Reviewed by Mark Rowe.
1721 * loader/archive/cf/LegacyWebArchive.cpp:
1722 (WebCore::LegacyWebArchive::create): Fix it correctly this time.
1723 Check for the value returned from WebCore::IconDatabase::iconForPageURL(),
1724 not WebCore::Image::data().
1726 2009-02-04 David Hyatt <hyatt@apple.com>
1728 Rename removeFromObjectLists and move it into RenderBox, since it only applies to boxes.
1730 Reviewed by Adam Roben
1732 * rendering/RenderBox.cpp:
1733 (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
1734 (WebCore::RenderBox::styleWillChange):
1735 * rendering/RenderBox.h:
1736 * rendering/RenderContainer.cpp:
1737 (WebCore::RenderContainer::removeChild):
1738 * rendering/RenderObject.cpp:
1739 (WebCore::RenderObject::styleWillChange):
1740 * rendering/RenderObject.h:
1741 * rendering/RenderSVGContainer.cpp:
1742 (WebCore::RenderSVGContainer::removeChild):
1744 2009-02-04 Jeremy Moskovich <jeremy@chromium.org>
1746 Reviewed by Dave Hyatt.
1748 https://bugs.webkit.org/show_bug.cgi?id=23471
1749 Fix text-overflow:ellipsis; for RTL case.
1751 Test: fast/css/text-overflow-ellipses.html
1753 * rendering/InlineTextBox.cpp:
1754 (WebCore::InlineTextBox::placeEllipsisBox): Add support for rtl placement.
1755 (WebCore::InlineTextBox::paintDecoration): Correctly draw decorations
1758 2009-02-04 Dimitri Glazkov <dglazkov@chromium.org>
1760 Reviewed by Darin Adler.
1762 https://bugs.webkit.org/show_bug.cgi?id=23700
1763 Upstream local changes to due to unforking of SimpleFontData
1764 (corresponds to Chromium check-in http://src.chromium.org/viewvc/chrome?view=rev&revision=8646).
1766 * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
1767 (WebCore::fillBMPGlyphs): Removed extra checks for ZWS chars.
1769 2009-02-04 David Hyatt <hyatt@apple.com>
1771 <rdar://problem/6554115> REGRESSION (r40475): World leak (JS global object) after viewing a photo on Facebook
1773 Fix a ginormous leak. (GINORMOUS!) Make sure to disconnect the event listeners attached to the Document,
1774 because, like, they point to a lot of stuff... like ... everything...
1776 Reviewed by Darin Adler
1779 (WebCore::Document::removeAllEventListenersFromAllNodes):
1781 2009-02-04 Darin Fisher <darin@chromium.org>
1783 Reviewed by Darin Adler.
1785 https://bugs.webkit.org/show_bug.cgi?id=23731
1786 Add JSCCustom and V8Custom as extended IDL attributes
1788 This helps avoid having to add #ifdefs to the IDL files to support V8 bindings.
1790 * bindings/scripts/CodeGeneratorJS.pm:
1793 * svg/SVGPathSegList.idl:
1794 * svg/SVGPointList.idl:
1795 * svg/SVGTransformList.idl:
1797 2009-02-04 Dan Bernstein <mitz@apple.com>
1801 * rendering/RenderImageGeneratedContent.h:
1803 2009-02-04 miggilin <mr.diggilin@gmail.com>
1805 Reviewed by Kevin Ollivier.
1807 Switch to using a ref-counted wxFont pointer for FontPlatformData to fix a crash
1808 with assigning to uninitialized HashTable buckets.
1810 https://bugs.webkit.org/show_bug.cgi?id=23669
1812 * platform/graphics/SimpleFontData.h:
1813 (WebCore::SimpleFontData::getWxFont):
1814 * platform/graphics/wx/FontPlatformData.h:
1816 (WebCore::FontPlatformData::FontPlatformData):
1817 (WebCore::FontPlatformData::font):
1818 (WebCore::FontPlatformData::operator==):
1819 * platform/graphics/wx/FontPlatformDataWx.cpp:
1820 (WebCore::FontPlatformData::FontPlatformData):
1821 (WebCore::FontPlatformData::computeHash):
1822 (WebCore::FontPlatformData::~FontPlatformData):
1823 * platform/graphics/wx/SimpleFontDataWx.cpp:
1824 (WebCore::SimpleFontData::platformInit):
1825 (WebCore::SimpleFontData::determinePitch):
1826 (WebCore::SimpleFontData::platformWidthForGlyph):
1827 * platform/wx/wxcode/gtk/non-kerned-drawing.cpp:
1828 (WebCore::drawTextWithSpacing):
1830 2009-02-04 David Hyatt <hyatt@apple.com>
1832 Fix a crash in generated content when a generated image with an already-cached background image gets
1833 created. It's not completely clear how to reproduce this crash.
1835 Reviewed by Adam Roben
1837 * rendering/RenderImageGeneratedContent.h:
1838 (WebCore::RenderImageGeneratedContent::imagePtr):
1840 2009-02-04 Simon Hausmann <simon.hausmann@nokia.com>
1842 Unreviewed Qt build fix.
1844 Changed ASSERT(image) to ASSERT(!image.isNull()).
1846 * platform/graphics/qt/ImageBufferQt.cpp:
1847 (WebCore::ImageBuffer::getImageData):
1849 2009-02-04 Trenton Schulz <trenton.schulz@nokia.com>
1851 Reviewed by Simon Hausmann.
1853 Fix implementation of PluginViewMac::invalidateRect to update only the
1854 specified rect, not the entire browser window.
1856 * plugins/mac/PluginViewMac.cpp:
1857 (WebCore::PluginView::invalidateRect):
1859 2009-02-04 Holger Hans Peter Freyther <zecke@selfish.org>
1861 Rubber stamped by Mark Rowe.
1863 FramePrivate was removed in r40024 remove the forward
1864 declaration as well.
1868 2009-02-04 Holger Hans Peter Freyther <zecke@selfish.org>
1870 Reviewed by Sam Weinig.
1872 https://bugs.webkit.org/show_bug.cgi?id=23426
1874 Make isFrameSet virtual and by default return false. Reimplement
1879 (WebCore::Document::isFrameSet):
1880 * html/HTMLDocument.cpp:
1881 (WebCore::HTMLDocument::isFrameSet):
1882 * html/HTMLDocument.h:
1884 2009-02-03 Oliver Hunt <oliver@apple.com>
1886 Reviewed by John Sullivan.
1888 <rdar://problem/6554092> Slow script dialog starts coming up over and over again
1890 Work around <rdar://problem/6554067> by consuming any exceptions that are
1891 thrown by _web_localizedDescription
1893 * platform/network/mac/ResourceErrorMac.mm:
1894 (WebCore::ResourceError::platformLazyInit):
1896 2009-02-03 David Hyatt <hyatt@apple.com>
1898 Move the isRenderInline checks for clientWidth/Height and scrollWidth/Height to the DOM element
1899 versions of the functions. Since internal render tree usage doesn't ever (incorrectly) call these
1900 functions on RenderInlines, this manages to get virtual function calls out of contentWidth/Height and
1901 availableWidth/Height.
1903 Reviewed by Mark Rowe
1906 (WebCore::Element::clientWidth):
1907 (WebCore::Element::clientHeight):
1908 (WebCore::Element::scrollWidth):
1909 (WebCore::Element::scrollHeight):
1910 * rendering/RenderBox.cpp:
1911 (WebCore::RenderBox::clientWidth):
1912 (WebCore::RenderBox::clientHeight):
1913 (WebCore::RenderBox::scrollWidth):
1914 (WebCore::RenderBox::scrollHeight):
1916 2009-02-03 Brad Garcia <bgarcia@google.com>
1918 Reviewed by Eric Seidel.
1920 https://bugs.webkit.org/show_bug.cgi?id=20443
1921 Remove call to canResize when trying to determine if pointer
1923 Also removed the implementation of canResize as it is no longer used.
1925 Test: fast/frames/frame-dead-region.html
1927 * rendering/RenderFrameSet.cpp:
1928 (WebCore::RenderFrameSet::nodeAtPoint):
1929 * rendering/RenderFrameSet.h:
1931 2009-02-03 David Hyatt <hyatt@apple.com>
1933 Reduce the number of calls to virtualChildren (indirectly made via RenderObject::firstChild()).
1934 This is a small gain on the PLT.
1936 Reviewed by Mark Rowe
1938 * rendering/bidi.cpp:
1939 (WebCore::inlineWidth):
1940 (WebCore::bidiNext):
1942 2009-02-03 Simon Fraser <simon.fraser@apple.com>
1944 Reviewed by Dave Hyatt
1946 https://bugs.webkit.org/show_bug.cgi?id=23628
1948 Fix selection repainting to do container-relative repaints. RenderView now
1949 repaints the selection using the containerForRepaint() for each RenderSelectionInfo.
1950 selectionRect() is now a wrapper for selectionRectForRepaint() with no container.
1952 Pull SelectionInfo out of RenderObject.h, and BlockSelectionInfo out
1953 of RenderBlock.h and move them into RenderSelectionInfo.h, with some
1954 sharing and refactoring.
1956 RenderBlock::selectionGapRectsForRepaint() is not yet container-aware.
1959 * WebCore.vcproj/WebCore.vcproj:
1960 * WebCore.xcodeproj/project.pbxproj:
1961 * rendering/RenderBR.h:
1962 (WebCore::RenderBR::selectionRectForRepaint):
1963 * rendering/RenderBlock.cpp:
1964 (WebCore::RenderBlock::selectionGapRectsForRepaint):
1965 * rendering/RenderBlock.h:
1966 (WebCore::RenderBlock::selectionRectForRepaint):
1967 * rendering/RenderListMarker.cpp:
1968 (WebCore::RenderListMarker::paint):
1969 (WebCore::RenderListMarker::selectionRectForRepaint):
1970 * rendering/RenderListMarker.h:
1971 * rendering/RenderObject.h:
1972 (WebCore::RenderObject::selectionRect):
1973 (WebCore::RenderObject::selectionRectForRepaint):
1974 * rendering/RenderReplaced.cpp:
1975 (WebCore::RenderReplaced::selectionRectForRepaint):
1976 * rendering/RenderReplaced.h:
1977 * rendering/RenderSVGInlineText.cpp:
1978 (WebCore::RenderSVGInlineText::absoluteRects):
1979 (WebCore::RenderSVGInlineText::absoluteQuads):
1980 (WebCore::RenderSVGInlineText::selectionRectForRepaint):
1981 (WebCore::RenderSVGInlineText::computeRepaintRectForRange):
1982 * rendering/RenderSVGInlineText.h:
1983 * rendering/RenderSelectionInfo.h: Added.
1984 (WebCore::RenderSelectionInfoBase::RenderSelectionInfoBase):
1985 (WebCore::RenderSelectionInfoBase::object):
1986 (WebCore::RenderSelectionInfoBase::repaintContainer):
1987 (WebCore::RenderSelectionInfoBase::state):
1988 (WebCore::RenderSelectionInfo::RenderSelectionInfo):
1989 (WebCore::RenderSelectionInfo::repaint):
1990 (WebCore::RenderSelectionInfo::rect):
1991 (WebCore::RenderBlockSelectionInfo::RenderBlockSelectionInfo):
1992 (WebCore::RenderBlockSelectionInfo::repaint):
1993 (WebCore::RenderBlockSelectionInfo::block):
1994 (WebCore::RenderBlockSelectionInfo::rects):
1995 * rendering/RenderText.cpp:
1996 (WebCore::RenderText::selectionRectForRepaint):
1997 * rendering/RenderText.h:
1998 * rendering/RenderView.cpp:
1999 (WebCore::RenderView::selectionBounds):
2000 (WebCore::RenderView::setSelection):
2001 * rendering/RenderView.h:
2002 * rendering/RenderWidget.cpp:
2003 (WebCore::RenderWidget::paint):
2005 2009-02-03 David Hyatt <hyatt@apple.com>
2007 Add inline capacity back to CSSMutableStyleDeclaration now that the bug in Vector has been fixed.
2009 Reviewed by Darin Adler & Sam Weinig
2011 * css/CSSMutableStyleDeclaration.cpp:
2012 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
2013 * css/CSSMutableStyleDeclaration.h:
2015 2009-02-03 Justin Garcia <justin.garcia@apple.com>
2017 Reviewed by Darin Adler.
2019 https://bugs.webkit.org/show_bug.cgi?id=13490
2020 Implement execCommand("styleWithCSS", ...)
2022 Determine whether or not to use HTML formatting tags for styling on the new
2023 boolean on Editor instead of whether or not the document is quirks mode.
2025 * editing/ApplyStyleCommand.cpp:
2026 (WebCore::StyleChange::StyleChange):
2027 (WebCore::StyleChange::init):
2028 (WebCore::ApplyStyleCommand::applyBlockStyle):
2029 (WebCore::ApplyStyleCommand::applyTextDecorationStyle):
2030 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
2031 * editing/Editor.cpp:
2032 (WebCore::Editor::Editor):
2033 (WebCore::Editor::clear):
2035 (WebCore::Editor::setShouldStyleWithCSS):
2036 (WebCore::Editor::shouldStyleWithCSS):
2037 * editing/EditorCommand.cpp:
2038 (WebCore::executeStyleWithCSS):
2039 (WebCore::stateStyleWithCSS):
2040 (WebCore::CommandEntry::):
2042 2009-02-03 Dirk Schulze <krit@webkit.org>
2044 Reviewed by Sam Weinig.
2046 This is a follow up of r40546. Call toImage() once speeds up ImageBuffer::getImageData()
2048 * platform/graphics/qt/ImageBufferQt.cpp:
2049 (WebCore::ImageBuffer::getImageData):
2051 2009-02-03 Anders Carlsson <andersca@apple.com>
2053 Reviewed by Kevin Decker.
2055 - Fix for <rdar://problem/6549743>
2057 On Tiger, create an autorelease pool before creating the NSGraphicsContext and drain it immediately
2058 after the call to -[NSView displayRectIgnoringOpacity:inContext:].
2060 * platform/mac/WidgetMac.mm:
2061 (WebCore::Widget::paint):
2063 2009-02-03 David Hyatt <hyatt@apple.com>
2065 Back this change out since it is causing layout tests to crash. There is something subtle going on
2068 Reviewed by Darin Adler
2070 * css/CSSMutableStyleDeclaration.cpp:
2071 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
2072 * css/CSSMutableStyleDeclaration.h:
2074 2009-02-03 David Hyatt <hyatt@apple.com>
2076 Give the properties vector of mutable style declarations an initial inline capacity to reduce malloc churn.
2078 Reviewed by Sam Weinig
2080 * css/CSSMutableStyleDeclaration.cpp:
2081 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
2082 * css/CSSMutableStyleDeclaration.h:
2084 2009-02-03 David Hyatt <hyatt@apple.com>
2086 Avoid creating extra copies of NSURLRequests for non-HTTP URLs. Only mark platform requests
2087 as needing updating when HTTP fields change if the scheme of the URL is actually HTTP or HTTPS.
2088 Thus cuts down significantly on the number of copied NSURLRequests and is about a 1% gain on the PLT.
2090 Reviewed by Darin Adler
2092 * loader/FrameLoader.cpp:
2093 (WebCore::FrameLoader::addExtraFieldsToRequest):
2094 * platform/KURL.cpp:
2095 (WebCore::KURL::invalidate):
2096 (WebCore::KURL::KURL):
2098 (WebCore::KURL::isHTTPOrHTTPS):
2099 * platform/network/ResourceRequestBase.cpp:
2100 (WebCore::ResourceRequestBase::setCachePolicy):
2101 (WebCore::ResourceRequestBase::setTimeoutInterval):
2102 (WebCore::ResourceRequestBase::setMainDocumentURL):
2103 (WebCore::ResourceRequestBase::setHTTPMethod):
2104 (WebCore::ResourceRequestBase::setHTTPHeaderField):
2105 (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
2106 (WebCore::ResourceRequestBase::setHTTPBody):
2107 (WebCore::ResourceRequestBase::setAllowHTTPCookies):
2109 2009-02-03 Xan Lopez <xan@gnome.org>
2111 Reviewed by Holger Freyther.
2113 https://bugs.webkit.org/show_bug.cgi?id=23711
2115 Add manual test for floating divs with scrollbars.
2117 * manual-tests/gtk/floatingdiv.html: Added.
2119 2009-02-03 Xan Lopez <xan@gnome.org>
2121 Reviewed by Holger Freyther.
2123 https://bugs.webkit.org/show_bug.cgi?id=23711
2125 There's no need to hold an extra ref to the scrollbar, calling
2126 setPlatformWidget takes ownership of it.
2128 Also do not disconnect the signals when destroying the widget,
2131 * platform/gtk/ScrollbarGtk.cpp:
2132 (ScrollbarGtk::ScrollbarGtk):
2133 * platform/gtk/ScrollbarGtk.h:
2135 2009-02-03 Xan Lopez <xan@gnome.org>
2137 Reviewed by Holger Freyther.
2139 https://bugs.webkit.org/show_bug.cgi?id=23711
2141 Declare scrollBar as GtkWidget* to avoid needless
2144 * platform/gtk/ScrollbarGtk.cpp:
2145 (ScrollbarGtk::ScrollbarGtk):
2146 (ScrollbarGtk::~ScrollbarGtk):
2148 2009-02-03 Xan Lopez <xan@gnome.org>
2150 Reviewed by Holger Freyther.
2152 https://bugs.webkit.org/show_bug.cgi?id=23711
2154 Properly calculate the scrollbar location for their
2155 usage in RenderLayout.
2157 * platform/gtk/ScrollbarGtk.cpp:
2158 (ScrollbarGtk::frameRectsChanged):
2160 2009-02-03 David Hyatt <hyatt@apple.com>
2162 Rename addLineBoxRects to absoluteRectsForRange, and do the same thing for the corresponding quads methods. Move the RenderContainer implementations
2163 of these methods up to RenderObject.
2165 Reviewed by Beth Dakin
2167 * bindings/objc/DOM.mm:
2168 (-[DOMNode lineBoxRects]):
2170 (WebCore::Range::addLineBoxRects):
2171 * inspector/InspectorController.cpp:
2172 (WebCore::InspectorController::drawNodeHighlight):
2173 * rendering/RenderContainer.cpp:
2174 * rendering/RenderContainer.h:
2175 * rendering/RenderObject.cpp:
2176 (WebCore::RenderObject::absoluteRectsForRange):
2177 (WebCore::RenderObject::absoluteQuadsForRange):
2178 * rendering/RenderObject.h:
2179 * rendering/RenderText.cpp:
2180 (WebCore::RenderText::absoluteRectsForRange):
2181 (WebCore::RenderText::absoluteQuadsForRange):
2182 * rendering/RenderText.h:
2184 2009-02-03 Dirk Schulze <krit@webkit.org>
2186 Reviewed by Sam Weinig and Oliver Hunt.
2188 Added getImageData() support for QtWebKit.
2190 [QT] lacks getImageData / putImageData support in Canvas
2191 https://bugs.webkit.org/show_bug.cgi?id=22186
2193 * platform/graphics/qt/ImageBufferQt.cpp:
2194 (WebCore::ImageBuffer::getImageData):
2196 2009-02-03 Eric Roman <eroman@chromium.org>
2198 Reviewed by Holger Freyther.
2200 Fix FrameChromium.cpp following r40473 which moved Frame::adjustPageHeight to FrameView::adjustPageHeight.
2202 * page/chromium/FrameChromium.cpp:
2203 (WebCore::computePageRectsForFrame):
2205 2009-02-02 Simon Fraser <simon.fraser@apple.com>
2207 Reviewed by Dave Hyatt
2209 https://bugs.webkit.org/show_bug.cgi?id=23358
2211 Hook accelerated compositing into RenderLayer.
2213 * rendering/RenderLayer.cpp:
2214 (WebCore::RenderLayer::RenderLayer):
2215 (WebCore::RenderLayer::~RenderLayer):
2216 Init and clean up backing and the hasCompositingDescendant bit.
2218 (WebCore::RenderLayer::compositor):
2219 Shortcut to get to the RenderLayerCompositor.
2221 (WebCore::RenderLayer::updateLayerPositions):
2222 We need to let full repaints propagate to all compositing layers, and
2223 update the backing after layout here.
2225 (WebCore::RenderLayer::transparentAncestor):
2226 (WebCore::transparencyClipBox):
2227 (WebCore::RenderLayer::beginTransparencyLayers):
2228 Account for the fact that opacity may be rendered via the compositing
2231 (WebCore::RenderLayer::addChild):
2232 (WebCore::RenderLayer::removeChild):
2233 (WebCore::RenderLayer::removeOnlyThisLayer):
2234 Tell the compositor when the RenderLayer hierarchy changes.
2236 (WebCore::RenderLayer::scrollToOffset):
2237 Update layer geometry after scrolling.
2239 (WebCore::RenderLayer::paintLayer):
2240 We short-circuit painting on composited layers, because these layers
2241 are painted on a callback from the compositing system.
2243 (WebCore::RenderLayer::hitTestLayer):
2244 Only apply transforms if we are rendering them in software.
2246 (WebCore::RenderLayer::localBoundingBox):
2247 (WebCore::RenderLayer::boundingBox):
2248 (WebCore::RenderLayer::absoluteBoundingBox):
2249 Refactor bounding box code that we can compute local, and ancestor-relative
2250 bounding box, as well as absolute.
2252 (WebCore::RenderLayer::ensureBacking):
2253 (WebCore::RenderLayer::clearBacking):
2254 RenderLayerBacking creation and destruction.
2256 (WebCore::RenderLayer::setParent):
2257 Tell the compositor when the RenderLayer hierarchy changes.
2259 (WebCore::RenderLayer::dirtyZOrderLists):
2260 (WebCore::RenderLayer::dirtyStackingContextZOrderLists):
2261 (WebCore::RenderLayer::dirtyOverflowList):
2262 When the z-order and overflow lists change, we need to tell the
2263 compositor that the composited layers need to be rejiggered soon.
2265 (WebCore::RenderLayer::updateZOrderLists):
2268 (WebCore::RenderLayer::setBackingNeedsRepaint):
2269 (WebCore::RenderLayer::setBackingNeedsRepaintInRect):
2270 Dirty composited layer contents for painting.
2272 (WebCore::RenderLayer::styleChanged):
2273 Update the layer backing after style changes.
2275 * rendering/RenderLayer.h:
2276 (WebCore::RenderLayer::isComposited):
2277 (WebCore::RenderLayer::backing):
2278 Accessors for testing and getting the backing for this RenderLayer.
2280 (WebCore::RenderLayer::paintsWithTransparency):
2281 (WebCore::RenderLayer::paintsWithTransform):
2282 Transform and opacity can be applied via the compositing layer, or rendered
2283 in software. These methods tell us if we need to account for them in the
2284 non-compositing path.
2286 (WebCore::RenderLayer::hasCompositingDescendant):
2287 (WebCore::RenderLayer::setHasCompositingDescendant):
2288 Maintain a bit to tell if this layer has composited descendants.
2290 2009-02-03 Simon Fraser <simon.fraser@apple.com>
2292 Reviewed by Dave Hyatt
2294 https://bugs.webkit.org/show_bug.cgi?id=23365
2296 Hook up accelerated compositing layers the native
2300 Export new Page methods.
2302 * page/ChromeClient.h:
2303 (WebCore::ChromeClient::attachRootGraphicsLayer):
2304 (WebCore::ChromeClient::setNeedsOneShotDrawingSynchronization):
2305 New methods for attaching/detaching the root GraphicsLayer, and
2306 synchronizing layer changes with window drawing.
2309 * page/FrameView.cpp:
2310 (WebCore::FrameView::updateCompositingLayers):
2311 (WebCore::FrameView::setNeedsOneShotDrawingSynchronization):
2312 (WebCore::FrameView::didMoveOnscreen):
2313 (WebCore::FrameView::willMoveOffscreen):
2314 New methods to update the compositing layer hierarchy,
2315 and pass-throughs to the RenderLayerCompositor.
2317 (WebCore::FrameView::layout):
2318 Update compositing layers after layout() and updateLayerPositions().
2321 (WebCore::Page::didMoveOnscreen):
2322 (WebCore::Page::willMoveOffscreen):
2324 New methods to allow the native view system to tell the Page when it
2325 starts to be presented on-screen, and when it will be hidden.
2327 * rendering/RenderLayerCompositor.h:
2328 * rendering/RenderLayerCompositor.cpp:
2329 (WebCore::RenderLayerCompositor::updateLayerCompositingState):
2330 (WebCore::RenderLayerCompositor::didMoveOnscreen):
2331 (WebCore::RenderLayerCompositor::willMoveOffscreen):
2332 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
2333 Rename 'attached' methods to 'moveOnscreen/moveOffscreen' to match
2334 the calls through from Page, FrameView.
2336 (WebCore::RenderLayerCompositor::layerWillBeRemoved):
2337 Dont' try to repaint or update layers if the document is being torn
2340 * rendering/RenderView.cpp:
2341 (WebCore::RenderView::didMoveOnscreen):
2342 (WebCore::RenderView::willMoveOffscreen):
2343 * rendering/RenderView.h:
2346 2009-02-03 Dirk Schulze <krit@webkit.org>
2348 Reviewed by Holger Hans Peter Freyther.
2350 Fixed getImageData and putImageData and respect pre-
2353 Cairo's ImageBuffer::getImageData() does not handle alpha=0 case correctly
2354 https://bugs.webkit.org/show_bug.cgi?id=21575
2356 * platform/graphics/cairo/ImageBufferCairo.cpp:
2357 (WebCore::ImageBuffer::getImageData):
2358 (WebCore::ImageBuffer::putImageData):
2360 2009-02-03 Dan Bernstein <mitz@apple.com>
2362 Reviewed by Brady Eidson.
2364 - fix <rdar://problem/6550530> REGRESSION (r40508): Window opened with window.open has no initial history item (global and back/forward)
2366 Test: fast/history/window-open.html
2368 * bindings/js/JSDOMWindowBase.cpp:
2369 (WebCore::createWindow): Pass the missing lockBackForwardList parameter
2370 to FrameLoader::changeLocation().
2372 2009-02-03 Adam Treat <adam.treat@torchmobile.com>
2374 Fix the Qt build after r40536.
2376 * bridge/qt/qt_runtime.cpp:
2377 (JSC::Bindings::convertQVariantToValue):
2379 2009-02-03 Dan Bernstein <mitz@apple.com>
2381 - fix -Wmissing-prototypes builds
2383 * loader/WorkerThreadableLoader.cpp:
2384 (WebCore::workerContextDidSendData): Marked this function static.
2385 (WebCore::workerContextDidReceiveResponse): Ditto.
2386 (WebCore::workerContextDidReceiveData): Ditto.
2387 (WebCore::workerContextDidFinishLoading): Ditto.
2388 (WebCore::workerContextDidFail): Ditto.
2389 (WebCore::workerContextDidGetCancelled): Ditto.
2390 (WebCore::workerContextDidReceiveAuthenticationCancellation): Ditto.
2392 2009-02-03 David Kilzer <ddkilzer@apple.com>
2394 CrashTracer: [REGRESSION] 53 crashes in Safari at com.apple.WebCore: WebCore::LegacyWebArchive::create + 2706
2396 <rdar://problem/6509514>
2398 Reviewed by Adam Roben.
2400 * loader/archive/cf/LegacyWebArchive.cpp:
2401 (WebCore::LegacyWebArchive::create): Null check the value returned
2402 from WebCore::IconDatabase::iconForPageURL().
2404 2009-02-03 Simon Hausmann <simon.hausmann@nokia.com>
2406 Reviewed by Tor Arne Vestbø.
2408 Fix conversion of QByteArray to JavaScript and back. Instead of
2409 converting it to a String (data loss!) we now map it to JSByteArray.
2411 * bridge/qt/qt_runtime.cpp:
2413 (JSC::Bindings::valueRealType): Added JSByteArray as converstion type.
2414 (JSC::Bindings::convertValueToQVariant): Convert from JSByteArray to
2415 QVariant(QByteArray).
2416 (JSC::Bindings::convertQVariantToValue): Convert from
2417 QVariant::ByteArray to jsByteArray.
2419 2009-02-03 Alexey Proskuryakov <ap@webkit.org>
2423 * GNUmakefile.am: Removed WorkerTask.{h,cpp}.
2425 2009-02-03 Dmitry Titov <dimich@chromium.org>
2427 Reviewed by Alexey Proskuryakov.
2429 https://bugs.webkit.org/show_bug.cgi?id=22718
2430 Implement WindowTimers interface in Workers.
2432 This patch moves timeoutID from Document to ScriptExecutionContext
2433 and exposes JS methods setTimeout/setInterval/clearTimeout/clearInterval inside of a Worker.
2434 Also added a test for those methods.
2436 Test: fast/workers/worker-timeout.html
2438 * bindings/js/JSWorkerContextCustom.cpp:
2439 (WebCore::setTimeoutOrInterval):
2440 Creates ScheduledAction and calls WorkerContext::installTimeout to actually add a timer.
2442 (WebCore::JSWorkerContext::setTimeout):
2443 (WebCore::JSWorkerContext::clearTimeout):
2444 (WebCore::JSWorkerContext::setInterval):
2445 (WebCore::JSWorkerContext::clearInterval):
2446 Added methods exposed to JS.
2450 * dom/ScriptExecutionContext.cpp:
2451 (WebCore::ScriptExecutionContext::addTimeout):
2452 (WebCore::ScriptExecutionContext::removeTimeout):
2453 (WebCore::ScriptExecutionContext::findTimeout):
2454 * dom/ScriptExecutionContext.h:
2455 The timerID map moves from Document to ScriptExecutionContext,
2456 to be available to Document and to WorkerContext.
2458 * dom/WorkerContext.cpp:
2459 (WebCore::WorkerContext::installTimeout): Adds a DOMTimeout.
2460 (WebCore::WorkerContext::removeTimeout): Removes a DOMTimeout.
2461 * dom/WorkerContext.h:
2463 * page/DOMTimer.cpp:
2464 (WebCore::DOMTimer::DOMTimer):
2465 (WebCore::DOMTimer::~DOMTimer):
2466 (WebCore::DOMTimer::removeById):
2467 Code change here reflects move of timeoutID map to the ScriptExecutionContext.
2468 Some checks and casts are no longer needed.
2470 2009-02-03 Dmitry Titov <dimich@chromium.org>
2472 Reviewed by Alexey Proskuryakov.
2474 https://bugs.webkit.org/show_bug.cgi?id=23560
2475 Implement SharedTimer for Workers.
2477 * dom/WorkerRunLoop.cpp:
2478 Added private class WorkerSharedTimer that implements SharedTimer interface for worker threads.
2479 (WebCore::WorkerSharedTimer::WorkerSharedTimer):
2480 (WebCore::WorkerSharedTimer::setFiredFunction):
2481 (WebCore::WorkerSharedTimer::setFireTime):
2482 (WebCore::WorkerSharedTimer::stop):
2483 (WebCore::WorkerSharedTimer::isActive):
2484 (WebCore::WorkerSharedTimer::fireTime):
2485 (WebCore::WorkerSharedTimer::fire):
2486 (WebCore::WorkerRunLoop::WorkerRunLoop):
2487 Initializes a WorkerSharedTimer instance.
2488 (WebCore::WorkerRunLoop::~WorkerRunLoop):
2489 The destructor is here so compiler is ok with having OwnPtr<WorkerSharedTimer> in .h file w/o defining WorkerSharedTimer.
2490 (WebCore::WorkerRunLoop::run):
2491 Set/reset shared timer interface on ThreadTimers, use MessageQueue::waitForMessageTimed() if timer is active.
2492 * dom/WorkerRunLoop.h:
2493 Add member of type OwnPtr<WorkerSharedTimer>
2495 2009-02-03 Steve Falkenburg <sfalken@apple.com>
2499 * WebCore.vcproj/WebCore.vcproj:
2501 2009-02-03 Alexey Proskuryakov <ap@webkit.org>
2505 * dom/CrossThreadCopier.h: Changed forward declarations to use struct instead of class where
2508 2009-02-02 David Levin <levin@chromium.org>
2510 Reviewed by Alexey Proskuryakov.
2512 Bug 23636: Make the async api of ThreadableLoader functional for the worker context.
2513 <https://bugs.webkit.org/show_bug.cgi?id=23636>
2515 Enable the async portion of ThreadableLoader for workers.
2517 No observable change in behavior, so no test.
2522 * WebCore.vcproj/WebCore.vcproj:
2523 * WebCore.xcodeproj/project.pbxproj:
2524 * WebCoreSources.bkl:
2525 * dom/CrossThreadCopier.h:
2526 * dom/GenericWorkerTask.h:
2527 * dom/WorkerThread.cpp:
2528 * loader/ThreadableLoader.cpp:
2529 (WebCore::ThreadableLoader::create):
2530 * loader/ThreadableLoaderClient.h:
2531 (WebCore::ThreadableLoaderClient::didFinishLoading):
2532 * loader/ThreadableLoaderClientWrapper.h: Added.
2533 (WebCore::ThreadableLoaderClientWrapper::create):
2534 (WebCore::ThreadableLoaderClientWrapper::clearClient):
2535 (WebCore::ThreadableLoaderClientWrapper::didSendData):
2536 (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
2537 (WebCore::ThreadableLoaderClientWrapper::didReceiveData):
2538 (WebCore::ThreadableLoaderClientWrapper::didFinishLoading):
2539 (WebCore::ThreadableLoaderClientWrapper::didFail):
2540 (WebCore::ThreadableLoaderClientWrapper::didGetCancelled):
2541 (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
2542 (WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper):
2543 * loader/WorkerThreadableLoader.cpp: Added.
2544 (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
2545 (WebCore::WorkerThreadableLoader::~WorkerThreadableLoader):
2546 (WebCore::WorkerThreadableLoader::cancel):
2547 (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
2548 (WebCore::WorkerThreadableLoader::MainThreadBridge::~MainThreadBridge):
2549 (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
2550 (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadDestroy):
2551 (WebCore::WorkerThreadableLoader::MainThreadBridge::destroy):
2552 (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCancel):
2553 (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
2554 (WebCore::WorkerThreadableLoader::MainThreadBridge::clearClientWrapper):
2555 (WebCore::workerContextDidSendData):
2556 (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
2557 (WebCore::workerContextDidReceiveResponse):
2558 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
2559 (WebCore::workerContextDidReceiveData):
2560 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
2561 (WebCore::workerContextDidFinishLoading):
2562 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
2563 (WebCore::workerContextDidFail):
2564 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
2565 (WebCore::workerContextDidGetCancelled):
2566 (WebCore::WorkerThreadableLoader::MainThreadBridge::didGetCancelled):
2567 (WebCore::workerContextDidReceiveAuthenticationCancellation):
2568 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
2569 * loader/WorkerThreadableLoader.h: Added.
2570 (WebCore::WorkerThreadableLoader::create):
2571 (WebCore::WorkerThreadableLoader::refThreadableLoader):
2572 (WebCore::WorkerThreadableLoader::derefThreadableLoader):
2574 2009-02-02 David Levin <levin@chromium.org>
2576 Reviewed by Alexey Proskuryakov.
2578 Bug 23636: Make the async api of ThreadableLoader functional for the worker context.
2579 <https://bugs.webkit.org/show_bug.cgi?id=23636>
2581 No observable change in behavior, so no test.
2583 * WebCore.xcodeproj/project.pbxproj:
2586 * dom/WorkerContext.cpp:
2587 (WebCore::WorkerContext::addMessage):
2588 (WebCore::WorkerContext::postTask):
2589 (WebCore::WorkerContext::postTaskToWorkerObject):
2590 * dom/WorkerContext.h:
2591 * dom/WorkerMessagingProxy.cpp:
2592 (WebCore::MessageWorkerContextTask::performTask):
2593 (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
2594 (WebCore::WorkerMessagingProxy::postTaskToWorkerContext):
2595 Expose postTaskToWorkerContext for use by the worker object thread.
2597 (WebCore::WorkerMessagingProxy::postTaskToWorkerObject):
2598 Change the name of postTaskToParentContext to postTaskToWorkerObject for consistency
2599 with postMessageToWorkerObject.
2601 * dom/WorkerMessagingProxy.h:
2602 * dom/WorkerRunLoop.cpp:
2603 (WebCore::WorkerRunLoop::run):
2604 (WebCore::WorkerRunLoop::postTask):
2605 * dom/WorkerRunLoop.h:
2606 * dom/WorkerTask.cpp: Removed.
2607 * dom/WorkerTask.h: Removed.
2608 Removed WorkerTask and replaced with the existing ScriptExecutionContext::Task.
2610 The resulted in the class going away along with an adapter that made
2611 a ScriptExecutionContext::Task look like a WorkerTask.
2613 * dom/WorkerThread.cpp:
2614 * dom/WorkerThread.h:
2616 2009-02-02 David Levin <levin@chromium.org>
2618 Reviewed by Alexey Proskuryakov.
2620 Bug 23618: Templated worker tasks should be more error proof to use.
2621 <https://bugs.webkit.org/show_bug.cgi?id=23618>
2623 Add the generic worker tasks templates needed for the WorkerThreadableLoader.
2625 No observable change in behavior, so no test.
2630 * WebCore.vcproj/WebCore.vcproj:
2631 * WebCore.xcodeproj/project.pbxproj:
2632 * WebCoreSources.bkl:
2633 * dom/CrossThreadCopier.cpp: Added.
2634 * dom/CrossThreadCopier.h: Added.
2635 (WebCore::CrossThreadCopierPassThrough::copy):
2636 * dom/GenericWorkerTask.h:
2637 Stop doing the WorkerMessagingProxy::askedToTerminate call automatically
2638 in performTask because was not obvious that it would be done and not always needed.
2640 (WebCore::GenericWorkerTask1::create):
2641 (WebCore::GenericWorkerTask1::GenericWorkerTask1):
2642 (WebCore::GenericWorkerTask1::performTask):
2643 (WebCore::GenericWorkerTask2::create):
2644 (WebCore::GenericWorkerTask2::GenericWorkerTask2):
2645 (WebCore::GenericWorkerTask2::performTask):
2646 (WebCore::GenericWorkerTask3::create):
2647 (WebCore::GenericWorkerTask3::GenericWorkerTask3):
2648 (WebCore::GenericWorkerTask3::performTask):
2649 (WebCore::GenericWorkerTask4::create):
2650 (WebCore::GenericWorkerTask4::GenericWorkerTask4):
2651 (WebCore::GenericWorkerTask4::performTask):
2652 (WebCore::GenericWorkerTask5::create):
2653 (WebCore::GenericWorkerTask5::GenericWorkerTask5):
2654 (WebCore::GenericWorkerTask5::performTask):
2655 (WebCore::GenericWorkerTask6::create):
2656 (WebCore::GenericWorkerTask6::GenericWorkerTask6):
2657 (WebCore::GenericWorkerTask6::performTask):
2658 (WebCore::GenericWorkerTask7::create):
2659 (WebCore::GenericWorkerTask7::GenericWorkerTask7):
2660 (WebCore::GenericWorkerTask7::performTask):
2661 (WebCore::createCallbackTask):
2662 * dom/WorkerContext.cpp:
2663 (WebCore::addMessageTask):
2664 (WebCore::WorkerContext::addMessage):
2665 * dom/WorkerMessagingProxy.h:
2666 (WebCore::WorkerMessagingProxy::askedToTerminate):
2668 2009-02-02 Sam Weinig <sam@webkit.org>
2670 Reviewed by David "The Barnabas Jones" Hyatt.
2672 Move removeChildNode, appendChildNode and insertChildNode from
2673 RenderContainer into RenderObjectChildList. Make moveChildNode
2674 static in RenderBlock, as that was the only user.
2676 * rendering/RenderBlock.cpp:
2677 (WebCore::moveChild):
2678 (WebCore::RenderBlock::makeChildrenNonInline):
2679 (WebCore::RenderBlock::removeChild):
2680 (WebCore::RenderBlock::handleRunInChild):
2681 * rendering/RenderContainer.cpp:
2682 (WebCore::RenderContainer::addChild):
2683 (WebCore::RenderContainer::removeChild):
2684 * rendering/RenderContainer.h:
2685 * rendering/RenderInline.cpp:
2686 (WebCore::RenderInline::splitInlines):
2687 (WebCore::RenderInline::splitFlow):
2688 (WebCore::RenderInline::childBecameNonInline):
2689 * rendering/RenderObject.cpp:
2690 (WebCore::RenderObject::handleDynamicFloatPositionChange):
2691 * rendering/RenderObject.h:
2692 (WebCore::RenderObject::createsAnonymousWrapper):
2693 * rendering/RenderObjectChildList.cpp:
2694 (WebCore::updateListMarkerNumbers):
2695 (WebCore::RenderObjectChildList::removeChildNode):
2696 (WebCore::RenderObjectChildList::appendChildNode):
2697 (WebCore::RenderObjectChildList::insertChildNode):
2698 * rendering/RenderObjectChildList.h:
2699 * rendering/RenderSVGContainer.cpp:
2700 (WebCore::RenderSVGContainer::addChild):
2701 (WebCore::RenderSVGContainer::removeChild):
2702 * rendering/RenderSVGContainer.h:
2703 * rendering/RenderTable.cpp:
2704 (WebCore::RenderTable::removeChild):
2705 * rendering/RenderTable.h:
2706 * rendering/RenderTableSection.cpp:
2707 (WebCore::RenderTableSection::removeChild):
2708 * rendering/RenderTableSection.h:
2710 2009-02-02 Alexey Proskuryakov <ap@webkit.org>
2712 Reviewed by Darin Alder.
2714 https://bugs.webkit.org/show_bug.cgi?id=23697
2715 Leaks seen on Worker tests
2717 * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal):
2718 Zero out m_workerThread, so that the proxy could be deleted once workerObjectDestroyed()
2721 2009-02-02 David Hyatt <hyatt@apple.com>
2723 Move positionForCoordinates up from RenderContainer into RenderBox.
2725 Reviewed by Sam Weinig
2727 * rendering/RenderBox.cpp:
2728 (WebCore::RenderBox::positionForCoordinates):
2729 * rendering/RenderBox.h:
2730 * rendering/RenderContainer.cpp:
2731 * rendering/RenderContainer.h:
2733 2009-02-02 Hiroaki Nakamura <hnakamur@gmail.com>
2735 Reviewed by Adam Roben.
2737 Fixes https://bugs.webkit.org/show_bug.cgi?id=15813
2738 Modify pre-build step to properly handle the errorlevel
2741 * WebCore.vcproj/WebCore.vcproj: Change errorlevel handling
2742 for all targets so prefast is only enabled in builds
2743 where /analyze is available.
2745 2009-02-02 David Hyatt <hyatt@apple.com>
2747 Refactor the handling of before/after content and generated content. Move most of the functions from
2748 RenderContainer into RenderObjectChildList.
2750 Reviewed by Sam Weinig
2752 * rendering/RenderBlock.cpp:
2753 (WebCore::RenderBlock::updateBeforeAfterContent):
2754 * rendering/RenderBlock.h:
2755 * rendering/RenderBox.cpp:
2756 (WebCore::RenderBox::isAfterContent):
2757 * rendering/RenderBox.h:
2758 * rendering/RenderButton.cpp:
2759 (WebCore::RenderButton::updateBeforeAfterContent):
2760 * rendering/RenderContainer.cpp:
2761 * rendering/RenderContainer.h:
2762 * rendering/RenderCounter.cpp:
2763 (WebCore::destroyCounterNodeChildren):
2764 * rendering/RenderInline.cpp:
2765 (WebCore::RenderInline::styleDidChange):
2766 (WebCore::RenderInline::addChildIgnoringContinuation):
2767 (WebCore::RenderInline::splitInlines):
2768 * rendering/RenderObject.h:
2769 * rendering/RenderObjectChildList.cpp:
2770 (WebCore::beforeAfterContainer):
2771 (WebCore::findBeforeAfterParent):
2772 (WebCore::invalidateCountersInContainer):
2773 (WebCore::RenderObjectChildList::invalidateCounters):
2774 (WebCore::RenderObjectChildList::updateBeforeAfterContent):
2775 * rendering/RenderObjectChildList.h:
2777 2009-02-02 Dmitry Titov <dimich@chromium.org>
2779 Reviewed by Darin Adler.
2781 https://bugs.webkit.org/show_bug.cgi?id=23661
2784 * history/HistoryItem.h: need to include <wtf/OwnPtr.h>
2786 * rendering/RenderThemeChromiumMac.mm:
2787 (WebCore::RenderThemeChromiumMac::adjustMenuListStyle): isEnabled() is now on FormControlElement.
2789 2009-02-02 Geoffrey Garen <ggaren@apple.com>
2793 * plugins/PluginView.cpp:
2794 (WebCore::PluginView::performRequest):
2796 2009-02-02 Geoffrey Garen <ggaren@apple.com>
2802 2009-02-02 Geoffrey Garen <ggaren@apple.com>
2804 Reviewed by Sam Weinig.
2806 Track redirects in global history.
2808 * WebCore.base.exp: Renamed some exports.
2810 * bindings/js/JSDOMWindowBase.cpp:
2811 (WebCore::createWindow):
2812 (windowProtoFuncOpen):
2813 * bindings/js/JSDOMWindowCustom.cpp:
2814 (WebCore::JSDOMWindow::setLocation):
2815 * bindings/js/JSDocumentCustom.cpp:
2816 (WebCore::JSDocument::setLocation):
2817 * bindings/js/JSHTMLFormElementCustom.cpp:
2818 (WebCore::JSHTMLFormElement::submit):
2819 * bindings/js/JSLocationCustom.cpp:
2820 (WebCore::JSLocation::setHref):
2821 (WebCore::JSLocation::setProtocol):
2822 (WebCore::JSLocation::setHost):
2823 (WebCore::JSLocation::setHostname):
2824 (WebCore::JSLocation::setPort):
2825 (WebCore::JSLocation::setPathname):
2826 (WebCore::JSLocation::setSearch):
2827 (WebCore::JSLocation::setHash):
2828 (WebCore::JSLocation::assign): Treat any navigation that is not initiated
2829 by the user as a redirect from the perspective of global history.
2831 * history/HistoryItem.cpp:
2832 (WebCore::HistoryItem::addRedirectURL): Store the last URL in the redirect
2835 * loader/DocumentLoader.cpp:
2836 (WebCore::DocumentLoader::DocumentLoader):
2837 * loader/DocumentLoader.h:
2838 (WebCore::DocumentLoader::urlForHistoryReflectsServerRedirect):
2839 (WebCore::DocumentLoader::urlForHistoryReflectsClientRedirect):
2840 (WebCore::DocumentLoader::setURLForHistoryReflectsClientRedirect): Sadly,
2841 added yet another way to track redirect state during loading, since none
2842 of the others did what I wanted, and I didn't want to cause behavior
2843 changes in existing code.
2845 * loader/EmptyClients.h:
2846 (WebCore::EmptyFrameLoaderClient::updateGlobalHistoryForRedirectWithoutHistoryItem):
2847 Stubbed out a client function to keep things building.
2849 * loader/FrameLoader.cpp:
2850 (WebCore::isBackForwardLoadType):
2851 (WebCore::FrameLoader::restoreDocumentState): Renamed FrameLoadTypeRedirect =>
2852 FrameLoadTypeRedirectWithLockedBackForwardList, to distinguish from all
2853 the other meanings of "redirect" in the loading code.
2855 (WebCore::FrameLoader::scheduleHTTPRedirection): Treat any HTTP refresh
2856 redirect as a redirect from the perspective of global history.
2858 (WebCore::FrameLoader::loadURLIntoChildFrame): Updated for rename and extra
2861 (WebCore::FrameLoader::startRedirectionTimer): Removed unused parameter.
2863 (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
2864 (WebCore::FrameLoader::loadURL):
2865 (WebCore::FrameLoader::load): Updated for rename and extra parameter.
2867 (WebCore::FrameLoader::loadWithNavigationAction): Track redirect status
2868 in the DocumentLoader, so it's accessible to WebKit's global history code.
2870 (WebCore::FrameLoader::clientRedirected): Ignore lockHistory, since it
2871 only has meaning to global history, and m_quickRedirectComing pertains
2872 to other kinds of history.
2874 (WebCore::FrameLoader::loadPostRequest):
2875 (WebCore::FrameLoader::loadEmptyDocumentSynchronously):
2876 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
2877 (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
2878 (WebCore::FrameLoader::loadItem): Updated for extra parameter and rename.
2880 (WebCore::FrameLoader::updateHistory*): Notify WebKit about redirect
2881 navigations even if they don't create new history items, so we can track
2882 the redirect in the existing history item.
2884 * loader/FrameLoader.h: See above.
2886 * loader/FrameLoaderClient.h: New client interface used by
2887 FrameLoader::updateHistory* to record a redirect even if it doesn't create
2888 a new history item of its own.
2890 * loader/FrameLoaderTypes.h: See above.
2893 * page/DragController.cpp:
2894 (WebCore::DragController::performDrag):
2895 * svg/graphics/SVGImage.cpp:
2896 (WebCore::SVGImage::dataChanged): Updated for extra parameter.
2898 2009-02-02 David Hyatt <hyatt@apple.com>
2900 Make calcPrefWidths non-abstract on RenderBox and just give it RenderContainer's implementation.
2901 Remove RenderSVGContainer's implementation, since it was never called.
2903 Reviewed by Beth Dakin
2905 * rendering/RenderBox.cpp:
2906 (WebCore::RenderBox::minPrefWidth):
2907 * rendering/RenderBox.h:
2908 (WebCore::RenderBox::calcPrefWidths):
2909 * rendering/RenderContainer.h:
2910 (WebCore::RenderContainer::moveChildNode):
2911 * rendering/RenderSVGContainer.h:
2913 2009-02-02 Anders Carlsson <andersca@apple.com>
2915 Reviewed by Sam Weinig.
2917 Add jsObjectForPluginElement to ScriptController, and have createScriptObjectForPluginElement call it.
2920 * bindings/js/ScriptController.cpp:
2921 (WebCore::ScriptController::createScriptObjectForPluginElement):
2922 (WebCore::ScriptController::jsObjectForPluginElement):
2923 * bindings/js/ScriptController.h:
2925 2009-02-02 Darin Fisher <darin@chromium.org>
2927 Reviewed by Eric Seidel (and Ojan Vafai).
2929 https://bugs.webkit.org/show_bug.cgi?id=23696
2930 Select element doesn't show new value when focus is switched in
2933 Fix PopupMenuChromium to hide itself before calling valueChanged. This
2934 better matches the behavior of the other ports.
2936 * platform/chromium/PopupMenuChromium.cpp:
2937 (WebCore::PopupListBox::create):
2938 (WebCore::PopupContainer::PopupContainer):
2939 (WebCore::PopupContainer::showPopup):
2940 (WebCore::PopupContainer::hidePopup):
2941 (WebCore::PopupListBox::abandon):
2942 (WebCore::PopupListBox::acceptIndex):
2943 (WebCore::PopupMenu::show):
2944 (WebCore::PopupMenu::hide):
2946 2009-02-02 David Hyatt <hyatt@apple.com>
2948 Make sure scrollWidth/Height just return 0 for inline flows.
2950 Reviewed by Beth Dakin
2952 * rendering/RenderBox.cpp:
2953 (WebCore::RenderBox::scrollWidth):
2954 (WebCore::RenderBox::scrollHeight):
2956 2009-02-02 Darin Adler <darin@apple.com>
2958 Reviewed by Dave Hyatt.
2960 Bug 23676: Speed up uses of reserveCapacity on new vectors by adding a new reserveInitialCapacity
2961 https://bugs.webkit.org/show_bug.cgi?id=23676
2963 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2964 (WebCore::cssPropertyName):
2965 * css/CSSMutableStyleDeclaration.cpp:
2966 (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
2967 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
2968 * css/CSSPrimitiveValue.cpp:
2969 (WebCore::CSSPrimitiveValue::cssText):
2970 * css/CSSStyleDeclaration.cpp:
2971 (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
2972 * css/CSSStyleSelector.cpp:
2973 (WebCore::CSSStyleSelector::sortMatchedRules):
2975 (WebCore::Document::formElementsState):
2976 * dom/NamedAttrMap.h:
2977 (WebCore::NamedAttrMap::reserveInitialCapacity):
2978 * editing/TextIterator.cpp:
2979 (WebCore::CharacterIterator::string):
2980 (WebCore::SearchBuffer::SearchBuffer):
2981 (WebCore::plainTextToMallocAllocatedBuffer):
2982 * editing/markup.cpp:
2983 (WebCore::joinMarkups):
2984 * history/HistoryItem.cpp:
2985 (WebCore::HistoryItem::HistoryItem):
2986 * html/HTMLTokenizer.cpp:
2987 (WebCore::Token::addAttribute):
2988 * loader/appcache/DOMApplicationCache.cpp:
2989 (WebCore::DOMApplicationCache::items):
2990 * page/SecurityOrigin.cpp:
2991 (WebCore::SecurityOrigin::toString):
2992 * page/mac/AccessibilityObjectWrapper.mm:
2994 * platform/graphics/FontCache.cpp:
2995 (WebCore::FontCache::purgeInactiveFontData):
2996 (WebCore::FontCache::invalidate):
2997 * platform/network/FormData.cpp:
2998 (WebCore::FormData::deepCopy):
2999 * platform/network/HTTPHeaderMap.cpp:
3000 (WebCore::HTTPHeaderMap::copyData):
3001 * platform/network/ResourceRequestBase.cpp:
3002 (WebCore::ResourceRequestBase::copyData):
3003 * platform/network/mac/FormDataStreamMac.mm:
3004 (WebCore::formCreate):
3005 * xml/XPathNodeSet.cpp:
3006 (WebCore::XPath::NodeSet::sort):
3007 Use reserveInitialCapacity instead of of reserveCapacity in all these call sites,
3008 which are working on new vectors that are guaranteed not to be empty.
3010 2009-02-26 Jon Honeycutt <jhoneycutt@apple.com>
3012 Build fix after r40486.
3014 Rubber-stamped by Ada Chan.
3016 * dom/Document.h: Chnaged HitTestRequest to a class from a struct.
3017 * page/EventHandler.h: Ditto.
3018 * rendering/EllipsisBox.h: Ditto.
3019 * rendering/InlineBox.h: Ditto.
3020 * rendering/InlineFlowBox.h: Ditto.
3021 * rendering/RenderLayer.h: Ditto.
3023 2009-02-02 Darin Adler <darin@apple.com>
3025 Reviewed by Anders Carlsson.
3027 Bug 23694: REGRESSION: Running svg/custom tests crashes, randomly, depending on the order of tests
3028 https://bugs.webkit.org/show_bug.cgi?id=23694
3030 * dom/ContainerNode.cpp:
3031 (WebCore::ContainerNode::insertedIntoDocument): Added back the call through to EventTargetNode.
3032 (WebCore::ContainerNode::removedFromDocument): Ditto.
3033 * dom/EventTargetNode.cpp:
3034 (WebCore::EventTargetNode::insertedIntoDocument): Changed this to not call through to Node.
3035 (WebCore::EventTargetNode::removedFromDocument): Ditto.
3037 (WebCore::Node::insertedIntoDocument): Updated comment.
3038 (WebCore::Node::removedFromDocument): Ditto.
3040 2009-02-02 Anders Carlsson <andersca@apple.com>
3042 Reviewed by Dan Bernstein.
3044 More plug-in cleanup.
3046 * WebCore.NPAPI.exp:
3049 * bindings/objc/DOM.mm:
3050 * bindings/objc/DOMPrivate.h:
3051 Remove methods that WebKit doesn't use anymore.
3053 2009-02-02 Jay Campan <jcampan@chromium.org>
3055 Reviewed by Eric Seidel.
3057 Clean up PopupMenuChromium a little.
3058 https://bugs.webkit.org/show_bug.cgi?id=23653
3060 No functional changes, only code cleanup, thus no tests.
3062 * platform/chromium/PopupMenuChromium.cpp:
3064 (WebCore::PopupListBox::PopupListBox):
3065 (WebCore::PopupContainer::create):
3066 (WebCore::PopupContainer::PopupContainer):
3067 (WebCore::PopupContainer::showPopup):
3068 (WebCore::PopupListBox::handleKeyEvent):
3069 (WebCore::PopupListBox::isSelectableItem):
3070 (WebCore::PopupListBox::selectNextRow):
3071 (WebCore::PopupListBox::selectPreviousRow):
3072 (WebCore::PopupMenu::show):
3073 * platform/chromium/PopupMenuChromium.h:
3075 2009-02-02 Anders Carlsson <andersca@apple.com>
3077 Reviewed by Dan Bernstein.
3079 Change createPlugin to take a HTMLPlugInElement, and createJavaAppletWidget to take a HTMLAppletElement.
3081 * WebCore.xcodeproj/project.pbxproj:
3082 * loader/EmptyClients.h:
3083 (WebCore::EmptyFrameLoaderClient::createPlugin):
3084 (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
3085 * loader/FrameLoader.cpp:
3086 (WebCore::toPlugInElement):
3087 (WebCore::FrameLoader::loadPlugin):
3088 (WebCore::FrameLoader::loadItem):
3089 * loader/FrameLoader.h:
3090 * loader/FrameLoaderClient.h:
3092 2009-02-02 Genevieve Mak <gen@staikos.net>
3094 Reviewed by George Staikos.
3096 https://bugs.webkit.org/show_bug.cgi?id=23508
3097 Returns Blank Page for all "about" protocols
3099 * loader/MainResourceLoader.cpp:
3100 Fix shouldLoadAsEmptyDocument() to return a blank page for an empty
3101 url or about:blank only (for now, exclusively for Torch Mobile platform).
3103 2009-02-02 Brent Fulgham <bfulgham@webkit.org>
3105 Reviewed by George Staikos.
3107 Fixes https://bugs.webkit.org/show_bug.cgi?id=23691.
3108 Correct build break caused by @r40366 by moving the
3109 common code implmentations from GraphicsContextCGWin.cpp
3110 into the base Windows class (GraphicsContextWin.cpp). Also
3111 move inTransparencyLayer since it is identical in both
3114 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
3115 Added member m_shouldIncludeChildWindows to Windows version,
3116 similar to GraphicsContextPlatformPrivateCG.h.
3117 * platform/graphics/win/GraphicsContextCGWin.cpp: Remove the
3118 implementations of shouldIncludeChildWindows,
3119 setShouldIncludeChildWindows, and inTransparencyLayer.
3120 * platform/graphics/win/GraphicsContextCairoWin.cpp: Remove
3121 the implementation of inTransparencyLayer.
3122 * platform/graphics/win/GraphicsContextWin.cpp: Move common code
3123 from GraphicsContextCGWin.cpp and GraphicsContextCairoWin.cpp.
3124 (WebCore::GraphicsContext::inTransparencyLayer):
3125 (WebCore::GraphicsContext::setShouldIncludeChildWindows):
3126 (WebCore::GraphicsContext::shouldIncludeChildWindows):
3128 2009-02-02 Darin Adler <darin@apple.com>
3130 Try to fix Wx build, and maybe Chromium build too.
3132 * WebCore.scons: Added IdentifierRep.cpp.
3133 * WebCoreSources.bkl: Ditto.
3135 2009-02-02 Darin Adler <darin@apple.com>
3137 Try to fix Wx build.
3139 * html/HTMLAreaElement.cpp: Added missing include of "Path.h".
3141 2009-02-02 Adam Treat <adam.treat@torchmobile.com>
3143 Reviewed by Nikolas Zimmermann.
3145 https://bugs.webkit.org/show_bug.cgi?id=23587
3146 Refactor HitTestRequest to eliminate all the ugly boolean arguments and
3147 use an enum bitflag instead. Cleanup all the code that constructs the
3148 various HitTestRequests to make the code more readable.
3151 (WebCore::Document::elementFromPoint):
3152 (WebCore::Document::prepareMouseEvent):
3153 * editing/SelectionController.cpp:
3154 (WebCore::SelectionController::contains):
3155 * page/AccessibilityRenderObject.cpp:
3156 (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
3157 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
3158 * page/EventHandler.cpp:
3159 (WebCore::EventHandler::eventMayStartDrag):
3160 (WebCore::EventHandler::updateSelectionForMouseDrag):
3161 (WebCore::EventHandler::hitTestResultAtPoint):
3162 (WebCore::EventHandler::handleMousePressEvent):
3163 (WebCore::EventHandler::handleMouseDoubleClickEvent):
3164 (WebCore::EventHandler::handleMouseMoveEvent):
3165 (WebCore::EventHandler::handleMouseReleaseEvent):
3166 (WebCore::EventHandler::updateDragAndDrop):
3167 (WebCore::EventHandler::handleWheelEvent):
3168 (WebCore::EventHandler::sendContextMenuEvent):
3169 (WebCore::EventHandler::hoverTimerFired):
3170 (WebCore::EventHandler::handleDrag):
3171 * page/EventHandler.h:
3172 * rendering/HitTestRequest.h:
3173 (WebCore::HitTestRequest::):
3174 (WebCore::HitTestRequest::HitTestRequest):
3175 (WebCore::HitTestRequest::readOnly):
3176 (WebCore::HitTestRequest::active):
3177 (WebCore::HitTestRequest::mouseMove):
3178 (WebCore::HitTestRequest::mouseUp):
3179 (WebCore::HitTestRequest::ignoreClipping):
3180 * rendering/RenderFrameSet.cpp:
3181 (WebCore::RenderFrameSet::nodeAtPoint):
3182 * rendering/RenderLayer.cpp:
3183 (WebCore::RenderLayer::hitTest):
3184 (WebCore::RenderLayer::hitTestLayer):
3185 (WebCore::RenderLayer::updateHoverActiveState):
3187 2009-02-02 George Staikos <george.staikos@torchmobile.com>
3189 Reviewed by Niko Zimmermann.
3191 Fix WML build by including the inlined renderStyle().
3193 * wml/WMLOptGroupElement.cpp:
3194 * wml/WMLOptionElement.cpp:
3196 2009-02-02 Darin Adler <darin@apple.com>
3198 Reviewed by Niko Zimmermann.
3200 Bug 23686: REGRESSION (r40475): Failure in fast/xpath/4XPath/Core/test_core_functions.html
3201 https://bugs.webkit.org/show_bug.cgi?id=23686
3202 rdar://problem/6547971
3204 Also fix other XPath tests that are crashing.
3206 * xml/XPathFunctions.cpp:
3207 (WebCore::XPath::FunLang::evaluate): Fix order of arguments when creating QualifiedName.
3208 * xml/XPathStep.cpp:
3209 (WebCore::XPath::Step::nodesInAxis): Use createAttrIfNeeded() rather than attr() since we
3210 need to make Attr nodes here. Yuck!
3212 2009-02-02 Yichao Yin <yichao.yin@torchmobile.com.cn>
3214 Reviewed by Niko Zimmermann.
3216 Test: wml/input-format.html
3218 * wml/WMLInputElement.cpp:
3219 (WebCore::WMLInputElement::WMLInputElement):
3220 (WebCore::formatCodes):
3221 (WebCore::WMLInputElement::dispatchBlurEvent):
3222 (WebCore::WMLInputElement::parseMappedAttribute):
3223 (WebCore::WMLInputElement::attach):
3224 (WebCore::WMLInputElement::defaultEventHandler):
3225 (WebCore::WMLInputElement::init):
3226 (WebCore::WMLInputElement::validateInputMask):
3227 (WebCore::WMLInputElement::isConformedToInputMask):
3228 (WebCore::WMLInputElement::cursorPositionToMaskIndex):
3229 * wml/WMLInputElement.h:
3231 2009-02-02 Brent Fulgham <bfulgham@webkit.org>
3233 Build fix only, no review.
3235 Fixes https://bugs.webkit.org/show_bug.cgi?id=23685.
3236 Correct build break caused by @r40473.
3238 * page/win/FrameWin.cpp: Correct access for adjustPageHeight.
3239 (WebCore::computePageRectsForFrame):
3241 2009-02-02 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3243 Not reviewed. Fix WML enabled builds.
3244 FrameLoader::urlSelected() got a new parameter: lockBackForwardList. Pass 'false', as HTMLAnchorElement does.
3246 * wml/WMLAElement.cpp:
3247 (WebCore::WMLAElement::defaultEventHandler):
3249 2009-02-02 Alexey Proskuryakov <ap@webkit.org>
3251 Reviewed by Darin Adler.
3253 <rdar://problem/6451610> Reloading a AppCache page doesn't ever hit the server
3255 Not easily testable.
3257 * loader/appcache/ApplicationCacheGroup.cpp:
3258 (WebCore::ApplicationCacheGroup::createResourceHandle): A new method that creates a resource
3259 handle in a manner that is closer to what CachedResource does. We now make conditional
3260 requests for better performance, and set max-age to ensure that stale responses are not used.
3261 (WebCore::ApplicationCacheGroup::update): Use the new createResourceHandle() method.
3262 (WebCore::ApplicationCacheGroup::didReceiveResponse): If the response code for the resource
3263 is 304, take it from the newest cache.
3264 (WebCore::ApplicationCacheGroup::didFail): Pre-compute request URL.
3265 (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Don't create a resource for
3266 the manifest if the response code was 304 - it won't be needed.
3267 (WebCore::ApplicationCacheGroup::didReceiveManifestData): Replaced an assertion that
3268 m_manifestResource is not null with a check.
3269 (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): Treat null m_manifestResource as
3270 an indication that the response was 304.
3271 (WebCore::ApplicationCacheGroup::startLoadingEntry): Use createResourceHandle().
3273 * loader/appcache/ApplicationCacheGroup.h: Added createResourceHandle().
3275 2009-02-01 Darin Adler <darin@apple.com>
3277 Reviewed by Dave Hyatt.
3279 Bug 23674: Speed up some things based on profiling the page load test
3280 https://bugs.webkit.org/show_bug.cgi?id=23674
3282 * css/CSSStyleSelector.cpp:
3283 (WebCore::CSSStyleSelector::canShareStyleWithElement): Use the newly named cssTarget instead
3284 of the old name, getCSSTarget.
3285 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
3287 * dom/ContainerNode.cpp:
3288 (WebCore::ContainerNode::insertedIntoDocument): Moved code from Node in here rather than
3289 calling through to EventTargetNode::insertedIntoDocument.
3290 (WebCore::ContainerNode::removedFromDocument): Ditto.
3291 (WebCore::ContainerNode::insertedIntoTree): Tweaked a bit.
3292 (WebCore::ContainerNode::removedFromTree): Ditto.
3294 * dom/ContainerNode.h: Moved the constructor definition here and made it inline.
3297 (WebCore::Document::removeAllEventListenersFromAllNodes): Iterate the document element and
3298 its contents only to avoid the document type node. This allows us to remove the virtual
3299 function call to isEventTargetNode from the loop.
3300 (WebCore::Document::setCSSTarget): Changed argument to be an Element rather than Node.
3302 * dom/Document.h: Changed CSS target to be an Element rather than a Node. Renamed
3303 getCSSTarget to cssTarget.
3305 * dom/EventTargetNode.cpp:
3306 (WebCore::EventTargetNode::removeAllEventListenersSlowCase): Renamed and turned the
3307 rare data check into an assertion.
3309 * dom/EventTargetNode.h: Made the fast case of removeAllEventListeners be inline.
3310 Also moved the constructor definition here and made it inline. And added toEventTargetNode,
3311 matching the design of the render tree checked casts. Later we can migrate all callers
3312 from EventTargetNodeCast to toEventTargetNode.
3314 * dom/NamedAttrMap.cpp:
3315 (WebCore::NamedAttrMap::detachAttributesFromElement): Added. Factored out from
3316 clearAttributes, so we could use this loop in cases where we're not clearing the attributes.
3317 (WebCore::NamedAttrMap::~NamedAttrMap): Call detachAttributesFromElement instead of
3318 clearAttributes here.
3319 (WebCore::NamedAttrMap::clearAttributes): Call detachAttributesFromElement here.
3320 (WebCore::NamedAttrMap::detachFromElement): Call detachAttributesFromElement instead of
3321 clearAttributes. We don't need to clear the attributes array just because the element is
3322 going away, so don't.
3323 (WebCore::NamedAttrMap::virtualLength): Added.
3325 * dom/NamedAttrMap.h: Made all the virtual functions inherited from NamedNodeMap be private.
3326 These are all unnecessarily inefficient for use outside the DOM. Changed length to be a
3327 non-virtual function. This was a fairly hot function.
3329 * dom/NamedMappedAttrMap.cpp:
3330 (WebCore::NamedMappedAttrMap::setClass): Changed to use element() function now that the
3331 m_element data member is private.
3333 * dom/NamedMappedAttrMap.h: Made a few functions private. Made the
3334 hasMappedAttributes function non-virtual.
3336 * dom/NamedNodeMap.h: Made length a non-virtual inline function that calls a virtual
3337 function, name virtualLength. This lets NamedAttrMap::length be a non-virtual function.
3340 (WebCore::Node::insertedIntoDocument): Removed call to insertedIntoTree, since it's
3341 only non-empty in subclasses of ContainerNode.
3342 (WebCore::Node::removedFromDocument): Ditto. Also removed setCSSTarget. Since a CSS
3343 target has to be an Element, this can be moved down to ContainerNode (or it could be
3344 moved down to Element for that matter).
3346 * dom/QualifiedName.cpp:
3347 (WebCore::QualifiedName::QualifiedName): Removed double initialization of m_impl.
3349 * dom/QualifiedName.h: Moved the destructor, copy constructor, assignment operator, and
3350 setPrefix function definitions into the header and made them inline.
3352 * html/HTMLAreaElement.cpp:
3353 (WebCore::HTMLAreaElement::mapMouseEvent): Updated since the stored region is now
3355 (WebCore::HTMLAreaElement::accessKey): Use AtomicString.
3356 (WebCore::HTMLAreaElement::setAccessKey): Ditto.
3357 (WebCore::HTMLAreaElement::alt): Ditto.
3358 (WebCore::HTMLAreaElement::setAlt): Ditto.
3359 (WebCore::HTMLAreaElement::coords): Ditto.
3360 (WebCore::HTMLAreaElement::setCoords): Ditto.
3361 (WebCore::HTMLAreaElement::setHref): Ditto.
3362 (WebCore::HTMLAreaElement::shape): Ditto.
3363 (WebCore::HTMLAreaElement::setShape): Ditto.
3364 (WebCore::HTMLAreaElement::setTarget): Ditto.
3366 * html/HTMLAreaElement.h: Use AtomicString in the getter and setter DOM operations.
3367 Change the region data member to be an OwnPtr<Path> instead of a Path to optimize
3368 the common case where an area element is parsed but never hit-tested. This could
3369 also have been done by changing the Path class's null case to be more efficient,
3370 but this seems fine.
3372 * html/HTMLViewSourceDocument.cpp:
3373 (WebCore::HTMLViewSourceDocument::createContainingTable): Use addAttribute instead
3375 (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Ditto.
3376 (WebCore::HTMLViewSourceDocument::addLine): Ditto.
3377 (WebCore::HTMLViewSourceDocument::addLink): Ditto.
3379 * loader/FrameLoader.cpp:
3380 (WebCore::FrameLoader::gotoAnchor): Use cssTarget under its new name instead
3381 of its old name getCSSTarget.
3383 * platform/graphics/GlyphWidthMap.cpp:
3384 (WebCore::GlyphWidthMap::locatePageSlowCase): Refactored from locatePage.
3386 * platform/graphics/GlyphWidthMap.h: Made most of this class inline.
3387 Changed m_pages to use OwnPtr.
3389 * platform/text/PlatformString.h: Remove include no longer needed since
3390 StringImpl.h includes it.
3392 * platform/text/StringImpl.cpp:
3393 (WebCore::StringImpl::createStrippingNullCharactersSlowCase): Refactored
3394 from createStrippingNullCharacters.
3395 * platform/text/StringImpl.h: Moved the definition of
3396 createStrippingNullCharacters here and made it inline.
3398 * rendering/RenderObject.cpp:
3399 (WebCore::RenderObject::firstLineStyleSlowCase): Refactored from
3402 * rendering/RenderObject.h: Moved the definition of the firstLineStyle
3403 function here and made it inline. Moved the definition of the
3404 documentBeingDestroyed function here and made it inline.
3406 * svg/SVGSVGElement.cpp:
3407 (WebCore::SVGSVGElement::getCTM): Use getAttributeItem instead of
3408 getNamedItem here since it accomplishes the same thing but is more efficient.
3409 (WebCore::SVGSVGElement::getScreenCTM): Ditto.
3410 * svg/SVGStyledElement.cpp:
3411 (WebCore::SVGStyledElement::getPresentationAttribute): Ditto.
3413 * xml/XPathFunctions.cpp:
3414 (WebCore::XPath::FunLang::evaluate): Use getAttributeItem instead of
3417 * xml/XPathStep.cpp:
3418 (WebCore::XPath::Step::nodesInAxis): Use attributeItem instead of item here.
3420 2009-02-02 Holger Hans Peter Freyther <zecke@selfish.org>
3422 Reviewed by Darin Adler.
3424 Move Frame::forceLayout, Frame::adjustPageHeight and Frame::forceLayoutWithPageWidthRange to FrameView
3426 https://bugs.webkit.org/show_bug.cgi?id=23428
3428 FrameView::forceLayout could be killed but the comment might
3429 contain a value over the the plain FrameView::layout...
3431 Adjust the WebCore/WebKit consumers of these methods.
3435 (WebCore::Frame::setPrinting):
3437 * page/FrameView.cpp:
3438 (WebCore::FrameView::forceLayout):
3439 (WebCore::FrameView::forceLayoutWithPageWidthRange):
3440 (WebCore::FrameView::adjustPageHeight):
3442 * page/PrintContext.cpp:
3443 (WebCore::PrintContext::computePageRects):
3445 2009-02-01 Dan Bernstein <mitz@apple.com>
3447 Reviewed by John Sullivan.
3449 - fix <rdar://problem/6546625> REGRESSION (r40432): iframes added to global history at haaretz.co.il
3451 Fixes http/tests/navigation/multiple-back-forward-entries.html
3453 r40432 added a parameter to FrameLoader::scheduleLocationChange() and
3454 failed to update all call sites.
3456 * bindings/js/JSDOMWindowBase.cpp:
3457 (WebCore::createWindow): Pass the lockBackForwardHistory parameter,
3458 giving it the same value as the lockHistory parameter.
3459 (windowProtoFuncOpen): Ditto.
3460 * bindings/js/JSDOMWindowCustom.cpp:
3461 (WebCore::JSDOMWindow::setLocation): Ditto.
3462 * bindings/js/JSDocumentCustom.cpp:
3463 (WebCore::JSDocument::setLocation): Ditto.
3464 * loader/FrameLoader.cpp:
3465 (WebCore::FrameLoader::requestFrame): Ditto.
3467 2009-01-31 Dan Bernstein <mitz@apple.com>
3469 Reviewed by Oliver Hunt.
3471 - fix <rdar://problem/6546549> Eliminate some RenderText::width() overhead from findNextLineBreak()
3473 On the PLT, this results in 0.36x the number of virtual function calls
3474 to RenderText::width() and 0.69x the number of calls to
3475 Font::isFixedPitch(), but makes 1.0004x the number of calls to
3478 * rendering/RenderText.cpp:
3479 (WebCore::RenderText::width): Replaced bounds checks on 'from' and 'len'
3481 * rendering/bidi.cpp:
3482 (WebCore::textWidth): Added this inlined helper function which calls
3483 Font::width() directly in the non-fixed-pitch, non-full-range case, and
3484 otherwise calls RenderText::width().
3485 (WebCore::RenderBlock::findNextLineBreak): Cache whether the font has
3486 fixed pitch (in which case RenderText::width() will be called in order
3487 to take advantage of the widthFromCache() optimization for fixed-pitch
3488 fonts). Replaced all calls to RenderText::width() with calls to the
3489 textWidth() helper function.
3491 2009-01-31 David Hyatt <hyatt@apple.com>
3493 Inline all of the setNeedsLayout method and its associated functions. Also inline setChildNeedsLayout
3494 and setNeedsPositionedMovementLayout.
3496 Reviewed by Dan Bernstein
3498 * rendering/RenderObject.cpp:
3499 (WebCore::RenderObject::setLayerNeedsFullRepaint):
3500 * rendering/RenderObject.h:
3501 (WebCore::RenderObject::setNeedsLayout):
3502 (WebCore::RenderObject::setChildNeedsLayout):
3503 (WebCore::RenderObject::setNeedsPositionedMovementLayout):
3504 (WebCore::objectIsRelayoutBoundary):
3505 (WebCore::RenderObject::markContainingBlocksForLayout):
3507 2009-01-31 Darin Adler <darin@apple.com>
3511 * loader/FrameLoader.cpp: Moved FrameLoaderClient::hasHTMLView in here.
3512 We need it to not be an inline. Sadly, FrameLoaderClient.cpp was prematurely
3513 deleted and I don't want to bring it back just to fix the build.
3515 * loader/FrameLoaderClient.h: Rearrange virtual functions and corrected
3516 a possibly-confusing comment.
3518 2009-01-31 Adam Treat <adam.treat@torchmobile.com>
3520 Reviewed by David Hyatt.
3522 https://bugs.webkit.org/show_bug.cgi?id=23664
3523 Remove unused dead code from RenderTable class. The dead code includes
3524 two enums and the associated member variables as well as one getter function.
3526 * rendering/RenderTable.cpp:
3527 (WebCore::RenderTable::RenderTable):
3528 * rendering/RenderTable.h:
3530 2009-01-31 David Hyatt <hyatt@apple.com>
3532 More removal of code from RenderContainer. Move removeLeftoverAnonymousBlock down into RenderBlock.
3533 Move destroyLeftoverChildren into the RenderObjectChildList. Convert all containers to use the
3534 RenderObjectChildList.
3536 Reviewed by Sam Weinig
3538 * WebCore.xcodeproj/project.pbxproj:
3539 * rendering/RenderBlock.cpp:
3540 (WebCore::RenderBlock::destroy):
3541 (WebCore::RenderBlock::addChild):
3542 (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
3543 (WebCore::RenderBlock::layoutPositionedObjects):
3544 (WebCore::RenderBlock::childBecameNonInline):
3545 * rendering/RenderBlock.h:
3546 * rendering/RenderBox.cpp:
3547 (WebCore::RenderBox::layout):
3548 * rendering/RenderBox.h:
3549 (WebCore::RenderBox::firstChildBox):
3550 (WebCore::RenderBox::lastChildBox):
3551 * rendering/RenderContainer.cpp:
3552 (WebCore::RenderContainer::addChild):
3553 (WebCore::RenderContainer::removeChildNode):
3554 (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
3555 (WebCore::RenderContainer::appendChildNode):
3556 (WebCore::RenderContainer::insertChildNode):
3557 (WebCore::RenderContainer::positionForCoordinates):
3558 (WebCore::RenderContainer::addLineBoxRects):
3559 (WebCore::RenderContainer::collectAbsoluteLineBoxQuads):
3560 * rendering/RenderContainer.h:
3561 (WebCore::RenderContainer::virtualChildren):
3562 (WebCore::RenderContainer::children):
3563 * rendering/RenderInline.cpp:
3564 (WebCore::RenderInline::destroy):
3565 * rendering/RenderInline.h:
3566 (WebCore::RenderInline::layout):
3567 * rendering/RenderMedia.cpp:
3568 (WebCore::RenderMedia::destroy):
3569 (WebCore::RenderMedia::children):
3570 * rendering/RenderMedia.h:
3571 (WebCore::RenderMedia::virtualChildren):
3572 * rendering/RenderObject.cpp:
3573 (WebCore::RenderObject::destroy):
3574 (WebCore::RenderObject::layout):
3575 * rendering/RenderObject.h:
3576 (WebCore::RenderObject::firstChild):
3577 (WebCore::RenderObject::lastChild):
3578 (WebCore::RenderObject::virtualChildren):
3579 (WebCore::RenderObject::canHaveChildren):
3580 * rendering/RenderObjectChildList.cpp: Added.
3581 (WebCore::RenderObjectChildList::destroyLeftoverChildren):
3582 * rendering/RenderObjectChildList.h:
3583 * rendering/RenderReplaced.h:
3584 (WebCore::RenderReplaced::canHaveChildren):
3585 * rendering/RenderSVGContainer.cpp:
3586 (WebCore::RenderSVGContainer::RenderSVGContainer):
3587 (WebCore::RenderSVGContainer::destroy):
3588 (WebCore::RenderSVGContainer::removeChildNode):
3589 (WebCore::RenderSVGContainer::appendChildNode):
3590 (WebCore::RenderSVGContainer::insertChildNode):
3591 * rendering/RenderSVGContainer.h:
3592 (WebCore::RenderSVGContainer::virtualChildren):
3593 (WebCore::RenderSVGContainer::children):
3595 2009-01-31 David Hyatt <hyatt@apple.com>
3597 Fix for https://bugs.webkit.org/show_bug.cgi?id=11363