1 2009-02-05 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3 Not reviewed. Fix WML enabled builds.
5 FrameLoader::load() got an additional 'lockHistory' parameter, pass 'false'.
7 * wml/WMLGoElement.cpp:
8 (WebCore::WMLGoElement::executeTask):
10 2009-02-05 Scott Violet <sky@google.com>
12 Reviewed by Eric Seidel.
14 https://bugs.webkit.org/show_bug.cgi?id=23625
15 Additional fix: Skia platform doesn't render text to a canvas or support clipping to an image buffer
17 Fixes three bugs in PlatformContextSkia:
19 * When a new layer was started clipped to an image we used the
20 assignment operator to copy the SkBitmap. If the SkBitmap owns it's
21 pixels, this is not the right thing to do. Instead we need to create
23 * State holds an SkBitmap by value. State's copy constructor does a
24 memcpy. This is confusing and subtle, I've converted to use a member
25 initializer list which I think is clearer and less error prone.
26 * When creating a new layer there is no need to copy the clip image.
28 * platform/graphics/skia/PlatformContextSkia.cpp:
29 (PlatformContextSkia::State::State):
30 (PlatformContextSkia::save):
31 (PlatformContextSkia::beginLayerClippedToImage):
33 2009-02-05 Scott Violet <sky@google.com>
35 Reviewed by George Staikos.
37 https://bugs.webkit.org/show_bug.cgi?id=23462
38 Changes call from setFillColor to setStrokeColor.
40 * html/CanvasStyle.cpp:
41 (WebCore::CanvasStyle::applyStrokeColor):
43 2009-02-05 David Hyatt <hyatt@apple.com>
45 Fix crash on svg custom stop test. A virtual function didn't get patched properly.
47 Reviewed by Sam Weinig
49 * rendering/RenderObject.cpp:
50 (WebCore::RenderObject::clippedOverflowRectForRepaint):
51 * rendering/RenderSVGGradientStop.h:
52 (WebCore::RenderSVGGradientStop::clippedOverflowRectForRepaint):
54 2009-02-05 Simon Fraser <simon.fraser@apple.com>
56 Reviewed by Dave Hyatt
58 https://bugs.webkit.org/show_bug.cgi?id=23765
60 Add toRenderBoxModelObject() so that we can cast objects that
63 Fix getComputedStyle to return the current value of style
64 properties that are undergoing accelerated animations, by
65 asking the AnimationController if the property has accelerated
66 animations, and, if so, asking it to generate an appropriate
69 Tightened up some type safety (CSSPropertyID), and code clarity
70 (replace bool with enum).
72 * WebCore.xcodeproj/project.pbxproj:
73 * css/CSSComputedStyleDeclaration.cpp:
74 (WebCore::hasCompositedLayer):
75 (WebCore::computedTransform):
76 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
77 * page/animation/AnimationController.cpp:
78 (WebCore::AnimationControllerPrivate::isAnimatingPropertyOnRenderer):
79 (WebCore::AnimationController::isAnimatingPropertyOnRenderer):
80 (WebCore::AnimationController::supportsAcceleratedAnimationOfProperty):
81 * page/animation/AnimationController.h:
82 * page/animation/AnimationControllerPrivate.h:
83 * page/animation/ImplicitAnimation.cpp:
84 (WebCore::ImplicitAnimation::startAnimation):
85 (WebCore::ImplicitAnimation::endAnimation):
86 * page/animation/KeyframeAnimation.cpp:
87 (WebCore::KeyframeAnimation::startAnimation):
88 (WebCore::KeyframeAnimation::endAnimation):
89 * rendering/RenderBoxModelObject.h:
90 (WebCore::RenderBoxModelObject::isBoxModelObject):
91 (WebCore::toRenderBoxModelObject):
92 * rendering/RenderLayerBacking.cpp:
93 (WebCore::RenderLayerBacking::updateLayerTransform):
94 * rendering/RenderObject.h:
95 (WebCore::RenderObject::isBoxModelObject):
96 * rendering/style/RenderStyle.cpp:
97 (WebCore::RenderStyle::applyTransform):
98 * rendering/style/RenderStyle.h:
99 (WebCore::InheritedFlags::):
101 2009-02-05 Dimitri Glazkov <dglazkov@chromium.org>
103 Reviewed by Eric Seidel.
105 https://bugs.webkit.org/show_bug.cgi?id=23767
106 Add custom V8 bindings for HTML5 database.
108 * bindings/v8/custom/V8CustomSQLStatementCallback.cpp: Added.
109 (WebCore::V8CustomSQLStatementCallback::V8CustomSQLStatementCallback):
110 (WebCore::V8CustomSQLStatementCallback::~V8CustomSQLStatementCallback):
111 (WebCore::V8CustomSQLStatementCallback::handleEvent):
112 * bindings/v8/custom/V8CustomSQLStatementCallback.h: Added.
113 (WebCore::V8CustomSQLStatementCallback::create):
114 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: Added.
115 (WebCore::V8CustomSQLStatementErrorCallback::V8CustomSQLStatementErrorCallback):
116 (WebCore::V8CustomSQLStatementErrorCallback::~V8CustomSQLStatementErrorCallback):
117 (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
118 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.h: Added.
119 (WebCore::V8CustomSQLStatementErrorCallback::create):
120 * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp: Added.
121 (WebCore::V8CustomSQLTransactionCallback::V8CustomSQLTransactionCallback):
122 (WebCore::V8CustomSQLTransactionCallback::~V8CustomSQLTransactionCallback):
123 (WebCore::V8CustomSQLTransactionCallback::handleEvent):
124 * bindings/v8/custom/V8CustomSQLTransactionCallback.h: Added.
125 (WebCore::V8CustomSQLTransactionCallback::create):
126 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp: Added.
127 (WebCore::V8CustomSQLTransactionErrorCallback::V8CustomSQLTransactionErrorCallback):
128 (WebCore::V8CustomSQLTransactionErrorCallback::~V8CustomSQLTransactionErrorCallback):
129 (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
130 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h: Added.
131 (WebCore::V8CustomSQLTransactionErrorCallback::create):
132 * bindings/v8/custom/V8CustomVoidCallback.cpp: Added.
133 (WebCore::V8CustomVoidCallback::V8CustomVoidCallback):
134 (WebCore::V8CustomVoidCallback::~V8CustomVoidCallback):
135 (WebCore::V8CustomVoidCallback::handleEvent):
136 (WebCore::invokeCallback):
137 * bindings/v8/custom/V8CustomVoidCallback.h: Added.
138 (WebCore::V8CustomVoidCallback::create):
139 * bindings/v8/custom/V8DatabaseCustom.cpp: Added.
140 (WebCore::CALLBACK_FUNC_DECL):
141 * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: Added.
142 (WebCore::CALLBACK_FUNC_DECL):
143 * bindings/v8/custom/V8SQLTransactionCustom.cpp: Added.
144 (WebCore::CALLBACK_FUNC_DECL):
146 2009-02-05 Dimitri Glazkov <dglazkov@chromium.org>
148 Reviewed by Eric Seidel.
150 https://bugs.webkit.org/show_bug.cgi?id=23747
151 Add Chromium threading-related files.
153 * platform/chromium/TemporaryLinkStubs.cpp: Removed theading-related stubs.
155 2009-02-05 Sam Weinig <sam@webkit.org>
157 Reviewed by Adam Roben.
159 Add toRenderButton methods for casting RenderObjects to RenderButtons. The methods will assert if the object
160 is not a RenderButton. Also add a toRenderButton method that takes a RenderButton but returns void and that
161 is unimplemented. This method will catch anyone trying to do a cast when the object is already a RenderButton.
163 * rendering/RenderButton.h:
164 (WebCore::RenderButton::isRenderButton):
165 (WebCore::toRenderButton):
166 * rendering/RenderFileUploadControl.cpp:
167 (WebCore::RenderFileUploadControl::paintObject):
168 * rendering/RenderObject.h:
169 (WebCore::RenderObject::isRenderButton):
171 2009-02-05 David Hyatt <hyatt@apple.com>
173 Move the m_layer member variable of RenderBox up into RenderBoxModelObject. Refactor styleDidChange'
174 of RenderObject, RenderBoxModelObject and RenderBox to get more of the code in the correct subclass.
175 In order to set the various RenderObject bits properly prior to the test for whether a layer is
176 required, I added an additional method, updateBoxModelInfoAfterStyleChange, that is responsible
177 for setting all of the bits.
179 Eliminate hasStaticX/Y, staticX/Y, and setStaticX/Y from the render tree. Move hasStaticX/Y to
180 RenderStyle, and just use the corresponding layer() methods for the
181 staticX/Y getters/setters.
183 Reviewed by Sam Weinig
185 * rendering/RenderBlock.cpp:
186 (WebCore::RenderBlock::layoutBlock):
187 (WebCore::RenderBlock::adjustPositionedBlock):
188 (WebCore::RenderBlock::layoutOnlyPositionedObjects):
189 (WebCore::RenderBlock::layoutPositionedObjects):
190 (WebCore::RenderBlock::paintObject):
191 (WebCore::RenderBlock::nodeAtPoint):
192 (WebCore::RenderBlock::offsetForContents):
193 (WebCore::RenderBlock::calcPrefWidths):
194 (WebCore::RenderBlock::baselinePosition):
195 * rendering/RenderBox.cpp:
196 (WebCore::RenderBox::RenderBox):
197 (WebCore::RenderBox::destroy):
198 (WebCore::RenderBox::styleWillChange):
199 (WebCore::RenderBox::styleDidChange):
200 (WebCore::RenderBox::updateBoxModelInfoFromStyle):
201 (WebCore::RenderBox::scrollWidth):
202 (WebCore::RenderBox::scrollHeight):
203 (WebCore::RenderBox::scrollLeft):
204 (WebCore::RenderBox::scrollTop):
205 (WebCore::RenderBox::setScrollLeft):
206 (WebCore::RenderBox::setScrollTop):
207 (WebCore::RenderBox::getOverflowClipRect):
208 (WebCore::RenderBox::localToAbsolute):
209 (WebCore::RenderBox::absoluteToLocal):
210 (WebCore::RenderBox::localToContainerQuad):
211 (WebCore::RenderBox::position):
212 (WebCore::RenderBox::computeRectForRepaint):
213 (WebCore::RenderBox::calcAbsoluteHorizontal):
214 (WebCore::RenderBox::calcAbsoluteVertical):
215 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
216 (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
217 * rendering/RenderBox.h:
218 * rendering/RenderBoxModelObject.cpp:
219 (WebCore::RenderBoxModelObject::RenderBoxModelObject):
220 (WebCore::RenderBoxModelObject::destroy):
221 (WebCore::RenderBoxModelObject::styleWillChange):
222 (WebCore::RenderBoxModelObject::styleDidChange):
223 (WebCore::RenderBoxModelObject::updateBoxModelInfoFromStyle):
224 * rendering/RenderBoxModelObject.h:
225 (WebCore::RenderBoxModelObject::layer):
226 (WebCore::RenderBoxModelObject::requiresLayer):
227 * rendering/RenderFlexibleBox.cpp:
228 (WebCore::RenderFlexibleBox::layoutBlock):
229 (WebCore::RenderFlexibleBox::layoutHorizontalBox):
230 (WebCore::RenderFlexibleBox::layoutVerticalBox):
231 * rendering/RenderInline.cpp:
232 (WebCore::RenderInline::updateBoxModelInfoFromStyle):
233 (WebCore::RenderInline::styleDidChange):
234 (WebCore::RenderInline::relativePositionedInlineOffset):
235 * rendering/RenderInline.h:
236 * rendering/RenderLayer.cpp:
237 (WebCore::RenderLayer::setStaticY):
238 (WebCore::RenderLayer::updateLayerPosition):
239 * rendering/RenderLayer.h:
240 * rendering/RenderObject.cpp:
241 (WebCore::RenderObject::setStyle):
242 (WebCore::RenderObject::styleDidChange):
243 * rendering/RenderObject.h:
244 (WebCore::RenderObject::markContainingBlocksForLayout):
245 * rendering/RenderTableRow.cpp:
246 (WebCore::RenderTableRow::paint):
247 * rendering/RenderWidget.cpp:
248 (WebCore::RenderWidget::destroy):
249 * rendering/bidi.cpp:
250 (WebCore::appendRunsForObject):
251 (WebCore::RenderBlock::layoutInlineChildren):
252 (WebCore::RenderBlock::skipTrailingWhitespace):
253 (WebCore::RenderBlock::skipLeadingWhitespace):
254 (WebCore::RenderBlock::findNextLineBreak):
255 * rendering/style/RenderStyle.h:
256 (WebCore::InheritedFlags::hasStaticX):
257 (WebCore::InheritedFlags::hasStaticY):
259 2009-02-05 Sam Weinig <sam@webkit.org>
261 Fix the windows build.
263 * bindings/scripts/CodeGeneratorCOM.pm:
266 2009-02-05 Anders Carlsson <andersca@apple.com>
268 Reviewed by Kevin Decker.
270 Update to match Gecko.
273 * plugins/npfunctions.h:
275 2009-02-05 Sam Weinig <sam@webkit.org>
277 Reviewed by Darin Adler.
279 Finish merging EventTargetNode up into Node.
281 This also fixes a small recently introduced issue where EventListeners
282 would not be removed from the document if they were attached to comment
283 nodes outside of the documentElement.
288 * WebCore.vcproj/WebCore.vcproj:
289 * WebCore.xcodeproj/project.pbxproj:
290 * WebCoreSources.bkl:
291 * bindings/js/JSEventTargetNodeCustom.cpp: Removed.
292 * bindings/js/JSNodeCustom.cpp:
293 (WebCore::JSNode::addEventListener):
294 (WebCore::JSNode::removeEventListener):
295 (WebCore::JSNode::pushEventHandlerScope):
296 * bindings/scripts/CodeGenerator.pm:
297 * dom/CharacterData.cpp:
298 (WebCore::CharacterData::CharacterData):
299 (WebCore::CharacterData::rendererIsNeeded):
300 * dom/CharacterData.h:
301 * dom/ContainerNode.cpp:
302 (WebCore::ContainerNode::willRemove):
303 (WebCore::ContainerNode::attach):
304 (WebCore::ContainerNode::detach):
305 (WebCore::ContainerNode::insertedIntoDocument):
306 (WebCore::ContainerNode::removedFromDocument):
307 (WebCore::ContainerNode::setFocus):
308 (WebCore::ContainerNode::setActive):
309 (WebCore::ContainerNode::setHovered):
310 (WebCore::dispatchChildInsertionEvents):
311 (WebCore::dispatchChildRemovalEvents):
312 * dom/ContainerNode.h:
313 (WebCore::ContainerNode::ContainerNode):
315 (WebCore::Document::removeAllEventListenersFromAllNodes):
316 (WebCore::Document::removeAllDisconnectedNodeEventListeners):
317 (WebCore::Document::setFocusedNode):
318 * dom/EventTargetNode.cpp: Removed.
319 * dom/EventTargetNode.h: Removed.
321 (WebCore::Node::scriptExecutionContext):
322 (WebCore::Node::eventListeners):
323 (WebCore::Node::insertedIntoDocument):
324 (WebCore::Node::removedFromDocument):
325 (WebCore::Node::willMoveToNewOwnerDocument):
326 (WebCore::Node::didMoveToNewOwnerDocument):
327 (WebCore::updateSVGElementInstancesAfterEventListenerChange):
328 (WebCore::Node::addEventListener):
329 (WebCore::Node::removeEventListener):
330 (WebCore::Node::removeAllEventListenersSlowCase):
331 (WebCore::Node::handleLocalEvents):
332 (WebCore::eventTargetAsSVGElementInstance):
333 (WebCore::eventTargetRespectingSVGTargetRules):
334 (WebCore::Node::dispatchEvent):
335 (WebCore::Node::dispatchGenericEvent):
336 (WebCore::Node::dispatchSubtreeModifiedEvent):
337 (WebCore::Node::dispatchWindowEvent):
338 (WebCore::Node::dispatchUIEvent):
339 (WebCore::Node::dispatchKeyEvent):
340 (WebCore::Node::dispatchMouseEvent):
341 (WebCore::Node::dispatchSimulatedMouseEvent):
342 (WebCore::Node::dispatchSimulatedClick):
343 (WebCore::Node::dispatchWheelEvent):
344 (WebCore::Node::dispatchWebKitAnimationEvent):
345 (WebCore::Node::dispatchWebKitTransitionEvent):
346 (WebCore::Node::dispatchFocusEvent):
347 (WebCore::Node::dispatchBlurEvent):
348 (WebCore::Node::dispatchEventForType):
349 (WebCore::Node::dispatchProgressEvent):
350 (WebCore::Node::dispatchStorageEvent):
351 (WebCore::Node::removeInlineEventListenerForType):
352 (WebCore::Node::setInlineEventListenerForType):
353 (WebCore::Node::setInlineEventListenerForTypeAndAttribute):
354 (WebCore::Node::inlineEventListenerForType):
355 (WebCore::Node::disabled):
356 (WebCore::Node::defaultEventHandler):
357 (WebCore::Node::onabort):
358 (WebCore::Node::setOnabort):
359 (WebCore::Node::onblur):
360 (WebCore::Node::setOnblur):
361 (WebCore::Node::onchange):
362 (WebCore::Node::setOnchange):
363 (WebCore::Node::onclick):
364 (WebCore::Node::setOnclick):
365 (WebCore::Node::oncontextmenu):
366 (WebCore::Node::setOncontextmenu):
367 (WebCore::Node::ondblclick):
368 (WebCore::Node::setOndblclick):
369 (WebCore::Node::onerror):
370 (WebCore::Node::setOnerror):
371 (WebCore::Node::onfocus):
372 (WebCore::Node::setOnfocus):
373 (WebCore::Node::oninput):
374 (WebCore::Node::setOninput):
375 (WebCore::Node::onkeydown):
376 (WebCore::Node::setOnkeydown):
377 (WebCore::Node::onkeypress):
378 (WebCore::Node::setOnkeypress):
379 (WebCore::Node::onkeyup):
380 (WebCore::Node::setOnkeyup):
381 (WebCore::Node::onload):
382 (WebCore::Node::setOnload):
383 (WebCore::Node::onmousedown):
384 (WebCore::Node::setOnmousedown):
385 (WebCore::Node::onmousemove):
386 (WebCore::Node::setOnmousemove):
387 (WebCore::Node::onmouseout):
388 (WebCore::Node::setOnmouseout):
389 (WebCore::Node::onmouseover):
390 (WebCore::Node::setOnmouseover):
391 (WebCore::Node::onmouseup):
392 (WebCore::Node::setOnmouseup):
393 (WebCore::Node::onmousewheel):
394 (WebCore::Node::setOnmousewheel):
395 (WebCore::Node::onbeforecut):
396 (WebCore::Node::setOnbeforecut):
397 (WebCore::Node::oncut):
398 (WebCore::Node::setOncut):
399 (WebCore::Node::onbeforecopy):
400 (WebCore::Node::setOnbeforecopy):
401 (WebCore::Node::oncopy):
402 (WebCore::Node::setOncopy):
403 (WebCore::Node::onbeforepaste):
404 (WebCore::Node::setOnbeforepaste):
405 (WebCore::Node::onpaste):
406 (WebCore::Node::setOnpaste):
407 (WebCore::Node::ondragenter):
408 (WebCore::Node::setOndragenter):
409 (WebCore::Node::ondragover):
410 (WebCore::Node::setOndragover):
411 (WebCore::Node::ondragleave):
412 (WebCore::Node::setOndragleave):
413 (WebCore::Node::ondrop):
414 (WebCore::Node::setOndrop):
415 (WebCore::Node::ondragstart):
416 (WebCore::Node::setOndragstart):
417 (WebCore::Node::ondrag):
418 (WebCore::Node::setOndrag):
419 (WebCore::Node::ondragend):
420 (WebCore::Node::setOndragend):
421 (WebCore::Node::onreset):
422 (WebCore::Node::setOnreset):
423 (WebCore::Node::onresize):
424 (WebCore::Node::setOnresize):
425 (WebCore::Node::onscroll):
426 (WebCore::Node::setOnscroll):
427 (WebCore::Node::onsearch):
428 (WebCore::Node::setOnsearch):
429 (WebCore::Node::onselect):
430 (WebCore::Node::setOnselect):
431 (WebCore::Node::onselectstart):
432 (WebCore::Node::setOnselectstart):
433 (WebCore::Node::onsubmit):
434 (WebCore::Node::setOnsubmit):
435 (WebCore::Node::onunload):
436 (WebCore::Node::setOnunload):
438 * editing/Editor.cpp:
439 (WebCore::Editor::dispatchCPPEvent):
440 * html/HTMLFormElement.cpp:
441 (WebCore::HTMLFormElement::handleLocalEvents):
442 * html/HTMLInputElement.cpp:
443 (WebCore::HTMLInputElement::defaultEventHandler):
444 * html/HTMLTokenizer.cpp:
445 (WebCore::HTMLTokenizer::notifyFinished):
446 * loader/MediaDocument.cpp:
447 (WebCore::MediaDocument::defaultEventHandler):
448 * page/AccessibilityRenderObject.cpp:
449 (WebCore::AccessibilityRenderObject::mouseButtonListener):
450 * page/EventHandler.cpp:
451 (WebCore::EventHandler::dispatchDragEvent):
452 (WebCore::EventHandler::updateMouseEventTargetNode):
453 (WebCore::EventHandler::dispatchMouseEvent):
454 (WebCore::EventHandler::handleWheelEvent):
455 (WebCore::EventHandler::canMouseDownStartSelect):
456 (WebCore::EventHandler::canMouseDragExtendSelect):
457 (WebCore::eventTargetNodeForDocument):
458 (WebCore::EventHandler::keyEvent):
459 * page/FrameView.cpp:
460 (WebCore::FrameView::scheduleEvent):
461 (WebCore::FrameView::updateOverflowStatus):
464 (WebCore::networkStateChanged):
465 * rendering/RenderLayer.cpp:
466 (WebCore::RenderLayer::scrollToOffset):
467 (WebCore::RenderLayer::updateOverflowStatus):
468 * rendering/RenderListBox.cpp:
469 (WebCore::RenderListBox::valueChanged):
470 * rendering/RenderMedia.h:
471 * rendering/RenderTextControl.cpp:
472 (WebCore::RenderTextControl::selectionChanged):
473 * svg/SVGElementInstance.h:
474 (WebCore::SVGElementInstance::toNode):
475 * xml/XPathExpression.cpp:
476 (WebCore::XPathExpression::evaluate):
477 * xml/XPathResult.cpp:
478 (WebCore::XPathResult::XPathResult):
480 2009-02-05 Adam Treat <adam.treat@torchmobile.com>
482 Fix the Qt build now that EventTargetNode.idl was removed in r40672.
486 2009-02-05 Scott Violet <sky@google.com>
488 Reviewed by Sam Weinig.
490 Bug 23462: Add RGB -> CMYK conversion algorithm
491 <https://bugs.webkit.org/show_bug.cgi?id=23462>
493 Adds an RGB -> CMYK converter. This isn't perfect, but better than
496 * html/CanvasStyle.cpp:
497 (WebCore::CanvasStyle::applyStrokeColor):
498 (WebCore::CanvasStyle::applyFillColor):
499 (WebCore::CanvasStyle::cmykToRGB):
500 * html/CanvasStyle.h:
502 2009-02-04 Sam Weinig <sam@webkit.org>
504 Reviewed by Darin Adler.
506 First stage of merging EventTargetNode up into Node. The intent of this change
507 is to both simplify the inheritance hierarchy (at the same time making it more
508 closely match the spec which states that all Nodes are EventTargets) and save
509 4 bytes per Node that the polymorphic multiple-inheritance was costing us.
511 This does the bare minimum to get things compiling, the next patch will clean
513 * DerivedSources.make:
515 * WebCore.xcodeproj/project.pbxproj:
516 * bindings/js/JSDocumentCustom.cpp:
517 (WebCore::JSDocument::mark):
518 * bindings/js/JSEventListener.cpp:
519 (WebCore::JSLazyEventListener::parseCode):
520 * bindings/js/JSEventTarget.cpp:
521 (WebCore::toEventTarget):
522 * bindings/js/JSEventTarget.h:
523 * bindings/js/JSEventTargetNodeCustom.cpp:
524 (WebCore::JSNode::addEventListener):
525 (WebCore::JSNode::removeEventListener):
526 (WebCore::JSNode::pushEventHandlerScope):
527 * bindings/js/JSStyleSheetCustom.cpp:
528 * bindings/scripts/CodeGeneratorJS.pm:
529 * bindings/scripts/CodeGeneratorObjC.pm:
531 * dom/CharacterData.h:
532 * dom/CharacterData.idl:
534 * dom/DocumentFragment.idl:
536 * dom/EventTarget.cpp:
537 (WebCore::EventTarget::toNode):
539 * dom/EventTarget.idl:
540 * dom/EventTargetNode.cpp:
541 (WebCore::Node::scriptExecutionContext):
542 (WebCore::Node::eventListeners):
543 (WebCore::Node::insertedIntoDocument):
544 (WebCore::Node::removedFromDocument):
545 (WebCore::Node::willMoveToNewOwnerDocument):
546 (WebCore::Node::didMoveToNewOwnerDocument):
547 (WebCore::Node::addEventListener):
548 (WebCore::Node::removeEventListener):
549 (WebCore::Node::removeAllEventListenersSlowCase):
550 (WebCore::Node::handleLocalEvents):
551 (WebCore::Node::dispatchEvent):
552 (WebCore::Node::dispatchGenericEvent):
553 (WebCore::Node::dispatchSubtreeModifiedEvent):
554 (WebCore::Node::dispatchWindowEvent):
555 (WebCore::Node::dispatchUIEvent):
556 (WebCore::Node::dispatchKeyEvent):
557 (WebCore::Node::dispatchMouseEvent):
558 (WebCore::Node::dispatchSimulatedMouseEvent):
559 (WebCore::Node::dispatchSimulatedClick):
560 (WebCore::Node::dispatchWheelEvent):
561 (WebCore::Node::dispatchWebKitAnimationEvent):
562 (WebCore::Node::dispatchWebKitTransitionEvent):
563 (WebCore::Node::dispatchFocusEvent):
564 (WebCore::Node::dispatchBlurEvent):
565 (WebCore::Node::dispatchEventForType):
566 (WebCore::Node::dispatchProgressEvent):
567 (WebCore::Node::dispatchStorageEvent):
568 (WebCore::Node::removeInlineEventListenerForType):
569 (WebCore::Node::setInlineEventListenerForType):
570 (WebCore::Node::setInlineEventListenerForTypeAndAttribute):
571 (WebCore::Node::inlineEventListenerForType):
572 (WebCore::Node::disabled):
573 (WebCore::Node::defaultEventHandler):
574 (WebCore::Node::onabort):
575 (WebCore::Node::setOnabort):
576 (WebCore::Node::onblur):
577 (WebCore::Node::setOnblur):
578 (WebCore::Node::onchange):
579 (WebCore::Node::setOnchange):
580 (WebCore::Node::onclick):
581 (WebCore::Node::setOnclick):
582 (WebCore::Node::oncontextmenu):
583 (WebCore::Node::setOncontextmenu):
584 (WebCore::Node::ondblclick):
585 (WebCore::Node::setOndblclick):
586 (WebCore::Node::onerror):
587 (WebCore::Node::setOnerror):
588 (WebCore::Node::onfocus):
589 (WebCore::Node::setOnfocus):
590 (WebCore::Node::oninput):
591 (WebCore::Node::setOninput):
592 (WebCore::Node::onkeydown):
593 (WebCore::Node::setOnkeydown):
594 (WebCore::Node::onkeypress):
595 (WebCore::Node::setOnkeypress):
596 (WebCore::Node::onkeyup):
597 (WebCore::Node::setOnkeyup):
598 (WebCore::Node::onload):
599 (WebCore::Node::setOnload):
600 (WebCore::Node::onmousedown):
601 (WebCore::Node::setOnmousedown):
602 (WebCore::Node::onmousemove):
603 (WebCore::Node::setOnmousemove):
604 (WebCore::Node::onmouseout):
605 (WebCore::Node::setOnmouseout):
606 (WebCore::Node::onmouseover):
607 (WebCore::Node::setOnmouseover):
608 (WebCore::Node::onmouseup):
609 (WebCore::Node::setOnmouseup):
610 (WebCore::Node::onmousewheel):
611 (WebCore::Node::setOnmousewheel):
612 (WebCore::Node::onbeforecut):
613 (WebCore::Node::setOnbeforecut):
614 (WebCore::Node::oncut):
615 (WebCore::Node::setOncut):
616 (WebCore::Node::onbeforecopy):
617 (WebCore::Node::setOnbeforecopy):
618 (WebCore::Node::oncopy):
619 (WebCore::Node::setOncopy):
620 (WebCore::Node::onbeforepaste):
621 (WebCore::Node::setOnbeforepaste):
622 (WebCore::Node::onpaste):
623 (WebCore::Node::setOnpaste):
624 (WebCore::Node::ondragenter):
625 (WebCore::Node::setOndragenter):
626 (WebCore::Node::ondragover):
627 (WebCore::Node::setOndragover):
628 (WebCore::Node::ondragleave):
629 (WebCore::Node::setOndragleave):
630 (WebCore::Node::ondrop):
631 (WebCore::Node::setOndrop):
632 (WebCore::Node::ondragstart):
633 (WebCore::Node::setOndragstart):
634 (WebCore::Node::ondrag):
635 (WebCore::Node::setOndrag):
636 (WebCore::Node::ondragend):
637 (WebCore::Node::setOndragend):
638 (WebCore::Node::onreset):
639 (WebCore::Node::setOnreset):
640 (WebCore::Node::onresize):
641 (WebCore::Node::setOnresize):
642 (WebCore::Node::onscroll):
643 (WebCore::Node::setOnscroll):
644 (WebCore::Node::onsearch):
645 (WebCore::Node::setOnsearch):
646 (WebCore::Node::onselect):
647 (WebCore::Node::setOnselect):
648 (WebCore::Node::onselectstart):
649 (WebCore::Node::setOnselectstart):
650 (WebCore::Node::onsubmit):
651 (WebCore::Node::setOnsubmit):
652 (WebCore::Node::onunload):
653 (WebCore::Node::setOnunload):
654 * dom/EventTargetNode.h:
655 (WebCore::toEventTargetNode):
656 (WebCore::EventTargetNodeCast):
657 * dom/EventTargetNode.idl: Removed.
658 * dom/MouseEvent.cpp:
659 (WebCore::MouseEvent::MouseEvent):
660 (WebCore::MouseEvent::initMouseEvent):
661 (WebCore::MouseEvent::toElement):
662 (WebCore::MouseEvent::fromElement):
664 (WebCore::MouseEvent::create):
665 (WebCore::MouseEvent::relatedTarget):
667 (WebCore::Node::~Node):
669 (WebCore::Node::isEventTargetNode):
670 (WebCore::Node::toNode):
671 (WebCore::Node::removeAllEventListeners):
672 (WebCore::Node::refEventTarget):
673 (WebCore::Node::derefEventTarget):
675 * page/EventHandler.h:
678 (WebCore::XPathResult::create):
680 2009-02-04 David Hyatt <hyatt@apple.com>
682 Convert RenderLayer from having a RenderBox* m_renderer to having a RenderBoxModelObject*. The
683 container-relative repaint methods all had to be changed as a result to use RenderBoxModelObject* also.
685 All of RenderLayer.cpp now uses what will be the new style for dealing with an object that can be a block
686 or an inline flow. x()/y()/width()/height() can't be queried on an inline flow, nor can many other
687 properties (like scrollWidth() / scrollHeight()), so the code has to be tightened up to convert to RenderBox
688 under the right conditions.
690 There was a bogus subtraction of renderer()->y() in localBounding box for RenderInlines. Since y was always
691 0, this subtraction wasn't necessary. It has been removed.
693 Reviewed by Adam Roben
695 * page/animation/AnimationBase.cpp:
696 * rendering/RenderBR.h:
697 (WebCore::RenderBR::selectionRectForRepaint):
698 * rendering/RenderBlock.cpp:
699 (WebCore::RenderBlock::selectionGapRectsForRepaint):
700 (WebCore::RenderBlock::rectWithOutlineForRepaint):
701 * rendering/RenderBlock.h:
702 (WebCore::RenderBlock::selectionRectForRepaint):
703 * rendering/RenderBox.cpp:
704 (WebCore::RenderBox::outlineBoundsForRepaint):
705 (WebCore::RenderBox::localToContainerQuad):
706 (WebCore::RenderBox::clippedOverflowRectForRepaint):
707 (WebCore::RenderBox::computeRectForRepaint):
708 * rendering/RenderBox.h:
709 * rendering/RenderBoxModelObject.cpp:
710 (WebCore::RenderBoxModelObject::relativePositionOffsetX):
711 (WebCore::RenderBoxModelObject::relativePositionOffsetY):
712 * rendering/RenderBoxModelObject.h:
713 (WebCore::RenderBoxModelObject::relativePositionOffset):
714 * rendering/RenderForeignObject.cpp:
715 (WebCore::RenderForeignObject::computeRectForRepaint):
716 * rendering/RenderForeignObject.h:
717 * rendering/RenderInline.cpp:
718 (WebCore::RenderInline::clippedOverflowRectForRepaint):
719 (WebCore::RenderInline::rectWithOutlineForRepaint):
720 * rendering/RenderInline.h:
721 * rendering/RenderLayer.cpp:
722 (WebCore::RenderLayer::RenderLayer):
723 (WebCore::RenderLayer::updateLayerPositions):
724 (WebCore::RenderLayer::updateTransform):
725 (WebCore::RenderLayer::setHasVisibleContent):
726 (WebCore::RenderLayer::updateLayerPosition):
727 (WebCore::RenderLayer::scrollToOffset):
728 (WebCore::RenderLayer::scrollRectToVisible):
729 (WebCore::resizerCornerRect):
730 (WebCore::RenderLayer::scrollbarCornerPresent):
731 (WebCore::RenderLayer::invalidateScrollbarRect):
732 (WebCore::RenderLayer::positionOverflowControls):
733 (WebCore::RenderLayer::computeScrollDimensions):
734 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
735 (WebCore::RenderLayer::paintScrollCorner):
736 (WebCore::RenderLayer::paintResizer):
737 (WebCore::RenderLayer::isPointInResizeControl):
738 (WebCore::RenderLayer::hitTestOverflowControls):
739 (WebCore::RenderLayer::paintLayer):
740 (WebCore::RenderLayer::hitTestLayer):
741 (WebCore::RenderLayer::localBoundingBox):
742 * rendering/RenderLayer.h:
743 (WebCore::RenderLayer::renderer):
744 (WebCore::RenderLayer::renderBox):
745 (WebCore::RenderLayer::renderBoxX):
746 (WebCore::RenderLayer::renderBoxY):
747 * rendering/RenderListMarker.cpp:
748 (WebCore::RenderListMarker::selectionRectForRepaint):
749 * rendering/RenderListMarker.h:
750 * rendering/RenderMarquee.cpp:
751 (WebCore::RenderMarquee::computePosition):
752 (WebCore::RenderMarquee::timerFired):
753 * rendering/RenderObject.cpp:
754 (WebCore::RenderObject::containerForRepaint):
755 (WebCore::RenderObject::repaintUsingContainer):
756 (WebCore::RenderObject::repaint):
757 (WebCore::RenderObject::repaintRectangle):
758 (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
759 (WebCore::RenderObject::rectWithOutlineForRepaint):
760 (WebCore::RenderObject::clippedOverflowRectForRepaint):
761 (WebCore::RenderObject::computeRectForRepaint):
762 (WebCore::RenderObject::localToContainerQuad):
763 * rendering/RenderObject.h:
764 (WebCore::RenderObject::selectionRectForRepaint):
765 (WebCore::RenderObject::outlineBoundsForRepaint):
766 * rendering/RenderPath.cpp:
767 (WebCore::RenderPath::clippedOverflowRectForRepaint):
768 (WebCore::RenderPath::outlineBoundsForRepaint):
769 * rendering/RenderPath.h:
770 * rendering/RenderReplaced.cpp:
771 (WebCore::RenderReplaced::selectionRectForRepaint):
772 (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
773 * rendering/RenderReplaced.h:
774 * rendering/RenderSVGContainer.cpp:
775 (WebCore::RenderSVGContainer::clippedOverflowRectForRepaint):
776 (WebCore::RenderSVGContainer::outlineBoundsForRepaint):
777 * rendering/RenderSVGContainer.h:
778 * rendering/RenderSVGHiddenContainer.cpp:
779 (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
780 * rendering/RenderSVGHiddenContainer.h:
781 * rendering/RenderSVGImage.cpp:
782 (WebCore::RenderSVGImage::clippedOverflowRectForRepaint):
783 * rendering/RenderSVGImage.h:
784 * rendering/RenderSVGInlineText.cpp:
785 (WebCore::RenderSVGInlineText::selectionRectForRepaint):
786 (WebCore::RenderSVGInlineText::computeRepaintRectForRange):
787 * rendering/RenderSVGInlineText.h:
788 * rendering/RenderSVGRoot.cpp:
789 (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
790 * rendering/RenderSVGRoot.h:
791 * rendering/RenderSVGText.cpp:
792 (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
793 * rendering/RenderSVGText.h:
794 * rendering/RenderSelectionInfo.h:
795 (WebCore::RenderSelectionInfoBase::repaintContainer):
796 * rendering/RenderTableCell.cpp:
797 (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
798 (WebCore::RenderTableCell::computeRectForRepaint):
799 (WebCore::RenderTableCell::localToContainerQuad):
800 * rendering/RenderTableCell.h:
801 * rendering/RenderTableCol.cpp:
802 (WebCore::RenderTableCol::clippedOverflowRectForRepaint):
803 * rendering/RenderTableCol.h:
804 * rendering/RenderTableRow.cpp:
805 (WebCore::RenderTableRow::clippedOverflowRectForRepaint):
806 * rendering/RenderTableRow.h:
807 * rendering/RenderText.cpp:
808 (WebCore::RenderText::clippedOverflowRectForRepaint):
809 (WebCore::RenderText::selectionRectForRepaint):
810 * rendering/RenderText.h:
811 * rendering/RenderTreeAsText.cpp:
813 * rendering/RenderView.cpp:
814 (WebCore::RenderView::localToContainerQuad):
815 (WebCore::RenderView::computeRectForRepaint):
816 * rendering/RenderView.h:
818 2009-02-05 Alexey Proskuryakov <ap@webkit.org>
822 * page/animation/KeyframeAnimation.h: A function prototype had two "fromStyle" arguments.
824 2009-02-05 Yael Aharon <yael.aharon@nokia.com>
826 Reviewed by Alexey Proskuryakov.
827 Landed by Simon Hausmann.
829 https://bugs.webkit.org/show_bug.cgi?id=23733
831 Use a 2 arguments constructor for KURL to avoid ASSERT failure.
833 * page/SecurityOrigin.cpp:
834 (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
836 2009-02-04 Feng Qian <feng@chromium.org>
838 Reviewed by Darin Adler.
840 Add Android-specific files to WebCore/editing directory.
841 https://bugs.webkit.org/show_bug.cgi?id=23294
843 * editing/android: Added.
844 * editing/android/EditorAndroid.cpp: Added.
845 (WebCore::Editor::newGeneralClipboard):
847 2009-02-04 Dean Jackson <dino@apple.com>
849 Reviewed by Darin Adler.
851 Remove -webkit-animation-play-state
852 The AnimationController still has the code to execute the property, but
853 it is no longer parsed or recorded.
854 https://bugs.webkit.org/show_bug.cgi?id=22907
856 * css/CSSComputedStyleDeclaration.cpp:
858 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
860 (WebCore::CSSParser::parseValue):
861 (WebCore::CSSParser::parseAnimationProperty):
863 * css/CSSPropertyNames.in:
864 * css/CSSStyleSelector.cpp:
865 (WebCore::CSSStyleSelector::applyProperty):
866 * css/CSSStyleSelector.h:
867 * platform/animation/Animation.h:
868 * rendering/style/RenderStyleConstants.h:
870 2009-02-04 Tor Arne Vestbø <tavestbo@trolltech.com>
872 Reviewed by Darin Adler.
874 Make sure we don't load on removing the media element from the document
875 https://bugs.webkit.org/show_bug.cgi?id=22105
877 Test: media/remove-from-document-no-load.html
879 * html/HTMLMediaElement.cpp:
880 (WebCore::HTMLMediaElement::removedFromDocument):
882 2009-02-04 David Hyatt <hyatt@apple.com>
884 Add a new RenderBoxModelObject class that will eventually act as the direct base class for RenderInlines. For
885 now just adding the class and putting it in between RenderObject and RenderBox in the hierarchy. RenderInline remains
886 derived from RenderBox for now.
888 Reviewed by Sam Weinig
890 * WebCore.xcodeproj/project.pbxproj:
891 * rendering/RenderBox.cpp:
892 (WebCore::RenderBox::RenderBox):
893 (WebCore::RenderBox::destroy):
894 (WebCore::RenderBox::styleWillChange):
895 (WebCore::RenderBox::styleDidChange):
896 (WebCore::RenderBox::computeRectForRepaint):
897 * rendering/RenderBox.h:
898 * rendering/RenderBoxModelObject.cpp: Added.
899 (WebCore::RenderBoxModelObject::RenderBoxModelObject):
900 (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
901 * rendering/RenderBoxModelObject.h: Added.
902 * rendering/RenderObject.h:
904 2009-02-04 Chris Marrin <cmarrin@apple.com>
906 Reviewed by Dave Hyatt
908 Added accelerated animation support to AnimationController and friends. The primary
910 * accelerated animations get their start time from the compositing engine, so we
911 wait for a callback (notifyAnimationStarted()) in order to get the start time.
912 * if software and accelerated animations start in the same cycle, they all need
913 to use the same start time, which is that of the accelerated animations.
915 Added AnimationControllerPrivate to preserve the encapsulation under
919 * WebCore.vcproj/WebCore.vcproj:
920 * WebCore.xcodeproj/project.pbxproj:
921 * page/animation/AnimationBase.cpp:
922 (WebCore::PropertyWrapperBase::animationIsAccelerated):
923 (WebCore::PropertyWrapperAcceleratedOpacity::PropertyWrapperAcceleratedOpacity):
924 (WebCore::PropertyWrapperAcceleratedOpacity::animationIsAccelerated):
925 (WebCore::PropertyWrapperAcceleratedOpacity::blend):
926 (WebCore::PropertyWrapperAcceleratedTransform::PropertyWrapperAcceleratedTransform):
927 (WebCore::PropertyWrapperAcceleratedTransform::animationIsAccelerated):
928 (WebCore::PropertyWrapperAcceleratedTransform::blend):
929 (WebCore::ensurePropertyMap):
930 (WebCore::AnimationBase::AnimationBase):
931 (WebCore::AnimationBase::~AnimationBase):
932 (WebCore::AnimationBase::blendProperties):
933 (WebCore::AnimationBase::animationOfPropertyIsAccelerated):
934 (WebCore::AnimationBase::updateStateMachine):
935 (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
936 (WebCore::AnimationBase::willNeedService):
937 (WebCore::AnimationBase::getTimeToNextEvent):
938 (WebCore::AnimationBase::goIntoEndingOrLoopingState):
939 (WebCore::AnimationBase::beginAnimationUpdateTime):
940 * page/animation/AnimationBase.h:
941 (WebCore::AnimationBase::onAnimationStartResponse):
942 (WebCore::AnimationBase::getAnimatedStyle):
943 (WebCore::AnimationBase::isAnimatingProperty):
944 (WebCore::AnimationBase::endAnimation):
945 (WebCore::AnimationBase::isFallbackAnimating):
946 * page/animation/AnimationController.cpp:
947 (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
948 (WebCore::AnimationControllerPrivate::accessCompositeAnimation):
949 (WebCore::AnimationControllerPrivate::addNodeChangeToDispatch):
950 (WebCore::AnimationControllerPrivate::animationTimerFired):
951 (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
952 (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
953 (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
954 (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
955 (WebCore::AnimationControllerPrivate::styleAvailable):
956 (WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList):
957 (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList):
958 (WebCore::AnimationControllerPrivate::startTimeResponse):
959 (WebCore::AnimationController::getAnimatedStyleForRenderer):
960 (WebCore::AnimationController::notifyAnimationStarted):
961 (WebCore::AnimationController::endAnimationUpdate):
962 * page/animation/AnimationController.h:
963 * page/animation/AnimationControllerPrivate.h: Added.
964 (WebCore::AnimationControllerPrivate::hasAnimations):
965 (WebCore::AnimationControllerPrivate::setBeginAnimationUpdateTime):
966 (WebCore::AnimationControllerPrivate::endAnimationUpdate):
967 (WebCore::AnimationControllerPrivate::receivedStartTimeResponse):
968 * page/animation/CompositeAnimation.cpp:
969 (WebCore::CompositeAnimationPrivate::CompositeAnimationPrivate):
970 (WebCore::CompositeAnimationPrivate::animationControllerPriv):
971 (WebCore::CompositeAnimationPrivate::updateTransitions):
972 (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
973 (WebCore::CompositeAnimationPrivate::animate):
974 (WebCore::CompositeAnimationPrivate::getAnimatedStyle):
975 (WebCore::CompositeAnimationPrivate::addToStartTimeResponseWaitList):
976 (WebCore::CompositeAnimationPrivate::removeFromStartTimeResponseWaitList):
977 (WebCore::CompositeAnimation::CompositeAnimation):
978 (WebCore::CompositeAnimation::animationControllerPriv):
979 (WebCore::CompositeAnimation::getAnimatedStyle):
980 (WebCore::CompositeAnimation::addToStartTimeResponseWaitList):
981 (WebCore::CompositeAnimation::removeFromStartTimeResponseWaitList):
982 * page/animation/CompositeAnimation.h:
983 (WebCore::CompositeAnimation::create):
984 * page/animation/ImplicitAnimation.cpp:
985 (WebCore::ImplicitAnimation::shouldSendEventForListener):
986 (WebCore::ImplicitAnimation::animate):
987 (WebCore::ImplicitAnimation::getAnimatedStyle):
988 (WebCore::ImplicitAnimation::startAnimation):
989 (WebCore::ImplicitAnimation::endAnimation):
990 (WebCore::ImplicitAnimation::sendTransitionEvent):
991 (WebCore::ImplicitAnimation::willNeedService):
992 * page/animation/ImplicitAnimation.h:
993 * page/animation/KeyframeAnimation.cpp:
994 (WebCore::KeyframeAnimation::getKeyframeAnimationInterval):
995 (WebCore::KeyframeAnimation::animate):
996 (WebCore::KeyframeAnimation::getAnimatedStyle):
997 (WebCore::KeyframeAnimation::startAnimation):
998 (WebCore::KeyframeAnimation::endAnimation):
999 (WebCore::KeyframeAnimation::shouldSendEventForListener):
1000 (WebCore::KeyframeAnimation::sendAnimationEvent):
1001 (WebCore::KeyframeAnimation::willNeedService):
1002 * page/animation/KeyframeAnimation.h:
1003 * platform/graphics/GraphicsLayerClient.h:
1004 * platform/graphics/mac/GraphicsLayerCA.mm:
1005 (-[WebAnimationDelegate animationDidStart:]):
1006 * rendering/RenderLayerBacking.h:
1008 2009-02-04 Dimitri Glazkov <dglazkov@chromium.org>
1010 Not reviewed, build fix.
1012 Remove duplicate definition of msSans in FontCache::alternateFamilyName.
1014 * platform/graphics/FontCache.cpp:
1015 (WebCore::alternateFamilyName):
1017 2009-02-04 Eric Seidel <eric@webkit.org>
1019 Reviewed by George Staikos.
1021 Reverse the meaning of the if check so that Android
1022 (dpad devices) do not scroll on focus and normal platforms do
1023 http://trac.webkit.org/changeset/40647
1025 This was caught by George Staikos, and I wrote the patch.
1028 (WebCore::Element::updateFocusAppearance):
1030 2009-02-04 David Hyatt <hyatt@apple.com>
1032 Eliminate RenderContainer.
1034 Reviewed by Sam and Anders
1038 * WebCore.vcproj/WebCore.vcproj:
1039 * WebCore.xcodeproj/project.pbxproj:
1040 * WebCoreSources.bkl:
1041 * rendering/RenderBlock.cpp:
1042 (WebCore::RenderBlock::RenderBlock):
1043 (WebCore::RenderBlock::destroy):
1044 (WebCore::RenderBlock::styleWillChange):
1045 (WebCore::RenderBlock::styleDidChange):
1046 (WebCore::RenderBlock::addChild):
1047 (WebCore::RenderBlock::dirtyLineBoxes):
1048 (WebCore::RenderBlock::createInlineBox):
1049 (WebCore::RenderBlock::removeChild):
1050 (WebCore::RenderBlock::setSelectionState):
1051 (WebCore::RenderBlock::avoidsFloats):
1052 (WebCore::RenderBlock::positionForCoordinates):
1053 (WebCore::RenderBlock::calcInlinePrefWidths):
1054 (WebCore::RenderBlock::baselinePosition):
1055 (WebCore::RenderBlock::getBaselineOfFirstLineBox):
1056 (WebCore::RenderBlock::getBaselineOfLastLineBox):
1057 (WebCore::RenderBlock::rectWithOutlineForRepaint):
1058 (WebCore::RenderBlock::hoverAncestor):
1059 (WebCore::RenderBlock::updateDragState):
1060 (WebCore::RenderBlock::localCaretRect):
1061 * rendering/RenderBlock.h:
1062 (WebCore::RenderBlock::virtualChildren):
1063 (WebCore::RenderBlock::children):
1064 * rendering/RenderContainer.cpp: Removed.
1065 * rendering/RenderContainer.h: Removed.
1066 * rendering/RenderFrameSet.cpp:
1067 (WebCore::RenderFrameSet::RenderFrameSet):
1068 (WebCore::RenderFrameSet::nodeAtPoint):
1069 (WebCore::RenderFrameSet::layout):
1070 * rendering/RenderFrameSet.h:
1071 (WebCore::RenderFrameSet::virtualChildren):
1072 (WebCore::RenderFrameSet::children):
1073 * rendering/RenderInline.cpp:
1074 (WebCore::RenderInline::RenderInline):
1075 (WebCore::RenderInline::destroy):
1076 (WebCore::RenderInline::styleDidChange):
1077 (WebCore::nextContinuation):
1078 (WebCore::RenderInline::continuationBefore):
1079 (WebCore::RenderInline::addChildIgnoringContinuation):
1080 (WebCore::RenderInline::splitInlines):
1081 (WebCore::RenderInline::splitFlow):
1082 (WebCore::RenderInline::addChildToContinuation):
1083 (WebCore::RenderInline::offsetLeft):
1084 (WebCore::RenderInline::offsetTop):
1085 (WebCore::RenderInline::positionForCoordinates):
1086 (WebCore::RenderInline::clippedOverflowRectForRepaint):
1087 (WebCore::RenderInline::rectWithOutlineForRepaint):
1088 (WebCore::RenderInline::updateDragState):
1089 (WebCore::RenderInline::childBecameNonInline):
1090 * rendering/RenderInline.h:
1091 (WebCore::RenderInline::virtualChildren):
1092 (WebCore::RenderInline::children):
1093 (WebCore::RenderInline::continuation):
1094 (WebCore::RenderInline::setContinuation):
1095 * rendering/RenderLineBoxList.h:
1096 * rendering/RenderObject.h:
1097 * rendering/RenderObjectChildList.h:
1098 * rendering/RenderSVGInlineText.cpp:
1099 (WebCore::RenderSVGInlineText::computeRepaintRectForRange):
1100 * rendering/RenderSVGRoot.cpp:
1101 (WebCore::RenderSVGRoot::RenderSVGRoot):
1102 (WebCore::RenderSVGRoot::applyContentTransforms):
1103 (WebCore::RenderSVGRoot::paint):
1104 (WebCore::RenderSVGRoot::absoluteTransform):
1105 (WebCore::RenderSVGRoot::nodeAtPoint):
1106 (WebCore::RenderSVGRoot::position):
1107 * rendering/RenderSVGRoot.h:
1108 (WebCore::RenderSVGRoot::virtualChildren):
1109 (WebCore::RenderSVGRoot::children):
1110 * rendering/RenderSVGText.cpp:
1111 (WebCore::RenderSVGText::absoluteRects):
1112 (WebCore::RenderSVGText::absoluteQuads):
1113 * rendering/RenderTable.cpp:
1114 (WebCore::RenderTable::addChild):
1115 (WebCore::RenderTable::removeChild):
1116 * rendering/RenderTableCol.cpp:
1117 (WebCore::RenderTableCol::RenderTableCol):
1118 * rendering/RenderTableCol.h:
1119 (WebCore::RenderTableCol::virtualChildren):
1120 (WebCore::RenderTableCol::children):
1121 * rendering/RenderTableRow.cpp:
1122 (WebCore::RenderTableRow::RenderTableRow):
1123 (WebCore::RenderTableRow::destroy):
1124 (WebCore::RenderTableRow::styleWillChange):
1125 (WebCore::RenderTableRow::addChild):
1126 * rendering/RenderTableRow.h:
1127 (WebCore::RenderTableRow::virtualChildren):
1128 (WebCore::RenderTableRow::children):
1129 * rendering/RenderTableSection.cpp:
1130 (WebCore::RenderTableSection::RenderTableSection):
1131 (WebCore::RenderTableSection::destroy):
1132 (WebCore::RenderTableSection::addChild):
1133 (WebCore::RenderTableSection::removeChild):
1134 (WebCore::RenderTableSection::lowestPosition):
1135 (WebCore::RenderTableSection::rightmostPosition):
1136 (WebCore::RenderTableSection::leftmostPosition):
1137 * rendering/RenderTableSection.h:
1138 (WebCore::RenderTableSection::virtualChildren):
1139 (WebCore::RenderTableSection::children):
1141 2009-02-04 Mads Adger <mad@chromium.org>
1143 Reviewed by Antti Koivisto.
1145 Bug 23180 Reading freed memory at DocumentLoader::checkForPendingPreloads
1146 https://bugs.webkit.org/show_bug.cgi?id=23180
1148 Added a protector for the document potentially holding on the last reference to the loader we are interating with.
1150 * loader/loader.cpp:
1151 (WebCore::Loader::Host::didFinishLoading):
1152 (WebCore::Loader::Host::didFail):
1154 2009-02-04 Cary Clark <caryclark@google.com>
1156 Reviewed by Darin Adler.
1158 https://bugs.webkit.org/show_bug.cgi?id=23163
1159 Don't scroll to show current focus on devices that use
1160 directional pads for navigation.
1163 (WebCore::Element::updateFocusAppearance):
1165 2009-02-04 Cary Clark <caryclark@google.com>
1167 Reviewed by Darin Adler.
1169 Change RenderBlock::columnGap() access permissions from protected to
1170 public. ANDROID creates an array of focus rectangles for navigation
1171 with a trackball or directional pad, and needs access to the column gap
1172 to implement this logic.
1174 Android has no testing harness @ webkit.org, thus no tests.
1176 * rendering/RenderBlock.h:
1178 2009-02-04 Cary Clark <caryclark@google.com>
1180 Reviewed by Darin Adler and Eric Seidel.
1182 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22917
1184 Add ENABLE_ON_FIRST_TEXTAREA_FOCUS_SELECT_ALL to permit the ANDROID
1185 platform to select all when focusing on a textarea. This matches
1186 the user interface guidelines other applications on the platform.
1188 * html/HTMLTextAreaElement.cpp:
1189 (WebCore::HTMLTextAreaElement::updateFocusAppearance):
1191 2009-02-04 Beth Dakin <bdakin@apple.com>
1193 Reviewed by Dave Hyatt.
1195 Fix for <rdar://problem/6386112> Some inline-elements are not
1196 becoming proper dashboard-regions
1198 RenderInline needs its own implementation of addDashboardRegions
1199 because otherwise all of the coordinate calculations are
1202 * rendering/RenderInline.cpp:
1203 (WebCore::RenderInline::addDashboardRegions):
1204 * rendering/RenderInline.h:
1205 * rendering/RenderObject.h:
1207 2009-02-04 David Hyatt <hyatt@apple.com>
1209 Move addChild/removeChild from RenderContainer to RenderObject.
1211 Reviewed by Sam Weinig
1213 * rendering/RenderContainer.cpp:
1214 * rendering/RenderContainer.h:
1215 * rendering/RenderObject.cpp:
1216 (WebCore::updateListMarkerNumbers):
1217 (WebCore::RenderObject::addChild):
1218 (WebCore::RenderObject::removeChild):
1219 * rendering/RenderObject.h:
1220 (WebCore::RenderObject::addChildIgnoringContinuation):
1221 * rendering/RenderSVGContainer.cpp:
1222 * rendering/RenderSVGContainer.h:
1224 2009-02-04 Brady Eidson <beidson@apple.com>
1226 Reviewed by Sam Weinig
1228 <rdar://problem/3541409> - Further HistoryItem / BF cache cleanup
1230 * history/CachedFrame.cpp:
1231 (WebCore::CachedFrame::CachedFrame):
1232 (WebCore::CachedFrame::restore):
1233 * history/CachedFrame.h:
1235 * history/CachedPage.cpp:
1236 (WebCore::CachedPage::restore):
1237 * history/CachedPage.h:
1238 (WebCore::CachedPage::mainFrameView):
1240 * history/HistoryItem.cpp:
1241 (WebCore::HistoryItem::HistoryItem):
1242 (WebCore::HistoryItem::~HistoryItem):
1243 * history/HistoryItem.h:
1244 (WebCore::HistoryItem::isInPageCache):
1246 * loader/FrameLoader.cpp:
1247 (WebCore::FrameLoader::open):
1249 2009-02-04 Peter Kasting <pkasting@google.com>
1251 Reviewed by David Hyatt.
1253 https://bugs.webkit.org/show_bug.cgi?id=23743
1254 Fix memory corruption with open-source GIF decoders.
1256 * platform/image-decoders/ImageDecoder.h:
1257 (WebCore::RGBA32Buffer::clear):
1258 * platform/image-decoders/gif/GIFImageDecoder.cpp:
1259 (WebCore::GIFImageDecoder::clearFrameBufferCache):
1260 * platform/image-decoders/skia/GIFImageDecoder.cpp:
1261 (WebCore::GIFImageDecoder::clearFrameBufferCache):
1262 (WebCore::GIFImageDecoder::initFrameBuffer):
1263 * platform/image-decoders/skia/ImageDecoder.h:
1264 (WebCore::RGBA32Buffer::clear):
1266 2009-02-04 Simon Fraser <simon.fraser@apple.com>
1268 Reviewed by Dave Hyatt
1270 https://bugs.webkit.org/show_bug.cgi?id=23360
1272 When using accelerated compositing, make repaints use the correct
1273 repaint container. Hook up the RenderLayerCompositor in RenderView,
1274 and add to RenderView a method that repaints both the view
1275 contents, and any intersecting composited layers.
1277 Make enclosingCompositingLayer() a method on RenderObject, and update
1278 the compositor to use that. Add a helper method on the compositor to
1279 get the non-self compositing ancestor: ancestorCompositingLayer().
1281 Call repaintRectangleInViewAndCompositedLayers() in places that don't do
1282 container-relative repainting: selection redraw on focus change, caret,
1285 Fix a bug in RenderLayerCompositor where the m_compositingLayersNeedUpdate flag
1286 would get cleared for partial updates, thus preventing subsequent full updates.
1288 Fix a bug in RenderLayer::ensureBacking() that made new backing every time.
1290 * WebCore.xcodeproj/project.pbxproj:
1291 * editing/SelectionController.cpp:
1292 (WebCore::SelectionController::recomputeCaretRect):
1293 (WebCore::SelectionController::invalidateCaretRect):
1294 (WebCore::SelectionController::focusedOrActiveStateChanged):
1295 * rendering/RenderInline.cpp:
1296 (WebCore::RenderInline::clippedOverflowRectForRepaint):
1297 * rendering/RenderLayer.cpp:
1298 (WebCore::RenderLayer::RenderLayer):
1299 (WebCore::RenderLayer::compositor):
1300 (WebCore::RenderLayer::updateLayerPositions):
1301 (WebCore::RenderLayer::removeChild):
1302 (WebCore::RenderLayer::ensureBacking):
1303 * rendering/RenderLayer.h:
1304 (WebCore::RenderLayer::backing):
1305 * rendering/RenderLayerBacking.cpp:
1306 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1307 (WebCore::RenderLayerBacking::paintIntoLayer):
1308 (WebCore::RenderLayerBacking::notifyTransitionStarted):
1309 (WebCore::RenderLayerBacking::notifyAnimationStarted):
1310 * rendering/RenderLayerCompositor.cpp:
1311 (WebCore::RenderLayerCompositor::updateCompositingLayers):
1312 (WebCore::RenderLayerCompositor::updateLayerCompositingState):
1313 (WebCore::RenderLayerCompositor::layerWillBeRemoved):
1314 (WebCore::RenderLayerCompositor::ancestorCompositingLayer):
1315 (WebCore::RenderLayerCompositor::clippedByAncestor):
1316 * rendering/RenderLayerCompositor.h:
1317 * rendering/RenderObject.cpp:
1318 (WebCore::RenderObject::enclosingCompositingLayer):
1319 (WebCore::RenderObject::containingBlockWidth):
1320 (WebCore::RenderObject::containingBlockHeight):
1321 (WebCore::RenderObject::containerForRepaint):
1322 (WebCore::RenderObject::repaintUsingContainer):
1323 * rendering/RenderObject.h:
1324 * rendering/RenderView.cpp:
1325 (WebCore::RenderView::shouldRepaint):
1326 (WebCore::RenderView::repaintViewRectangle):
1327 (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
1328 (WebCore::RenderView::setMaximalOutlineSize):
1329 (WebCore::RenderView::usesCompositing):
1330 (WebCore::RenderView::compositor):
1331 (WebCore::RenderView::didMoveOnscreen):
1332 (WebCore::RenderView::willMoveOffscreen):
1333 * rendering/RenderView.h:
1334 * rendering/RenderWidget.cpp:
1335 (WebCore::RenderWidget::updateWidgetPosition):
1337 2009-02-04 Sam Weinig <sam@webkit.org>
1339 Reviewed by David Hyatt.
1341 Add toRenderImage methods for casting RenderObjects to RenderImages. The methods will assert if the object
1342 is not a RenderImage. Also add a toRenderImage method that takes a RenderImage but returns void and that
1343 is unimplemented. This method will catch anyone trying to do a cast when the object is already a RenderImage.
1345 * html/HTMLAnchorElement.cpp:
1346 (WebCore::HTMLAnchorElement::defaultEventHandler):
1347 * html/HTMLEmbedElement.cpp:
1348 (WebCore::HTMLEmbedElement::attach):
1349 * html/HTMLImageElement.cpp:
1350 (WebCore::HTMLImageElement::parseMappedAttribute):
1351 (WebCore::HTMLImageElement::attach):
1352 * html/HTMLInputElement.cpp:
1353 (WebCore::HTMLInputElement::parseMappedAttribute):
1354 (WebCore::HTMLInputElement::attach):
1355 * html/HTMLObjectElement.cpp:
1356 (WebCore::HTMLObjectElement::attach):
1357 * html/HTMLVideoElement.cpp:
1358 (WebCore::HTMLVideoElement::attach):
1359 * loader/ImageLoader.cpp:
1360 (WebCore::ImageLoader::setImage):
1361 (WebCore::ImageLoader::updateFromElement):
1362 (WebCore::ImageLoader::notifyFinished):
1363 * page/AccessibilityRenderObject.cpp:
1364 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1365 (WebCore::AccessibilityRenderObject::addChildren):
1366 * page/DragController.cpp:
1367 (WebCore::getCachedImage):
1368 (WebCore::getImage):
1369 * platform/mac/PasteboardMac.mm:
1370 (WebCore::Pasteboard::writeImage):
1371 * rendering/RenderImage.h:
1372 (WebCore::toRenderImage):
1373 * wml/WMLImageElement.cpp:
1374 (WebCore::WMLImageElement::parseMappedAttribute):
1375 (WebCore::WMLImageElement::attach):
1377 2009-02-04 Jungshik Shin <jshin@chromium.org>
1379 Reviewed by Eric Seidel and Dave Hyatt.
1381 https://bugs.webkit.org/show_bug.cgi?id=20531
1383 Make alternateFamilyName customized for Windows and Chromium.
1385 * platform/graphics/FontCache.cpp:
1386 (WebCore::alternateFamilyName):
1388 2009-02-04 Jungshik Shin <jshin@chromium.org>
1390 Reviewed by Eric Seidel.
1392 This comes from Chromium patch (http://codereview.chromium.org/17624).
1394 Add m_disableFontFallback to UniscriberHelper class and set it
1395 to true when filling up glyph pages for non-BMP code points.
1396 When it's set true, UniscriberHelper does not do its own font
1397 fallback. Neither does it do glyph placement. Font fallback
1398 will be taken care of in the simple script font path and glyph
1399 placement is not necessary for simple scripts.
1401 Layout test is missing at the moment due to the lack of freely
1402 distributable font covering a non-BMP code page. A test page
1403 is available at http://i18nl10n.com/webkit/nonbmp2.html
1405 See also https://bugs.webkit.org/show_bug.cgi?id=23602
1407 * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
1408 (WebCore::fillNonBMPGlyphs):
1409 * platform/graphics/chromium/UniscribeHelper.cpp:
1410 (WebCore::UniscribeHelper::UniscribeHelper):
1411 (WebCore::UniscribeHelper::shape):
1412 (WebCore::UniscribeHelper::fillShapes):
1413 * platform/graphics/chromium/UniscribeHelper.h:
1414 (WebCore::UniscribeHelper::setDisableFontFallback):
1416 2009-02-04 Sam Weinig <sam@webkit.org>
1418 Reviewed by David Hyatt.
1420 Remove some unnecessary #includes of RenderStyle.h
1422 * css/CSSPrimitiveValueMappings.h:
1423 * css/SVGCSSComputedStyleDeclaration.cpp:
1425 * rendering/PointerEventsHitRules.h:
1426 * rendering/RenderImageGeneratedContent.h:
1427 * rendering/RenderMarquee.h:
1428 * rendering/RenderScrollbar.h:
1430 2009-02-04 Dimitri Glazkov <dglazkov@chromium.org>
1432 Reviewed by Sam Weinig.
1434 https://bugs.webkit.org/show_bug.cgi?id=23657
1435 Clean up WebCore/storage IDLs.
1437 * storage/SQLError.idl: Changed to match spec.
1438 * storage/SQLResultSet.idl: Changed to match spec.
1439 * storage/SQLStatementCallback.idl: Removed.
1440 * storage/SQLStatementErrorCallback.idl: Removed.
1441 * storage/SQLTransactionCallback.idl: Removed.
1442 * storage/SQLTransactionErrorCallback.idl: Removed.
1444 2009-02-04 David Hyatt <hyatt@apple.com>
1446 Fix for https://bugs.webkit.org/show_bug.cgi?id=23734, blank content on blogs.msdn.com.
1448 Add debugging code that will catch the incorrect dirtying of a table section immediately if it happens
1449 during calcRowHeight or layoutRows. This should make it possible to discover future bugs where table sections don't
1452 The bug in blogs.msdn.com, which was caused by a bad setNeedsLayout in RenderLayer::updateScrollInfoAtferLayout. Make
1453 sure to do only a local setNeedsLayout inside that function.
1455 Reviewed by Beth Dakin
1457 * rendering/RenderLayer.cpp:
1458 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
1459 * rendering/RenderObject.cpp:
1460 (WebCore::RenderObject::RenderObject):
1461 * rendering/RenderObject.h:
1462 (WebCore::RenderObject::isSetNeedsLayoutForbidden):
1463 (WebCore::RenderObject::setNeedsLayoutIsForbidden):
1464 (WebCore::RenderObject::setNeedsLayout):
1465 (WebCore::RenderObject::setChildNeedsLayout):
1466 (WebCore::RenderObject::markContainingBlocksForLayout):
1467 * rendering/RenderTable.cpp:
1468 (WebCore::RenderTable::layout):
1469 * rendering/RenderTableSection.cpp:
1470 (WebCore::RenderTableSection::calcRowHeight):
1471 (WebCore::RenderTableSection::layoutRows):
1473 2009-02-04 Sam Weinig <sam@webkit.org>
1475 Reviewed by David Hyatt.
1477 Rename RenderStyle::Diff to StyleDifference and move it to
1478 RenderStyleConstants.h.
1480 * rendering/RenderBR.cpp:
1481 (WebCore::RenderBR::styleDidChange):
1482 * rendering/RenderBR.h:
1483 * rendering/RenderBlock.cpp:
1484 (WebCore::RenderBlock::styleWillChange):
1485 (WebCore::RenderBlock::styleDidChange):
1486 * rendering/RenderBlock.h:
1487 * rendering/RenderBox.cpp:
1488 (WebCore::RenderBox::styleWillChange):
1489 (WebCore::RenderBox::styleDidChange):
1490 * rendering/RenderBox.h:
1491 * rendering/RenderButton.cpp:
1492 (WebCore::RenderButton::styleWillChange):
1493 (WebCore::RenderButton::styleDidChange):
1494 * rendering/RenderButton.h:
1495 * rendering/RenderFieldset.cpp:
1496 (WebCore::RenderFieldset::styleDidChange):
1497 * rendering/RenderFieldset.h:
1498 * rendering/RenderFileUploadControl.cpp:
1499 (WebCore::RenderFileUploadControl::styleDidChange):
1500 * rendering/RenderFileUploadControl.h:
1501 * rendering/RenderInline.cpp:
1502 (WebCore::RenderInline::styleDidChange):
1503 * rendering/RenderInline.h:
1504 * rendering/RenderLayer.cpp:
1505 (WebCore::RenderLayer::styleChanged):
1506 * rendering/RenderLayer.h:
1507 * rendering/RenderLayerCompositor.cpp:
1508 (WebCore::RenderLayerCompositor::updateLayerCompositingState):
1509 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
1510 * rendering/RenderLayerCompositor.h:
1511 * rendering/RenderListBox.cpp:
1512 (WebCore::RenderListBox::styleDidChange):
1513 * rendering/RenderListBox.h:
1514 * rendering/RenderListItem.cpp:
1515 (WebCore::RenderListItem::styleDidChange):
1516 * rendering/RenderListItem.h:
1517 * rendering/RenderListMarker.cpp:
1518 (WebCore::RenderListMarker::styleWillChange):
1519 (WebCore::RenderListMarker::styleDidChange):
1520 * rendering/RenderListMarker.h:
1521 * rendering/RenderMenuList.cpp:
1522 (WebCore::RenderMenuList::styleDidChange):
1523 * rendering/RenderMenuList.h:
1524 * rendering/RenderObject.cpp:
1525 (WebCore::RenderObject::setStyle):
1526 (WebCore::RenderObject::styleWillChange):
1527 (WebCore::RenderObject::styleDidChange):
1528 * rendering/RenderObject.h:
1529 * rendering/RenderReplaced.cpp:
1530 (WebCore::RenderReplaced::styleDidChange):
1531 * rendering/RenderReplaced.h:
1532 * rendering/RenderSVGGradientStop.cpp:
1533 (WebCore::RenderSVGGradientStop::styleDidChange):
1534 * rendering/RenderSVGGradientStop.h:
1535 * rendering/RenderSVGInlineText.cpp:
1536 (WebCore::RenderSVGInlineText::styleDidChange):
1537 * rendering/RenderSVGInlineText.h:
1538 * rendering/RenderScrollbarPart.cpp:
1539 (WebCore::RenderScrollbarPart::styleWillChange):
1540 (WebCore::RenderScrollbarPart::styleDidChange):
1541 * rendering/RenderScrollbarPart.h:
1542 * rendering/RenderSlider.cpp:
1543 (WebCore::RenderSlider::styleDidChange):
1544 * rendering/RenderSlider.h:
1545 * rendering/RenderTable.cpp:
1546 (WebCore::RenderTable::styleDidChange):
1547 * rendering/RenderTable.h:
1548 * rendering/RenderTableCell.cpp:
1549 (WebCore::RenderTableCell::styleWillChange):
1550 (WebCore::RenderTableCell::styleDidChange):
1551 * rendering/RenderTableCell.h:
1552 * rendering/RenderTableRow.cpp:
1553 (WebCore::RenderTableRow::styleWillChange):
1554 * rendering/RenderTableRow.h:
1555 * rendering/RenderText.cpp:
1556 (WebCore::RenderText::styleDidChange):
1557 * rendering/RenderText.h:
1558 (WebCore::RenderText::styleWillChange):
1559 * rendering/RenderTextControl.cpp:
1560 (WebCore::RenderTextControl::styleDidChange):
1561 * rendering/RenderTextControl.h:
1562 * rendering/RenderTextControlSingleLine.cpp:
1563 (WebCore::RenderTextControlSingleLine::styleDidChange):
1564 * rendering/RenderTextControlSingleLine.h:
1565 * rendering/RenderWidget.cpp:
1566 (WebCore::RenderWidget::styleDidChange):
1567 * rendering/RenderWidget.h:
1568 * rendering/style/RenderStyle.cpp:
1569 (WebCore::RenderStyle::diff):
1570 (WebCore::RenderStyle::setClip):
1571 * rendering/style/RenderStyle.h:
1572 * rendering/style/RenderStyleConstants.h:
1575 2009-02-03 Sam Weinig <sam@webkit.org>
1577 Reviewed by David Hyatt.
1579 Move PseudoId enum out of RenderStyle and into RenderStyleConstants.h
1581 * css/CSSStyleSelector.cpp:
1582 (WebCore::CSSStyleSelector::matchRulesForList):
1583 (WebCore::CSSStyleSelector::initForStyleResolve):
1584 (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
1585 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
1586 (WebCore::CSSStyleSelector::styleForElement):
1587 (WebCore::CSSStyleSelector::pseudoStyleForElement):
1588 (WebCore::CSSStyleSelector::checkSelector):
1589 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1590 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
1591 (WebCore::CSSStyleSelector::applyProperty):
1592 * css/CSSStyleSelector.h:
1594 (WebCore::Node::diff):
1595 * page/FrameView.cpp:
1596 (WebCore::FrameView::createScrollbar):
1597 * rendering/InlineTextBox.cpp:
1598 (WebCore::InlineTextBox::paint):
1599 * rendering/MediaControlElements.cpp:
1600 (WebCore::MediaTextDisplayElement::MediaTextDisplayElement):
1601 (WebCore::MediaTimeDisplayElement::MediaTimeDisplayElement):
1602 (WebCore::MediaControlInputElement::MediaControlInputElement):
1603 (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
1604 (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
1605 (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
1606 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
1607 (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
1608 * rendering/MediaControlElements.h:
1609 * rendering/RenderBlock.cpp:
1610 (WebCore::RenderBlock::styleDidChange):
1611 (WebCore::RenderBlock::updateBeforeAfterContent):
1612 (WebCore::RenderBlock::firstLineBlock):
1613 (WebCore::RenderBlock::updateFirstLetter):
1614 * rendering/RenderBlock.h:
1615 * rendering/RenderBox.cpp:
1616 (WebCore::RenderBox::isAfterContent):
1617 * rendering/RenderButton.cpp:
1618 (WebCore::RenderButton::updateBeforeAfterContent):
1619 * rendering/RenderButton.h:
1620 * rendering/RenderFileUploadControl.cpp:
1621 (WebCore::RenderFileUploadControl::createButtonStyle):
1622 * rendering/RenderInline.cpp:
1623 (WebCore::RenderInline::styleDidChange):
1624 (WebCore::isAfterContent):
1625 (WebCore::RenderInline::addChildIgnoringContinuation):
1626 (WebCore::RenderInline::splitInlines):
1627 * rendering/RenderLayer.cpp:
1628 (WebCore::RenderLayer::createScrollbar):
1629 (WebCore::RenderLayer::updateScrollCornerStyle):
1630 (WebCore::RenderLayer::updateResizerStyle):
1631 * rendering/RenderListBox.cpp:
1632 (WebCore::RenderListBox::createScrollbar):
1633 * rendering/RenderMedia.cpp:
1634 (WebCore::RenderMedia::createPanel):
1635 (WebCore::RenderMedia::createTimelineContainer):
1636 * rendering/RenderMenuList.cpp:
1637 (WebCore::RenderMenuList::createScrollbar):
1638 * rendering/RenderObject.cpp:
1639 (WebCore::RenderObject::selectionBackgroundColor):
1640 (WebCore::RenderObject::selectionForegroundColor):
1641 (WebCore::RenderObject::firstLineStyleSlowCase):
1642 (WebCore::RenderObject::getCachedPseudoStyle):
1643 (WebCore::RenderObject::getUncachedPseudoStyle):
1644 * rendering/RenderObject.h:
1645 (WebCore::RenderObject::isAnonymousBlock):
1646 * rendering/RenderObjectChildList.cpp:
1647 (WebCore::RenderObjectChildList::destroyLeftoverChildren):
1648 (WebCore::beforeAfterContainer):
1649 (WebCore::RenderObjectChildList::invalidateCounters):
1650 (WebCore::RenderObjectChildList::updateBeforeAfterContent):
1651 * rendering/RenderObjectChildList.h:
1652 * rendering/RenderScrollbar.cpp:
1653 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
1654 (WebCore::pseudoForScrollbarPart):
1655 * rendering/RenderScrollbar.h:
1656 * rendering/RenderSlider.cpp:
1657 (WebCore::RenderSlider::createThumbStyle):
1658 * rendering/RenderTextControlSingleLine.cpp:
1659 (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
1660 (WebCore::RenderTextControlSingleLine::createResultsButtonStyle):
1661 (WebCore::RenderTextControlSingleLine::createCancelButtonStyle):
1662 (WebCore::RenderTextControlSingleLine::createScrollbar):
1663 * rendering/style/RenderStyle.cpp:
1664 (WebCore::pseudoBit):
1665 * rendering/style/RenderStyle.h:
1667 * rendering/style/RenderStyleConstants.h:
1670 2009-02-04 David Kilzer <ddkilzer@apple.com>
1672 CrashTracer: [REGRESSION] 53 crashes in Safari at com.apple.WebCore: WebCore::LegacyWebArchive::create + 2706
1674 <rdar://problem/6509514>
1676 Reviewed by Mark Rowe.
1678 * loader/archive/cf/LegacyWebArchive.cpp:
1679 (WebCore::LegacyWebArchive::create): Fix it correctly this time.
1680 Check for the value returned from WebCore::IconDatabase::iconForPageURL(),
1681 not WebCore::Image::data().
1683 2009-02-04 David Hyatt <hyatt@apple.com>
1685 Rename removeFromObjectLists and move it into RenderBox, since it only applies to boxes.
1687 Reviewed by Adam Roben
1689 * rendering/RenderBox.cpp:
1690 (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
1691 (WebCore::RenderBox::styleWillChange):
1692 * rendering/RenderBox.h:
1693 * rendering/RenderContainer.cpp:
1694 (WebCore::RenderContainer::removeChild):
1695 * rendering/RenderObject.cpp:
1696 (WebCore::RenderObject::styleWillChange):
1697 * rendering/RenderObject.h:
1698 * rendering/RenderSVGContainer.cpp:
1699 (WebCore::RenderSVGContainer::removeChild):
1701 2009-02-04 Jeremy Moskovich <jeremy@chromium.org>
1703 Reviewed by Dave Hyatt.
1705 https://bugs.webkit.org/show_bug.cgi?id=23471
1706 Fix text-overflow:ellipsis; for RTL case.
1708 Test: fast/css/text-overflow-ellipses.html
1710 * rendering/InlineTextBox.cpp:
1711 (WebCore::InlineTextBox::placeEllipsisBox): Add support for rtl placement.
1712 (WebCore::InlineTextBox::paintDecoration): Correctly draw decorations
1715 2009-02-04 Dimitri Glazkov <dglazkov@chromium.org>
1717 Reviewed by Darin Adler.
1719 https://bugs.webkit.org/show_bug.cgi?id=23700
1720 Upstream local changes to due to unforking of SimpleFontData
1721 (corresponds to Chromium check-in http://src.chromium.org/viewvc/chrome?view=rev&revision=8646).
1723 * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
1724 (WebCore::fillBMPGlyphs): Removed extra checks for ZWS chars.
1726 2009-02-04 David Hyatt <hyatt@apple.com>
1728 <rdar://problem/6554115> REGRESSION (r40475): World leak (JS global object) after viewing a photo on Facebook
1730 Fix a ginormous leak. (GINORMOUS!) Make sure to disconnect the event listeners attached to the Document,
1731 because, like, they point to a lot of stuff... like ... everything...
1733 Reviewed by Darin Adler
1736 (WebCore::Document::removeAllEventListenersFromAllNodes):
1738 2009-02-04 Darin Fisher <darin@chromium.org>
1740 Reviewed by Darin Adler.
1742 https://bugs.webkit.org/show_bug.cgi?id=23731
1743 Add JSCCustom and V8Custom as extended IDL attributes
1745 This helps avoid having to add #ifdefs to the IDL files to support V8 bindings.
1747 * bindings/scripts/CodeGeneratorJS.pm:
1750 * svg/SVGPathSegList.idl:
1751 * svg/SVGPointList.idl:
1752 * svg/SVGTransformList.idl:
1754 2009-02-04 Dan Bernstein <mitz@apple.com>
1758 * rendering/RenderImageGeneratedContent.h:
1760 2009-02-04 miggilin <mr.diggilin@gmail.com>
1762 Reviewed by Kevin Ollivier.
1764 Switch to using a ref-counted wxFont pointer for FontPlatformData to fix a crash
1765 with assigning to uninitialized HashTable buckets.
1767 https://bugs.webkit.org/show_bug.cgi?id=23669
1769 * platform/graphics/SimpleFontData.h:
1770 (WebCore::SimpleFontData::getWxFont):
1771 * platform/graphics/wx/FontPlatformData.h:
1773 (WebCore::FontPlatformData::FontPlatformData):
1774 (WebCore::FontPlatformData::font):
1775 (WebCore::FontPlatformData::operator==):
1776 * platform/graphics/wx/FontPlatformDataWx.cpp:
1777 (WebCore::FontPlatformData::FontPlatformData):
1778 (WebCore::FontPlatformData::computeHash):
1779 (WebCore::FontPlatformData::~FontPlatformData):
1780 * platform/graphics/wx/SimpleFontDataWx.cpp:
1781 (WebCore::SimpleFontData::platformInit):
1782 (WebCore::SimpleFontData::determinePitch):
1783 (WebCore::SimpleFontData::platformWidthForGlyph):
1784 * platform/wx/wxcode/gtk/non-kerned-drawing.cpp:
1785 (WebCore::drawTextWithSpacing):
1787 2009-02-04 David Hyatt <hyatt@apple.com>
1789 Fix a crash in generated content when a generated image with an already-cached background image gets
1790 created. It's not completely clear how to reproduce this crash.
1792 Reviewed by Adam Roben
1794 * rendering/RenderImageGeneratedContent.h:
1795 (WebCore::RenderImageGeneratedContent::imagePtr):
1797 2009-02-04 Simon Hausmann <simon.hausmann@nokia.com>
1799 Unreviewed Qt build fix.
1801 Changed ASSERT(image) to ASSERT(!image.isNull()).
1803 * platform/graphics/qt/ImageBufferQt.cpp:
1804 (WebCore::ImageBuffer::getImageData):
1806 2009-02-04 Trenton Schulz <trenton.schulz@nokia.com>
1808 Reviewed by Simon Hausmann.
1810 Fix implementation of PluginViewMac::invalidateRect to update only the
1811 specified rect, not the entire browser window.
1813 * plugins/mac/PluginViewMac.cpp:
1814 (WebCore::PluginView::invalidateRect):
1816 2009-02-04 Holger Hans Peter Freyther <zecke@selfish.org>
1818 Rubber stamped by Mark Rowe.
1820 FramePrivate was removed in r40024 remove the forward
1821 declaration as well.
1825 2009-02-04 Holger Hans Peter Freyther <zecke@selfish.org>
1827 Reviewed by Sam Weinig.
1829 https://bugs.webkit.org/show_bug.cgi?id=23426
1831 Make isFrameSet virtual and by default return false. Reimplement
1836 (WebCore::Document::isFrameSet):
1837 * html/HTMLDocument.cpp:
1838 (WebCore::HTMLDocument::isFrameSet):
1839 * html/HTMLDocument.h:
1841 2009-02-03 Oliver Hunt <oliver@apple.com>
1843 Reviewed by John Sullivan.
1845 <rdar://problem/6554092> Slow script dialog starts coming up over and over again
1847 Work around <rdar://problem/6554067> by consuming any exceptions that are
1848 thrown by _web_localizedDescription
1850 * platform/network/mac/ResourceErrorMac.mm:
1851 (WebCore::ResourceError::platformLazyInit):
1853 2009-02-03 David Hyatt <hyatt@apple.com>
1855 Move the isRenderInline checks for clientWidth/Height and scrollWidth/Height to the DOM element
1856 versions of the functions. Since internal render tree usage doesn't ever (incorrectly) call these
1857 functions on RenderInlines, this manages to get virtual function calls out of contentWidth/Height and
1858 availableWidth/Height.
1860 Reviewed by Mark Rowe
1863 (WebCore::Element::clientWidth):
1864 (WebCore::Element::clientHeight):
1865 (WebCore::Element::scrollWidth):
1866 (WebCore::Element::scrollHeight):
1867 * rendering/RenderBox.cpp:
1868 (WebCore::RenderBox::clientWidth):
1869 (WebCore::RenderBox::clientHeight):
1870 (WebCore::RenderBox::scrollWidth):
1871 (WebCore::RenderBox::scrollHeight):
1873 2009-02-03 Brad Garcia <bgarcia@google.com>
1875 Reviewed by Eric Seidel.
1877 https://bugs.webkit.org/show_bug.cgi?id=20443
1878 Remove call to canResize when trying to determine if pointer
1880 Also removed the implementation of canResize as it is no longer used.
1882 Test: fast/frames/frame-dead-region.html
1884 * rendering/RenderFrameSet.cpp:
1885 (WebCore::RenderFrameSet::nodeAtPoint):
1886 * rendering/RenderFrameSet.h:
1888 2009-02-03 David Hyatt <hyatt@apple.com>
1890 Reduce the number of calls to virtualChildren (indirectly made via RenderObject::firstChild()).
1891 This is a small gain on the PLT.
1893 Reviewed by Mark Rowe
1895 * rendering/bidi.cpp:
1896 (WebCore::inlineWidth):
1897 (WebCore::bidiNext):
1899 2009-02-03 Simon Fraser <simon.fraser@apple.com>
1901 Reviewed by Dave Hyatt
1903 https://bugs.webkit.org/show_bug.cgi?id=23628
1905 Fix selection repainting to do container-relative repaints. RenderView now
1906 repaints the selection using the containerForRepaint() for each RenderSelectionInfo.
1907 selectionRect() is now a wrapper for selectionRectForRepaint() with no container.
1909 Pull SelectionInfo out of RenderObject.h, and BlockSelectionInfo out
1910 of RenderBlock.h and move them into RenderSelectionInfo.h, with some
1911 sharing and refactoring.
1913 RenderBlock::selectionGapRectsForRepaint() is not yet container-aware.
1916 * WebCore.vcproj/WebCore.vcproj:
1917 * WebCore.xcodeproj/project.pbxproj:
1918 * rendering/RenderBR.h:
1919 (WebCore::RenderBR::selectionRectForRepaint):
1920 * rendering/RenderBlock.cpp:
1921 (WebCore::RenderBlock::selectionGapRectsForRepaint):
1922 * rendering/RenderBlock.h:
1923 (WebCore::RenderBlock::selectionRectForRepaint):
1924 * rendering/RenderListMarker.cpp:
1925 (WebCore::RenderListMarker::paint):
1926 (WebCore::RenderListMarker::selectionRectForRepaint):
1927 * rendering/RenderListMarker.h:
1928 * rendering/RenderObject.h:
1929 (WebCore::RenderObject::selectionRect):
1930 (WebCore::RenderObject::selectionRectForRepaint):
1931 * rendering/RenderReplaced.cpp:
1932 (WebCore::RenderReplaced::selectionRectForRepaint):
1933 * rendering/RenderReplaced.h:
1934 * rendering/RenderSVGInlineText.cpp:
1935 (WebCore::RenderSVGInlineText::absoluteRects):
1936 (WebCore::RenderSVGInlineText::absoluteQuads):
1937 (WebCore::RenderSVGInlineText::selectionRectForRepaint):
1938 (WebCore::RenderSVGInlineText::computeRepaintRectForRange):
1939 * rendering/RenderSVGInlineText.h:
1940 * rendering/RenderSelectionInfo.h: Added.
1941 (WebCore::RenderSelectionInfoBase::RenderSelectionInfoBase):
1942 (WebCore::RenderSelectionInfoBase::object):
1943 (WebCore::RenderSelectionInfoBase::repaintContainer):
1944 (WebCore::RenderSelectionInfoBase::state):
1945 (WebCore::RenderSelectionInfo::RenderSelectionInfo):
1946 (WebCore::RenderSelectionInfo::repaint):
1947 (WebCore::RenderSelectionInfo::rect):
1948 (WebCore::RenderBlockSelectionInfo::RenderBlockSelectionInfo):
1949 (WebCore::RenderBlockSelectionInfo::repaint):
1950 (WebCore::RenderBlockSelectionInfo::block):
1951 (WebCore::RenderBlockSelectionInfo::rects):
1952 * rendering/RenderText.cpp:
1953 (WebCore::RenderText::selectionRectForRepaint):
1954 * rendering/RenderText.h:
1955 * rendering/RenderView.cpp:
1956 (WebCore::RenderView::selectionBounds):
1957 (WebCore::RenderView::setSelection):
1958 * rendering/RenderView.h:
1959 * rendering/RenderWidget.cpp:
1960 (WebCore::RenderWidget::paint):
1962 2009-02-03 David Hyatt <hyatt@apple.com>
1964 Add inline capacity back to CSSMutableStyleDeclaration now that the bug in Vector has been fixed.
1966 Reviewed by Darin Adler & Sam Weinig
1968 * css/CSSMutableStyleDeclaration.cpp:
1969 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
1970 * css/CSSMutableStyleDeclaration.h:
1972 2009-02-03 Justin Garcia <justin.garcia@apple.com>
1974 Reviewed by Darin Adler.
1976 https://bugs.webkit.org/show_bug.cgi?id=13490
1977 Implement execCommand("styleWithCSS", ...)
1979 Determine whether or not to use HTML formatting tags for styling on the new
1980 boolean on Editor instead of whether or not the document is quirks mode.
1982 * editing/ApplyStyleCommand.cpp:
1983 (WebCore::StyleChange::StyleChange):
1984 (WebCore::StyleChange::init):
1985 (WebCore::ApplyStyleCommand::applyBlockStyle):
1986 (WebCore::ApplyStyleCommand::applyTextDecorationStyle):
1987 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
1988 * editing/Editor.cpp:
1989 (WebCore::Editor::Editor):
1990 (WebCore::Editor::clear):
1992 (WebCore::Editor::setShouldStyleWithCSS):
1993 (WebCore::Editor::shouldStyleWithCSS):
1994 * editing/EditorCommand.cpp:
1995 (WebCore::executeStyleWithCSS):
1996 (WebCore::stateStyleWithCSS):
1997 (WebCore::CommandEntry::):
1999 2009-02-03 Dirk Schulze <krit@webkit.org>
2001 Reviewed by Sam Weinig.
2003 This is a follow up of r40546. Call toImage() once speeds up ImageBuffer::getImageData()
2005 * platform/graphics/qt/ImageBufferQt.cpp:
2006 (WebCore::ImageBuffer::getImageData):
2008 2009-02-03 Anders Carlsson <andersca@apple.com>
2010 Reviewed by Kevin Decker.
2012 - Fix for <rdar://problem/6549743>
2014 On Tiger, create an autorelease pool before creating the NSGraphicsContext and drain it immediately
2015 after the call to -[NSView displayRectIgnoringOpacity:inContext:].
2017 * platform/mac/WidgetMac.mm:
2018 (WebCore::Widget::paint):
2020 2009-02-03 David Hyatt <hyatt@apple.com>
2022 Back this change out since it is causing layout tests to crash. There is something subtle going on
2025 Reviewed by Darin Adler
2027 * css/CSSMutableStyleDeclaration.cpp:
2028 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
2029 * css/CSSMutableStyleDeclaration.h:
2031 2009-02-03 David Hyatt <hyatt@apple.com>
2033 Give the properties vector of mutable style declarations an initial inline capacity to reduce malloc churn.
2035 Reviewed by Sam Weinig
2037 * css/CSSMutableStyleDeclaration.cpp:
2038 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
2039 * css/CSSMutableStyleDeclaration.h:
2041 2009-02-03 David Hyatt <hyatt@apple.com>
2043 Avoid creating extra copies of NSURLRequests for non-HTTP URLs. Only mark platform requests
2044 as needing updating when HTTP fields change if the scheme of the URL is actually HTTP or HTTPS.
2045 Thus cuts down significantly on the number of copied NSURLRequests and is about a 1% gain on the PLT.
2047 Reviewed by Darin Adler
2049 * loader/FrameLoader.cpp:
2050 (WebCore::FrameLoader::addExtraFieldsToRequest):
2051 * platform/KURL.cpp:
2052 (WebCore::KURL::invalidate):
2053 (WebCore::KURL::KURL):
2055 (WebCore::KURL::isHTTPOrHTTPS):
2056 * platform/network/ResourceRequestBase.cpp:
2057 (WebCore::ResourceRequestBase::setCachePolicy):
2058 (WebCore::ResourceRequestBase::setTimeoutInterval):
2059 (WebCore::ResourceRequestBase::setMainDocumentURL):
2060 (WebCore::ResourceRequestBase::setHTTPMethod):
2061 (WebCore::ResourceRequestBase::setHTTPHeaderField):
2062 (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
2063 (WebCore::ResourceRequestBase::setHTTPBody):
2064 (WebCore::ResourceRequestBase::setAllowHTTPCookies):
2066 2009-02-03 Xan Lopez <xan@gnome.org>
2068 Reviewed by Holger Freyther.
2070 https://bugs.webkit.org/show_bug.cgi?id=23711
2072 Add manual test for floating divs with scrollbars.
2074 * manual-tests/gtk/floatingdiv.html: Added.
2076 2009-02-03 Xan Lopez <xan@gnome.org>
2078 Reviewed by Holger Freyther.
2080 https://bugs.webkit.org/show_bug.cgi?id=23711
2082 There's no need to hold an extra ref to the scrollbar, calling
2083 setPlatformWidget takes ownership of it.
2085 Also do not disconnect the signals when destroying the widget,
2088 * platform/gtk/ScrollbarGtk.cpp:
2089 (ScrollbarGtk::ScrollbarGtk):
2090 * platform/gtk/ScrollbarGtk.h:
2092 2009-02-03 Xan Lopez <xan@gnome.org>
2094 Reviewed by Holger Freyther.
2096 https://bugs.webkit.org/show_bug.cgi?id=23711
2098 Declare scrollBar as GtkWidget* to avoid needless
2101 * platform/gtk/ScrollbarGtk.cpp:
2102 (ScrollbarGtk::ScrollbarGtk):
2103 (ScrollbarGtk::~ScrollbarGtk):
2105 2009-02-03 Xan Lopez <xan@gnome.org>
2107 Reviewed by Holger Freyther.
2109 https://bugs.webkit.org/show_bug.cgi?id=23711
2111 Properly calculate the scrollbar location for their
2112 usage in RenderLayout.
2114 * platform/gtk/ScrollbarGtk.cpp:
2115 (ScrollbarGtk::frameRectsChanged):
2117 2009-02-03 David Hyatt <hyatt@apple.com>
2119 Rename addLineBoxRects to absoluteRectsForRange, and do the same thing for the corresponding quads methods. Move the RenderContainer implementations
2120 of these methods up to RenderObject.
2122 Reviewed by Beth Dakin
2124 * bindings/objc/DOM.mm:
2125 (-[DOMNode lineBoxRects]):
2127 (WebCore::Range::addLineBoxRects):
2128 * inspector/InspectorController.cpp:
2129 (WebCore::InspectorController::drawNodeHighlight):
2130 * rendering/RenderContainer.cpp:
2131 * rendering/RenderContainer.h:
2132 * rendering/RenderObject.cpp:
2133 (WebCore::RenderObject::absoluteRectsForRange):
2134 (WebCore::RenderObject::absoluteQuadsForRange):
2135 * rendering/RenderObject.h:
2136 * rendering/RenderText.cpp:
2137 (WebCore::RenderText::absoluteRectsForRange):
2138 (WebCore::RenderText::absoluteQuadsForRange):
2139 * rendering/RenderText.h:
2141 2009-02-03 Dirk Schulze <krit@webkit.org>
2143 Reviewed by Sam Weinig and Oliver Hunt.
2145 Added getImageData() support for QtWebKit.
2147 [QT] lacks getImageData / putImageData support in Canvas
2148 https://bugs.webkit.org/show_bug.cgi?id=22186
2150 * platform/graphics/qt/ImageBufferQt.cpp:
2151 (WebCore::ImageBuffer::getImageData):
2153 2009-02-03 Eric Roman <eroman@chromium.org>
2155 Reviewed by Holger Freyther.
2157 Fix FrameChromium.cpp following r40473 which moved Frame::adjustPageHeight to FrameView::adjustPageHeight.
2159 * page/chromium/FrameChromium.cpp:
2160 (WebCore::computePageRectsForFrame):
2162 2009-02-02 Simon Fraser <simon.fraser@apple.com>
2164 Reviewed by Dave Hyatt
2166 https://bugs.webkit.org/show_bug.cgi?id=23358
2168 Hook accelerated compositing into RenderLayer.
2170 * rendering/RenderLayer.cpp:
2171 (WebCore::RenderLayer::RenderLayer):
2172 (WebCore::RenderLayer::~RenderLayer):
2173 Init and clean up backing and the hasCompositingDescendant bit.
2175 (WebCore::RenderLayer::compositor):
2176 Shortcut to get to the RenderLayerCompositor.
2178 (WebCore::RenderLayer::updateLayerPositions):
2179 We need to let full repaints propagate to all compositing layers, and
2180 update the backing after layout here.
2182 (WebCore::RenderLayer::transparentAncestor):
2183 (WebCore::transparencyClipBox):
2184 (WebCore::RenderLayer::beginTransparencyLayers):
2185 Account for the fact that opacity may be rendered via the compositing
2188 (WebCore::RenderLayer::addChild):
2189 (WebCore::RenderLayer::removeChild):
2190 (WebCore::RenderLayer::removeOnlyThisLayer):
2191 Tell the compositor when the RenderLayer hierarchy changes.
2193 (WebCore::RenderLayer::scrollToOffset):
2194 Update layer geometry after scrolling.
2196 (WebCore::RenderLayer::paintLayer):
2197 We short-circuit painting on composited layers, because these layers
2198 are painted on a callback from the compositing system.
2200 (WebCore::RenderLayer::hitTestLayer):
2201 Only apply transforms if we are rendering them in software.
2203 (WebCore::RenderLayer::localBoundingBox):
2204 (WebCore::RenderLayer::boundingBox):
2205 (WebCore::RenderLayer::absoluteBoundingBox):
2206 Refactor bounding box code that we can compute local, and ancestor-relative
2207 bounding box, as well as absolute.
2209 (WebCore::RenderLayer::ensureBacking):
2210 (WebCore::RenderLayer::clearBacking):
2211 RenderLayerBacking creation and destruction.
2213 (WebCore::RenderLayer::setParent):
2214 Tell the compositor when the RenderLayer hierarchy changes.
2216 (WebCore::RenderLayer::dirtyZOrderLists):
2217 (WebCore::RenderLayer::dirtyStackingContextZOrderLists):
2218 (WebCore::RenderLayer::dirtyOverflowList):
2219 When the z-order and overflow lists change, we need to tell the
2220 compositor that the composited layers need to be rejiggered soon.
2222 (WebCore::RenderLayer::updateZOrderLists):
2225 (WebCore::RenderLayer::setBackingNeedsRepaint):
2226 (WebCore::RenderLayer::setBackingNeedsRepaintInRect):
2227 Dirty composited layer contents for painting.
2229 (WebCore::RenderLayer::styleChanged):
2230 Update the layer backing after style changes.
2232 * rendering/RenderLayer.h:
2233 (WebCore::RenderLayer::isComposited):
2234 (WebCore::RenderLayer::backing):
2235 Accessors for testing and getting the backing for this RenderLayer.
2237 (WebCore::RenderLayer::paintsWithTransparency):
2238 (WebCore::RenderLayer::paintsWithTransform):
2239 Transform and opacity can be applied via the compositing layer, or rendered
2240 in software. These methods tell us if we need to account for them in the
2241 non-compositing path.
2243 (WebCore::RenderLayer::hasCompositingDescendant):
2244 (WebCore::RenderLayer::setHasCompositingDescendant):
2245 Maintain a bit to tell if this layer has composited descendants.
2247 2009-02-03 Simon Fraser <simon.fraser@apple.com>
2249 Reviewed by Dave Hyatt
2251 https://bugs.webkit.org/show_bug.cgi?id=23365
2253 Hook up accelerated compositing layers the native
2257 Export new Page methods.
2259 * page/ChromeClient.h:
2260 (WebCore::ChromeClient::attachRootGraphicsLayer):
2261 (WebCore::ChromeClient::setNeedsOneShotDrawingSynchronization):
2262 New methods for attaching/detaching the root GraphicsLayer, and
2263 synchronizing layer changes with window drawing.
2266 * page/FrameView.cpp:
2267 (WebCore::FrameView::updateCompositingLayers):
2268 (WebCore::FrameView::setNeedsOneShotDrawingSynchronization):
2269 (WebCore::FrameView::didMoveOnscreen):
2270 (WebCore::FrameView::willMoveOffscreen):
2271 New methods to update the compositing layer hierarchy,
2272 and pass-throughs to the RenderLayerCompositor.
2274 (WebCore::FrameView::layout):
2275 Update compositing layers after layout() and updateLayerPositions().
2278 (WebCore::Page::didMoveOnscreen):
2279 (WebCore::Page::willMoveOffscreen):
2281 New methods to allow the native view system to tell the Page when it
2282 starts to be presented on-screen, and when it will be hidden.
2284 * rendering/RenderLayerCompositor.h:
2285 * rendering/RenderLayerCompositor.cpp:
2286 (WebCore::RenderLayerCompositor::updateLayerCompositingState):
2287 (WebCore::RenderLayerCompositor::didMoveOnscreen):
2288 (WebCore::RenderLayerCompositor::willMoveOffscreen):
2289 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
2290 Rename 'attached' methods to 'moveOnscreen/moveOffscreen' to match
2291 the calls through from Page, FrameView.
2293 (WebCore::RenderLayerCompositor::layerWillBeRemoved):
2294 Dont' try to repaint or update layers if the document is being torn
2297 * rendering/RenderView.cpp:
2298 (WebCore::RenderView::didMoveOnscreen):
2299 (WebCore::RenderView::willMoveOffscreen):
2300 * rendering/RenderView.h:
2303 2009-02-03 Dirk Schulze <krit@webkit.org>
2305 Reviewed by Holger Hans Peter Freyther.
2307 Fixed getImageData and putImageData and respect pre-
2310 Cairo's ImageBuffer::getImageData() does not handle alpha=0 case correctly
2311 https://bugs.webkit.org/show_bug.cgi?id=21575
2313 * platform/graphics/cairo/ImageBufferCairo.cpp:
2314 (WebCore::ImageBuffer::getImageData):
2315 (WebCore::ImageBuffer::putImageData):
2317 2009-02-03 Dan Bernstein <mitz@apple.com>
2319 Reviewed by Brady Eidson.
2321 - fix <rdar://problem/6550530> REGRESSION (r40508): Window opened with window.open has no initial history item (global and back/forward)
2323 Test: fast/history/window-open.html
2325 * bindings/js/JSDOMWindowBase.cpp:
2326 (WebCore::createWindow): Pass the missing lockBackForwardList parameter
2327 to FrameLoader::changeLocation().
2329 2009-02-03 Adam Treat <adam.treat@torchmobile.com>
2331 Fix the Qt build after r40536.
2333 * bridge/qt/qt_runtime.cpp:
2334 (JSC::Bindings::convertQVariantToValue):
2336 2009-02-03 Dan Bernstein <mitz@apple.com>
2338 - fix -Wmissing-prototypes builds
2340 * loader/WorkerThreadableLoader.cpp:
2341 (WebCore::workerContextDidSendData): Marked this function static.
2342 (WebCore::workerContextDidReceiveResponse): Ditto.
2343 (WebCore::workerContextDidReceiveData): Ditto.
2344 (WebCore::workerContextDidFinishLoading): Ditto.
2345 (WebCore::workerContextDidFail): Ditto.
2346 (WebCore::workerContextDidGetCancelled): Ditto.
2347 (WebCore::workerContextDidReceiveAuthenticationCancellation): Ditto.
2349 2009-02-03 David Kilzer <ddkilzer@apple.com>
2351 CrashTracer: [REGRESSION] 53 crashes in Safari at com.apple.WebCore: WebCore::LegacyWebArchive::create + 2706
2353 <rdar://problem/6509514>
2355 Reviewed by Adam Roben.
2357 * loader/archive/cf/LegacyWebArchive.cpp:
2358 (WebCore::LegacyWebArchive::create): Null check the value returned
2359 from WebCore::IconDatabase::iconForPageURL().
2361 2009-02-03 Simon Hausmann <simon.hausmann@nokia.com>
2363 Reviewed by Tor Arne Vestbø.
2365 Fix conversion of QByteArray to JavaScript and back. Instead of
2366 converting it to a String (data loss!) we now map it to JSByteArray.
2368 * bridge/qt/qt_runtime.cpp:
2370 (JSC::Bindings::valueRealType): Added JSByteArray as converstion type.
2371 (JSC::Bindings::convertValueToQVariant): Convert from JSByteArray to
2372 QVariant(QByteArray).
2373 (JSC::Bindings::convertQVariantToValue): Convert from
2374 QVariant::ByteArray to jsByteArray.
2376 2009-02-03 Alexey Proskuryakov <ap@webkit.org>
2380 * GNUmakefile.am: Removed WorkerTask.{h,cpp}.
2382 2009-02-03 Dmitry Titov <dimich@chromium.org>
2384 Reviewed by Alexey Proskuryakov.
2386 https://bugs.webkit.org/show_bug.cgi?id=22718
2387 Implement WindowTimers interface in Workers.
2389 This patch moves timeoutID from Document to ScriptExecutionContext
2390 and exposes JS methods setTimeout/setInterval/clearTimeout/clearInterval inside of a Worker.
2391 Also added a test for those methods.
2393 Test: fast/workers/worker-timeout.html
2395 * bindings/js/JSWorkerContextCustom.cpp:
2396 (WebCore::setTimeoutOrInterval):
2397 Creates ScheduledAction and calls WorkerContext::installTimeout to actually add a timer.
2399 (WebCore::JSWorkerContext::setTimeout):
2400 (WebCore::JSWorkerContext::clearTimeout):
2401 (WebCore::JSWorkerContext::setInterval):
2402 (WebCore::JSWorkerContext::clearInterval):
2403 Added methods exposed to JS.
2407 * dom/ScriptExecutionContext.cpp:
2408 (WebCore::ScriptExecutionContext::addTimeout):
2409 (WebCore::ScriptExecutionContext::removeTimeout):
2410 (WebCore::ScriptExecutionContext::findTimeout):
2411 * dom/ScriptExecutionContext.h:
2412 The timerID map moves from Document to ScriptExecutionContext,
2413 to be available to Document and to WorkerContext.
2415 * dom/WorkerContext.cpp:
2416 (WebCore::WorkerContext::installTimeout): Adds a DOMTimeout.
2417 (WebCore::WorkerContext::removeTimeout): Removes a DOMTimeout.
2418 * dom/WorkerContext.h:
2420 * page/DOMTimer.cpp:
2421 (WebCore::DOMTimer::DOMTimer):
2422 (WebCore::DOMTimer::~DOMTimer):
2423 (WebCore::DOMTimer::removeById):
2424 Code change here reflects move of timeoutID map to the ScriptExecutionContext.
2425 Some checks and casts are no longer needed.
2427 2009-02-03 Dmitry Titov <dimich@chromium.org>
2429 Reviewed by Alexey Proskuryakov.
2431 https://bugs.webkit.org/show_bug.cgi?id=23560
2432 Implement SharedTimer for Workers.
2434 * dom/WorkerRunLoop.cpp:
2435 Added private class WorkerSharedTimer that implements SharedTimer interface for worker threads.
2436 (WebCore::WorkerSharedTimer::WorkerSharedTimer):
2437 (WebCore::WorkerSharedTimer::setFiredFunction):
2438 (WebCore::WorkerSharedTimer::setFireTime):
2439 (WebCore::WorkerSharedTimer::stop):
2440 (WebCore::WorkerSharedTimer::isActive):
2441 (WebCore::WorkerSharedTimer::fireTime):
2442 (WebCore::WorkerSharedTimer::fire):
2443 (WebCore::WorkerRunLoop::WorkerRunLoop):
2444 Initializes a WorkerSharedTimer instance.
2445 (WebCore::WorkerRunLoop::~WorkerRunLoop):
2446 The destructor is here so compiler is ok with having OwnPtr<WorkerSharedTimer> in .h file w/o defining WorkerSharedTimer.
2447 (WebCore::WorkerRunLoop::run):
2448 Set/reset shared timer interface on ThreadTimers, use MessageQueue::waitForMessageTimed() if timer is active.
2449 * dom/WorkerRunLoop.h:
2450 Add member of type OwnPtr<WorkerSharedTimer>
2452 2009-02-03 Steve Falkenburg <sfalken@apple.com>
2456 * WebCore.vcproj/WebCore.vcproj:
2458 2009-02-03 Alexey Proskuryakov <ap@webkit.org>
2462 * dom/CrossThreadCopier.h: Changed forward declarations to use struct instead of class where
2465 2009-02-02 David Levin <levin@chromium.org>
2467 Reviewed by Alexey Proskuryakov.
2469 Bug 23636: Make the async api of ThreadableLoader functional for the worker context.
2470 <https://bugs.webkit.org/show_bug.cgi?id=23636>
2472 Enable the async portion of ThreadableLoader for workers.
2474 No observable change in behavior, so no test.
2479 * WebCore.vcproj/WebCore.vcproj:
2480 * WebCore.xcodeproj/project.pbxproj:
2481 * WebCoreSources.bkl:
2482 * dom/CrossThreadCopier.h:
2483 * dom/GenericWorkerTask.h:
2484 * dom/WorkerThread.cpp:
2485 * loader/ThreadableLoader.cpp:
2486 (WebCore::ThreadableLoader::create):
2487 * loader/ThreadableLoaderClient.h:
2488 (WebCore::ThreadableLoaderClient::didFinishLoading):
2489 * loader/ThreadableLoaderClientWrapper.h: Added.
2490 (WebCore::ThreadableLoaderClientWrapper::create):
2491 (WebCore::ThreadableLoaderClientWrapper::clearClient):
2492 (WebCore::ThreadableLoaderClientWrapper::didSendData):
2493 (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
2494 (WebCore::ThreadableLoaderClientWrapper::didReceiveData):
2495 (WebCore::ThreadableLoaderClientWrapper::didFinishLoading):
2496 (WebCore::ThreadableLoaderClientWrapper::didFail):
2497 (WebCore::ThreadableLoaderClientWrapper::didGetCancelled):
2498 (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
2499 (WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper):
2500 * loader/WorkerThreadableLoader.cpp: Added.
2501 (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
2502 (WebCore::WorkerThreadableLoader::~WorkerThreadableLoader):
2503 (WebCore::WorkerThreadableLoader::cancel):
2504 (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
2505 (WebCore::WorkerThreadableLoader::MainThreadBridge::~MainThreadBridge):
2506 (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
2507 (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadDestroy):
2508 (WebCore::WorkerThreadableLoader::MainThreadBridge::destroy):
2509 (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCancel):
2510 (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
2511 (WebCore::WorkerThreadableLoader::MainThreadBridge::clearClientWrapper):
2512 (WebCore::workerContextDidSendData):
2513 (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
2514 (WebCore::workerContextDidReceiveResponse):
2515 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
2516 (WebCore::workerContextDidReceiveData):
2517 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
2518 (WebCore::workerContextDidFinishLoading):
2519 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
2520 (WebCore::workerContextDidFail):
2521 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
2522 (WebCore::workerContextDidGetCancelled):
2523 (WebCore::WorkerThreadableLoader::MainThreadBridge::didGetCancelled):
2524 (WebCore::workerContextDidReceiveAuthenticationCancellation):
2525 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
2526 * loader/WorkerThreadableLoader.h: Added.
2527 (WebCore::WorkerThreadableLoader::create):
2528 (WebCore::WorkerThreadableLoader::refThreadableLoader):
2529 (WebCore::WorkerThreadableLoader::derefThreadableLoader):
2531 2009-02-02 David Levin <levin@chromium.org>
2533 Reviewed by Alexey Proskuryakov.
2535 Bug 23636: Make the async api of ThreadableLoader functional for the worker context.
2536 <https://bugs.webkit.org/show_bug.cgi?id=23636>
2538 No observable change in behavior, so no test.
2540 * WebCore.xcodeproj/project.pbxproj:
2543 * dom/WorkerContext.cpp:
2544 (WebCore::WorkerContext::addMessage):
2545 (WebCore::WorkerContext::postTask):
2546 (WebCore::WorkerContext::postTaskToWorkerObject):
2547 * dom/WorkerContext.h:
2548 * dom/WorkerMessagingProxy.cpp:
2549 (WebCore::MessageWorkerContextTask::performTask):
2550 (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
2551 (WebCore::WorkerMessagingProxy::postTaskToWorkerContext):
2552 Expose postTaskToWorkerContext for use by the worker object thread.
2554 (WebCore::WorkerMessagingProxy::postTaskToWorkerObject):
2555 Change the name of postTaskToParentContext to postTaskToWorkerObject for consistency
2556 with postMessageToWorkerObject.
2558 * dom/WorkerMessagingProxy.h:
2559 * dom/WorkerRunLoop.cpp:
2560 (WebCore::WorkerRunLoop::run):
2561 (WebCore::WorkerRunLoop::postTask):
2562 * dom/WorkerRunLoop.h:
2563 * dom/WorkerTask.cpp: Removed.
2564 * dom/WorkerTask.h: Removed.
2565 Removed WorkerTask and replaced with the existing ScriptExecutionContext::Task.
2567 The resulted in the class going away along with an adapter that made
2568 a ScriptExecutionContext::Task look like a WorkerTask.
2570 * dom/WorkerThread.cpp:
2571 * dom/WorkerThread.h:
2573 2009-02-02 David Levin <levin@chromium.org>
2575 Reviewed by Alexey Proskuryakov.
2577 Bug 23618: Templated worker tasks should be more error proof to use.
2578 <https://bugs.webkit.org/show_bug.cgi?id=23618>
2580 Add the generic worker tasks templates needed for the WorkerThreadableLoader.
2582 No observable change in behavior, so no test.
2587 * WebCore.vcproj/WebCore.vcproj:
2588 * WebCore.xcodeproj/project.pbxproj:
2589 * WebCoreSources.bkl:
2590 * dom/CrossThreadCopier.cpp: Added.
2591 * dom/CrossThreadCopier.h: Added.
2592 (WebCore::CrossThreadCopierPassThrough::copy):
2593 * dom/GenericWorkerTask.h:
2594 Stop doing the WorkerMessagingProxy::askedToTerminate call automatically
2595 in performTask because was not obvious that it would be done and not always needed.
2597 (WebCore::GenericWorkerTask1::create):
2598 (WebCore::GenericWorkerTask1::GenericWorkerTask1):
2599 (WebCore::GenericWorkerTask1::performTask):
2600 (WebCore::GenericWorkerTask2::create):
2601 (WebCore::GenericWorkerTask2::GenericWorkerTask2):
2602 (WebCore::GenericWorkerTask2::performTask):
2603 (WebCore::GenericWorkerTask3::create):
2604 (WebCore::GenericWorkerTask3::GenericWorkerTask3):
2605 (WebCore::GenericWorkerTask3::performTask):
2606 (WebCore::GenericWorkerTask4::create):
2607 (WebCore::GenericWorkerTask4::GenericWorkerTask4):
2608 (WebCore::GenericWorkerTask4::performTask):
2609 (WebCore::GenericWorkerTask5::create):
2610 (WebCore::GenericWorkerTask5::GenericWorkerTask5):
2611 (WebCore::GenericWorkerTask5::performTask):
2612 (WebCore::GenericWorkerTask6::create):
2613 (WebCore::GenericWorkerTask6::GenericWorkerTask6):
2614 (WebCore::GenericWorkerTask6::performTask):
2615 (WebCore::GenericWorkerTask7::create):
2616 (WebCore::GenericWorkerTask7::GenericWorkerTask7):
2617 (WebCore::GenericWorkerTask7::performTask):
2618 (WebCore::createCallbackTask):
2619 * dom/WorkerContext.cpp:
2620 (WebCore::addMessageTask):
2621 (WebCore::WorkerContext::addMessage):
2622 * dom/WorkerMessagingProxy.h:
2623 (WebCore::WorkerMessagingProxy::askedToTerminate):
2625 2009-02-02 Sam Weinig <sam@webkit.org>
2627 Reviewed by David "The Barnabas Jones" Hyatt.
2629 Move removeChildNode, appendChildNode and insertChildNode from
2630 RenderContainer into RenderObjectChildList. Make moveChildNode
2631 static in RenderBlock, as that was the only user.
2633 * rendering/RenderBlock.cpp:
2634 (WebCore::moveChild):
2635 (WebCore::RenderBlock::makeChildrenNonInline):
2636 (WebCore::RenderBlock::removeChild):
2637 (WebCore::RenderBlock::handleRunInChild):
2638 * rendering/RenderContainer.cpp:
2639 (WebCore::RenderContainer::addChild):
2640 (WebCore::RenderContainer::removeChild):
2641 * rendering/RenderContainer.h:
2642 * rendering/RenderInline.cpp:
2643 (WebCore::RenderInline::splitInlines):
2644 (WebCore::RenderInline::splitFlow):
2645 (WebCore::RenderInline::childBecameNonInline):
2646 * rendering/RenderObject.cpp:
2647 (WebCore::RenderObject::handleDynamicFloatPositionChange):
2648 * rendering/RenderObject.h:
2649 (WebCore::RenderObject::createsAnonymousWrapper):
2650 * rendering/RenderObjectChildList.cpp:
2651 (WebCore::updateListMarkerNumbers):
2652 (WebCore::RenderObjectChildList::removeChildNode):
2653 (WebCore::RenderObjectChildList::appendChildNode):
2654 (WebCore::RenderObjectChildList::insertChildNode):
2655 * rendering/RenderObjectChildList.h:
2656 * rendering/RenderSVGContainer.cpp:
2657 (WebCore::RenderSVGContainer::addChild):
2658 (WebCore::RenderSVGContainer::removeChild):
2659 * rendering/RenderSVGContainer.h:
2660 * rendering/RenderTable.cpp:
2661 (WebCore::RenderTable::removeChild):
2662 * rendering/RenderTable.h:
2663 * rendering/RenderTableSection.cpp:
2664 (WebCore::RenderTableSection::removeChild):
2665 * rendering/RenderTableSection.h:
2667 2009-02-02 Alexey Proskuryakov <ap@webkit.org>
2669 Reviewed by Darin Alder.
2671 https://bugs.webkit.org/show_bug.cgi?id=23697
2672 Leaks seen on Worker tests
2674 * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal):
2675 Zero out m_workerThread, so that the proxy could be deleted once workerObjectDestroyed()
2678 2009-02-02 David Hyatt <hyatt@apple.com>
2680 Move positionForCoordinates up from RenderContainer into RenderBox.
2682 Reviewed by Sam Weinig
2684 * rendering/RenderBox.cpp:
2685 (WebCore::RenderBox::positionForCoordinates):
2686 * rendering/RenderBox.h:
2687 * rendering/RenderContainer.cpp:
2688 * rendering/RenderContainer.h:
2690 2009-02-02 Hiroaki Nakamura <hnakamur@gmail.com>
2692 Reviewed by Adam Roben.
2694 Fixes https://bugs.webkit.org/show_bug.cgi?id=15813
2695 Modify pre-build step to properly handle the errorlevel
2698 * WebCore.vcproj/WebCore.vcproj: Change errorlevel handling
2699 for all targets so prefast is only enabled in builds
2700 where /analyze is available.
2702 2009-02-02 David Hyatt <hyatt@apple.com>
2704 Refactor the handling of before/after content and generated content. Move most of the functions from
2705 RenderContainer into RenderObjectChildList.
2707 Reviewed by Sam Weinig
2709 * rendering/RenderBlock.cpp:
2710 (WebCore::RenderBlock::updateBeforeAfterContent):
2711 * rendering/RenderBlock.h:
2712 * rendering/RenderBox.cpp:
2713 (WebCore::RenderBox::isAfterContent):
2714 * rendering/RenderBox.h:
2715 * rendering/RenderButton.cpp:
2716 (WebCore::RenderButton::updateBeforeAfterContent):
2717 * rendering/RenderContainer.cpp:
2718 * rendering/RenderContainer.h:
2719 * rendering/RenderCounter.cpp:
2720 (WebCore::destroyCounterNodeChildren):
2721 * rendering/RenderInline.cpp:
2722 (WebCore::RenderInline::styleDidChange):
2723 (WebCore::RenderInline::addChildIgnoringContinuation):
2724 (WebCore::RenderInline::splitInlines):
2725 * rendering/RenderObject.h:
2726 * rendering/RenderObjectChildList.cpp:
2727 (WebCore::beforeAfterContainer):
2728 (WebCore::findBeforeAfterParent):
2729 (WebCore::invalidateCountersInContainer):
2730 (WebCore::RenderObjectChildList::invalidateCounters):
2731 (WebCore::RenderObjectChildList::updateBeforeAfterContent):
2732 * rendering/RenderObjectChildList.h:
2734 2009-02-02 Dmitry Titov <dimich@chromium.org>
2736 Reviewed by Darin Adler.
2738 https://bugs.webkit.org/show_bug.cgi?id=23661
2741 * history/HistoryItem.h: need to include <wtf/OwnPtr.h>
2743 * rendering/RenderThemeChromiumMac.mm:
2744 (WebCore::RenderThemeChromiumMac::adjustMenuListStyle): isEnabled() is now on FormControlElement.
2746 2009-02-02 Geoffrey Garen <ggaren@apple.com>
2750 * plugins/PluginView.cpp:
2751 (WebCore::PluginView::performRequest):
2753 2009-02-02 Geoffrey Garen <ggaren@apple.com>
2759 2009-02-02 Geoffrey Garen <ggaren@apple.com>
2761 Reviewed by Sam Weinig.
2763 Track redirects in global history.
2765 * WebCore.base.exp: Renamed some exports.
2767 * bindings/js/JSDOMWindowBase.cpp:
2768 (WebCore::createWindow):
2769 (windowProtoFuncOpen):
2770 * bindings/js/JSDOMWindowCustom.cpp:
2771 (WebCore::JSDOMWindow::setLocation):
2772 * bindings/js/JSDocumentCustom.cpp:
2773 (WebCore::JSDocument::setLocation):
2774 * bindings/js/JSHTMLFormElementCustom.cpp:
2775 (WebCore::JSHTMLFormElement::submit):
2776 * bindings/js/JSLocationCustom.cpp:
2777 (WebCore::JSLocation::setHref):
2778 (WebCore::JSLocation::setProtocol):
2779 (WebCore::JSLocation::setHost):
2780 (WebCore::JSLocation::setHostname):
2781 (WebCore::JSLocation::setPort):
2782 (WebCore::JSLocation::setPathname):
2783 (WebCore::JSLocation::setSearch):
2784 (WebCore::JSLocation::setHash):
2785 (WebCore::JSLocation::assign): Treat any navigation that is not initiated
2786 by the user as a redirect from the perspective of global history.
2788 * history/HistoryItem.cpp:
2789 (WebCore::HistoryItem::addRedirectURL): Store the last URL in the redirect
2792 * loader/DocumentLoader.cpp:
2793 (WebCore::DocumentLoader::DocumentLoader):
2794 * loader/DocumentLoader.h:
2795 (WebCore::DocumentLoader::urlForHistoryReflectsServerRedirect):
2796 (WebCore::DocumentLoader::urlForHistoryReflectsClientRedirect):
2797 (WebCore::DocumentLoader::setURLForHistoryReflectsClientRedirect): Sadly,
2798 added yet another way to track redirect state during loading, since none
2799 of the others did what I wanted, and I didn't want to cause behavior
2800 changes in existing code.
2802 * loader/EmptyClients.h:
2803 (WebCore::EmptyFrameLoaderClient::updateGlobalHistoryForRedirectWithoutHistoryItem):
2804 Stubbed out a client function to keep things building.
2806 * loader/FrameLoader.cpp:
2807 (WebCore::isBackForwardLoadType):
2808 (WebCore::FrameLoader::restoreDocumentState): Renamed FrameLoadTypeRedirect =>
2809 FrameLoadTypeRedirectWithLockedBackForwardList, to distinguish from all
2810 the other meanings of "redirect" in the loading code.
2812 (WebCore::FrameLoader::scheduleHTTPRedirection): Treat any HTTP refresh
2813 redirect as a redirect from the perspective of global history.
2815 (WebCore::FrameLoader::loadURLIntoChildFrame): Updated for rename and extra
2818 (WebCore::FrameLoader::startRedirectionTimer): Removed unused parameter.
2820 (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
2821 (WebCore::FrameLoader::loadURL):
2822 (WebCore::FrameLoader::load): Updated for rename and extra parameter.
2824 (WebCore::FrameLoader::loadWithNavigationAction): Track redirect status
2825 in the DocumentLoader, so it's accessible to WebKit's global history code.
2827 (WebCore::FrameLoader::clientRedirected): Ignore lockHistory, since it
2828 only has meaning to global history, and m_quickRedirectComing pertains
2829 to other kinds of history.
2831 (WebCore::FrameLoader::loadPostRequest):
2832 (WebCore::FrameLoader::loadEmptyDocumentSynchronously):
2833 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
2834 (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
2835 (WebCore::FrameLoader::loadItem): Updated for extra parameter and rename.
2837 (WebCore::FrameLoader::updateHistory*): Notify WebKit about redirect
2838 navigations even if they don't create new history items, so we can track
2839 the redirect in the existing history item.
2841 * loader/FrameLoader.h: See above.
2843 * loader/FrameLoaderClient.h: New client interface used by
2844 FrameLoader::updateHistory* to record a redirect even if it doesn't create
2845 a new history item of its own.
2847 * loader/FrameLoaderTypes.h: See above.
2850 * page/DragController.cpp:
2851 (WebCore::DragController::performDrag):
2852 * svg/graphics/SVGImage.cpp:
2853 (WebCore::SVGImage::dataChanged): Updated for extra parameter.
2855 2009-02-02 David Hyatt <hyatt@apple.com>
2857 Make calcPrefWidths non-abstract on RenderBox and just give it RenderContainer's implementation.
2858 Remove RenderSVGContainer's implementation, since it was never called.
2860 Reviewed by Beth Dakin
2862 * rendering/RenderBox.cpp:
2863 (WebCore::RenderBox::minPrefWidth):
2864 * rendering/RenderBox.h:
2865 (WebCore::RenderBox::calcPrefWidths):
2866 * rendering/RenderContainer.h:
2867 (WebCore::RenderContainer::moveChildNode):
2868 * rendering/RenderSVGContainer.h:
2870 2009-02-02 Anders Carlsson <andersca@apple.com>
2872 Reviewed by Sam Weinig.
2874 Add jsObjectForPluginElement to ScriptController, and have createScriptObjectForPluginElement call it.
2877 * bindings/js/ScriptController.cpp:
2878 (WebCore::ScriptController::createScriptObjectForPluginElement):
2879 (WebCore::ScriptController::jsObjectForPluginElement):
2880 * bindings/js/ScriptController.h:
2882 2009-02-02 Darin Fisher <darin@chromium.org>
2884 Reviewed by Eric Seidel (and Ojan Vafai).
2886 https://bugs.webkit.org/show_bug.cgi?id=23696
2887 Select element doesn't show new value when focus is switched in
2890 Fix PopupMenuChromium to hide itself before calling valueChanged. This
2891 better matches the behavior of the other ports.
2893 * platform/chromium/PopupMenuChromium.cpp:
2894 (WebCore::PopupListBox::create):
2895 (WebCore::PopupContainer::PopupContainer):
2896 (WebCore::PopupContainer::showPopup):
2897 (WebCore::PopupContainer::hidePopup):
2898 (WebCore::PopupListBox::abandon):
2899 (WebCore::PopupListBox::acceptIndex):
2900 (WebCore::PopupMenu::show):
2901 (WebCore::PopupMenu::hide):
2903 2009-02-02 David Hyatt <hyatt@apple.com>
2905 Make sure scrollWidth/Height just return 0 for inline flows.
2907 Reviewed by Beth Dakin
2909 * rendering/RenderBox.cpp:
2910 (WebCore::RenderBox::scrollWidth):
2911 (WebCore::RenderBox::scrollHeight):
2913 2009-02-02 Darin Adler <darin@apple.com>
2915 Reviewed by Dave Hyatt.
2917 Bug 23676: Speed up uses of reserveCapacity on new vectors by adding a new reserveInitialCapacity
2918 https://bugs.webkit.org/show_bug.cgi?id=23676
2920 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2921 (WebCore::cssPropertyName):
2922 * css/CSSMutableStyleDeclaration.cpp:
2923 (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
2924 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
2925 * css/CSSPrimitiveValue.cpp:
2926 (WebCore::CSSPrimitiveValue::cssText):
2927 * css/CSSStyleDeclaration.cpp:
2928 (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
2929 * css/CSSStyleSelector.cpp:
2930 (WebCore::CSSStyleSelector::sortMatchedRules):
2932 (WebCore::Document::formElementsState):
2933 * dom/NamedAttrMap.h:
2934 (WebCore::NamedAttrMap::reserveInitialCapacity):
2935 * editing/TextIterator.cpp:
2936 (WebCore::CharacterIterator::string):
2937 (WebCore::SearchBuffer::SearchBuffer):
2938 (WebCore::plainTextToMallocAllocatedBuffer):
2939 * editing/markup.cpp:
2940 (WebCore::joinMarkups):
2941 * history/HistoryItem.cpp:
2942 (WebCore::HistoryItem::HistoryItem):
2943 * html/HTMLTokenizer.cpp:
2944 (WebCore::Token::addAttribute):
2945 * loader/appcache/DOMApplicationCache.cpp:
2946 (WebCore::DOMApplicationCache::items):
2947 * page/SecurityOrigin.cpp:
2948 (WebCore::SecurityOrigin::toString):
2949 * page/mac/AccessibilityObjectWrapper.mm:
2951 * platform/graphics/FontCache.cpp:
2952 (WebCore::FontCache::purgeInactiveFontData):
2953 (WebCore::FontCache::invalidate):
2954 * platform/network/FormData.cpp:
2955 (WebCore::FormData::deepCopy):
2956 * platform/network/HTTPHeaderMap.cpp:
2957 (WebCore::HTTPHeaderMap::copyData):
2958 * platform/network/ResourceRequestBase.cpp:
2959 (WebCore::ResourceRequestBase::copyData):
2960 * platform/network/mac/FormDataStreamMac.mm:
2961 (WebCore::formCreate):
2962 * xml/XPathNodeSet.cpp:
2963 (WebCore::XPath::NodeSet::sort):
2964 Use reserveInitialCapacity instead of of reserveCapacity in all these call sites,
2965 which are working on new vectors that are guaranteed not to be empty.
2967 2009-02-26 Jon Honeycutt <jhoneycutt@apple.com>
2969 Build fix after r40486.
2971 Rubber-stamped by Ada Chan.
2973 * dom/Document.h: Chnaged HitTestRequest to a class from a struct.
2974 * page/EventHandler.h: Ditto.
2975 * rendering/EllipsisBox.h: Ditto.
2976 * rendering/InlineBox.h: Ditto.
2977 * rendering/InlineFlowBox.h: Ditto.
2978 * rendering/RenderLayer.h: Ditto.
2980 2009-02-02 Darin Adler <darin@apple.com>
2982 Reviewed by Anders Carlsson.
2984 Bug 23694: REGRESSION: Running svg/custom tests crashes, randomly, depending on the order of tests
2985 https://bugs.webkit.org/show_bug.cgi?id=23694
2987 * dom/ContainerNode.cpp:
2988 (WebCore::ContainerNode::insertedIntoDocument): Added back the call through to EventTargetNode.
2989 (WebCore::ContainerNode::removedFromDocument): Ditto.
2990 * dom/EventTargetNode.cpp:
2991 (WebCore::EventTargetNode::insertedIntoDocument): Changed this to not call through to Node.
2992 (WebCore::EventTargetNode::removedFromDocument): Ditto.
2994 (WebCore::Node::insertedIntoDocument): Updated comment.
2995 (WebCore::Node::removedFromDocument): Ditto.
2997 2009-02-02 Anders Carlsson <andersca@apple.com>
2999 Reviewed by Dan Bernstein.
3001 More plug-in cleanup.
3003 * WebCore.NPAPI.exp:
3006 * bindings/objc/DOM.mm:
3007 * bindings/objc/DOMPrivate.h:
3008 Remove methods that WebKit doesn't use anymore.
3010 2009-02-02 Jay Campan <jcampan@chromium.org>
3012 Reviewed by Eric Seidel.
3014 Clean up PopupMenuChromium a little.
3015 https://bugs.webkit.org/show_bug.cgi?id=23653
3017 No functional changes, only code cleanup, thus no tests.
3019 * platform/chromium/PopupMenuChromium.cpp:
3021 (WebCore::PopupListBox::PopupListBox):
3022 (WebCore::PopupContainer::create):
3023 (WebCore::PopupContainer::PopupContainer):
3024 (WebCore::PopupContainer::showPopup):
3025 (WebCore::PopupListBox::handleKeyEvent):
3026 (WebCore::PopupListBox::isSelectableItem):
3027 (WebCore::PopupListBox::selectNextRow):
3028 (WebCore::PopupListBox::selectPreviousRow):
3029 (WebCore::PopupMenu::show):
3030 * platform/chromium/PopupMenuChromium.h:
3032 2009-02-02 Anders Carlsson <andersca@apple.com>
3034 Reviewed by Dan Bernstein.
3036 Change createPlugin to take a HTMLPlugInElement, and createJavaAppletWidget to take a HTMLAppletElement.
3038 * WebCore.xcodeproj/project.pbxproj:
3039 * loader/EmptyClients.h:
3040 (WebCore::EmptyFrameLoaderClient::createPlugin):
3041 (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
3042 * loader/FrameLoader.cpp:
3043 (WebCore::toPlugInElement):
3044 (WebCore::FrameLoader::loadPlugin):
3045 (WebCore::FrameLoader::loadItem):
3046 * loader/FrameLoader.h:
3047 * loader/FrameLoaderClient.h:
3049 2009-02-02 Genevieve Mak <gen@staikos.net>
3051 Reviewed by George Staikos.
3053 https://bugs.webkit.org/show_bug.cgi?id=23508
3054 Returns Blank Page for all "about" protocols
3056 * loader/MainResourceLoader.cpp:
3057 Fix shouldLoadAsEmptyDocument() to return a blank page for an empty
3058 url or about:blank only (for now, exclusively for Torch Mobile platform).
3060 2009-02-02 Brent Fulgham <bfulgham@webkit.org>
3062 Reviewed by George Staikos.
3064 Fixes https://bugs.webkit.org/show_bug.cgi?id=23691.
3065 Correct build break caused by @r40366 by moving the
3066 common code implmentations from GraphicsContextCGWin.cpp
3067 into the base Windows class (GraphicsContextWin.cpp). Also
3068 move inTransparencyLayer since it is identical in both
3071 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
3072 Added member m_shouldIncludeChildWindows to Windows version,
3073 similar to GraphicsContextPlatformPrivateCG.h.
3074 * platform/graphics/win/GraphicsContextCGWin.cpp: Remove the
3075 implementations of shouldIncludeChildWindows,
3076 setShouldIncludeChildWindows, and inTransparencyLayer.
3077 * platform/graphics/win/GraphicsContextCairoWin.cpp: Remove
3078 the implementation of inTransparencyLayer.
3079 * platform/graphics/win/GraphicsContextWin.cpp: Move common code
3080 from GraphicsContextCGWin.cpp and GraphicsContextCairoWin.cpp.
3081 (WebCore::GraphicsContext::inTransparencyLayer):
3082 (WebCore::GraphicsContext::setShouldIncludeChildWindows):
3083 (WebCore::GraphicsContext::shouldIncludeChildWindows):
3085 2009-02-02 Darin Adler <darin@apple.com>
3087 Try to fix Wx build, and maybe Chromium build too.
3089 * WebCore.scons: Added IdentifierRep.cpp.
3090 * WebCoreSources.bkl: Ditto.
3092 2009-02-02 Darin Adler <darin@apple.com>
3094 Try to fix Wx build.
3096 * html/HTMLAreaElement.cpp: Added missing include of "Path.h".
3098 2009-02-02 Adam Treat <adam.treat@torchmobile.com>
3100 Reviewed by Nikolas Zimmermann.
3102 https://bugs.webkit.org/show_bug.cgi?id=23587
3103 Refactor HitTestRequest to eliminate all the ugly boolean arguments and
3104 use an enum bitflag instead. Cleanup all the code that constructs the
3105 various HitTestRequests to make the code more readable.
3108 (WebCore::Document::elementFromPoint):
3109 (WebCore::Document::prepareMouseEvent):
3110 * editing/SelectionController.cpp:
3111 (WebCore::SelectionController::contains):
3112 * page/AccessibilityRenderObject.cpp:
3113 (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
3114 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
3115 * page/EventHandler.cpp:
3116 (WebCore::EventHandler::eventMayStartDrag):
3117 (WebCore::EventHandler::updateSelectionForMouseDrag):
3118 (WebCore::EventHandler::hitTestResultAtPoint):
3119 (WebCore::EventHandler::handleMousePressEvent):
3120 (WebCore::EventHandler::handleMouseDoubleClickEvent):
3121 (WebCore::EventHandler::handleMouseMoveEvent):
3122 (WebCore::EventHandler::handleMouseReleaseEvent):
3123 (WebCore::EventHandler::updateDragAndDrop):
3124 (WebCore::EventHandler::handleWheelEvent):
3125 (WebCore::EventHandler::sendContextMenuEvent):
3126 (WebCore::EventHandler::hoverTimerFired):
3127 (WebCore::EventHandler::handleDrag):
3128 * page/EventHandler.h:
3129 * rendering/HitTestRequest.h:
3130 (WebCore::HitTestRequest::):
3131 (WebCore::HitTestRequest::HitTestRequest):
3132 (WebCore::HitTestRequest::readOnly):
3133 (WebCore::HitTestRequest::active):
3134 (WebCore::HitTestRequest::mouseMove):
3135 (WebCore::HitTestRequest::mouseUp):
3136 (WebCore::HitTestRequest::ignoreClipping):
3137 * rendering/RenderFrameSet.cpp:
3138 (WebCore::RenderFrameSet::nodeAtPoint):
3139 * rendering/RenderLayer.cpp:
3140 (WebCore::RenderLayer::hitTest):
3141 (WebCore::RenderLayer::hitTestLayer):
3142 (WebCore::RenderLayer::updateHoverActiveState):
3144 2009-02-02 George Staikos <george.staikos@torchmobile.com>
3146 Reviewed by Niko Zimmermann.
3148 Fix WML build by including the inlined renderStyle().
3150 * wml/WMLOptGroupElement.cpp:
3151 * wml/WMLOptionElement.cpp:
3153 2009-02-02 Darin Adler <darin@apple.com>
3155 Reviewed by Niko Zimmermann.
3157 Bug 23686: REGRESSION (r40475): Failure in fast/xpath/4XPath/Core/test_core_functions.html
3158 https://bugs.webkit.org/show_bug.cgi?id=23686
3159 rdar://problem/6547971
3161 Also fix other XPath tests that are crashing.
3163 * xml/XPathFunctions.cpp:
3164 (WebCore::XPath::FunLang::evaluate): Fix order of arguments when creating QualifiedName.
3165 * xml/XPathStep.cpp:
3166 (WebCore::XPath::Step::nodesInAxis): Use createAttrIfNeeded() rather than attr() since we
3167 need to make Attr nodes here. Yuck!
3169 2009-02-02 Yichao Yin <yichao.yin@torchmobile.com.cn>
3171 Reviewed by Niko Zimmermann.
3173 Test: wml/input-format.html
3175 * wml/WMLInputElement.cpp:
3176 (WebCore::WMLInputElement::WMLInputElement):
3177 (WebCore::formatCodes):
3178 (WebCore::WMLInputElement::dispatchBlurEvent):
3179 (WebCore::WMLInputElement::parseMappedAttribute):
3180 (WebCore::WMLInputElement::attach):
3181 (WebCore::WMLInputElement::defaultEventHandler):
3182 (WebCore::WMLInputElement::init):
3183 (WebCore::WMLInputElement::validateInputMask):
3184 (WebCore::WMLInputElement::isConformedToInputMask):
3185 (WebCore::WMLInputElement::cursorPositionToMaskIndex):
3186 * wml/WMLInputElement.h:
3188 2009-02-02 Brent Fulgham <bfulgham@webkit.org>
3190 Build fix only, no review.
3192 Fixes https://bugs.webkit.org/show_bug.cgi?id=23685.
3193 Correct build break caused by @r40473.
3195 * page/win/FrameWin.cpp: Correct access for adjustPageHeight.
3196 (WebCore::computePageRectsForFrame):
3198 2009-02-02 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3200 Not reviewed. Fix WML enabled builds.
3201 FrameLoader::urlSelected() got a new parameter: lockBackForwardList. Pass 'false', as HTMLAnchorElement does.
3203 * wml/WMLAElement.cpp:
3204 (WebCore::WMLAElement::defaultEventHandler):
3206 2009-02-02 Alexey Proskuryakov <ap@webkit.org>
3208 Reviewed by Darin Adler.
3210 <rdar://problem/6451610> Reloading a AppCache page doesn't ever hit the server
3212 Not easily testable.
3214 * loader/appcache/ApplicationCacheGroup.cpp:
3215 (WebCore::ApplicationCacheGroup::createResourceHandle): A new method that creates a resource
3216 handle in a manner that is closer to what CachedResource does. We now make conditional
3217 requests for better performance, and set max-age to ensure that stale responses are not used.
3218 (WebCore::ApplicationCacheGroup::update): Use the new createResourceHandle() method.
3219 (WebCore::ApplicationCacheGroup::didReceiveResponse): If the response code for the resource
3220 is 304, take it from the newest cache.
3221 (WebCore::ApplicationCacheGroup::didFail): Pre-compute request URL.
3222 (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Don't create a resource for
3223 the manifest if the response code was 304 - it won't be needed.
3224 (WebCore::ApplicationCacheGroup::didReceiveManifestData): Replaced an assertion that
3225 m_manifestResource is not null with a check.
3226 (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): Treat null m_manifestResource as
3227 an indication that the response was 304.
3228 (WebCore::ApplicationCacheGroup::startLoadingEntry): Use createResourceHandle().
3230 * loader/appcache/ApplicationCacheGroup.h: Added createResourceHandle().
3232 2009-02-01 Darin Adler <darin@apple.com>
3234 Reviewed by Dave Hyatt.
3236 Bug 23674: Speed up some things based on profiling the page load test
3237 https://bugs.webkit.org/show_bug.cgi?id=23674
3239 * css/CSSStyleSelector.cpp:
3240 (WebCore::CSSStyleSelector::canShareStyleWithElement): Use the newly named cssTarget instead
3241 of the old name, getCSSTarget.
3242 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
3244 * dom/ContainerNode.cpp:
3245 (WebCore::ContainerNode::insertedIntoDocument): Moved code from Node in here rather than
3246 calling through to EventTargetNode::insertedIntoDocument.
3247 (WebCore::ContainerNode::removedFromDocument): Ditto.
3248 (WebCore::ContainerNode::insertedIntoTree): Tweaked a bit.
3249 (WebCore::ContainerNode::removedFromTree): Ditto.
3251 * dom/ContainerNode.h: Moved the constructor definition here and made it inline.
3254 (WebCore::Document::removeAllEventListenersFromAllNodes): Iterate the document element and
3255 its contents only to avoid the document type node. This allows us to remove the virtual
3256 function call to isEventTargetNode from the loop.
3257 (WebCore::Document::setCSSTarget): Changed argument to be an Element rather than Node.
3259 * dom/Document.h: Changed CSS target to be an Element rather than a Node. Renamed
3260 getCSSTarget to cssTarget.
3262 * dom/EventTargetNode.cpp:
3263 (WebCore::EventTargetNode::removeAllEventListenersSlowCase): Renamed and turned the
3264 rare data check into an assertion.
3266 * dom/EventTargetNode.h: Made the fast case of removeAllEventListeners be inline.
3267 Also moved the constructor definition here and made it inline. And added toEventTargetNode,
3268 matching the design of the render tree checked casts. Later we can migrate all callers
3269 from EventTargetNodeCast to toEventTargetNode.
3271 * dom/NamedAttrMap.cpp:
3272 (WebCore::NamedAttrMap::detachAttributesFromElement): Added. Factored out from
3273 clearAttributes, so we could use this loop in cases where we're not clearing the attributes.
3274 (WebCore::NamedAttrMap::~NamedAttrMap): Call detachAttributesFromElement instead of
3275 clearAttributes here.
3276 (WebCore::NamedAttrMap::clearAttributes): Call detachAttributesFromElement here.
3277 (WebCore::NamedAttrMap::detachFromElement): Call detachAttributesFromElement instead of
3278 clearAttributes. We don't need to clear the attributes array just because the element is
3279 going away, so don't.
3280 (WebCore::NamedAttrMap::virtualLength): Added.
3282 * dom/NamedAttrMap.h: Made all the virtual functions inherited from NamedNodeMap be private.
3283 These are all unnecessarily inefficient for use outside the DOM. Changed length to be a
3284 non-virtual function. This was a fairly hot function.
3286 * dom/NamedMappedAttrMap.cpp:
3287 (WebCore::NamedMappedAttrMap::setClass): Changed to use element() function now that the
3288 m_element data member is private.
3290 * dom/NamedMappedAttrMap.h: Made a few functions private. Made the
3291 hasMappedAttributes function non-virtual.
3293 * dom/NamedNodeMap.h: Made length a non-virtual inline function that calls a virtual
3294 function, name virtualLength. This lets NamedAttrMap::length be a non-virtual function.
3297 (WebCore::Node::insertedIntoDocument): Removed call to insertedIntoTree, since it's
3298 only non-empty in subclasses of ContainerNode.
3299 (WebCore::Node::removedFromDocument): Ditto. Also removed setCSSTarget. Since a CSS
3300 target has to be an Element, this can be moved down to ContainerNode (or it could be
3301 moved down to Element for that matter).
3303 * dom/QualifiedName.cpp:
3304 (WebCore::QualifiedName::QualifiedName): Removed double initialization of m_impl.
3306 * dom/QualifiedName.h: Moved the destructor, copy constructor, assignment operator, and
3307 setPrefix function definitions into the header and made them inline.
3309 * html/HTMLAreaElement.cpp:
3310 (WebCore::HTMLAreaElement::mapMouseEvent): Updated since the stored region is now
3312 (WebCore::HTMLAreaElement::accessKey): Use AtomicString.
3313 (WebCore::HTMLAreaElement::setAccessKey): Ditto.
3314 (WebCore::HTMLAreaElement::alt): Ditto.
3315 (WebCore::HTMLAreaElement::setAlt): Ditto.
3316 (WebCore::HTMLAreaElement::coords): Ditto.
3317 (WebCore::HTMLAreaElement::setCoords): Ditto.
3318 (WebCore::HTMLAreaElement::setHref): Ditto.
3319 (WebCore::HTMLAreaElement::shape): Ditto.
3320 (WebCore::HTMLAreaElement::setShape): Ditto.
3321 (WebCore::HTMLAreaElement::setTarget): Ditto.
3323 * html/HTMLAreaElement.h: Use AtomicString in the getter and setter DOM operations.
3324 Change the region data member to be an OwnPtr<Path> instead of a Path to optimize
3325 the common case where an area element is parsed but never hit-tested. This could
3326 also have been done by changing the Path class's null case to be more efficient,
3327 but this seems fine.
3329 * html/HTMLViewSourceDocument.cpp:
3330 (WebCore::HTMLViewSourceDocument::createContainingTable): Use addAttribute instead
3332 (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Ditto.
3333 (WebCore::HTMLViewSourceDocument::addLine): Ditto.
3334 (WebCore::HTMLViewSourceDocument::addLink): Ditto.
3336 * loader/FrameLoader.cpp:
3337 (WebCore::FrameLoader::gotoAnchor): Use cssTarget under its new name instead
3338 of its old name getCSSTarget.
3340 * platform/graphics/GlyphWidthMap.cpp:
3341 (WebCore::GlyphWidthMap::locatePageSlowCase): Refactored from locatePage.
3343 * platform/graphics/GlyphWidthMap.h: Made most of this class inline.
3344 Changed m_pages to use OwnPtr.
3346 * platform/text/PlatformString.h: Remove include no longer needed since
3347 StringImpl.h includes it.
3349 * platform/text/StringImpl.cpp:
3350 (WebCore::StringImpl::createStrippingNullCharactersSlowCase): Refactored
3351 from createStrippingNullCharacters.
3352 * platform/text/StringImpl.h: Moved the definition of
3353 createStrippingNullCharacters here and made it inline.
3355 * rendering/RenderObject.cpp:
3356 (WebCore::RenderObject::firstLineStyleSlowCase): Refactored from
3359 * rendering/RenderObject.h: Moved the definition of the firstLineStyle
3360 function here and made it inline. Moved the definition of the
3361 documentBeingDestroyed function here and made it inline.
3363 * svg/SVGSVGElement.cpp:
3364 (WebCore::SVGSVGElement::getCTM): Use getAttributeItem instead of
3365 getNamedItem here since it accomplishes the same thing but is more efficient.
3366 (WebCore::SVGSVGElement::getScreenCTM): Ditto.
3367 * svg/SVGStyledElement.cpp:
3368 (WebCore::SVGStyledElement::getPresentationAttribute): Ditto.
3370 * xml/XPathFunctions.cpp:
3371 (WebCore::XPath::FunLang::evaluate): Use getAttributeItem instead of
3374 * xml/XPathStep.cpp:
3375 (WebCore::XPath::Step::nodesInAxis): Use attributeItem instead of item here.
3377 2009-02-02 Holger Hans Peter Freyther <zecke@selfish.org>
3379 Reviewed by Darin Adler.
3381 Move Frame::forceLayout, Frame::adjustPageHeight and Frame::forceLayoutWithPageWidthRange to FrameView
3383 https://bugs.webkit.org/show_bug.cgi?id=23428
3385 FrameView::forceLayout could be killed but the comment might
3386 contain a value over the the plain FrameView::layout...
3388 Adjust the WebCore/WebKit consumers of these methods.
3392 (WebCore::Frame::setPrinting):
3394 * page/FrameView.cpp:
3395 (WebCore::FrameView::forceLayout):
3396 (WebCore::FrameView::forceLayoutWithPageWidthRange):
3397 (WebCore::FrameView::adjustPageHeight):
3399 * page/PrintContext.cpp:
3400 (WebCore::PrintContext::computePageRects):
3402 2009-02-01 Dan Bernstein <mitz@apple.com>
3404 Reviewed by John Sullivan.
3406 - fix <rdar://problem/6546625> REGRESSION (r40432): iframes added to global history at haaretz.co.il
3408 Fixes http/tests/navigation/multiple-back-forward-entries.html
3410 r40432 added a parameter to FrameLoader::scheduleLocationChange() and
3411 failed to update all call sites.
3413 * bindings/js/JSDOMWindowBase.cpp:
3414 (WebCore::createWindow): Pass the lockBackForwardHistory parameter,
3415 giving it the same value as the lockHistory parameter.
3416 (windowProtoFuncOpen): Ditto.
3417 * bindings/js/JSDOMWindowCustom.cpp:
3418 (WebCore::JSDOMWindow::setLocation): Ditto.
3419 * bindings/js/JSDocumentCustom.cpp:
3420 (WebCore::JSDocument::setLocation): Ditto.
3421 * loader/FrameLoader.cpp:
3422 (WebCore::FrameLoader::requestFrame): Ditto.
3424 2009-01-31 Dan Bernstein <mitz@apple.com>
3426 Reviewed by Oliver Hunt.
3428 - fix <rdar://problem/6546549> Eliminate some RenderText::width() overhead from findNextLineBreak()
3430 On the PLT, this results in 0.36x the number of virtual function calls
3431 to RenderText::width() and 0.69x the number of calls to
3432 Font::isFixedPitch(), but makes 1.0004x the number of calls to
3435 * rendering/RenderText.cpp:
3436 (WebCore::RenderText::width): Replaced bounds checks on 'from' and 'len'
3438 * rendering/bidi.cpp:
3439 (WebCore::textWidth): Added this inlined helper function which calls
3440 Font::width() directly in the non-fixed-pitch, non-full-range case, and
3441 otherwise calls RenderText::width().
3442 (WebCore::RenderBlock::findNextLineBreak): Cache whether the font has
3443 fixed pitch (in which case RenderText::width() will be called in order
3444 to take advantage of the widthFromCache() optimization for fixed-pitch
3445 fonts). Replaced all calls to RenderText::width() with calls to the
3446 textWidth() helper function.
3448 2009-01-31 David Hyatt <hyatt@apple.com>
3450 Inline all of the setNeedsLayout method and its associated functions. Also inline setChildNeedsLayout
3451 and setNeedsPositionedMovementLayout.
3453 Reviewed by Dan Bernstein
3455 * rendering/RenderObject.cpp:
3456 (WebCore::RenderObject::setLayerNeedsFullRepaint):
3457 * rendering/RenderObject.h:
3458 (WebCore::RenderObject::setNeedsLayout):
3459 (WebCore::RenderObject::setChildNeedsLayout):
3460 (WebCore::RenderObject::setNeedsPositionedMovementLayout):
3461 (WebCore::objectIsRelayoutBoundary):
3462 (WebCore::RenderObject::markContainingBlocksForLayout):
3464 2009-01-31 Darin Adler <darin@apple.com>
3468 * loader/FrameLoader.cpp: Moved FrameLoaderClient::hasHTMLView in here.
3469 We need it to not be an inline. Sadly, FrameLoaderClient.cpp was prematurely
3470 deleted and I don't want to bring it back just to fix the build.
3472 * loader/FrameLoaderClient.h: Rearrange virtual functions and corrected
3473 a possibly-confusing comment.
3475 2009-01-31 Adam Treat <adam.treat@torchmobile.com>
3477 Reviewed by David Hyatt.
3479 https://bugs.webkit.org/show_bug.cgi?id=23664
3480 Remove unused dead code from RenderTable class. The dead code includes
3481 two enums and the associated member variables as well as one getter function.
3483 * rendering/RenderTable.cpp:
3484 (WebCore::RenderTable::RenderTable):
3485 * rendering/RenderTable.h:
3487 2009-01-31 David Hyatt <hyatt@apple.com>
3489 More removal of code from RenderContainer. Move removeLeftoverAnonymousBlock down into RenderBlock.
3490 Move destroyLeftoverChildren into the RenderObjectChildList. Convert all containers to use the
3491 RenderObjectChildList.
3493 Reviewed by Sam Weinig
3495 * WebCore.xcodeproj/project.pbxproj:
3496 * rendering/RenderBlock.cpp:
3497 (WebCore::RenderBlock::destroy):
3498 (WebCore::RenderBlock::addChild):
3499 (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
3500 (WebCore::RenderBlock::layoutPositionedObjects):
3501 (WebCore::RenderBlock::childBecameNonInline):
3502 * rendering/RenderBlock.h:
3503 * rendering/RenderBox.cpp:
3504 (WebCore::RenderBox::layout):
3505 * rendering/RenderBox.h:
3506 (WebCore::RenderBox::firstChildBox):
3507 (WebCore::RenderBox::lastChildBox):
3508 * rendering/RenderContainer.cpp:
3509 (WebCore::RenderContainer::addChild):
3510 (WebCore::RenderContainer::removeChildNode):
3511 (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
3512 (WebCore::RenderContainer::appendChildNode):
3513 (WebCore::RenderContainer::insertChildNode):
3514 (WebCore::RenderContainer::positionForCoordinates):
3515 (WebCore::RenderContainer::addLineBoxRects):
3516 (WebCore::RenderContainer::collectAbsoluteLineBoxQuads):
3517 * rendering/RenderContainer.h:
3518 (WebCore::RenderContainer::virtualChildren):
3519 (WebCore::RenderContainer::children):
3520 * rendering/RenderInline.cpp:
3521 (WebCore::RenderInline::destroy):
3522 * rendering/RenderInline.h:
3523 (WebCore::RenderInline::layout):
3524 * rendering/RenderMedia.cpp:
3525 (WebCore::RenderMedia::destroy):
3526 (WebCore::RenderMedia::children):
3527 * rendering/RenderMedia.h:
3528 (WebCore::RenderMedia::virtualChildren):
3529 * rendering/RenderObject.cpp:
3530 (WebCore::RenderObject::destroy):
3531 (WebCore::RenderObject::layout):
3532 * rendering/RenderObject.h:
3533 (WebCore::RenderObject::firstChild):
3534 (WebCore::RenderObject::lastChild):
3535 (WebCore::RenderObject::virtualChildren):
3536 (WebCore::RenderObject::canHaveChildren):
3537 * rendering/RenderObjectChildList.cpp: Added.
3538 (WebCore::RenderObjectChildList::destroyLeftoverChildren):
3539 * rendering/RenderObjectChildList.h:
3540 * rendering/RenderReplaced.h:
3541 (WebCore::RenderReplaced::canHaveChildren):
3542 * rendering/RenderSVGContainer.cpp:
3543 (WebCore::RenderSVGContainer::RenderSVGContainer):
3544 (WebCore::RenderSVGContainer::destroy):
3545 (WebCore::RenderSVGContainer::removeChildNode):
3546 (WebCore::RenderSVGContainer::appendChildNode):
3547 (WebCore::RenderSVGContainer::insertChildNode):
3548 * rendering/RenderSVGContainer.h:
3549 (WebCore::RenderSVGContainer::virtualChildren):
3550 (WebCore::RenderSVGContainer::children):
3552 2009-01-31 David Hyatt <hyatt@apple.com>
3554 Fix for https://bugs.webkit.org/show_bug.cgi?id=11363
3556 Remove the hacks in table code around the DeleteButtonController and fix tables so that positioned children don't get wrapped in anonymous objects.
3557 With the removal of a non-positioned DeleteButtonController renderer, table layout can be tightened up to only lay out table sections. Table section
3558 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
3559 be properly ignored.
3561 Reviewed by Oliver Hunt
3563 * editing/DeleteButtonController.cpp:
3564 (WebCore::DeleteButtonController::createDeletionUI):
3565 * rendering/RenderTable.cpp:
3566 (WebCore::RenderTable::addChild):
3567 (WebCore::RenderTable::layout):
3568 * rendering/RenderTableSection.cpp:
3569 (WebCore::RenderTableSection::layout):
3570 * rendering/RenderTableSection.h:
3572 2009-01-31 Adam Treat <adam.treat@torchmobile.com>
3574 Reviewed by Darin Adler.
3576 https://bugs.webkit.org/show_bug.cgi?id=23663
3577 Add a void toRenderBox() method which catches unnecessary casts at compile
3578 time and also fix the four cases where this was happening.
3580 * rendering/RenderBlock.cpp:
3581 (WebCore::RenderBlock::determineHorizontalPosition):
3582 * rendering/RenderBox.h:
3583 * rendering/RenderFlexibleBox.cpp:
3584 (WebCore::RenderFlexibleBox::layoutHorizontalBox):
3585 * rendering/RenderInline.cpp:
3586 (WebCore::RenderInline::updateHitTestResult):
3587 * rendering/RenderLayer.cpp:
3588 (WebCore::RenderLayer::updateLayerPosition):
3590 2009-01-30 Adam Barth <abarth@webkit.org>
3592 Reviewed by Sam Weinig.
3594 Add a pref to disable web security.
3598 (WebCore::Document::initSecurityContext):
3599 * page/SecurityOrigin.cpp:
3600 (WebCore::SecurityOrigin::SecurityOrigin):
3601 (WebCore::SecurityOrigin::canAccess):
3602 (WebCore::SecurityOrigin::canRequest):
3603 (WebCore::SecurityOrigin::grantUniversalAccess):
3604 * page/SecurityOrigin.h:
3605 * page/Settings.cpp:
3606 (WebCore::Settings::Settings):
3607 (WebCore::Settings::setWebSecurityEnabled):
3609 (WebCore::Settings::isWebSecurityEnabled):
3611 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
3615 Move the inline virtual destructor after a non-inline virtual
3616 function so that the symbol for the vtable is not marked as a
3617 weakly exported symbol.
3619 This trick was previously used at revision 36122 in JSObject.h
3621 * loader/FrameLoaderClient.h:
3622 (WebCore::FrameLoaderClient::~FrameLoaderClient):
3624 2009-01-30 Oliver Hunt <oliver@apple.com>
3626 Reviewed by Stephanie Lewis
3628 Inline SimpleFontData::widthForGlyph for a minor page load improvement.
3630 * platform/graphics/SimpleFontData.cpp:
3631 * platform/graphics/SimpleFontData.h:
3632 (WebCore::SimpleFontData::widthForGlyph):
3634 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
3636 Build fix for WX and maybe even Windows.
3638 * WebCore.vcproj/WebCore.vcproj:
3639 * WebCoreSources.bkl:
3641 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
3643 Reviewed by Darin Adler.
3645 Move Frame::sendResizeEvent and Frame::sendScrollEvent to EventHandler
3647 Carry out the move and catch up in two call sites.
3650 * page/EventHandler.cpp:
3651 (WebCore::EventHandler::sendResizeEvent):
3652 (WebCore::EventHandler::sendScrollEvent):
3653 * page/EventHandler.h:
3656 * page/FrameView.cpp:
3657 (WebCore::FrameView::performPostLayoutTasks):
3658 (WebCore::FrameView::valueChanged):
3660 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
3662 Reviewed by Darin Adler.
3664 Move Frame::isFrameSet to Document::isFrameSet
3666 Changed the FrameLoader callsite. I assume that as this
3667 point m_frame.document() might return a null pointer. Change
3668 the condition to either not having a document or not having a
3669 frame set. This should be semantically equivalent to the
3672 Make Document::body() const to be able to call it from within
3673 Document::isFrameSet. Leave the isHTMLDocument() check as this
3674 is a stronger condition than simply having a HTMLElement in the
3679 (WebCore::Document::isFrameSet):
3680 (WebCore::Document::body):
3682 * loader/FrameLoader.cpp:
3683 (WebCore::FrameLoader::shouldScrollToAnchor):
3684 * loader/archive/cf/LegacyWebArchive.cpp:
3685 (WebCore::LegacyWebArchive::createFromSelection):
3689 2009-01-30 Aurelian Maga <aurelianmaga@yahoo.com>
3691 Reviewed by Holger Freyther.
3693 [GTK] Logic fixes and build fixes
3695 https://bugs.webkit.org/show_bug.cgi?id=22022
3697 Catch up with the internal GeoLocation API and fix the logic of
3698 the previous version.
3700 * platform/gtk/GeolocationServiceGtk.cpp:
3701 (WebCore::GeolocationServiceGtk::startUpdating):
3702 (WebCore::GeolocationServiceGtk::updateLocationInformation):
3703 (WebCore::GeolocationServiceGtk::position_changed):
3705 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
3707 Reviewed by Nikolas Zimmermann.
3709 [GTK] Implement GeolocationService using the Geoclue library
3711 https://bugs.webkit.org/show_bug.cgi?id=22022
3713 Untested implementation of the GeolocationService using the geoclue
3714 library. Velocity handling is completely missing and the accuracy
3715 handling might be wrong.
3717 * platform/gtk/GeolocationServiceGtk.cpp:
3718 (WTF::GeoclueAccuracy):
3719 (WebCore::GeolocationServiceGtk::GeolocationServiceGtk):
3720 (WebCore::GeolocationServiceGtk::~GeolocationServiceGtk):
3721 (WebCore::GeolocationServiceGtk::startUpdating):
3722 (WebCore::GeolocationServiceGtk::stopUpdating):
3723 (WebCore::GeolocationServiceGtk::suspend):
3724 (WebCore::GeolocationServiceGtk::resume):
3725 (WebCore::GeolocationServiceGtk::lastPosition):
3726 (WebCore::GeolocationServiceGtk::lastError):
3727 (WebCore::GeolocationServiceGtk::updateLocationInformation):
3728 (WebCore::GeolocationServiceGtk::updatePosition):
3729 (WebCore::GeolocationServiceGtk::position_changed):
3730 (WebCore::GeolocationServiceGtk::setError):
3731 * platform/gtk/GeolocationServiceGtk.h:
3733 2009-01-30 Mark Rowe <mrowe@apple.com>
3735 Build fix. Declare preferredSize as static.
3737 * platform/text/cf/StringImplCF.cpp:
3738 (WebCore::StringWrapperCFAllocator::preferredSize):
3740 2009-01-30 Darin Adler <darin@apple.com>
3742 Reviewed by Mark Rowe.
3744 Bug 23622: create CFString and NSString objects from WebCore::String without copying the characters
3745 https://bugs.webkit.org/show_bug.cgi?id=23622
3747 * platform/text/cf/StringImplCF.cpp:
3748 (WebCore::StringWrapperCFAllocator::allocator): Added. Returns the allocator.
3749 (WebCore::StringWrapperCFAllocator::retain): Added. Callback for allocator.
3750 (WebCore::StringWrapperCFAllocator::release): Ditto.
3751 (WebCore::StringWrapperCFAllocator::copyDescription): Ditto.
3752 (WebCore::StringWrapperCFAllocator::allocate): Ditto.
3753 (WebCore::StringWrapperCFAllocator::reallocate): Ditto.
3754 (WebCore::StringWrapperCFAllocator::deallocate): Ditto.
3755 (WebCore::StringWrapperCFAllocator::preferredSize): Ditto.
3756 (WebCore::StringWrapperCFAllocator::create): Added. Creates the allocator, but
3757 returns 0 if garbage collection is enabled.
3758 (WebCore::StringImpl::createCFString): Use StringWrapperCFAllocator if possible.
3760 * platform/text/mac/StringImplMac.mm:
3761 (WebCore::StringImpl::operator NSString *): Use CFString and toll-free bridging,
3762 rather than using NSString directly. This lets NSString benefit from the above.
3764 2009-01-30 Darin Adler <darin@apple.com>
3767 (WebCore::Frame::createView): Fix debug build by removing get() from assert.
3769 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
3771 Reviewed by Simon Hausmann.
3773 https://bugs.webkit.org/show_bug.cgi?id=22056
3775 Kill FrameLoaderClient.cpp, move the code over to Frame::createView
3777 FrameLoaderClient is supposed to be an interface, move the
3778 to be shared code to Frame which is a controller and is
3779 allowed to create a FrameView.
3784 * WebCore.xcodeproj/project.pbxproj:
3785 * loader/FrameLoaderClient.cpp: Removed.
3786 * loader/FrameLoaderClient.h:
3787 (WebCore::FrameLoaderClient::~FrameLoaderClient):
3789 (WebCore::Frame::createView):
3792 2009-01-30 Simon Fraser <simon.fraser@apple.com>
3794 Reviewed by Dave Hyatt
3796 https://bugs.webkit.org/show_bug.cgi?id=23357
3798 New files to support accelerated compositing at the RenderLayer
3801 * WebCore.xcodeproj/project.pbxproj:
3802 New files added to project, and run through the sort script.
3804 * rendering/RenderLayerBacking.cpp: Added.
3805 * rendering/RenderLayerBacking.h: Added.
3806 New object to store compositing-related data for a single
3809 * rendering/RenderLayerCompositor.cpp: Added.
3810 * rendering/RenderLayerCompositor.h: Added.
3811 Per-RenderView controller object for compositing hierarchy
3814 2009-01-30 Simon Fraser <simon.fraser@apple.com>
3816 Reviewed by Dave Hyatt
3818 https://bugs.webkit.org/show_bug.cgi?id=23356
3820 Add new files related to accelerated compositing:
3822 * WebCore.xcodeproj/project.pbxproj:
3823 Add the files to the project. Also add ColorCG.cpp, for the
3824 Color(CGColorRef) constructor.
3826 * platform/graphics/GraphicsLayer.cpp: Added.
3827 * platform/graphics/GraphicsLayer.h: Added.
3828 GraphicsLayer is a platform abstraction for a hardware-backed
3831 * platform/graphics/GraphicsLayerClient.h: Added.
3832 Client of GraphicsLayer, allowing GraphicsLayer to call out
3835 * platform/graphics/mac/GraphicsLayerCA.h: Added.
3836 * platform/graphics/mac/GraphicsLayerCA.mm: Added.
3837 Mac Core Animation implementation of GraphicsLayer.
3839 * platform/graphics/mac/WebLayer.h: Added.
3840 * platform/graphics/mac/WebLayer.mm: Added.
3841 * platform/graphics/mac/WebTiledLayer.h: Added.
3842 * platform/graphics/mac/WebTiledLayer.mm: Added.
3843 Subclasses of CALayer and CATiledLayer -- helpers for the
3844 GraphicsLayerCA implementation.
3846 2009-01-30 Geoffrey Garen <ggaren@apple.com>
3848 Reviewed by Sam Weinig.
3850 Split "lockHistory" into "lockHistory" and "lockBackForwardList" in
3851 preparation for setting them differently during a redirect.
3854 * bindings/js/JSHTMLFormElementCustom.cpp:
3855 (WebCore::JSHTMLFormElement::submit):
3856 * bindings/js/JSLocationCustom.cpp:
3857 (WebCore::navigateIfAllowed):
3858 (WebCore::JSLocation::setHref):
3859 (WebCore::JSLocation::setProtocol):
3860 (WebCore::JSLocation::setHost):
3861 (WebCore::JSLocation::setHostname):
3862 (WebCore::JSLocation::setPort):
3863 (WebCore::JSLocation::setPathname):
3864 (WebCore::JSLocation::setSearch):
3865 (WebCore::JSLocation::setHash):
3866 (WebCore::JSLocation::replace):
3867 (WebCore::JSLocation::assign):
3868 * html/HTMLAnchorElement.cpp:
3869 (WebCore::HTMLAnchorElement::defaultEventHandler):
3870 * html/HTMLFormElement.cpp:
3871 (WebCore::HTMLFormElement::submit):
3872 * html/HTMLFormElement.h:
3873 * loader/FrameLoader.cpp:
3874 (WebCore::FormSubmission::FormSubmission):
3875 (WebCore::ScheduledRedirection::ScheduledRedirection):
3876 (WebCore::isBackForwardLoadType):
3877 (WebCore::FrameLoader::createWindow):
3878 (WebCore::FrameLoader::changeLocation):
3879 (WebCore::FrameLoader::urlSelected):
3880 (WebCore::FrameLoader::submitFormAgain):
3881 (WebCore::FrameLoader::submitForm):
3882 (WebCore::FrameLoader::restoreDocumentState):
3883 (WebCore::FrameLoader::scheduleHTTPRedirection):
3884 (WebCore::FrameLoader::scheduleLocationChange):
3885 (WebCore::FrameLoader::scheduleRefresh):
3886 (WebCore::FrameLoader::redirectionTimerFired):
3887 (WebCore::FrameLoader::loadURLIntoChildFrame):
3888 (WebCore::FrameLoader::startRedirectionTimer):
3889 (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
3890 (WebCore::FrameLoader::transitionToCommitted):
3891 (WebCore::FrameLoader::clientRedirected):
3892 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
3893 (WebCore::FrameLoader::loadItem):
3894 * loader/FrameLoader.h:
3895 * loader/FrameLoaderTypes.h:
3897 * page/ContextMenuController.cpp:
3898 (WebCore::ContextMenuController::contextMenuItemSelected):
3899 * svg/SVGAElement.cpp:
3900 (WebCore::SVGAElement::defaultEventHandler):
3902 2009-01-30 Sam Weinig <sam@webkit.org>
3904 Reviewed by Dan Bernstein.
3906 Fix for <rdar://problem/6545095>
3907 ASSERTION FAILED: RenderBlock.h:519: !o || o->isRenderBlock()
3909 Test: fast/block/float/crash-replaced-display-block.html
3911 * rendering/RenderBlock.cpp:
3912 (WebCore::RenderBlock::layoutBlockChildren): Move RenderBlock only code into
3913 isRenderBlock if-statement.
3915 2009-01-30 Chris Fleizach <cfleizach@apple.com>
3917 Reviewed by Oliver Hunt.
3919 Bug 23656: AX hierarchy for iFrames is incorrect
3920 https://bugs.webkit.org/show_bug.cgi?id=23656
3922 The AX hierarchy when an iFrame was present was incorrect. A different scroll area was
3923 returned when going down compared to when going up.
3925 * page/mac/AccessibilityObjectWrapper.mm:
3928 2009-01-30 Adam Treat <adam.treat@torchmobile.com>
3930 Fix Qt build to include new class IdentifierRep introduced in revision 40412.
3934 2009-01-30 Anders Carlsson <andersca@apple.com>
3936 Reviewed by Sam Weinig.
3938 Make IdentifierRep.h a private header, and add symbols needed by WebKit to WebCore.LP64.exp.
3941 * WebCore.xcodeproj/project.pbxproj:
3943 2009-01-30 Sam Weinig <sam@webkit.org>
3945 Commit files I forgot to in the previous commit.
3947 * page/AccessibilityRenderObject.cpp:
3948 (WebCore::AccessibilityRenderObject::layoutCount):
3950 (WebCore::Frame::contentRenderer):
3951 (WebCore::Frame::forceLayoutWithPageWidthRange):
3952 * page/FrameView.cpp:
3953 (WebCore::FrameView::layout):
3954 * rendering/RenderBlock.cpp:
3955 (WebCore::RenderBlock::nodeAtPoint):
3956 * rendering/RenderObject.cpp:
3957 (WebCore::RenderObject::repaintUsingContainer):
3958 (WebCore::RenderObject::repaint):
3959 (WebCore::RenderObject::repaintRectangle):
3960 (WebCore::RenderObject::view):
3961 (WebCore::RenderObject::scheduleRelayout):
3962 (WebCore::RenderObject::maximalOutlineSize):
3963 * rendering/SVGRenderSupport.cpp:
3964 (WebCore::clampImageBufferSizeToViewport):
3965 * svg/SVGLength.cpp:
3966 (WebCore::SVGLength::PercentageOfViewport):
3968 2009-01-30 Geoffrey Garen <ggaren@apple.com>
3970 Reviewed by Darin Adler.
3972 More scaffolding for redirect tracking. No behavior change yet.
3974 * bindings/js/JSHTMLFormElementCustom.cpp:
3975 (WebCore::JSHTMLFormElement::submit): Added scaffolding necessary for
3976 redirect checking in a form submission through JS. (Currently, we
3977 just specify "no redirect.")
3979 * bindings/js/ScriptController.h:
3980 * bindings/js/ScriptController.cpp:
3981 (WebCore::ScriptController::processingUserGesture):
3982 (WebCore::ScriptController::processingUserGestureEvent):
3983 (WebCore::ScriptController::isJavaScriptAnchorNavigation): Refactored
3984 user gesture check to make it more clear.
3986 (WebCore::ScriptController::pageIsProcessingUserGesture): Added a helper
3987 for checking if there's a user gesture in any frame on the page (a more
3988 relaxed rule than our popup blocking rule, which requires the user
3989 gesture to occur in the frame that's executing JavaScript.)
3991 * html/HTMLFormElement.h:
3992 * html/HTMLFormElement.cpp:
3993 (WebCore::HTMLFormElement::submit): Added scaffolding necessary for
3994 redirect checking in a form submission through the DOM. (Currently, we
3995 just specify "no redirect.")
3997 * html/HTMLFormElement.idl: Made submit custom so it can participate
3998 in redirect checking.
4000 * loader/FrameLoader.h:
4001 * loader/FrameLoader.cpp:
4002 (WebCore::FormSubmission::FormSubmission): Clarified some names, and
4003 added a "lockHistory" parameter to form submissions, to match other
4006 (WebCore::FrameLoader::submitFormAgain):
4007 (WebCore::FrameLoader::submitForm): Use the lockHistory parameter.
4009 (WebCore::FrameLoader::userGestureHint): Refactored this function for
4010 clarity, and added a FIXME for a change I was too scared to make myself.
4011 (Really, we should just get rid of this function.)
4013 (WebCore::FrameLoader::loadFrameRequestWithFormAndValues): Refactored
4014 to pass a FrameLoadType to form posts, too, so they can participate in
4017 (WebCore::FrameLoader::loadPostRequest):
4018 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
4019 (WebCore::FrameLoader::loadItem): Use the lockHistory parameter.
4021 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
4023 Reviewed by Mark Rowe.
4025 [Gtk+] Use AccessibilityObject::stringValue for the AtkObject name
4027 https://bugs.webkit.org/show_bug.cgi?id=21546
4029 The API documentation at http://library.gnome.org/devel/atk/stable/AtkText.html
4030 states that: "AtkObjects whose text content is simple, unattributed, and very
4031 brief may expose that content via atk_object_get_name instead"
4033 As we are currently not able to always provide a AtkTextInterface
4034 implementation this will make the whole content available to accerciser,
4037 * page/gtk/AccessibilityObjectWrapperAtk.cpp:
4039 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
4041 Unreviewed build fix.
4043 Include string.h for strdup.
4045 * bridge/IdentifierRep.h:
4047 2009-01-30 Sam Weinig <sam@webkit.org>
4049 Reviewed by Dan Bernstein.
4051 Add toRenderView methods for casting RenderObjects to RenderViews. The methods will assert if the object
4052 is not a RenderView.
4055 (WebCore::Document::renderView):
4056 * editing/SelectionController.cpp:
4057 (WebCore::SelectionController::nodeWillBeRemoved):
4058 (WebCore::SelectionController::recomputeCaretRect):
4059 (WebCore::SelectionController::invalidateCaretRect):
4060 (WebCore::SelectionController::focusedOrActiveStateChanged):
4061 * editing/mac/SelectionControllerMac.mm:
4062 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
4063 * rendering/RenderBox.cpp:
4064 (WebCore::RenderBox::styleDidChange):
4065 (WebCore::RenderBox::repaintLayerRectsForImage):
4066 (WebCore::RenderBox::availableHeightUsing):
4067 * rendering/RenderView.h:
4068 (WebCore::toRenderView):
4070 2009-01-30 Simon Fraser <simon.fraser@apple.com>
4072 Reviewed by Dave Hyatt
4074 https://bugs.webkit.org/show_bug.cgi?id=23360
4076 Really use the container-relative repaint rect methods
4077 for repaint during layout
4079 * rendering/RenderObject.h:
4080 (WebCore::RenderObject::LayoutRepainter::LayoutRepainter):
4082 2009-01-30 Anders Carlsson <andersca@apple.com>
4084 Reviewed by Darin Adler.
4086 Get rid of PrivateIdentifier and use IdentifierRep instead.
4088 * bridge/NP_jsobject.cpp:
4092 (_NPN_RemoveProperty):
4095 * bridge/c/c_instance.cpp:
4096 (JSC::Bindings::CInstance::getPropertyNames):
4097 * bridge/c/c_utility.cpp:
4098 (JSC::Bindings::convertNPStringToUTF16):
4099 * bridge/c/c_utility.h:
4100 * bridge/npruntime.cpp:
4101 (_NPN_GetStringIdentifier):
4102 (_NPN_GetStringIdentifiers):
4103 (_NPN_GetIntIdentifier):
4104 (_NPN_IdentifierIsString):
4105 (_NPN_UTF8FromIdentifier):
4106 (_NPN_IntFromIdentifier):
4108 2009-01-30 Anders Carlsson <andersca@apple.com>
4110 Reviewed by Sam Weinig and Darin Adler.
4112 Make IdentifierRep a real class, add necessary class methods.
4114 * bridge/IdentifierRep.cpp:
4115 (WebCore::identifierSet):
4116 Returns a set of all identifiers.
4118 (WebCore::IdentifierRep::isValid):
4119 Return whether an identifier is valid, meaning that it's present in the
4122 * bridge/IdentifierRep.h:
4123 (WebCore::IdentifierRep::isString):
4124 (WebCore::IdentifierRep::number):
4125 (WebCore::IdentifierRep::string):
4126 (WebCore::IdentifierRep::IdentifierRep):
4127 (WebCore::IdentifierRep::):
4129 2009-01-30 Anders Carlsson <andersca@apple.com>
4131 Reviewed by Sam Weinig.
4133 Add IdentifierRep which will be used by both plug-in implementations.
4136 * WebCore.vcproj/WebCore.vcproj:
4137 * WebCore.xcodeproj/project.pbxproj:
4138 * bridge/IdentifierRep.cpp: Added.
4139 (WebCore::IdentifierRep::IdentifierRep):
4140 (WebCore::IdentifierRep::):
4141 (WebCore::intIdentifierMap):
4142 (WebCore::identifierRep):
4143 (WebCore::stringIdentifierMap):
4144 * bridge/IdentifierRep.h: Added.
4145 * bridge/c/c_utility.h:
4146 * platform/text/PlatformString.h:
4147 * platform/text/String.cpp:
4148 (WebCore::String::fromUTF8WithLatin1Fallback):
4150 2009-01-30 Sam Weinig <sam@webkit.org>
4152 Reviewed by David Hyatt.
4154 Add toRenderInline methods for casting RenderObjects to RenderInlines. The methods will assert if the object
4155 is not a RenderInline.
4157 * rendering/InlineFlowBox.cpp:
4158 (WebCore::InlineFlowBox::removeLineBoxFromRenderObject):
4159 (WebCore::InlineFlowBox::extractLineBoxFromRenderObject):
4160 (WebCore::InlineFlowBox::attachLineBoxToRenderObject):
4161 (WebCore::InlineFlowBox::rendererLineBoxes):
4162 (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
4163 (WebCore::InlineFlowBox::paint):
4164 * rendering/LayoutState.cpp:
4165 (WebCore::LayoutState::LayoutState):
4166 * rendering/RenderBlock.cpp:
4167 (WebCore::RenderBlock::paintObject):
4168 (WebCore::RenderBlock::addFocusRingRects):
4169 * rendering/RenderBox.cpp:
4170 (WebCore::RenderBox::offsetFromContainer):
4171 (WebCore::RenderBox::computeRectForRepaint):
4172 (WebCore::RenderBox::containingBlockWidthForPositioned):
4173 (WebCore::RenderBox::containingBlockHeightForPositioned):
4174 (WebCore::RenderBox::calcAbsoluteHorizontalValues):
4175 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
4176 * rendering/RenderContainer.cpp:
4177 (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
4178 * rendering/RenderInline.cpp:
4179 (WebCore::RenderInline::inlineContinuation):
4180 (WebCore::nextContinuation):
4181 (WebCore::RenderInline::splitInlines):
4182 * rendering/RenderInline.h:
4183 (WebCore::toRenderInline):
4184 * rendering/RenderLayer.cpp:
4185 (WebCore::RenderLayer::updateLayerPosition):
4186 (WebCore::RenderLayer::boundingBox):
4187 * rendering/RenderLineBoxList.cpp:
4188 (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
4189 * rendering/RenderText.h:
4190 * rendering/RenderTreeAsText.cpp:
4191 (WebCore::operator<<):
4192 * rendering/bidi.cpp:
4193 (WebCore::RenderBlock::createLineBoxes):
4194 (WebCore::RenderBlock::layoutInlineChildren):
4196 2009-01-30 Darin Fisher <darin@chromium.org>
4198 Reviewed by Eric Seidel.
4200 https://bugs.webkit.org/show_bug.cgi?id=23647
4201 Fix PLATFORM(SKIA)'s ImageSource::clear method to match other ports
4203 * platform/graphics/skia/ImageSourceSkia.cpp:
4204 (WebCore::ImageSource::clear):
4206 2009-01-30 David Hyatt <hyatt@apple.com>
4208 Add toRenderBlock methods for casting RenderObjects to RenderBlocks. The methods will assert if the object
4209 is not a RenderBlock. Also add a toRenderBlock method that takes a RenderBlock but returns void and that
4210 is unimplemented. This method will catch anyone trying to do a cast when the object is already a RenderBlock.
4212 Making this change caught a bad cast in RenderBlock::layoutBlockChildren, so that is also fixed by this
4213 patch with a containsFloats() check.
4215 Reviewed by Darin Adler
4217 * dom/PositionIterator.cpp:
4218 (WebCore::PositionIterator::isCandidate):
4219 * editing/CompositeEditCommand.cpp:
4220 (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
4221 * editing/Editor.cpp:
4222 (WebCore::Editor::hasBidiSelection):
4223 * page/AccessibilityRenderObject.cpp:
4224 (WebCore::AccessibilityRenderObject::anchorElement):
4225 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
4226 * rendering/RenderBlock.cpp:
4227 (WebCore::RenderBlock::styleWillChange):
4228 (WebCore::RenderBlock::removeChild):
4229 (WebCore::RenderBlock::layoutBlock):
4230 (WebCore::RenderBlock::collapseMargins):
4231 (WebCore::RenderBlock::clearFloatsIfNeeded):
4232 (WebCore::RenderBlock::layoutBlockChildren):
4233 (WebCore::RenderBlock::fillBlockSelectionGaps):
4234 (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
4235 (WebCore::RenderBlock::firstLineBlock):
4236 (WebCore::getLineAtIndex):
4237 (WebCore::getHeightForLineCount):
4238 (WebCore::RenderBlock::lineCount):
4239 (WebCore::RenderBlock::adjustForBorderFit):
4240 (WebCore::RenderBlock::clearTruncation):
4241 * rendering/RenderBlock.h:
4242 (WebCore::toRenderBlock):
4243 * rendering/RenderBox.cpp:
4244 (WebCore::RenderBox::offsetFromContainer):
4245 (WebCore::RenderBox::computeRectForRepaint):
4246 (WebCore::RenderBox::calcReplacedHeightUsing):
4247 * rendering/RenderFlexibleBox.cpp:
4248 (WebCore::RenderFlexibleBox::layoutHorizontalBox):
4249 (WebCore::RenderFlexibleBox::layoutVerticalBox):
4250 * rendering/RenderInline.cpp:
4251 (WebCore::RenderInline::inlineContinuation):
<