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