1 2009-02-02 Darin Adler <darin@apple.com>
3 Reviewed by Anders Carlsson.
5 Bug 23694: REGRESSION: Running svg/custom tests crashes, randomly, depending on the order of tests
6 https://bugs.webkit.org/show_bug.cgi?id=23694
8 * dom/ContainerNode.cpp:
9 (WebCore::ContainerNode::insertedIntoDocument): Added back the call through to EventTargetNode.
10 (WebCore::ContainerNode::removedFromDocument): Ditto.
11 * dom/EventTargetNode.cpp:
12 (WebCore::EventTargetNode::insertedIntoDocument): Changed this to not call through to Node.
13 (WebCore::EventTargetNode::removedFromDocument): Ditto.
15 (WebCore::Node::insertedIntoDocument): Updated comment.
16 (WebCore::Node::removedFromDocument): Ditto.
18 2009-02-02 Anders Carlsson <andersca@apple.com>
20 Reviewed by Dan Bernstein.
27 * bindings/objc/DOM.mm:
28 * bindings/objc/DOMPrivate.h:
29 Remove methods that WebKit doesn't use anymore.
31 2009-02-02 Jay Campan <jcampan@chromium.org>
33 Reviewed by Eric Seidel.
35 Clean up PopupMenuChromium a little.
36 https://bugs.webkit.org/show_bug.cgi?id=23653
38 No functional changes, only code cleanup, thus no tests.
40 * platform/chromium/PopupMenuChromium.cpp:
42 (WebCore::PopupListBox::PopupListBox):
43 (WebCore::PopupContainer::create):
44 (WebCore::PopupContainer::PopupContainer):
45 (WebCore::PopupContainer::showPopup):
46 (WebCore::PopupListBox::handleKeyEvent):
47 (WebCore::PopupListBox::isSelectableItem):
48 (WebCore::PopupListBox::selectNextRow):
49 (WebCore::PopupListBox::selectPreviousRow):
50 (WebCore::PopupMenu::show):
51 * platform/chromium/PopupMenuChromium.h:
53 2009-02-02 Anders Carlsson <andersca@apple.com>
55 Reviewed by Dan Bernstein.
57 Change createPlugin to take a HTMLPlugInElement, and createJavaAppletWidget to take a HTMLAppletElement.
59 * WebCore.xcodeproj/project.pbxproj:
60 * loader/EmptyClients.h:
61 (WebCore::EmptyFrameLoaderClient::createPlugin):
62 (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
63 * loader/FrameLoader.cpp:
64 (WebCore::toPlugInElement):
65 (WebCore::FrameLoader::loadPlugin):
66 (WebCore::FrameLoader::loadItem):
67 * loader/FrameLoader.h:
68 * loader/FrameLoaderClient.h:
70 2009-02-02 Genevieve Mak <gen@staikos.net>
72 Reviewed by George Staikos.
74 https://bugs.webkit.org/show_bug.cgi?id=23508
75 Returns Blank Page for all "about" protocols
77 * loader/MainResourceLoader.cpp:
78 Fix shouldLoadAsEmptyDocument() to return a blank page for an empty
79 url or about:blank only (for now, exclusively for Torch Mobile platform).
81 2009-02-02 Brent Fulgham <bfulgham@webkit.org>
83 Reviewed by George Staikos.
85 Fixes https://bugs.webkit.org/show_bug.cgi?id=23691.
86 Correct build break caused by @r40366 by moving the
87 common code implmentations from GraphicsContextCGWin.cpp
88 into the base Windows class (GraphicsContextWin.cpp). Also
89 move inTransparencyLayer since it is identical in both
92 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
93 Added member m_shouldIncludeChildWindows to Windows version,
94 similar to GraphicsContextPlatformPrivateCG.h.
95 * platform/graphics/win/GraphicsContextCGWin.cpp: Remove the
96 implementations of shouldIncludeChildWindows,
97 setShouldIncludeChildWindows, and inTransparencyLayer.
98 * platform/graphics/win/GraphicsContextCairoWin.cpp: Remove
99 the implementation of inTransparencyLayer.
100 * platform/graphics/win/GraphicsContextWin.cpp: Move common code
101 from GraphicsContextCGWin.cpp and GraphicsContextCairoWin.cpp.
102 (WebCore::GraphicsContext::inTransparencyLayer):
103 (WebCore::GraphicsContext::setShouldIncludeChildWindows):
104 (WebCore::GraphicsContext::shouldIncludeChildWindows):
106 2009-02-02 Darin Adler <darin@apple.com>
108 Try to fix Wx build, and maybe Chromium build too.
110 * WebCore.scons: Added IdentifierRep.cpp.
111 * WebCoreSources.bkl: Ditto.
113 2009-02-02 Darin Adler <darin@apple.com>
117 * html/HTMLAreaElement.cpp: Added missing include of "Path.h".
119 2009-02-02 Adam Treat <adam.treat@torchmobile.com>
121 Reviewed by Nikolas Zimmermann.
123 https://bugs.webkit.org/show_bug.cgi?id=23587
124 Refactor HitTestRequest to eliminate all the ugly boolean arguments and
125 use an enum bitflag instead. Cleanup all the code that constructs the
126 various HitTestRequests to make the code more readable.
129 (WebCore::Document::elementFromPoint):
130 (WebCore::Document::prepareMouseEvent):
131 * editing/SelectionController.cpp:
132 (WebCore::SelectionController::contains):
133 * page/AccessibilityRenderObject.cpp:
134 (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
135 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
136 * page/EventHandler.cpp:
137 (WebCore::EventHandler::eventMayStartDrag):
138 (WebCore::EventHandler::updateSelectionForMouseDrag):
139 (WebCore::EventHandler::hitTestResultAtPoint):
140 (WebCore::EventHandler::handleMousePressEvent):
141 (WebCore::EventHandler::handleMouseDoubleClickEvent):
142 (WebCore::EventHandler::handleMouseMoveEvent):
143 (WebCore::EventHandler::handleMouseReleaseEvent):
144 (WebCore::EventHandler::updateDragAndDrop):
145 (WebCore::EventHandler::handleWheelEvent):
146 (WebCore::EventHandler::sendContextMenuEvent):
147 (WebCore::EventHandler::hoverTimerFired):
148 (WebCore::EventHandler::handleDrag):
149 * page/EventHandler.h:
150 * rendering/HitTestRequest.h:
151 (WebCore::HitTestRequest::):
152 (WebCore::HitTestRequest::HitTestRequest):
153 (WebCore::HitTestRequest::readOnly):
154 (WebCore::HitTestRequest::active):
155 (WebCore::HitTestRequest::mouseMove):
156 (WebCore::HitTestRequest::mouseUp):
157 (WebCore::HitTestRequest::ignoreClipping):
158 * rendering/RenderFrameSet.cpp:
159 (WebCore::RenderFrameSet::nodeAtPoint):
160 * rendering/RenderLayer.cpp:
161 (WebCore::RenderLayer::hitTest):
162 (WebCore::RenderLayer::hitTestLayer):
163 (WebCore::RenderLayer::updateHoverActiveState):
165 2009-02-02 George Staikos <george.staikos@torchmobile.com>
167 Reviewed by Niko Zimmermann.
169 Fix WML build by including the inlined renderStyle().
171 * wml/WMLOptGroupElement.cpp:
172 * wml/WMLOptionElement.cpp:
174 2009-02-02 Darin Adler <darin@apple.com>
176 Reviewed by Niko Zimmermann.
178 Bug 23686: REGRESSION (r40475): Failure in fast/xpath/4XPath/Core/test_core_functions.html
179 https://bugs.webkit.org/show_bug.cgi?id=23686
180 rdar://problem/6547971
182 Also fix other XPath tests that are crashing.
184 * xml/XPathFunctions.cpp:
185 (WebCore::XPath::FunLang::evaluate): Fix order of arguments when creating QualifiedName.
187 (WebCore::XPath::Step::nodesInAxis): Use createAttrIfNeeded() rather than attr() since we
188 need to make Attr nodes here. Yuck!
190 2009-02-02 Yichao Yin <yichao.yin@torchmobile.com.cn>
192 Reviewed by Niko Zimmermann.
194 Test: wml/input-format.html
196 * wml/WMLInputElement.cpp:
197 (WebCore::WMLInputElement::WMLInputElement):
198 (WebCore::formatCodes):
199 (WebCore::WMLInputElement::dispatchBlurEvent):
200 (WebCore::WMLInputElement::parseMappedAttribute):
201 (WebCore::WMLInputElement::attach):
202 (WebCore::WMLInputElement::defaultEventHandler):
203 (WebCore::WMLInputElement::init):
204 (WebCore::WMLInputElement::validateInputMask):
205 (WebCore::WMLInputElement::isConformedToInputMask):
206 (WebCore::WMLInputElement::cursorPositionToMaskIndex):
207 * wml/WMLInputElement.h:
209 2009-02-02 Brent Fulgham <bfulgham@webkit.org>
211 Build fix only, no review.
213 Fixes https://bugs.webkit.org/show_bug.cgi?id=23685.
214 Correct build break caused by @r40473.
216 * page/win/FrameWin.cpp: Correct access for adjustPageHeight.
217 (WebCore::computePageRectsForFrame):
219 2009-02-02 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
221 Not reviewed. Fix WML enabled builds.
222 FrameLoader::urlSelected() got a new parameter: lockBackForwardList. Pass 'false', as HTMLAnchorElement does.
224 * wml/WMLAElement.cpp:
225 (WebCore::WMLAElement::defaultEventHandler):
227 2009-02-02 Alexey Proskuryakov <ap@webkit.org>
229 Reviewed by Darin Adler.
231 <rdar://problem/6451610> Reloading a AppCache page doesn't ever hit the server
235 * loader/appcache/ApplicationCacheGroup.cpp:
236 (WebCore::ApplicationCacheGroup::createResourceHandle): A new method that creates a resource
237 handle in a manner that is closer to what CachedResource does. We now make conditional
238 requests for better performance, and set max-age to ensure that stale responses are not used.
239 (WebCore::ApplicationCacheGroup::update): Use the new createResourceHandle() method.
240 (WebCore::ApplicationCacheGroup::didReceiveResponse): If the response code for the resource
241 is 304, take it from the newest cache.
242 (WebCore::ApplicationCacheGroup::didFail): Pre-compute request URL.
243 (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Don't create a resource for
244 the manifest if the response code was 304 - it won't be needed.
245 (WebCore::ApplicationCacheGroup::didReceiveManifestData): Replaced an assertion that
246 m_manifestResource is not null with a check.
247 (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): Treat null m_manifestResource as
248 an indication that the response was 304.
249 (WebCore::ApplicationCacheGroup::startLoadingEntry): Use createResourceHandle().
251 * loader/appcache/ApplicationCacheGroup.h: Added createResourceHandle().
253 2009-02-01 Darin Adler <darin@apple.com>
255 Reviewed by Dave Hyatt.
257 Bug 23674: Speed up some things based on profiling the page load test
258 https://bugs.webkit.org/show_bug.cgi?id=23674
260 * css/CSSStyleSelector.cpp:
261 (WebCore::CSSStyleSelector::canShareStyleWithElement): Use the newly named cssTarget instead
262 of the old name, getCSSTarget.
263 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
265 * dom/ContainerNode.cpp:
266 (WebCore::ContainerNode::insertedIntoDocument): Moved code from Node in here rather than
267 calling through to EventTargetNode::insertedIntoDocument.
268 (WebCore::ContainerNode::removedFromDocument): Ditto.
269 (WebCore::ContainerNode::insertedIntoTree): Tweaked a bit.
270 (WebCore::ContainerNode::removedFromTree): Ditto.
272 * dom/ContainerNode.h: Moved the constructor definition here and made it inline.
275 (WebCore::Document::removeAllEventListenersFromAllNodes): Iterate the document element and
276 its contents only to avoid the document type node. This allows us to remove the virtual
277 function call to isEventTargetNode from the loop.
278 (WebCore::Document::setCSSTarget): Changed argument to be an Element rather than Node.
280 * dom/Document.h: Changed CSS target to be an Element rather than a Node. Renamed
281 getCSSTarget to cssTarget.
283 * dom/EventTargetNode.cpp:
284 (WebCore::EventTargetNode::removeAllEventListenersSlowCase): Renamed and turned the
285 rare data check into an assertion.
287 * dom/EventTargetNode.h: Made the fast case of removeAllEventListeners be inline.
288 Also moved the constructor definition here and made it inline. And added toEventTargetNode,
289 matching the design of the render tree checked casts. Later we can migrate all callers
290 from EventTargetNodeCast to toEventTargetNode.
292 * dom/NamedAttrMap.cpp:
293 (WebCore::NamedAttrMap::detachAttributesFromElement): Added. Factored out from
294 clearAttributes, so we could use this loop in cases where we're not clearing the attributes.
295 (WebCore::NamedAttrMap::~NamedAttrMap): Call detachAttributesFromElement instead of
296 clearAttributes here.
297 (WebCore::NamedAttrMap::clearAttributes): Call detachAttributesFromElement here.
298 (WebCore::NamedAttrMap::detachFromElement): Call detachAttributesFromElement instead of
299 clearAttributes. We don't need to clear the attributes array just because the element is
300 going away, so don't.
301 (WebCore::NamedAttrMap::virtualLength): Added.
303 * dom/NamedAttrMap.h: Made all the virtual functions inherited from NamedNodeMap be private.
304 These are all unnecessarily inefficient for use outside the DOM. Changed length to be a
305 non-virtual function. This was a fairly hot function.
307 * dom/NamedMappedAttrMap.cpp:
308 (WebCore::NamedMappedAttrMap::setClass): Changed to use element() function now that the
309 m_element data member is private.
311 * dom/NamedMappedAttrMap.h: Made a few functions private. Made the
312 hasMappedAttributes function non-virtual.
314 * dom/NamedNodeMap.h: Made length a non-virtual inline function that calls a virtual
315 function, name virtualLength. This lets NamedAttrMap::length be a non-virtual function.
318 (WebCore::Node::insertedIntoDocument): Removed call to insertedIntoTree, since it's
319 only non-empty in subclasses of ContainerNode.
320 (WebCore::Node::removedFromDocument): Ditto. Also removed setCSSTarget. Since a CSS
321 target has to be an Element, this can be moved down to ContainerNode (or it could be
322 moved down to Element for that matter).
324 * dom/QualifiedName.cpp:
325 (WebCore::QualifiedName::QualifiedName): Removed double initialization of m_impl.
327 * dom/QualifiedName.h: Moved the destructor, copy constructor, assignment operator, and
328 setPrefix function definitions into the header and made them inline.
330 * html/HTMLAreaElement.cpp:
331 (WebCore::HTMLAreaElement::mapMouseEvent): Updated since the stored region is now
333 (WebCore::HTMLAreaElement::accessKey): Use AtomicString.
334 (WebCore::HTMLAreaElement::setAccessKey): Ditto.
335 (WebCore::HTMLAreaElement::alt): Ditto.
336 (WebCore::HTMLAreaElement::setAlt): Ditto.
337 (WebCore::HTMLAreaElement::coords): Ditto.
338 (WebCore::HTMLAreaElement::setCoords): Ditto.
339 (WebCore::HTMLAreaElement::setHref): Ditto.
340 (WebCore::HTMLAreaElement::shape): Ditto.
341 (WebCore::HTMLAreaElement::setShape): Ditto.
342 (WebCore::HTMLAreaElement::setTarget): Ditto.
344 * html/HTMLAreaElement.h: Use AtomicString in the getter and setter DOM operations.
345 Change the region data member to be an OwnPtr<Path> instead of a Path to optimize
346 the common case where an area element is parsed but never hit-tested. This could
347 also have been done by changing the Path class's null case to be more efficient,
350 * html/HTMLViewSourceDocument.cpp:
351 (WebCore::HTMLViewSourceDocument::createContainingTable): Use addAttribute instead
353 (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Ditto.
354 (WebCore::HTMLViewSourceDocument::addLine): Ditto.
355 (WebCore::HTMLViewSourceDocument::addLink): Ditto.
357 * loader/FrameLoader.cpp:
358 (WebCore::FrameLoader::gotoAnchor): Use cssTarget under its new name instead
359 of its old name getCSSTarget.
361 * platform/graphics/GlyphWidthMap.cpp:
362 (WebCore::GlyphWidthMap::locatePageSlowCase): Refactored from locatePage.
364 * platform/graphics/GlyphWidthMap.h: Made most of this class inline.
365 Changed m_pages to use OwnPtr.
367 * platform/text/PlatformString.h: Remove include no longer needed since
368 StringImpl.h includes it.
370 * platform/text/StringImpl.cpp:
371 (WebCore::StringImpl::createStrippingNullCharactersSlowCase): Refactored
372 from createStrippingNullCharacters.
373 * platform/text/StringImpl.h: Moved the definition of
374 createStrippingNullCharacters here and made it inline.
376 * rendering/RenderObject.cpp:
377 (WebCore::RenderObject::firstLineStyleSlowCase): Refactored from
380 * rendering/RenderObject.h: Moved the definition of the firstLineStyle
381 function here and made it inline. Moved the definition of the
382 documentBeingDestroyed function here and made it inline.
384 * svg/SVGSVGElement.cpp:
385 (WebCore::SVGSVGElement::getCTM): Use getAttributeItem instead of
386 getNamedItem here since it accomplishes the same thing but is more efficient.
387 (WebCore::SVGSVGElement::getScreenCTM): Ditto.
388 * svg/SVGStyledElement.cpp:
389 (WebCore::SVGStyledElement::getPresentationAttribute): Ditto.
391 * xml/XPathFunctions.cpp:
392 (WebCore::XPath::FunLang::evaluate): Use getAttributeItem instead of
396 (WebCore::XPath::Step::nodesInAxis): Use attributeItem instead of item here.
398 2009-02-02 Holger Hans Peter Freyther <zecke@selfish.org>
400 Reviewed by Darin Adler.
402 Move Frame::forceLayout, Frame::adjustPageHeight and Frame::forceLayoutWithPageWidthRange to FrameView
404 https://bugs.webkit.org/show_bug.cgi?id=23428
406 FrameView::forceLayout could be killed but the comment might
407 contain a value over the the plain FrameView::layout...
409 Adjust the WebCore/WebKit consumers of these methods.
413 (WebCore::Frame::setPrinting):
415 * page/FrameView.cpp:
416 (WebCore::FrameView::forceLayout):
417 (WebCore::FrameView::forceLayoutWithPageWidthRange):
418 (WebCore::FrameView::adjustPageHeight):
420 * page/PrintContext.cpp:
421 (WebCore::PrintContext::computePageRects):
423 2009-02-01 Dan Bernstein <mitz@apple.com>
425 Reviewed by John Sullivan.
427 - fix <rdar://problem/6546625> REGRESSION (r40432): iframes added to global history at haaretz.co.il
429 Fixes http/tests/navigation/multiple-back-forward-entries.html
431 r40432 added a parameter to FrameLoader::scheduleLocationChange() and
432 failed to update all call sites.
434 * bindings/js/JSDOMWindowBase.cpp:
435 (WebCore::createWindow): Pass the lockBackForwardHistory parameter,
436 giving it the same value as the lockHistory parameter.
437 (windowProtoFuncOpen): Ditto.
438 * bindings/js/JSDOMWindowCustom.cpp:
439 (WebCore::JSDOMWindow::setLocation): Ditto.
440 * bindings/js/JSDocumentCustom.cpp:
441 (WebCore::JSDocument::setLocation): Ditto.
442 * loader/FrameLoader.cpp:
443 (WebCore::FrameLoader::requestFrame): Ditto.
445 2009-01-31 Dan Bernstein <mitz@apple.com>
447 Reviewed by Oliver Hunt.
449 - fix <rdar://problem/6546549> Eliminate some RenderText::width() overhead from findNextLineBreak()
451 On the PLT, this results in 0.36x the number of virtual function calls
452 to RenderText::width() and 0.69x the number of calls to
453 Font::isFixedPitch(), but makes 1.0004x the number of calls to
456 * rendering/RenderText.cpp:
457 (WebCore::RenderText::width): Replaced bounds checks on 'from' and 'len'
459 * rendering/bidi.cpp:
460 (WebCore::textWidth): Added this inlined helper function which calls
461 Font::width() directly in the non-fixed-pitch, non-full-range case, and
462 otherwise calls RenderText::width().
463 (WebCore::RenderBlock::findNextLineBreak): Cache whether the font has
464 fixed pitch (in which case RenderText::width() will be called in order
465 to take advantage of the widthFromCache() optimization for fixed-pitch
466 fonts). Replaced all calls to RenderText::width() with calls to the
467 textWidth() helper function.
469 2009-01-31 David Hyatt <hyatt@apple.com>
471 Inline all of the setNeedsLayout method and its associated functions. Also inline setChildNeedsLayout
472 and setNeedsPositionedMovementLayout.
474 Reviewed by Dan Bernstein
476 * rendering/RenderObject.cpp:
477 (WebCore::RenderObject::setLayerNeedsFullRepaint):
478 * rendering/RenderObject.h:
479 (WebCore::RenderObject::setNeedsLayout):
480 (WebCore::RenderObject::setChildNeedsLayout):
481 (WebCore::RenderObject::setNeedsPositionedMovementLayout):
482 (WebCore::objectIsRelayoutBoundary):
483 (WebCore::RenderObject::markContainingBlocksForLayout):
485 2009-01-31 Darin Adler <darin@apple.com>
489 * loader/FrameLoader.cpp: Moved FrameLoaderClient::hasHTMLView in here.
490 We need it to not be an inline. Sadly, FrameLoaderClient.cpp was prematurely
491 deleted and I don't want to bring it back just to fix the build.
493 * loader/FrameLoaderClient.h: Rearrange virtual functions and corrected
494 a possibly-confusing comment.
496 2009-01-31 Adam Treat <adam.treat@torchmobile.com>
498 Reviewed by David Hyatt.
500 https://bugs.webkit.org/show_bug.cgi?id=23664
501 Remove unused dead code from RenderTable class. The dead code includes
502 two enums and the associated member variables as well as one getter function.
504 * rendering/RenderTable.cpp:
505 (WebCore::RenderTable::RenderTable):
506 * rendering/RenderTable.h:
508 2009-01-31 David Hyatt <hyatt@apple.com>
510 More removal of code from RenderContainer. Move removeLeftoverAnonymousBlock down into RenderBlock.
511 Move destroyLeftoverChildren into the RenderObjectChildList. Convert all containers to use the
512 RenderObjectChildList.
514 Reviewed by Sam Weinig
516 * WebCore.xcodeproj/project.pbxproj:
517 * rendering/RenderBlock.cpp:
518 (WebCore::RenderBlock::destroy):
519 (WebCore::RenderBlock::addChild):
520 (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
521 (WebCore::RenderBlock::layoutPositionedObjects):
522 (WebCore::RenderBlock::childBecameNonInline):
523 * rendering/RenderBlock.h:
524 * rendering/RenderBox.cpp:
525 (WebCore::RenderBox::layout):
526 * rendering/RenderBox.h:
527 (WebCore::RenderBox::firstChildBox):
528 (WebCore::RenderBox::lastChildBox):
529 * rendering/RenderContainer.cpp:
530 (WebCore::RenderContainer::addChild):
531 (WebCore::RenderContainer::removeChildNode):
532 (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
533 (WebCore::RenderContainer::appendChildNode):
534 (WebCore::RenderContainer::insertChildNode):
535 (WebCore::RenderContainer::positionForCoordinates):
536 (WebCore::RenderContainer::addLineBoxRects):
537 (WebCore::RenderContainer::collectAbsoluteLineBoxQuads):
538 * rendering/RenderContainer.h:
539 (WebCore::RenderContainer::virtualChildren):
540 (WebCore::RenderContainer::children):
541 * rendering/RenderInline.cpp:
542 (WebCore::RenderInline::destroy):
543 * rendering/RenderInline.h:
544 (WebCore::RenderInline::layout):
545 * rendering/RenderMedia.cpp:
546 (WebCore::RenderMedia::destroy):
547 (WebCore::RenderMedia::children):
548 * rendering/RenderMedia.h:
549 (WebCore::RenderMedia::virtualChildren):
550 * rendering/RenderObject.cpp:
551 (WebCore::RenderObject::destroy):
552 (WebCore::RenderObject::layout):
553 * rendering/RenderObject.h:
554 (WebCore::RenderObject::firstChild):
555 (WebCore::RenderObject::lastChild):
556 (WebCore::RenderObject::virtualChildren):
557 (WebCore::RenderObject::canHaveChildren):
558 * rendering/RenderObjectChildList.cpp: Added.
559 (WebCore::RenderObjectChildList::destroyLeftoverChildren):
560 * rendering/RenderObjectChildList.h:
561 * rendering/RenderReplaced.h:
562 (WebCore::RenderReplaced::canHaveChildren):
563 * rendering/RenderSVGContainer.cpp:
564 (WebCore::RenderSVGContainer::RenderSVGContainer):
565 (WebCore::RenderSVGContainer::destroy):
566 (WebCore::RenderSVGContainer::removeChildNode):
567 (WebCore::RenderSVGContainer::appendChildNode):
568 (WebCore::RenderSVGContainer::insertChildNode):
569 * rendering/RenderSVGContainer.h:
570 (WebCore::RenderSVGContainer::virtualChildren):
571 (WebCore::RenderSVGContainer::children):
573 2009-01-31 David Hyatt <hyatt@apple.com>
575 Fix for https://bugs.webkit.org/show_bug.cgi?id=11363
577 Remove the hacks in table code around the DeleteButtonController and fix tables so that positioned children don't get wrapped in anonymous objects.
578 With the removal of a non-positioned DeleteButtonController renderer, table layout can be tightened up to only lay out table sections. Table section
579 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
582 Reviewed by Oliver Hunt
584 * editing/DeleteButtonController.cpp:
585 (WebCore::DeleteButtonController::createDeletionUI):
586 * rendering/RenderTable.cpp:
587 (WebCore::RenderTable::addChild):
588 (WebCore::RenderTable::layout):
589 * rendering/RenderTableSection.cpp:
590 (WebCore::RenderTableSection::layout):
591 * rendering/RenderTableSection.h:
593 2009-01-31 Adam Treat <adam.treat@torchmobile.com>
595 Reviewed by Darin Adler.
597 https://bugs.webkit.org/show_bug.cgi?id=23663
598 Add a void toRenderBox() method which catches unnecessary casts at compile
599 time and also fix the four cases where this was happening.
601 * rendering/RenderBlock.cpp:
602 (WebCore::RenderBlock::determineHorizontalPosition):
603 * rendering/RenderBox.h:
604 * rendering/RenderFlexibleBox.cpp:
605 (WebCore::RenderFlexibleBox::layoutHorizontalBox):
606 * rendering/RenderInline.cpp:
607 (WebCore::RenderInline::updateHitTestResult):
608 * rendering/RenderLayer.cpp:
609 (WebCore::RenderLayer::updateLayerPosition):
611 2009-01-30 Adam Barth <abarth@webkit.org>
613 Reviewed by Sam Weinig.
615 Add a pref to disable web security.
619 (WebCore::Document::initSecurityContext):
620 * page/SecurityOrigin.cpp:
621 (WebCore::SecurityOrigin::SecurityOrigin):
622 (WebCore::SecurityOrigin::canAccess):
623 (WebCore::SecurityOrigin::canRequest):
624 (WebCore::SecurityOrigin::grantUniversalAccess):
625 * page/SecurityOrigin.h:
627 (WebCore::Settings::Settings):
628 (WebCore::Settings::setWebSecurityEnabled):
630 (WebCore::Settings::isWebSecurityEnabled):
632 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
636 Move the inline virtual destructor after a non-inline virtual
637 function so that the symbol for the vtable is not marked as a
638 weakly exported symbol.
640 This trick was previously used at revision 36122 in JSObject.h
642 * loader/FrameLoaderClient.h:
643 (WebCore::FrameLoaderClient::~FrameLoaderClient):
645 2009-01-30 Oliver Hunt <oliver@apple.com>
647 Reviewed by Stephanie Lewis
649 Inline SimpleFontData::widthForGlyph for a minor page load improvement.
651 * platform/graphics/SimpleFontData.cpp:
652 * platform/graphics/SimpleFontData.h:
653 (WebCore::SimpleFontData::widthForGlyph):
655 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
657 Build fix for WX and maybe even Windows.
659 * WebCore.vcproj/WebCore.vcproj:
660 * WebCoreSources.bkl:
662 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
664 Reviewed by Darin Adler.
666 Move Frame::sendResizeEvent and Frame::sendScrollEvent to EventHandler
668 Carry out the move and catch up in two call sites.
671 * page/EventHandler.cpp:
672 (WebCore::EventHandler::sendResizeEvent):
673 (WebCore::EventHandler::sendScrollEvent):
674 * page/EventHandler.h:
677 * page/FrameView.cpp:
678 (WebCore::FrameView::performPostLayoutTasks):
679 (WebCore::FrameView::valueChanged):
681 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
683 Reviewed by Darin Adler.
685 Move Frame::isFrameSet to Document::isFrameSet
687 Changed the FrameLoader callsite. I assume that as this
688 point m_frame.document() might return a null pointer. Change
689 the condition to either not having a document or not having a
690 frame set. This should be semantically equivalent to the
693 Make Document::body() const to be able to call it from within
694 Document::isFrameSet. Leave the isHTMLDocument() check as this
695 is a stronger condition than simply having a HTMLElement in the
700 (WebCore::Document::isFrameSet):
701 (WebCore::Document::body):
703 * loader/FrameLoader.cpp:
704 (WebCore::FrameLoader::shouldScrollToAnchor):
705 * loader/archive/cf/LegacyWebArchive.cpp:
706 (WebCore::LegacyWebArchive::createFromSelection):
710 2009-01-30 Aurelian Maga <aurelianmaga@yahoo.com>
712 Reviewed by Holger Freyther.
714 [GTK] Logic fixes and build fixes
716 https://bugs.webkit.org/show_bug.cgi?id=22022
718 Catch up with the internal GeoLocation API and fix the logic of
719 the previous version.
721 * platform/gtk/GeolocationServiceGtk.cpp:
722 (WebCore::GeolocationServiceGtk::startUpdating):
723 (WebCore::GeolocationServiceGtk::updateLocationInformation):
724 (WebCore::GeolocationServiceGtk::position_changed):
726 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
728 Reviewed by Nikolas Zimmermann.
730 [GTK] Implement GeolocationService using the Geoclue library
732 https://bugs.webkit.org/show_bug.cgi?id=22022
734 Untested implementation of the GeolocationService using the geoclue
735 library. Velocity handling is completely missing and the accuracy
736 handling might be wrong.
738 * platform/gtk/GeolocationServiceGtk.cpp:
739 (WTF::GeoclueAccuracy):
740 (WebCore::GeolocationServiceGtk::GeolocationServiceGtk):
741 (WebCore::GeolocationServiceGtk::~GeolocationServiceGtk):
742 (WebCore::GeolocationServiceGtk::startUpdating):
743 (WebCore::GeolocationServiceGtk::stopUpdating):
744 (WebCore::GeolocationServiceGtk::suspend):
745 (WebCore::GeolocationServiceGtk::resume):
746 (WebCore::GeolocationServiceGtk::lastPosition):
747 (WebCore::GeolocationServiceGtk::lastError):
748 (WebCore::GeolocationServiceGtk::updateLocationInformation):
749 (WebCore::GeolocationServiceGtk::updatePosition):
750 (WebCore::GeolocationServiceGtk::position_changed):
751 (WebCore::GeolocationServiceGtk::setError):
752 * platform/gtk/GeolocationServiceGtk.h:
754 2009-01-30 Mark Rowe <mrowe@apple.com>
756 Build fix. Declare preferredSize as static.
758 * platform/text/cf/StringImplCF.cpp:
759 (WebCore::StringWrapperCFAllocator::preferredSize):
761 2009-01-30 Darin Adler <darin@apple.com>
763 Reviewed by Mark Rowe.
765 Bug 23622: create CFString and NSString objects from WebCore::String without copying the characters
766 https://bugs.webkit.org/show_bug.cgi?id=23622
768 * platform/text/cf/StringImplCF.cpp:
769 (WebCore::StringWrapperCFAllocator::allocator): Added. Returns the allocator.
770 (WebCore::StringWrapperCFAllocator::retain): Added. Callback for allocator.
771 (WebCore::StringWrapperCFAllocator::release): Ditto.
772 (WebCore::StringWrapperCFAllocator::copyDescription): Ditto.
773 (WebCore::StringWrapperCFAllocator::allocate): Ditto.
774 (WebCore::StringWrapperCFAllocator::reallocate): Ditto.
775 (WebCore::StringWrapperCFAllocator::deallocate): Ditto.
776 (WebCore::StringWrapperCFAllocator::preferredSize): Ditto.
777 (WebCore::StringWrapperCFAllocator::create): Added. Creates the allocator, but
778 returns 0 if garbage collection is enabled.
779 (WebCore::StringImpl::createCFString): Use StringWrapperCFAllocator if possible.
781 * platform/text/mac/StringImplMac.mm:
782 (WebCore::StringImpl::operator NSString *): Use CFString and toll-free bridging,
783 rather than using NSString directly. This lets NSString benefit from the above.
785 2009-01-30 Darin Adler <darin@apple.com>
788 (WebCore::Frame::createView): Fix debug build by removing get() from assert.
790 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
792 Reviewed by Simon Hausmann.
794 https://bugs.webkit.org/show_bug.cgi?id=22056
796 Kill FrameLoaderClient.cpp, move the code over to Frame::createView
798 FrameLoaderClient is supposed to be an interface, move the
799 to be shared code to Frame which is a controller and is
800 allowed to create a FrameView.
805 * WebCore.xcodeproj/project.pbxproj:
806 * loader/FrameLoaderClient.cpp: Removed.
807 * loader/FrameLoaderClient.h:
808 (WebCore::FrameLoaderClient::~FrameLoaderClient):
810 (WebCore::Frame::createView):
813 2009-01-30 Simon Fraser <simon.fraser@apple.com>
815 Reviewed by Dave Hyatt
817 https://bugs.webkit.org/show_bug.cgi?id=23357
819 New files to support accelerated compositing at the RenderLayer
822 * WebCore.xcodeproj/project.pbxproj:
823 New files added to project, and run through the sort script.
825 * rendering/RenderLayerBacking.cpp: Added.
826 * rendering/RenderLayerBacking.h: Added.
827 New object to store compositing-related data for a single
830 * rendering/RenderLayerCompositor.cpp: Added.
831 * rendering/RenderLayerCompositor.h: Added.
832 Per-RenderView controller object for compositing hierarchy
835 2009-01-30 Simon Fraser <simon.fraser@apple.com>
837 Reviewed by Dave Hyatt
839 https://bugs.webkit.org/show_bug.cgi?id=23356
841 Add new files related to accelerated compositing:
843 * WebCore.xcodeproj/project.pbxproj:
844 Add the files to the project. Also add ColorCG.cpp, for the
845 Color(CGColorRef) constructor.
847 * platform/graphics/GraphicsLayer.cpp: Added.
848 * platform/graphics/GraphicsLayer.h: Added.
849 GraphicsLayer is a platform abstraction for a hardware-backed
852 * platform/graphics/GraphicsLayerClient.h: Added.
853 Client of GraphicsLayer, allowing GraphicsLayer to call out
856 * platform/graphics/mac/GraphicsLayerCA.h: Added.
857 * platform/graphics/mac/GraphicsLayerCA.mm: Added.
858 Mac Core Animation implementation of GraphicsLayer.
860 * platform/graphics/mac/WebLayer.h: Added.
861 * platform/graphics/mac/WebLayer.mm: Added.
862 * platform/graphics/mac/WebTiledLayer.h: Added.
863 * platform/graphics/mac/WebTiledLayer.mm: Added.
864 Subclasses of CALayer and CATiledLayer -- helpers for the
865 GraphicsLayerCA implementation.
867 2009-01-30 Geoffrey Garen <ggaren@apple.com>
869 Reviewed by Sam Weinig.
871 Split "lockHistory" into "lockHistory" and "lockBackForwardList" in
872 preparation for setting them differently during a redirect.
875 * bindings/js/JSHTMLFormElementCustom.cpp:
876 (WebCore::JSHTMLFormElement::submit):
877 * bindings/js/JSLocationCustom.cpp:
878 (WebCore::navigateIfAllowed):
879 (WebCore::JSLocation::setHref):
880 (WebCore::JSLocation::setProtocol):
881 (WebCore::JSLocation::setHost):
882 (WebCore::JSLocation::setHostname):
883 (WebCore::JSLocation::setPort):
884 (WebCore::JSLocation::setPathname):
885 (WebCore::JSLocation::setSearch):
886 (WebCore::JSLocation::setHash):
887 (WebCore::JSLocation::replace):
888 (WebCore::JSLocation::assign):
889 * html/HTMLAnchorElement.cpp:
890 (WebCore::HTMLAnchorElement::defaultEventHandler):
891 * html/HTMLFormElement.cpp:
892 (WebCore::HTMLFormElement::submit):
893 * html/HTMLFormElement.h:
894 * loader/FrameLoader.cpp:
895 (WebCore::FormSubmission::FormSubmission):
896 (WebCore::ScheduledRedirection::ScheduledRedirection):
897 (WebCore::isBackForwardLoadType):
898 (WebCore::FrameLoader::createWindow):
899 (WebCore::FrameLoader::changeLocation):
900 (WebCore::FrameLoader::urlSelected):
901 (WebCore::FrameLoader::submitFormAgain):
902 (WebCore::FrameLoader::submitForm):
903 (WebCore::FrameLoader::restoreDocumentState):
904 (WebCore::FrameLoader::scheduleHTTPRedirection):
905 (WebCore::FrameLoader::scheduleLocationChange):
906 (WebCore::FrameLoader::scheduleRefresh):
907 (WebCore::FrameLoader::redirectionTimerFired):
908 (WebCore::FrameLoader::loadURLIntoChildFrame):
909 (WebCore::FrameLoader::startRedirectionTimer):
910 (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
911 (WebCore::FrameLoader::transitionToCommitted):
912 (WebCore::FrameLoader::clientRedirected):
913 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
914 (WebCore::FrameLoader::loadItem):
915 * loader/FrameLoader.h:
916 * loader/FrameLoaderTypes.h:
918 * page/ContextMenuController.cpp:
919 (WebCore::ContextMenuController::contextMenuItemSelected):
920 * svg/SVGAElement.cpp:
921 (WebCore::SVGAElement::defaultEventHandler):
923 2009-01-30 Sam Weinig <sam@webkit.org>
925 Reviewed by Dan Bernstein.
927 Fix for <rdar://problem/6545095>
928 ASSERTION FAILED: RenderBlock.h:519: !o || o->isRenderBlock()
930 Test: fast/block/float/crash-replaced-display-block.html
932 * rendering/RenderBlock.cpp:
933 (WebCore::RenderBlock::layoutBlockChildren): Move RenderBlock only code into
934 isRenderBlock if-statement.
936 2009-01-30 Chris Fleizach <cfleizach@apple.com>
938 Reviewed by Oliver Hunt.
940 Bug 23656: AX hierarchy for iFrames is incorrect
941 https://bugs.webkit.org/show_bug.cgi?id=23656
943 The AX hierarchy when an iFrame was present was incorrect. A different scroll area was
944 returned when going down compared to when going up.
946 * page/mac/AccessibilityObjectWrapper.mm:
949 2009-01-30 Adam Treat <adam.treat@torchmobile.com>
951 Fix Qt build to include new class IdentifierRep introduced in revision 40412.
955 2009-01-30 Anders Carlsson <andersca@apple.com>
957 Reviewed by Sam Weinig.
959 Make IdentifierRep.h a private header, and add symbols needed by WebKit to WebCore.LP64.exp.
962 * WebCore.xcodeproj/project.pbxproj:
964 2009-01-30 Sam Weinig <sam@webkit.org>
966 Commit files I forgot to in the previous commit.
968 * page/AccessibilityRenderObject.cpp:
969 (WebCore::AccessibilityRenderObject::layoutCount):
971 (WebCore::Frame::contentRenderer):
972 (WebCore::Frame::forceLayoutWithPageWidthRange):
973 * page/FrameView.cpp:
974 (WebCore::FrameView::layout):
975 * rendering/RenderBlock.cpp:
976 (WebCore::RenderBlock::nodeAtPoint):
977 * rendering/RenderObject.cpp:
978 (WebCore::RenderObject::repaintUsingContainer):
979 (WebCore::RenderObject::repaint):
980 (WebCore::RenderObject::repaintRectangle):
981 (WebCore::RenderObject::view):
982 (WebCore::RenderObject::scheduleRelayout):
983 (WebCore::RenderObject::maximalOutlineSize):
984 * rendering/SVGRenderSupport.cpp:
985 (WebCore::clampImageBufferSizeToViewport):
987 (WebCore::SVGLength::PercentageOfViewport):
989 2009-01-30 Geoffrey Garen <ggaren@apple.com>
991 Reviewed by Darin Adler.
993 More scaffolding for redirect tracking. No behavior change yet.
995 * bindings/js/JSHTMLFormElementCustom.cpp:
996 (WebCore::JSHTMLFormElement::submit): Added scaffolding necessary for
997 redirect checking in a form submission through JS. (Currently, we
998 just specify "no redirect.")
1000 * bindings/js/ScriptController.h:
1001 * bindings/js/ScriptController.cpp:
1002 (WebCore::ScriptController::processingUserGesture):
1003 (WebCore::ScriptController::processingUserGestureEvent):
1004 (WebCore::ScriptController::isJavaScriptAnchorNavigation): Refactored
1005 user gesture check to make it more clear.
1007 (WebCore::ScriptController::pageIsProcessingUserGesture): Added a helper
1008 for checking if there's a user gesture in any frame on the page (a more
1009 relaxed rule than our popup blocking rule, which requires the user
1010 gesture to occur in the frame that's executing JavaScript.)
1012 * html/HTMLFormElement.h:
1013 * html/HTMLFormElement.cpp:
1014 (WebCore::HTMLFormElement::submit): Added scaffolding necessary for
1015 redirect checking in a form submission through the DOM. (Currently, we
1016 just specify "no redirect.")
1018 * html/HTMLFormElement.idl: Made submit custom so it can participate
1019 in redirect checking.
1021 * loader/FrameLoader.h:
1022 * loader/FrameLoader.cpp:
1023 (WebCore::FormSubmission::FormSubmission): Clarified some names, and
1024 added a "lockHistory" parameter to form submissions, to match other
1027 (WebCore::FrameLoader::submitFormAgain):
1028 (WebCore::FrameLoader::submitForm): Use the lockHistory parameter.
1030 (WebCore::FrameLoader::userGestureHint): Refactored this function for
1031 clarity, and added a FIXME for a change I was too scared to make myself.
1032 (Really, we should just get rid of this function.)
1034 (WebCore::FrameLoader::loadFrameRequestWithFormAndValues): Refactored
1035 to pass a FrameLoadType to form posts, too, so they can participate in
1038 (WebCore::FrameLoader::loadPostRequest):
1039 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
1040 (WebCore::FrameLoader::loadItem): Use the lockHistory parameter.
1042 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
1044 Reviewed by Mark Rowe.
1046 [Gtk+] Use AccessibilityObject::stringValue for the AtkObject name
1048 https://bugs.webkit.org/show_bug.cgi?id=21546
1050 The API documentation at http://library.gnome.org/devel/atk/stable/AtkText.html
1051 states that: "AtkObjects whose text content is simple, unattributed, and very
1052 brief may expose that content via atk_object_get_name instead"
1054 As we are currently not able to always provide a AtkTextInterface
1055 implementation this will make the whole content available to accerciser,
1058 * page/gtk/AccessibilityObjectWrapperAtk.cpp:
1060 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
1062 Unreviewed build fix.
1064 Include string.h for strdup.
1066 * bridge/IdentifierRep.h:
1068 2009-01-30 Sam Weinig <sam@webkit.org>
1070 Reviewed by Dan Bernstein.
1072 Add toRenderView methods for casting RenderObjects to RenderViews. The methods will assert if the object
1073 is not a RenderView.
1076 (WebCore::Document::renderView):
1077 * editing/SelectionController.cpp:
1078 (WebCore::SelectionController::nodeWillBeRemoved):
1079 (WebCore::SelectionController::recomputeCaretRect):
1080 (WebCore::SelectionController::invalidateCaretRect):
1081 (WebCore::SelectionController::focusedOrActiveStateChanged):
1082 * editing/mac/SelectionControllerMac.mm:
1083 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
1084 * rendering/RenderBox.cpp:
1085 (WebCore::RenderBox::styleDidChange):
1086 (WebCore::RenderBox::repaintLayerRectsForImage):
1087 (WebCore::RenderBox::availableHeightUsing):
1088 * rendering/RenderView.h:
1089 (WebCore::toRenderView):
1091 2009-01-30 Simon Fraser <simon.fraser@apple.com>
1093 Reviewed by Dave Hyatt
1095 https://bugs.webkit.org/show_bug.cgi?id=23360
1097 Really use the container-relative repaint rect methods
1098 for repaint during layout
1100 * rendering/RenderObject.h:
1101 (WebCore::RenderObject::LayoutRepainter::LayoutRepainter):
1103 2009-01-30 Anders Carlsson <andersca@apple.com>
1105 Reviewed by Darin Adler.
1107 Get rid of PrivateIdentifier and use IdentifierRep instead.
1109 * bridge/NP_jsobject.cpp:
1113 (_NPN_RemoveProperty):
1116 * bridge/c/c_instance.cpp:
1117 (JSC::Bindings::CInstance::getPropertyNames):
1118 * bridge/c/c_utility.cpp:
1119 (JSC::Bindings::convertNPStringToUTF16):
1120 * bridge/c/c_utility.h:
1121 * bridge/npruntime.cpp:
1122 (_NPN_GetStringIdentifier):
1123 (_NPN_GetStringIdentifiers):
1124 (_NPN_GetIntIdentifier):
1125 (_NPN_IdentifierIsString):
1126 (_NPN_UTF8FromIdentifier):
1127 (_NPN_IntFromIdentifier):
1129 2009-01-30 Anders Carlsson <andersca@apple.com>
1131 Reviewed by Sam Weinig and Darin Adler.
1133 Make IdentifierRep a real class, add necessary class methods.
1135 * bridge/IdentifierRep.cpp:
1136 (WebCore::identifierSet):
1137 Returns a set of all identifiers.
1139 (WebCore::IdentifierRep::isValid):
1140 Return whether an identifier is valid, meaning that it's present in the
1143 * bridge/IdentifierRep.h:
1144 (WebCore::IdentifierRep::isString):
1145 (WebCore::IdentifierRep::number):
1146 (WebCore::IdentifierRep::string):
1147 (WebCore::IdentifierRep::IdentifierRep):
1148 (WebCore::IdentifierRep::):
1150 2009-01-30 Anders Carlsson <andersca@apple.com>
1152 Reviewed by Sam Weinig.
1154 Add IdentifierRep which will be used by both plug-in implementations.
1157 * WebCore.vcproj/WebCore.vcproj:
1158 * WebCore.xcodeproj/project.pbxproj:
1159 * bridge/IdentifierRep.cpp: Added.
1160 (WebCore::IdentifierRep::IdentifierRep):
1161 (WebCore::IdentifierRep::):
1162 (WebCore::intIdentifierMap):
1163 (WebCore::identifierRep):
1164 (WebCore::stringIdentifierMap):
1165 * bridge/IdentifierRep.h: Added.
1166 * bridge/c/c_utility.h:
1167 * platform/text/PlatformString.h:
1168 * platform/text/String.cpp:
1169 (WebCore::String::fromUTF8WithLatin1Fallback):
1171 2009-01-30 Sam Weinig <sam@webkit.org>
1173 Reviewed by David Hyatt.
1175 Add toRenderInline methods for casting RenderObjects to RenderInlines. The methods will assert if the object
1176 is not a RenderInline.
1178 * rendering/InlineFlowBox.cpp:
1179 (WebCore::InlineFlowBox::removeLineBoxFromRenderObject):
1180 (WebCore::InlineFlowBox::extractLineBoxFromRenderObject):
1181 (WebCore::InlineFlowBox::attachLineBoxToRenderObject):
1182 (WebCore::InlineFlowBox::rendererLineBoxes):
1183 (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
1184 (WebCore::InlineFlowBox::paint):
1185 * rendering/LayoutState.cpp:
1186 (WebCore::LayoutState::LayoutState):
1187 * rendering/RenderBlock.cpp:
1188 (WebCore::RenderBlock::paintObject):
1189 (WebCore::RenderBlock::addFocusRingRects):
1190 * rendering/RenderBox.cpp:
1191 (WebCore::RenderBox::offsetFromContainer):
1192 (WebCore::RenderBox::computeRectForRepaint):
1193 (WebCore::RenderBox::containingBlockWidthForPositioned):
1194 (WebCore::RenderBox::containingBlockHeightForPositioned):
1195 (WebCore::RenderBox::calcAbsoluteHorizontalValues):
1196 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
1197 * rendering/RenderContainer.cpp:
1198 (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
1199 * rendering/RenderInline.cpp:
1200 (WebCore::RenderInline::inlineContinuation):
1201 (WebCore::nextContinuation):
1202 (WebCore::RenderInline::splitInlines):
1203 * rendering/RenderInline.h:
1204 (WebCore::toRenderInline):
1205 * rendering/RenderLayer.cpp:
1206 (WebCore::RenderLayer::updateLayerPosition):
1207 (WebCore::RenderLayer::boundingBox):
1208 * rendering/RenderLineBoxList.cpp:
1209 (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
1210 * rendering/RenderText.h:
1211 * rendering/RenderTreeAsText.cpp:
1212 (WebCore::operator<<):
1213 * rendering/bidi.cpp:
1214 (WebCore::RenderBlock::createLineBoxes):
1215 (WebCore::RenderBlock::layoutInlineChildren):
1217 2009-01-30 Darin Fisher <darin@chromium.org>
1219 Reviewed by Eric Seidel.
1221 https://bugs.webkit.org/show_bug.cgi?id=23647
1222 Fix PLATFORM(SKIA)'s ImageSource::clear method to match other ports
1224 * platform/graphics/skia/ImageSourceSkia.cpp:
1225 (WebCore::ImageSource::clear):
1227 2009-01-30 David Hyatt <hyatt@apple.com>
1229 Add toRenderBlock methods for casting RenderObjects to RenderBlocks. The methods will assert if the object
1230 is not a RenderBlock. Also add a toRenderBlock method that takes a RenderBlock but returns void and that
1231 is unimplemented. This method will catch anyone trying to do a cast when the object is already a RenderBlock.
1233 Making this change caught a bad cast in RenderBlock::layoutBlockChildren, so that is also fixed by this
1234 patch with a containsFloats() check.
1236 Reviewed by Darin Adler
1238 * dom/PositionIterator.cpp:
1239 (WebCore::PositionIterator::isCandidate):
1240 * editing/CompositeEditCommand.cpp:
1241 (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
1242 * editing/Editor.cpp:
1243 (WebCore::Editor::hasBidiSelection):
1244 * page/AccessibilityRenderObject.cpp:
1245 (WebCore::AccessibilityRenderObject::anchorElement):
1246 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1247 * rendering/RenderBlock.cpp:
1248 (WebCore::RenderBlock::styleWillChange):
1249 (WebCore::RenderBlock::removeChild):
1250 (WebCore::RenderBlock::layoutBlock):
1251 (WebCore::RenderBlock::collapseMargins):
1252 (WebCore::RenderBlock::clearFloatsIfNeeded):
1253 (WebCore::RenderBlock::layoutBlockChildren):
1254 (WebCore::RenderBlock::fillBlockSelectionGaps):
1255 (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
1256 (WebCore::RenderBlock::firstLineBlock):
1257 (WebCore::getLineAtIndex):
1258 (WebCore::getHeightForLineCount):
1259 (WebCore::RenderBlock::lineCount):
1260 (WebCore::RenderBlock::adjustForBorderFit):
1261 (WebCore::RenderBlock::clearTruncation):
1262 * rendering/RenderBlock.h:
1263 (WebCore::toRenderBlock):
1264 * rendering/RenderBox.cpp:
1265 (WebCore::RenderBox::offsetFromContainer):
1266 (WebCore::RenderBox::computeRectForRepaint):
1267 (WebCore::RenderBox::calcReplacedHeightUsing):
1268 * rendering/RenderFlexibleBox.cpp:
1269 (WebCore::RenderFlexibleBox::layoutHorizontalBox):
1270 (WebCore::RenderFlexibleBox::layoutVerticalBox):
1271 * rendering/RenderInline.cpp:
1272 (WebCore::RenderInline::inlineContinuation):
1273 (WebCore::nextContinuation):
1274 (WebCore::RenderInline::positionForCoordinates):
1275 * rendering/RenderLayer.cpp:
1276 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
1277 * rendering/RenderListItem.cpp:
1278 (WebCore::getParentOfFirstLineBox):
1279 (WebCore::RenderListItem::positionListMarker):
1280 * rendering/RenderObject.cpp:
1281 (WebCore::RenderObject::containingBlock):
1282 (WebCore::RenderObject::computeRectForRepaint):
1283 (WebCore::RenderObject::removeFromObjectLists):
1284 (WebCore::RenderObject::getTextDecorationColors):
1285 * rendering/RenderTable.cpp:
1286 (WebCore::RenderTable::addChild):
1287 (WebCore::RenderTable::recalcSections):
1288 * rendering/RenderTextControl.cpp:
1289 (WebCore::RenderTextControl::styleDidChange):
1290 * rendering/RenderTextControlSingleLine.cpp:
1291 (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
1292 * rendering/RootInlineBox.cpp:
1293 (WebCore::RootInlineBox::block):
1294 * rendering/bidi.cpp:
1295 (WebCore::RenderBlock::createLineBoxes):
1297 2009-01-30 Brady Eidson <beidson@apple.com>
1299 Reviewed by Sam Weinig
1301 - Let CachedFrame handle the suspending/resuming of active DOM objects itself instead of
1302 relying on some outside force.
1303 - Clear the previous history item inside FrameLoader instead of relying on multiple
1304 FrameLoaderClients to do it.
1306 * history/CachedFrame.cpp:
1307 (WebCore::CachedFrame::CachedFrame): Suspend active DOM objects here.
1308 (WebCore::CachedFrame::restore): Resume those DOM objects here.
1309 * history/CachedFrame.h:
1310 (WebCore::CachedFrame::domWindow):
1312 * loader/FrameLoader.cpp:
1313 (WebCore::FrameLoader::commitProvisionalLoad): Let CachedFrame creation handle the
1314 suspending of active DOM objects.
1315 (WebCore::FrameLoader::open): Let CachedFrame::restore() handle resuming those DOM objects.
1316 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Call frameLoadCompleted() instead
1317 of performing a client call by itself.
1318 (WebCore::FrameLoader::frameLoadCompleted):
1320 2009-01-30 Alexey Proskuryakov <ap@webkit.org>
1322 Reviewed by Darin Adler.
1324 <rdar://problem/6448823> Application Cache is kept after a private browsing session
1326 * loader/appcache/ApplicationCacheGroup.cpp:
1327 (WebCore::ApplicationCacheGroup::selectCache):
1328 (WebCore::ApplicationCacheGroup::update):
1329 Cache update will not be started if private browsing is enabled. Existing cache version
1330 from disk database will be used.
1332 * loader/appcache/ApplicationCacheGroup.h: Made postListenerTask() static, in order to call
1333 it when refusing to update from selectCache().
1335 * loader/appcache/ApplicationCache.cpp:
1336 (WebCore::ApplicationCache::addDynamicEntry):
1337 (WebCore::ApplicationCache::removeDynamicEntry):
1338 Added reminders about private browsing to unimplemented methods.
1340 2009-01-30 Laszlo Gombos <laszlo.1.gombos@nokia.com>
1342 Reviewed by Simon Hausmann.
1344 Bug 23580: GNU mode RVCT compilation support
1345 <https://bugs.webkit.org/show_bug.cgi?id=23580>
1347 * html/PreloadScanner.cpp: Use COMPILER(GCC) instead of __GNUC__.
1349 2009-01-30 David Levin <levin@chromium.org>
1351 Reviewed by Alexey Proskuryakov.
1353 Bug 23616: Various "template helpers" should be consolidated from isolated files in JavaScriptCore.
1354 <https://bugs.webkit.org/show_bug.cgi?id=23616>
1356 Added forwarding header.
1358 * ForwardingHeaders/wtf/TypeTraits.h: Added.
1360 2009-01-30 David Levin <levin@chromium.org>
1362 Reviewed by Alexey Proskuryakov.
1364 Bug 23599: ResourceError needs to be copyable for use in another thread.
1365 <https://bugs.webkit.org/show_bug.cgi?id=23599>
1367 Add ResourceErrorBase::copy method. (Not yet used.)
1369 * platform/network/ResourceErrorBase.cpp:
1370 (WebCore::ResourceErrorBase::copy):
1371 * platform/network/ResourceErrorBase.h:
1373 2009-01-29 Stephanie Lewis <slewis@apple.com>
1377 Update the order files.
1381 2009-01-29 Dmitry Titov <dimich@chromium.org>
1383 Reviewed by Darin Adler.
1385 https://bugs.webkit.org/show_bug.cgi?id=23488
1387 Make TimerBase thread-aware (for Workers).
1388 Added new class ThreadTimers - it keeps a heap of all timers for a thread (previously kept in a static global).
1389 Pointer to instance of ThreadTimers is stored in GlobalThreadData.
1390 Most static methods of TimerBase went to ThreadTimers.
1392 The TimerBase functionality did not change (it maintains the timer heap which computes the nearest firing).
1394 Added new abstract class SharedTimer, so worker threads can provide their own implementation (will be implemented on WorkerRunLoop).
1399 * WebCore.vcproj/WebCore.vcproj:
1400 * WebCore.xcodeproj/project.pbxproj:
1401 * WebCoreSources.bkl:
1402 Added new ThreadTimers.cpp to build files.
1404 * platform/SharedTimer.h:
1405 (WebCore::SharedTimer::~SharedTimer):
1406 (WebCore::MainThreadSharedTimer::setFiredFunction):
1407 (WebCore::MainThreadSharedTimer::setFireTime):
1408 (WebCore::MainThreadSharedTimer::stop):
1409 Added abstract SharedTimer and MainThreadSharedTimer which redirects to the existing port-supplied functions.
1411 * platform/ThreadGlobalData.cpp:
1412 (WebCore::ThreadGlobalData::ThreadGlobalData):
1413 (WebCore::ThreadGlobalData::~ThreadGlobalData):
1414 * platform/ThreadGlobalData.h:
1415 (WebCore::ThreadGlobalData::threadTimers):
1416 Added ThreadTimers to ThreadGlobalData.
1418 * platform/ThreadTimers.cpp: Added.
1419 (WebCore::mainThreadSharedTimer):
1420 Static getter for a MainThreadSharedTimer singleton.
1422 (WebCore::ThreadTimers::ThreadTimers):
1423 (WebCore::ThreadTimers::setSharedTimer):
1424 (WebCore::ThreadTimers::updateSharedTimer):
1425 (WebCore::ThreadTimers::collectFiringTimers):
1426 (WebCore::ThreadTimers::fireTimers):
1427 (WebCore::ThreadTimers::sharedTimerFired):
1428 (WebCore::ThreadTimers::sharedTimerFiredInternal):
1429 (WebCore::ThreadTimers::fireTimersInNestedEventLoop):
1430 ThreadTimers implementation. Most of the code is moved from previous static functions on TimerBase.
1431 Need a new class so each thread may get ts own copy of the timer heap.
1433 * platform/ThreadTimers.h: Added.
1434 (WebCore::ThreadTimers::timerHeap):
1435 (WebCore::ThreadTimers::timersReadyToFire):
1437 * platform/Timer.cpp:
1438 (WebCore::timerHeap):
1439 (WebCore::timersReadyToFire):
1440 (WebCore::TimerHeapElement::TimerHeapElement):
1441 (WebCore::TimerHeapElement::checkConsistency):
1442 (WebCore::TimerHeapElement::operator=):
1443 (WebCore::TimerHeapIterator::checkConsistency):
1444 (WebCore::TimerBase::TimerBase):
1445 (WebCore::TimerBase::~TimerBase):
1446 (WebCore::TimerBase::isActive):
1447 (WebCore::TimerBase::checkHeapIndex):
1448 (WebCore::TimerBase::heapDelete):
1449 (WebCore::TimerBase::heapDeleteMin):
1450 (WebCore::TimerBase::heapInsert):
1451 (WebCore::TimerBase::heapPopMin):
1452 (WebCore::TimerBase::setNextFireTime):
1453 (WebCore::TimerBase::fireTimersInNestedEventLoop):
1454 Now instead of static timer heap these use accessor functions that pull thread-specific heap instance.
1457 static methods moved to ThreadTimers.
1459 2009-01-29 David Hyatt <hyatt@apple.com>
1461 Beginning of work to eliminate RenderContainer and make containership "pluggable" into any spot in the render tree. The first step is to create
1462 the new object that will handle children: RenderObjectChildList and move RenderContainer's member variables into it. Subsequent patches will begin
1463 moving RenderContainer's functionality into RenderObjectChildList.
1465 Reviewed by Eric Seidel
1467 * WebCore.xcodeproj/project.pbxproj:
1468 * rendering/RenderContainer.cpp:
1469 (WebCore::RenderContainer::RenderContainer):
1470 (WebCore::RenderContainer::destroyLeftoverChildren):
1471 (WebCore::RenderContainer::addChild):
1472 (WebCore::RenderContainer::removeChildNode):
1473 (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
1474 (WebCore::RenderContainer::appendChildNode):
1475 (WebCore::RenderContainer::insertChildNode):
1476 (WebCore::RenderContainer::layout):
1477 (WebCore::RenderContainer::removeLeftoverAnonymousBlock):
1478 (WebCore::RenderContainer::positionForCoordinates):
1479 (WebCore::RenderContainer::addLineBoxRects):
1480 (WebCore::RenderContainer::collectAbsoluteLineBoxQuads):
1481 * rendering/RenderContainer.h:
1482 (WebCore::RenderContainer::firstChild):
1483 (WebCore::RenderContainer::lastChild):
1484 (WebCore::RenderContainer::firstChildBox):
1485 (WebCore::RenderContainer::lastChildBox):
1486 * rendering/RenderObjectChildList.h: Added.
1487 (WebCore::RenderObjectChildList::RenderObjectChildList):
1488 (WebCore::RenderObjectChildList::firstChild):
1489 (WebCore::RenderObjectChildList::lastChild):
1490 (WebCore::RenderObjectChildList::setFirstChild):
1491 (WebCore::RenderObjectChildList::setLastChild):
1493 2009-01-29 Jungshik Shin <jshin@chromium.org>
1495 Reviewed by Alexey Proskuryakov.
1497 http://bugs.webkit.org/show_bug.cgi?id=23598
1498 Replace smart-quotes in UTF-8 with ASCII double-quotes to avoid
1499 the compilation error on CJK Windows
1501 * wml/WMLTableElement.cpp:
1502 (WebCore::WMLTableElement::parseMappedAttribute):
1504 2009-01-29 Darin Fisher <darin@chromium.org>
1506 Reviewed by Eric Seidel.
1508 https://bugs.webkit.org/show_bug.cgi?id=23627
1509 Fix the PLATFORM(SKIA) build.
1511 * svg/graphics/SVGPaintServer.cpp:
1512 (WebCore::SVGPaintServer::teardown):
1514 2009-01-29 Scott Violet <sky@google.com>
1516 Reviewed by Eric Seidel.
1518 https://bugs.webkit.org/show_bug.cgi?id=23625
1519 Skia platform doesn't render text to a canvas or support clipping to an image buffer
1521 Fixes two bugs in Skia rendering to a canvas:
1522 . Text was not rendered at all. This is because we never properly
1523 fixed up the alpha values. The fix is to create a layer when
1524 rendering text to a layer.
1525 . We were not honoring clipping to an image buffer.
1527 * platform/graphics/chromium/FontChromiumWin.cpp:
1528 (WebCore::Font::drawGlyphs):
1529 * platform/graphics/skia/GraphicsContextSkia.cpp:
1530 (WebCore::GraphicsContext::clipToImageBuffer):
1531 * platform/graphics/skia/ImageBufferSkia.cpp:
1532 (WebCore::ImageBuffer::ImageBuffer):
1533 * platform/graphics/skia/PlatformContextSkia.cpp:
1534 (PlatformContextSkia::PlatformContextSkia):
1535 (PlatformContextSkia::setDrawingToImageBuffer):
1536 (PlatformContextSkia::isDrawingToImageBuffer):
1537 (PlatformContextSkia::beginLayerClippedToImage):
1538 (PlatformContextSkia::restore):
1539 (PlatformContextSkia::applyClipFromImage):
1540 * platform/graphics/skia/PlatformContextSkia.h:
1542 2009-01-29 Sam Weinig <sam@webkit.org>
1544 Reviewed by Mark Rowe.
1546 First step in tracking the urls a HistoryItem was redirected through.
1549 * history/HistoryItem.cpp:
1550 (WebCore::HistoryItem::HistoryItem):
1551 (WebCore::HistoryItem::addRedirectURL):
1552 (WebCore::HistoryItem::redirectURLs):
1553 (WebCore::HistoryItem::setRedirectURLs):
1554 * history/HistoryItem.h:
1556 2009-01-29 Dirk Schulze <krit@webkit.org>
1558 Reviewed by Nikolas Zimmermann, Eric Seidel.
1560 Just transform the pattern directly instead of transforming the context fixes this
1561 problem. Texts or strokes are no longer affected by transformations.
1563 SVG pattern transformation/BoundingBox can cause ugly stroke thickness or text positions
1564 https://bugs.webkit.org/show_bug.cgi?id=23472
1566 Test: svg/custom/pattern-with-transformation.svg
1568 * platform/graphics/Pattern.h:
1569 (WebCore::Pattern::setPatternSpaceTransform):
1570 * platform/graphics/cairo/PatternCairo.cpp:
1571 (WebCore::Pattern::createPlatformPattern):
1572 * platform/graphics/cg/PatternCG.cpp:
1573 (WebCore::Pattern::createPlatformPattern):
1574 * platform/graphics/qt/PatternQt.cpp:
1575 (WebCore::Pattern::createPlatformPattern):
1576 * svg/graphics/SVGPaintServerPattern.cpp:
1577 (WebCore::SVGPaintServerPattern::setup):
1579 2009-01-29 David Hyatt <hyatt@apple.com>
1581 Move the line box list member out of RenderFlow and down into RenderBlock and RenderInline. Eliminate RenderFlow from the tree.
1583 Reviewed by Sam Weinig
1587 * WebCore.vcproj/WebCore.vcproj:
1588 * WebCore.xcodeproj/project.pbxproj:
1589 * WebCoreSources.bkl:
1590 * html/HTMLAnchorElement.cpp:
1591 * rendering/InlineFlowBox.cpp:
1592 (WebCore::InlineFlowBox::rendererLineBoxes):
1593 (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
1594 * rendering/InlineFlowBox.h:
1595 * rendering/LayoutState.cpp:
1596 (WebCore::LayoutState::LayoutState):
1597 * rendering/RenderBlock.cpp:
1598 (WebCore::RenderBlock::RenderBlock):
1599 (WebCore::RenderBlock::destroy):
1600 (WebCore::RenderBlock::styleWillChange):
1601 (WebCore::RenderBlock::styleDidChange):
1602 (WebCore::RenderBlock::dirtyLineBoxes):
1603 (WebCore::RenderBlock::removeChild):
1604 (WebCore::RenderBlock::setSelectionState):
1605 (WebCore::RenderBlock::avoidsFloats):
1606 (WebCore::RenderBlock::positionForCoordinates):
1607 (WebCore::RenderBlock::calcInlinePrefWidths):
1608 (WebCore::RenderBlock::baselinePosition):
1609 (WebCore::RenderBlock::getBaselineOfFirstLineBox):
1610 (WebCore::RenderBlock::getBaselineOfLastLineBox):
1611 (WebCore::RenderBlock::rectWithOutlineForRepaint):
1612 (WebCore::RenderBlock::hoverAncestor):
1613 (WebCore::RenderBlock::updateDragState):
1614 * rendering/RenderBlock.h:
1615 (WebCore::RenderBlock::lineBoxes):
1616 (WebCore::RenderBlock::firstLineBox):
1617 (WebCore::RenderBlock::lastLineBox):
1618 * rendering/RenderBox.cpp:
1619 (WebCore::RenderBox::offsetFromContainer):
1620 (WebCore::RenderBox::computeRectForRepaint):
1621 (WebCore::RenderBox::containingBlockWidthForPositioned):
1622 (WebCore::RenderBox::calcAbsoluteHorizontalValues):
1623 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
1624 * rendering/RenderBox.h:
1625 * rendering/RenderFlow.cpp: Removed.
1626 * rendering/RenderFlow.h: Removed.
1627 * rendering/RenderInline.cpp:
1628 (WebCore::RenderInline::RenderInline):
1629 (WebCore::RenderInline::destroy):
1630 (WebCore::RenderInline::styleDidChange):
1631 (WebCore::RenderInline::addChildIgnoringContinuation):
1632 (WebCore::RenderInline::cloneInline):
1633 (WebCore::RenderInline::splitInlines):
1634 (WebCore::RenderInline::offsetLeft):
1635 (WebCore::RenderInline::offsetTop):
1636 (WebCore::RenderInline::positionForCoordinates):
1637 (WebCore::RenderInline::rectWithOutlineForRepaint):
1638 (WebCore::RenderInline::updateDragState):
1639 (WebCore::RenderInline::relativePositionedInlineOffset):
1640 * rendering/RenderInline.h:
1641 (WebCore::RenderInline::lineBoxes):
1642 (WebCore::RenderInline::firstLineBox):
1643 (WebCore::RenderInline::lastLineBox):
1644 * rendering/RenderLayer.cpp:
1645 (WebCore::RenderLayer::updateLayerPosition):
1646 * rendering/RenderLineBoxList.cpp:
1647 (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
1648 * rendering/RootInlineBox.cpp:
1649 (WebCore::RootInlineBox::rendererLineBoxes):
1650 * rendering/RootInlineBox.h:
1651 * rendering/bidi.cpp:
1652 (WebCore::RenderBlock::createLineBoxes):
1653 * wml/WMLAElement.cpp:
1655 2009-01-29 Geoffrey Garen <ggaren@apple.com>
1657 Reviewed by Oliver Hunt.
1659 Cleaned up some naming in ScheduledRedirection.
1661 * loader/FrameLoader.cpp:
1662 (WebCore::ScheduledRedirection::ScheduledRedirection):
1664 2009-01-29 Anders Carlsson <andersca@apple.com>
1666 Reviewed by Dan Bernstein.
1668 Update to use new API.
1670 * platform/graphics/mac/FontCustomPlatformData.cpp:
1671 (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
1672 (WebCore::createFontCustomPlatformData):
1674 2009-01-29 Alexey Proskuryakov <ap@webkit.org>
1676 Reviewed by Nikolas Zimmermann.
1678 https://bugs.webkit.org/show_bug.cgi?id=23619
1679 ASSERT(!error.isNull()) in DocumentLoader::mainReceivedError() when an SVG image load
1682 Covered by existing tests (as a random crash).
1684 * loader/EmptyClients.h:
1685 (WebCore::EmptyFrameLoaderClient::cancelledError):
1686 (WebCore::EmptyFrameLoaderClient::blockedError):
1687 (WebCore::EmptyFrameLoaderClient::cannotShowURLError):
1688 (WebCore::EmptyFrameLoaderClient::interruptForPolicyChangeError):
1689 (WebCore::EmptyFrameLoaderClient::cannotShowMIMETypeError):
1690 (WebCore::EmptyFrameLoaderClient::fileDoesNotExistError):
1691 (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError):
1692 Create non-null errors.
1694 2009-01-29 Geoffrey Garen <ggaren@apple.com>
1696 Reviewed by Oliver Hunt.
1698 Removed an unused case of "lockHistory" to help make the other cases
1701 * page/FrameLoadRequest.h:
1702 (WebCore::FrameLoadRequest::FrameLoadRequest):
1704 2009-01-29 David Hyatt <hyatt@apple.com>
1706 Move all of the contination insertion code from RenderFlow to RenderInline. addChildToFlow is renamed to addChildIgnoringContinuation, and it has been moved to
1707 RenderContainer so that it can still be called on either blocks or inlines. The base class implementation in RenderContainer is what RenderBlock uses. RenderInline
1708 subclasses it to do all the work it used to do in addChildToFlow.
1710 RenderBlock's old addChildToFlow can just become addChild. This simplification is possible because addChild was actually never being called on anonymous
1711 block continuations.
1713 The code dealing with anonymous table parts in the old addChildWithContinuation method can now be removed as a result with no harmful side effects. Falling through to the
1714 base class and ignoring a block continuation makes the right thing happen.
1716 addChildWithContinuation moved to RenderInline and has been renamed to addChildToContinuation.
1718 Reviewed by Eric Seidel
1720 * rendering/RenderBlock.cpp:
1721 (WebCore::RenderBlock::addChild):
1722 * rendering/RenderBlock.h:
1723 * rendering/RenderContainer.h:
1724 (WebCore::RenderContainer::addChildIgnoringContinuation):
1725 * rendering/RenderFlow.cpp:
1726 * rendering/RenderFlow.h:
1727 * rendering/RenderInline.cpp:
1728 (WebCore::RenderInline::styleDidChange):
1729 (WebCore::RenderInline::addChild):
1730 (WebCore::nextContinuation):
1731 (WebCore::RenderInline::continuationBefore):
1732 (WebCore::RenderInline::addChildIgnoringContinuation):
1733 (WebCore::RenderInline::splitInlines):
1734 (WebCore::RenderInline::splitFlow):
1735 (WebCore::RenderInline::addChildToContinuation):
1736 (WebCore::RenderInline::childBecameNonInline):
1737 * rendering/RenderInline.h:
1738 (WebCore::RenderInline::continuation):
1739 (WebCore::RenderInline::setContinuation):
1741 2009-01-29 Brady Eidson <beidson@apple.com>
1743 Reviewed by Oliver Hunt
1745 <rdar://problem/6337157> hyundaiusa.com closes window or tab during load
1747 Test: fast/loader/subframe-self-close.html
1749 * page/DOMWindow.cpp:
1750 (WebCore::DOMWindow::close): Only allow mainframes to close the window.
1752 2009-01-29 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
1754 Reviewed by David Hyatt.
1756 Fixes: https://bugs.webkit.org/show_bug.cgi?id=23539
1758 Remove several virtual functions from Node & Element related to form control / input elements,
1759 that shouldn't reside there, but move to approriate locations, in the new form control /
1760 input element abstract base classes.
1762 Remove the isControl() method from Node, as it's redundant - isFormControlElement() provides the same information.
1763 Move isEnabled( / isReadOnlyControl() / isTextControl() from Node to FormControlElement.
1764 Move isAutofilled() / isChecked() / isIndeterminate() from Node to InputElement.
1765 Move isInputTypeHidden() / isPasswordField() from Element to InputElement.
1767 Querying these methods requires using the toInputElement/toFormControlElement casting helper functions
1768 to cast Element pointers to InputElement/FormControlElement pointers.
1770 * css/CSSStyleSelector.cpp:
1771 (WebCore::CSSStyleSelector::canShareStyleWithElement):
1772 (WebCore::CSSStyleSelector::adjustRenderStyle):
1773 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1775 (WebCore::Element::isFormControlElementWithState):
1776 * dom/FormControlElement.h:
1777 * dom/InputElement.h:
1779 * editing/TextIterator.cpp:
1780 (WebCore::TextIterator::advance):
1781 * html/HTMLFormControlElement.cpp:
1782 (WebCore::HTMLFormControlElement::attach):
1783 * html/HTMLFormControlElement.h:
1784 (WebCore::HTMLFormControlElement::isTextControl):
1785 * html/HTMLFormElement.cpp:
1786 (WebCore::HTMLFormElement::CheckedRadioButtons::removeButton):
1787 * html/HTMLInputElement.h:
1788 (WebCore::HTMLInputElement::isAutofilled):
1789 * page/AccessibilityRenderObject.cpp:
1790 (WebCore::AccessibilityRenderObject::isPasswordField):
1791 (WebCore::AccessibilityRenderObject::isIndeterminate):
1792 (WebCore::AccessibilityRenderObject::isChecked):
1793 (WebCore::AccessibilityRenderObject::isControl):
1794 (WebCore::AccessibilityRenderObject::isEnabled):
1795 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
1796 * page/mac/AccessibilityObjectWrapper.mm:
1797 (textMarkerForVisiblePosition):
1798 * platform/ContextMenu.cpp:
1799 (WebCore::ContextMenu::populate):
1800 * rendering/RenderLayer.cpp:
1801 (WebCore::RenderLayer::resize):
1802 * rendering/RenderMenuList.cpp:
1803 (WebCore::RenderMenuList::itemIsEnabled):
1804 * rendering/RenderTextControl.cpp:
1805 (WebCore::updateUserModifyProperty):
1806 (WebCore::RenderTextControl::adjustInnerTextStyle):
1807 (WebCore::RenderTextControl::updateFromElement):
1808 * rendering/RenderTheme.cpp:
1809 (WebCore::RenderTheme::isChecked):
1810 (WebCore::RenderTheme::isIndeterminate):
1811 (WebCore::RenderTheme::isEnabled):
1812 (WebCore::RenderTheme::isReadOnlyControl):
1813 * rendering/RenderThemeMac.mm:
1814 (WebCore::RenderThemeMac::adjustMenuListStyle):
1815 * wml/WMLFormControlElement.cpp:
1816 (WebCore::WMLFormControlElement::isFocusable):
1817 * wml/WMLFormControlElement.h:
1818 (WebCore::WMLFormControlElement::isEnabled):
1819 (WebCore::WMLFormControlElement::isReadOnlyControl):
1820 (WebCore::WMLFormControlElement::isTextControl):
1821 * wml/WMLInputElement.cpp:
1822 (WebCore::WMLInputElement::isKeyboardFocusable):
1823 (WebCore::WMLInputElement::isMouseFocusable):
1824 * wml/WMLInputElement.h:
1825 (WebCore::WMLInputElement::isAutofilled):
1827 2009-01-29 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
1829 Not reviewed. Fix WML build - apply same fix as HTMLAnchorElement received.
1831 * wml/WMLAElement.cpp:
1832 (WebCore::WMLAElement::isKeyboardFocusable):
1834 2009-01-29 Alexey Proskuryakov <ap@webkit.org>
1836 Reviewed by Anders Carlsson.
1838 https://bugs.webkit.org/show_bug.cgi?id=23620
1839 Crash in appcache/resource-redirect.html on Tiger
1841 There was a bug in the test case - it didn't send a Location header, and on Tiger, this
1842 resulted in a failure callback being sent. It turned out that proper redirects weren't
1845 Tests: http/tests/appcache/manifest-redirect-2.html
1846 http/tests/appcache/resource-redirect-2.html
1848 * loader/appcache/ApplicationCacheGroup.cpp:
1849 (WebCore::ApplicationCacheGroup::didFail): Fixed this function to not crash if
1850 didReceiveResponse() wasn't called for this request.
1851 (WebCore::ApplicationCacheGroup::didReceiveResponse): Fixed to check for redirects correctly.
1852 (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Ditto.
1854 2009-01-29 David Hyatt <hyatt@apple.com>
1856 Move dirtyLinesFromChangedChild into RenderLineBoxList so that it can be shared by RenderBlock and RenderInline.
1858 Reviewed by Sam Weinig
1860 * rendering/RenderBlock.h:
1861 (WebCore::RenderBlock::dirtyLinesFromChangedChild):
1862 * rendering/RenderFlow.cpp:
1863 * rendering/RenderFlow.h:
1864 * rendering/RenderInline.h:
1865 (WebCore::RenderInline::dirtyLinesFromChangedChild):
1866 * rendering/RenderLineBoxList.cpp:
1867 (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
1868 * rendering/RenderLineBoxList.h:
1870 2009-01-29 Adam Roben <aroben@apple.com>
1872 Fix Bug 23623: Windowed Flash instances aren't captured when a WebView
1873 receives a WM_PRINTCLIENT message
1875 <https://bugs.webkit.org/show_bug.cgi?id=23623>
1876 <rdar://problem/6513921>
1877 <rdar://problem/6536874>
1879 Flash doesn't seem to respond to WM_PRINTCLIENT, so we change
1880 WM_PRINTCLIENT messages into WM_PAINT messages and hook into the
1881 BeginPaint/EndPaint APIs to return the HDC we received from
1882 WM_PRINTCLIENT. This causes the plugin to paint into the
1883 WM_PRINTCLIENT HDC via its normal WM_PAINT handler. This technique
1884 came from <http://www.fengyuan.com/article/wmprint.html>.
1888 Reviewed by Darin Adler.
1890 * platform/graphics/GraphicsContext.h: Added
1891 [set]ShouldIncludeChildWindows on Windows.
1893 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: Added
1894 m_shouldIncludeChildWindows.
1895 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1896 Initialize the new member.
1898 * platform/graphics/win/GraphicsContextCGWin.cpp:
1899 (WebCore::GraphicsContext::setShouldIncludeChildWindows):
1900 (WebCore::GraphicsContext::shouldIncludeChildWindows):
1901 Added simple setter and getter.
1903 * plugins/PluginView.cpp:
1904 (WebCore::PluginView::PluginView): Initialize the new member.
1906 * plugins/PluginView.h: Added m_wmPrintHDC and various functions
1907 required for making WM_PRINTCLIENT work.
1909 * plugins/win/PluginViewWin.cpp:
1910 (WebCore::PluginView::hookedBeginPaint):
1911 (WebCore::PluginView::hookedEndPaint):
1913 (WebCore::setUpOffscreenPaintingHooks):
1914 Added. Code was modified from code available on fengyuan.com.
1916 (WebCore::PluginView::wndProc): Turn WM_PRINTCLIENT messages into
1917 WM_PAINT messages and save off the HDC that we're supposed to paint
1920 (WebCore::PluginView::paintWindowedPluginIntoContext): Added. Gets an
1921 HDC from the GraphicsContext, translates it into client coordinates,
1922 gets the plugin to draw into the HDC by sending a WM_PRINTCLIENT
1923 message, and returns the HDC to the GraphicsContext.
1925 (WebCore::PluginView::paint): If we're trying to paint a windowed
1926 plugin into the GraphicsContext, call paintWindowedPluginIntoContext.
1928 (WebCore::PluginView::init): Call setUpOffscreenPaintingHooks to make
1929 our WM_PRINTCLIENT trick work.
1931 2009-01-29 David Hyatt <hyatt@apple.com>
1933 Move RenderFlow::destroy down into RenderBlock and RenderInline.
1935 Reviewed by Anders Carlsson
1937 * rendering/RenderBlock.cpp:
1938 (WebCore::RenderBlock::destroy):
1939 * rendering/RenderFlow.cpp:
1940 * rendering/RenderFlow.h:
1941 * rendering/RenderInline.cpp:
1942 (WebCore::RenderInline::destroy):
1944 2009-01-29 David Kilzer <ddkilzer@apple.com>
1946 Remove semi-colons from the end of ObjC method implementations
1948 Rubber-stamped by Adam Roben.
1950 $ find WebCore -name \*.m -o -name \*.mm -exec perl -e 'undef $/; $s = <>; while ($s =~ m/[\n\r][-+].*;[\s\r\n]+\{/g) { print "$ARGV: $&\n"; }' {} \;
1952 * bridge/testbindings.mm:
1954 2009-01-29 Adam Treat <adam.treat@torchmobile.com>
1956 Reviewed by Alexey Proskuryakov.
1958 https://bugs.webkit.org/show_bug.cgi?id=23609
1959 Use the two-arg constructor for implicit QUrl->KURL conversion as the
1960 single argument ctors assume that KURL::parse has already been called
1961 and assert if the parse results in a different string. This was causing
1962 an assert for QUrl's with no path and without a trailing slash.
1964 * platform/qt/KURLQt.cpp:
1965 (WebCore::KURL::KURL):
1967 2009-01-29 Alexey Proskuryakov <ap@webkit.org>
1969 Rubber-stamped by Darin Adler.
1971 Renamed ApplicationCacheResource::Implicit to Master, because that's the word HTML5 uses,
1972 and it describes the meaning better.
1974 * loader/appcache/ApplicationCache.cpp:
1975 * loader/appcache/ApplicationCacheGroup.cpp:
1976 * loader/appcache/ApplicationCacheResource.cpp:
1977 * loader/appcache/ApplicationCacheResource.h:
1979 2009-01-29 Alexey Proskuryakov <ap@webkit.org>
1983 * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache):
1984 Got rid of a variable that wasn't used in release builds.
1986 2009-01-29 David Hyatt <hyatt@apple.com>
1988 Get rid of createAnonymousFlow. It was only called in one spot, so just inline the code.
1990 Reviewed by Oliver Hunt
1992 * rendering/RenderBlock.cpp:
1993 (WebCore::RenderBlock::updateFirstLetter):
1994 * rendering/RenderFlow.cpp:
1995 * rendering/RenderFlow.h:
1997 2009-01-29 Alexey Proskuryakov <ap@webkit.org>
1999 Reviewed by Anders Carlsson.
2001 https://bugs.webkit.org/show_bug.cgi?id=23476
2002 HTTP redirect should make application cache updating fail
2004 Tests: http/tests/appcache/manifest-redirect.html
2005 http/tests/appcache/resource-redirect.html
2007 * loader/appcache/ApplicationCacheGroup.cpp:
2008 (WebCore::ApplicationCacheGroup::didReceiveResponse):
2009 (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
2010 Fail if response code isn't 2xx.
2012 2009-01-29 Alexey Proskuryakov <ap@webkit.org>
2014 Reviewed by Anders Carlsson.
2016 https://bugs.webkit.org/show_bug.cgi?id=23592
2017 Update appcache manifest signature parsing
2019 Test: http/tests/appcache/wrong-signature-2.html
2021 * loader/appcache/ManifestParser.cpp: (WebCore::parseManifest): Allow comments on signature
2022 line. Removed code that replaced nulls with 0xFFFD characters, because there is no such
2023 requirement in the spec.
2025 2009-01-28 Alexey Proskuryakov <ap@webkit.org>
2027 Reviewed by Anders Carlsson.
2029 https://bugs.webkit.org/show_bug.cgi?id=23584
2030 Update application cache code for the latest round of spec changes
2032 The changes mostly affect the update process - events are sent at a different
2033 time, and caches are associated with documents earlier.
2035 * loader/DocumentLoader.cpp:
2036 (WebCore::DocumentLoader::mainReceivedError): Changed an always passing test to an assertion.
2037 (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache): Caches are now associated
2038 with DocumentLoader before being complete, but they only affect loading after being completed.
2039 (WebCore::DocumentLoader::getApplicationCacheFallbackResource): Ditto.
2041 * loader/appcache/ApplicationCache.cpp:
2042 (WebCore::ApplicationCache::setGroup): Allow setting the group to the same one, to simplify
2043 ApplicationCacheGroup code.
2044 (WebCore::ApplicationCache::isComplete): A new method that tells whether the cache is
2045 complete, as defined in HTML5.
2046 * loader/appcache/ApplicationCache.h: Added isComplete().
2048 * loader/appcache/ApplicationCacheGroup.h:
2049 (WebCore::ApplicationCacheUpdateOption): Per HTML5, cache updating should work differently
2050 when invoked with or without a browsing context (Frame). A Frame is currently always needed
2051 for updating in WebKit, so a new argument to update() tells whether we should pretend that
2053 (WebCore::ApplicationCacheGroup::cacheIsBeingUpdated): A helper for ApplicationCache::isComplete().
2054 (WebCore::ApplicationCacheGroup::CompletionType): Cache update algorithm now waits for
2055 ne main resources to finish loading in more cases. A member variable of this type is used to
2056 distinguish between different cases when waiting.
2057 (WebCore::ApplicationCacheGroup::m_cacheCandidates): The new algorithm doesn't track cache
2058 candidates. Caches are associated with documents much earlier, but the ones whose main resources
2059 have not been loaded from a cache are being tracked in a pending master entry list.
2061 * loader/appcache/DOMApplicationCache.cpp: (WebCore::DOMApplicationCache::update):
2062 An explicit call to update() invokes the algorithm without a browsing context.
2064 * loader/appcache/ApplicationCacheGroup.cpp:
2065 (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
2066 (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
2067 (WebCore::ApplicationCacheGroup::selectCache):
2068 (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
2069 (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
2070 (WebCore::ApplicationCacheGroup::failedLoadingMainResource):
2071 (WebCore::ApplicationCacheGroup::stopLoading):
2072 (WebCore::ApplicationCacheGroup::disassociateDocumentLoader):
2073 (WebCore::ApplicationCacheGroup::cacheDestroyed):
2074 (WebCore::ApplicationCacheGroup::setNewestCache):
2075 (WebCore::ApplicationCacheGroup::update):
2076 (WebCore::ApplicationCacheGroup::didReceiveResponse):
2077 (WebCore::ApplicationCacheGroup::didFinishLoading):
2078 (WebCore::ApplicationCacheGroup::didFail):
2079 (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
2080 (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
2081 (WebCore::ApplicationCacheGroup::manifestNotFound):
2082 (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
2083 (WebCore::ApplicationCacheGroup::startLoadingEntry):
2084 (WebCore::ApplicationCacheGroup::deliverDelayedMainResources):
2085 (WebCore::ApplicationCacheGroup::addEntry):
2086 (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache):
2087 (WebCore::CallCacheListenerTask::create):
2088 (WebCore::CallCacheListenerTask::performTask):
2089 (WebCore::CallCacheListenerTask::CallCacheListenerTask):
2090 (WebCore::ApplicationCacheGroup::postListenerTask):
2091 Rewrote the update algorithm.
2093 2009-01-28 Geoffrey Garen <ggaren@apple.com>
2095 Reviewed by Sam Weinig.
2097 Merged FrameLoadTypeReloadAllowingStaleData with FrameLoadTypeReload.
2099 Technically, selecting View->Text Encoding->[Non-Default Encoding] on
2100 a page with frames may now be slightly slower than it used to be. Oh well.
2102 * loader/FrameLoader.cpp:
2103 (WebCore::isBackForwardLoadType):
2104 (WebCore::FrameLoader::restoreDocumentState): Subbed in FrameLoadTypeReload.
2106 (WebCore::FrameLoader::loadURLIntoChildFrame): No need to account for
2107 non-back-forward navigations anymore.
2109 (WebCore::FrameLoader::canCachePage):
2110 (WebCore::FrameLoader::logCanCachePageDecision):
2111 (WebCore::FrameLoader::reloadWithOverrideEncoding):
2112 (WebCore::FrameLoader::transitionToCommitted):
2113 (WebCore::FrameLoader::loadItem): Subbed in FrameLoadTypeReload.
2115 * loader/FrameLoader.h: Renamed reloadAllowingStaleData => reloadWithOverrideEncoding,
2116 since that's what it actually does.
2118 2009-01-28 David Hyatt <hyatt@apple.com>
2120 Move hit testing and painting of lines from RenderFlow into RenderLineBoxList.
2122 Reviewed by Oliver Hunt
2124 * rendering/RenderBlock.cpp:
2125 (WebCore::RenderBlock::paintContents):
2126 (WebCore::RenderBlock::hitTestContents):
2127 * rendering/RenderFlow.cpp:
2128 * rendering/RenderFlow.h:
2129 * rendering/RenderInline.cpp:
2130 (WebCore::RenderInline::paint):
2131 (WebCore::RenderInline::nodeAtPoint):
2132 * rendering/RenderLineBoxList.cpp:
2133 (WebCore::RenderLineBoxList::paint):
2134 (WebCore::RenderLineBoxList::hitTest):
2135 * rendering/RenderLineBoxList.h:
2137 2009-01-28 David Hyatt <hyatt@apple.com>
2139 Fix SVG pixel test regressions. I wish I could say that I understand this fix, but I don't. For
2140 some reason the original code returned 0 for RenderSVGInlineText::yPos() and somehow my literal
2141 replacement of yPos() with the body of that method changed the results. I am completely baffled,
2142 but all SVG pixel tests pass again when I just take the code out.
2144 Reviewed by Oliver Hunt
2146 * rendering/RenderSVGInlineText.cpp:
2147 (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
2149 2009-01-28 David Hyatt <hyatt@apple.com>
2151 Move dirtyLineBoxes from RenderFlow to RenderInline and RenderBlock.
2153 Reviewed by Oliver Hunt
2155 * rendering/RenderBlock.cpp:
2156 (WebCore::RenderBlock::dirtyLineBoxes):
2157 * rendering/RenderBlock.h:
2158 * rendering/RenderFlow.cpp:
2159 * rendering/RenderFlow.h:
2160 * rendering/RenderInline.cpp:
2161 (WebCore::RenderInline::dirtyLineBoxes):
2162 * rendering/RenderInline.h:
2163 * rendering/RenderLineBoxList.cpp:
2164 (WebCore::RenderLineBoxList::dirtyLineBoxes):
2165 * rendering/RenderLineBoxList.h:
2167 2009-01-28 David Hyatt <hyatt@apple.com>
2169 Back out my change to scrollWidth/Height from an earlier checkin since it broke stuff. The current
2170 behavior is not correct, but this will need to be investigated before being changed again.
2172 * rendering/RenderBox.cpp:
2173 (WebCore::RenderBox::scrollWidth):
2174 (WebCore::RenderBox::scrollHeight):
2176 2009-01-28 David Hyatt <hyatt@apple.com>
2178 Move paintOutline and paintOutlineWithLine from RenderFlow to RenderInline, since they only apply to inlines. Tighten up all of the code that
2179 called paintOutline to use RenderInline as the type instead of RenderFlow.
2183 * rendering/InlineFlowBox.cpp:
2184 (WebCore::InlineFlowBox::paint):
2185 * rendering/RenderBlock.cpp:
2186 (WebCore::RenderBlock::paintObject):
2187 (WebCore::RenderBlock::addContinuationWithOutline):
2188 (WebCore::RenderBlock::paintContinuationOutlines):
2189 * rendering/RenderFlow.cpp:
2190 (WebCore::RenderFlow::paintLines):
2191 * rendering/RenderFlow.h:
2192 * rendering/RenderInline.cpp:
2193 (WebCore::RenderInline::paintOutline):
2194 (WebCore::RenderInline::paintOutlineForLine):
2195 * rendering/RenderInline.h:
2196 * rendering/RenderObject.cpp:
2197 (WebCore::RenderObject::paintOutline):
2198 * rendering/RenderObject.h:
2199 (WebCore::RenderObject::PaintInfo::PaintInfo):
2201 2009-01-28 Darin Fisher <darin@chromium.org>
2203 Reviewed by Eric Seidel.
2205 https://bugs.webkit.org/show_bug.cgi?id=23596
2206 XMLHttpRequest.cpp no longer compiles without USE(JSC)
2208 * xml/XMLHttpRequest.cpp:
2210 2009-01-28 Darin Fisher <darin@chromium.org>
2212 Reviewed by Darin Adler.
2214 https://bugs.webkit.org/show_bug.cgi?id=23597
2215 Make it possible to compile Database.cpp when USE(JSC) is not defined
2217 * storage/Database.cpp:
2218 (WebCore::Database::Database):
2220 2009-01-28 Dan Bernstein <mitz@apple.com>
2222 Reviewed by Darin Adler.
2224 - fix <rdar://problem/6077047> REGRESSION (r34544): Custom icon does not
2225 appear in address field on first visit to any site
2227 * loader/icon/IconLoader.cpp:
2228 (WebCore::IconLoader::finishLoading): Changed to set the icon data only
2229 after establishing a mapping from the page URL(s) to the icon. Doing
2230 things the other way around resulted in the data not being cached
2231 in the icon-URL to IconRecord map (because there was no interested page
2232 at the time) and subsequently having to be fetched asynchronously from
2233 the database when the page-to-icon mapping was established.
2235 2009-01-28 David Hyatt <hyatt@apple.com>
2237 Move addFocusRingRects from RenderFlow down into RenderBlock and RenderInline.
2239 Reviewed by Oliver Hunt
2241 * rendering/RenderBlock.cpp:
2242 (WebCore::RenderBlock::addFocusRingRects):
2243 * rendering/RenderBlock.h:
2244 * rendering/RenderFlow.cpp:
2245 * rendering/RenderFlow.h:
2246 * rendering/RenderInline.cpp:
2247 (WebCore::RenderInline::addFocusRingRects):
2248 * rendering/RenderInline.h:
2250 2009-01-28 David Hyatt <hyatt@apple.com>
2252 Move localCaretRect from RenderFlow into RenderBlock, since it only applied to blocks anyway and
2253 was misplaced from the start.
2257 * rendering/RenderBlock.cpp:
2258 (WebCore::RenderBlock::localCaretRect):
2259 * rendering/RenderBlock.h:
2260 * rendering/RenderFlow.cpp:
2261 * rendering/RenderFlow.h:
2263 2009-01-28 Sam Weinig <sam@webkit.org>
2265 Reviewed by Geoff Garen.
2267 Add forwarding header.
2269 * ForwardingHeaders/debugger/DebuggerActivation.h: Added.
2271 2009-01-28 David Hyatt <hyatt@apple.com>
2273 Move createInlineBox out of RenderFlow and down into RenderInline and RenderBlock.
2275 Reviewed by Beth Dakin
2277 * rendering/RenderBlock.cpp:
2278 (WebCore::RenderBlock::createInlineBox):
2279 * rendering/RenderBlock.h:
2280 * rendering/RenderFlow.cpp:
2281 * rendering/RenderFlow.h:
2282 * rendering/RenderInline.cpp:
2283 (WebCore::RenderInline::createInlineBox):
2284 * rendering/RenderInline.h:
2285 * rendering/bidi.cpp:
2287 2009-01-28 David Hyatt <hyatt@apple.com>
2289 Move calcMargins from RenderFlow to RenderInline, since it was only ever called on RenderInlines.
2291 Reviewed by Oliver Hunt
2293 * rendering/RenderFlow.cpp:
2294 * rendering/RenderFlow.h:
2295 * rendering/RenderInline.h:
2296 (WebCore::RenderInline::calcMargins):
2297 * rendering/bidi.cpp:
2298 (WebCore::RenderBlock::layoutInlineChildren):
2300 2009-01-28 David Hyatt <hyatt@apple.com>
2302 Refactor the first and last line box member variables from RenderFlow. Encapsulate them into a new class called RenderLineBoxList that manages all modifications to
2303 the list. This change will make it easier to give RenderInline and RenderBlock separate versions of the line box list without having to duplicate very much code.
2305 Reviewed by Oliver Hunt
2309 * WebCore.vcproj/WebCore.vcproj:
2310 * WebCore.xcodeproj/project.pbxproj:
2311 * WebCoreSources.bkl:
2312 * rendering/InlineFlowBox.cpp:
2313 (WebCore::InlineFlowBox::deleteLine):
2314 (WebCore::InlineFlowBox::removeLineBoxFromRenderObject):
2315 (WebCore::InlineFlowBox::extractLine):
2316 (WebCore::InlineFlowBox::extractLineBoxFromRenderObject):
2317 (WebCore::InlineFlowBox::attachLine):
2318 (WebCore::InlineFlowBox::attachLineBoxToRenderObject):
2319 * rendering/InlineFlowBox.h:
2320 * rendering/RenderBlock.cpp:
2321 (WebCore::RenderBlock::deleteLineBoxTree):
2322 * rendering/RenderFlow.cpp:
2323 (WebCore::RenderFlow::destroy):
2324 (WebCore::RenderFlow::dirtyLineBoxes):
2325 (WebCore::RenderFlow::createInlineBox):
2326 * rendering/RenderFlow.h:
2327 (WebCore::RenderFlow::RenderFlow):
2328 (WebCore::RenderFlow::lineBoxes):
2329 (WebCore::RenderFlow::firstLineBox):
2330 (WebCore::RenderFlow::lastLineBox):
2331 * rendering/RenderLineBoxList.cpp: Added.
2332 (WebCore::RenderLineBoxList::~RenderLineBoxList):
2333 (WebCore::RenderLineBoxList::appendLineBox):
2334 (WebCore::RenderLineBoxList::deleteLineBoxTree):
2335 (WebCore::RenderLineBoxList::extractLineBox):
2336 (WebCore::RenderLineBoxList::attachLineBox):
2337 (WebCore::RenderLineBoxList::removeLineBox):
2338 (WebCore::RenderLineBoxList::deleteLineBoxes):
2339 (WebCore::RenderLineBoxList::checkConsistency):
2340 * rendering/RenderLineBoxList.h: Added.
2341 (WebCore::RenderLineBoxList::RenderLineBoxList):
2342 (WebCore::RenderLineBoxList::firstLineBox):
2343 (WebCore::RenderLineBoxList::lastLineBox):
2344 (WebCore::RenderLineBoxList::checkConsistency):
2345 * rendering/RenderSVGInline.cpp:
2346 (WebCore::RenderSVGInline::createInlineBox):
2347 * rendering/RenderSVGText.cpp:
2348 (WebCore::RenderSVGText::createInlineBox):
2349 * rendering/RootInlineBox.cpp:
2350 (WebCore::RootInlineBox::removeLineBoxFromRenderObject):
2351 (WebCore::RootInlineBox::extractLineBoxFromRenderObject):
2352 (WebCore::RootInlineBox::attachLineBoxToRenderObject):
2353 * rendering/RootInlineBox.h:
2354 * rendering/bidi.cpp:
2355 (WebCore::RenderBlock::layoutInlineChildren):
2357 2009-01-28 David Kilzer <ddkilzer@apple.com>
2359 Clean up FontPlatformData constructor
2361 Reviewed by David Hyatt.
2363 * platform/graphics/mac/FontPlatformData.h: Updated copyright.
2364 (WebCore::FontPlatformData::FontPlatformData): Provide readable
2365 names for constructor arguments and reformat member variables.
2366 * platform/graphics/mac/FontPlatformDataMac.mm: Updated copyright.
2367 (WebCore::FontPlatformData::FontPlatformData): Provide readable
2368 names for constructor arguments and reformat member variables.
2370 2009-01-28 Tony Chang <tony@chromium.org>
2372 Reviewed by David Hyatt.
2374 https://bugs.webkit.org/show_bug.cgi?id=23593
2375 Compile fixes for RenderThemeChromiumMac and RenderThemeChromiumWin.
2376 This is a follow up for hyatt's RenderBox changes.
2378 * rendering/RenderThemeChromiumMac.mm:
2379 (WebCore::RenderThemeChromiumMac::baselinePosition):
2380 * rendering/RenderThemeChromiumWin.cpp:
2381 (WebCore::RenderThemeChromiumWin::paintMenuList):
2383 2009-01-28 Simon Fraser <simon.fraser@apple.com>
2385 Reviewed by Dave Hyatt
2387 https://bugs.webkit.org/show_bug.cgi?id=23582
2389 Fix assertions when inline elements have both opacity (or something
2390 else that creates a RenderLayer), and transform by ensuring that
2391 setHasTransform() is only called for non-inline or replaced elements.
2392 We also have to ensure that RenderReplicas will get transforms applied
2393 to them by lying about them being replaced.
2395 Tests: fast/transforms/transform-on-inline.html
2396 fast/transforms/transform-table-row.html
2398 * rendering/RenderBox.cpp:
2399 (WebCore::RenderBox::styleDidChange):
2400 * rendering/RenderReplica.cpp:
2401 (WebCore::RenderReplica::RenderReplica):
2402 * rendering/RenderTableRow.h:
2403 (WebCore::RenderTableRow::requiresLayer):
2405 2009-01-28 Hironori Bono <hbono@chromium.org>
2407 Reviewed by Justin Garcia.
2409 https://bugs.webkit.org/show_bug.cgi?id=18835
2410 Spelling underlines disappear when they shouldn't
2412 The WebCore::InsertLineBreakCommand::doApply() function splits a text node
2413 without copying existing markers. To fix this bug, change code which
2414 manually splits a text node into a CompositeEditCommand::splitTextNode() call.
2416 Test: editing/spelling/spelling-linebreak.html
2418 * editing/InsertLineBreakCommand.cpp:
2419 (WebCore::InsertLineBreakCommand::doApply):
2421 2009-01-28 David Hyatt <hyatt@apple.com>
2423 Move the m_lineHeight member variable out of RenderFlow and down into RenderBlock and RenderInline. Shift the line height computation into RenderStyle so
2424 that it isn't repeated in three places.
2426 Reviewed by Sam Weinig
2428 * rendering/RenderBlock.cpp:
2429 (WebCore::RenderBlock::RenderBlock):
2430 (WebCore::RenderBlock::lineHeight):
2431 * rendering/RenderBlock.h:
2432 * rendering/RenderFlow.cpp:
2433 * rendering/RenderFlow.h:
2434 (WebCore::RenderFlow::RenderFlow):
2435 * rendering/RenderInline.cpp:
2436 (WebCore::RenderInline::RenderInline):
2437 (WebCore::RenderInline::lineHeight):
2438 * rendering/RenderInline.h:
2439 * rendering/RenderObject.cpp:
2440 (WebCore::RenderObject::lineHeight):
2441 * rendering/style/RenderStyle.h:
2442 (WebCore::InheritedFlags::computedLineHeight):
2444 2009-01-28 Zachary Kuznia <zork@chromiuum.org>
2446 Reviewed by Sam Weinig.
2448 https://bugs.webkit.org/show_bug.cgi?id=22070
2449 Add an option to allow scripts to close windows.
2451 * page/Settings.cpp:
2452 (WebCore::Settings::Settings):
2453 (WebCore::Settings::setAllowScriptsToCloseWindows):
2455 (WebCore::Settings::allowScriptsToCloseWindows):
2457 2009-01-28 Adam Langley <agl@google.com>
2459 Reviewed by Sam Weinig.
2461 https://bugs.webkit.org/show_bug.cgi?id=23573
2462 Make PlatformWidget on chromium an intptr_t to match changes made in Chromium
2464 * platform/chromium/PlatformWidget.h:
2466 2009-01-28 David Hyatt <hyatt@apple.com>
2470 <rdar://problem/6531287> REGRESSION: CrashTracer: [USER] 12 crashes in Safari at com.apple.WebCore • WebCore::RenderBlock::removeFloatingObject + 59
2472 My tightening up of markAllDescendantsWithFloatsForLayout exposed a buggy check in that code that could
2475 * rendering/RenderBlock.cpp:
2476 (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
2478 2009-01-27 David Hyatt <hyatt@apple.com>
2480 https://bugs.webkit.org/show_bug.cgi?id=23576
2482 Work towards eliminating RenderFlow from the tree.
2484 Move the m_continuation variable down from RenderFlow into RenderInline and RenderBlock. Since a block can only have an inline continuation following it, the type
2485 of the member and methods reflect this (inlineContinuation() and m_inlineContinuation). Since an inline can have either a block or an inline continuation following it,
2486 a base class of RenderBox* is used for the type of object returned (in anticipation of the removal of RenderFlow).
2488 Since moving the continuation variable down into the subclasses increased the size of RenderInline and RenderBlock by 4 bytes, this patch also moves all of the bitfield
2489 members of RenderFlow up to RenderObject. Since they fit within the available bits on RenderObject, this patch actually results in a net savings of 4 bytes on RenderInlines
2492 One bitfield member was eliminated rather than moved: m_firstLine. This was really more of a state variable used during line layout only, so I removed it as a member
2493 and just passed firstLine down to various methods as needed. Doing so uncovered some potential bugs where the first line state was not being respected when querying for
2496 Continuations have been completely hidden from all files except for RenderFlow, RenderBlock and RenderInline. All of the code that referenced continuations directly
2497 from base classes has been refactored to use virtual methods on RenderBlock and RenderInline instead.
2499 RenderFlow still has a common addChildWithContinuation method that is used by both blocks and inlines. Since refactoring that method will be pretty tricky, I've held
2500 off on that for a later patch.
2502 Reviewed by Oliver Hunt
2504 * html/HTMLAnchorElement.cpp:
2505 (WebCore::HTMLAnchorElement::isKeyboardFocusable):
2506 * page/AccessibilityRenderObject.cpp:
2507 (WebCore::AccessibilityRenderObject::anchorElement):
2508 (WebCore::AccessibilityRenderObject::boundingBoxRect):
2509 * rendering/InlineFlowBox.cpp:
2510 (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
2511 (WebCore::InlineFlowBox::paint):
2512 * rendering/RenderBlock.cpp:
2513 (WebCore::RenderBlock::RenderBlock):
2514 (WebCore::RenderBlock::~RenderBlock):
2515 (WebCore::RenderBlock::destroy):
2516 (WebCore::RenderBlock::addChildToFlow):
2517 (WebCore::RenderBlock::makeChildrenNonInline):
2518 (WebCore::RenderBlock::removeChild):
2519 (WebCore::RenderBlock::layoutBlock):
2520 (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
2521 (WebCore::RenderBlock::collapseMargins):
2522 (WebCore::RenderBlock::determineHorizontalPosition):
2523 (WebCore::RenderBlock::setCollapsedBottomMargin):
2524 (WebCore::RenderBlock::layoutOnlyPositionedObjects):
2525 (WebCore::RenderBlock::paintObject):
2526 (WebCore::RenderBlock::addContinuationWithOutline):
2527 (WebCore::RenderBlock::setSelectionState):
2528 (WebCore::RenderBlock::shouldPaintSelectionGaps):
2529 (WebCore::RenderBlock::fillSelectionGaps):
2530 (WebCore::RenderBlock::leftSelectionOffset):
2531 (WebCore::RenderBlock::rightSelectionOffset):
2532 (WebCore::RenderBlock::leftOffset):
2533 (WebCore::RenderBlock::leftRelOffset):
2534 (WebCore::RenderBlock::rightOffset):
2535 (WebCore::RenderBlock::rightRelOffset):
2536 (WebCore::RenderBlock::lineWidth):
2537 (WebCore::RenderBlock::lowestPosition):
2538 (WebCore::RenderBlock::rightmostPosition):
2539 (WebCore::RenderBlock::leftmostPosition):
2540 (WebCore::RenderBlock::getClearDelta):
2541 (WebCore::RenderBlock::nodeAtPoint):
2542 (WebCore::RenderBlock::offsetForContents):
2543 (WebCore::RenderBlock::availableWidth):
2544 (WebCore::RenderBlock::setDesiredColumnCountAndWidth):
2545 (WebCore::RenderBlock::desiredColumnWidth):
2546 (WebCore::RenderBlock::desiredColumnCount):
2547 (WebCore::RenderBlock::columnRects):
2548 (WebCore::RenderBlock::layoutColumns):
2549 (WebCore::RenderBlock::adjustPointToColumnContents):
2550 (WebCore::RenderBlock::adjustRectForColumns):
2551 (WebCore::RenderBlock::absoluteRects):
2552 (WebCore::RenderBlock::absoluteQuads):
2553 (WebCore::RenderBlock::rectWithOutlineForRepaint):
2554 (WebCore::RenderBlock::hoverAncestor):
2555 (WebCore::RenderBlock::updateDragState):
2556 (WebCore::RenderBlock::outlineStyleForRepaint):
2557 (WebCore::RenderBlock::childBecameNonInline):
2558 (WebCore::RenderBlock::updateHitTestResult):
2559 * rendering/RenderBlock.h:
2560 (WebCore::RenderBlock::rightOffset):
2561 (WebCore::RenderBlock::leftOffset):
2562 (WebCore::RenderBlock::inlineContinuation):
2563 (WebCore::RenderBlock::setInlineContinuation):
2564 * rendering/RenderBox.cpp:
2565 (WebCore::RenderBox::absoluteRects):
2566 (WebCore::RenderBox::absoluteQuads):
2567 (WebCore::RenderBox::addFocusRingRects):
2568 (WebCore::RenderBox::containingBlockWidth):
2569 * rendering/RenderBox.h:
2570 (WebCore::RenderBox::collapsedMarginBottom):
2571 (WebCore::RenderBox::childBecameNonInline):
2572 * rendering/RenderContainer.cpp:
2573 (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
2574 (WebCore::RenderContainer::removeLeftoverAnonymousBlock):
2575 * rendering/RenderFlexibleBox.cpp:
2576 (WebCore::RenderFlexibleBox::layoutVerticalBox):
2577 * rendering/RenderFlow.cpp:
2578 (WebCore::nextContinuation):
2579 (WebCore::RenderFlow::continuationBefore):
2580 (WebCore::RenderFlow::addChildWithContinuation):
2581 (WebCore::RenderFlow::addChild):
2582 (WebCore::RenderFlow::destroy):
2583 (WebCore::RenderFlow::addFocusRingRects):
2584 * rendering/RenderFlow.h:
2585 (WebCore::RenderFlow::RenderFlow):
2586 * rendering/RenderInline.cpp:
2587 (WebCore::RenderInline::RenderInline):
2588 (WebCore::RenderInline::destroy):
2589 (WebCore::RenderInline::inlineContinuation):
2590 (WebCore::RenderInline::styleDidChange):
2591 (WebCore::RenderInline::addChildToFlow):
2592 (WebCore::RenderInline::cloneInline):
2593 (WebCore::RenderInline::splitInlines):
2594 (WebCore::RenderInline::splitFlow):
2595 (WebCore::RenderInline::positionForCoordinates):
2596 (WebCore::RenderInline::rectWithOutlineForRepaint):
2597 (WebCore::RenderInline::updateDragState):
2598 (WebCore::RenderInline::childBecameNonInline):
2599 (WebCore::RenderInline::updateHitTestResult):
2600 * rendering/RenderInline.h:
2601 (WebCore::RenderInline::isRenderInline):
2602 (WebCore::RenderInline::continuation):
2603 (WebCore::RenderInline::setContinuation):
2604 * rendering/RenderListItem.cpp:
2605 (WebCore::RenderListItem::positionListMarker):
2606 * rendering/RenderListMarker.cpp:
2607 (WebCore::RenderListMarker::RenderListMarker):
2608 (WebCore::RenderListMarker::setSelectionState):
2609 * rendering/RenderListMarker.h:
2610 * rendering/RenderObject.cpp:
2611 (WebCore::RenderObject::RenderObject):
2612 (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
2613 (WebCore::RenderObject::rectWithOutlineForRepaint):
2614 (WebCore::RenderObject::handleDynamicFloatPositionChange):
2615 (WebCore::RenderObject::updateDragState):
2616 (WebCore::RenderObject::updateHitTestResult):
2617 (WebCore::RenderObject::getTextDecorationColors):
2618 (WebCore::RenderObject::adjustRectForOutlineAndShadow):
2619 * rendering/RenderObject.h:
2620 (WebCore::RenderObject::isInlineBlockOrInlineTable):
2621 (WebCore::RenderObject::childrenInline):
2622 (WebCore::RenderObject::setChildrenInline):
2623 (WebCore::RenderObject::hasColumns):
2624 (WebCore::RenderObject::setHasColumns):
2625 (WebCore::RenderObject::cellWidthChanged):
2626 (WebCore::RenderObject::setCellWidthChanged):
2627 (WebCore::RenderObject::isInlineContinuation):
2628 (WebCore::RenderObject::hoverAncestor):
2629 (WebCore::RenderObject::outlineStyleForRepaint):
2630 (WebCore::RenderObject::setHasMarkupTruncation):
2631 (WebCore::RenderObject::hasMarkupTruncation):
2632 (WebCore::RenderObject::selectionState):
2633 (WebCore::RenderObject::setSelectionState):
2634 (WebCore::RenderObject::hasSelectedChildren):
2635 (WebCore::RenderObject::isTopMarginQuirk):
2636 (WebCore::RenderObject::isBottomMarginQuirk):
2637 (WebCore::RenderObject::setTopMarginQuirk):
2638 (WebCore::RenderObject::setBottomMarginQuirk):
2639 * rendering/RenderReplaced.cpp:
2640 (WebCore::RenderReplaced::RenderReplaced):
2641 (WebCore::RenderReplaced::setSelectionState):
2642 * rendering/RenderReplaced.h:
2643 (WebCore::RenderReplaced::canBeSelectionLeaf):
2644 * rendering/RenderTable.cpp:
2645 (WebCore::RenderTable::calcWidth):
2646 * rendering/RenderTableCell.cpp:
2647 (WebCore::RenderTableCell::updateWidth):
2648 (WebCore::RenderTableCell::layout):
2649 * rendering/RenderText.cpp:
2650 (WebCore::RenderText::RenderText):
2651 (WebCore::RenderText::localCaretRect):
2652 (WebCore::RenderText::setSelectionState):
2653 * rendering/RenderText.h:
2654 (WebCore::RenderText::canBeSelectionLeaf):
2655 * rendering/RenderView.cpp:
2656 (WebCore::RenderView::updateHitTestResult):
2657 * rendering/RenderView.h:
2658 * rendering/RootInlineBox.cpp:
2659 (WebCore::RootInlineBox::selectionTop):
2660 * rendering/bidi.cpp:
2661 (WebCore::RenderBlock::createLineBoxes):
2662 (WebCore::RenderBlock::constructLine):
2663 (WebCore::RenderBlock::computeHorizontalPositionsForLine):
2664 (WebCore::RenderBlock::layoutInlineChildren):
2665 (WebCore::RenderBlock::determineStartPosition):
2666 (WebCore::RenderBlock::skipTrailingWhitespace):
2667 (WebCore::RenderBlock::skipLeadingWhitespace):
2668 (WebCore::RenderBlock::fitBelowFloats):
2669 (WebCore::RenderBlock::findNextLineBreak):
2670 (WebCore::RenderBlock::checkLinesForTextOverflow):
2672 2009-01-28 Adam Treat <adam.treat@torchmobile.com>
2674 Reviewed by Nikolas Zimmermann and George Staikos.
2676 https://bugs.webkit.org/show_bug.cgi?id=23557
2677 Allow option of hit testing frame content without clipping to the visible
2681 * page/EventHandler.cpp:
2682 (WebCore::EventHandler::hitTestResultAtPoint):
2683 * page/EventHandler.h:
2684 * rendering/HitTestRequest.h:
2685 (WebCore::HitTestRequest::HitTestRequest):
2686 * rendering/RenderLayer.cpp:
2687 (WebCore::RenderLayer::hitTest):
2689 2009-01-28 Simon Hausmann <simon.hausmann@nokia.com>
2691 Reviewed by Holger Freyther.
2693 Fix the build with Qt on Windows.
2695 Make sure that the QTWEBKIT_EXPORT macro becomes the Q_DECL_EXPORT macro
2696 instead of the import macro when building the dll, by defining
2699 SystemTimeWin.cpp is needed on Windows for userIdleTime(), which for the
2700 other Qt platforms comes from TemporaryLinkStubs.cpp.
2704 2009-01-28 Ariya Hidayat <ariya.hidayat@trolltech.com>
2706 Reviewed by Simon Hausmann.
2708 [Qt] Speed-up clipping: avoid calling expensive QPainter::clipRegion().
2709 Beside, the check is not necessary since QPainter::setClipRect() will
2710 work just fine if there is no clip region yet.
2712 * platform/graphics/qt/GraphicsContextQt.cpp:
2713 (WebCore::GraphicsContext::clip):
2715 2009-01-28 Darin Fisher <darin@chromium.org>
2717 Reviewed by Darin Adler.
2719 https://bugs.webkit.org/show_bug.cgi?id=23546
2720 Upstream GoogleURL implementation of KURL
2723 * platform/KURLGoogle.cpp: Added.
2724 * platform/KURLGooglePrivate.h: Added.
2726 2009-01-27 Darin Adler <darin@apple.com>
2728 Reviewed by Sam Weinig.
2730 REGRESSION (r40234): Launching iTunes from a link displays a
2731 "Safari can't find the Internet plug-in" sheet in Safari
2732 rdar://problem/6533678
2734 * rendering/RenderPartObject.cpp:
2735 (WebCore::havePlugin): Put the check for empty string in here.
2736 (WebCore::serviceTypeForClassId): Only return activeXType() if
2737 we have a plug-in that can handle that type. While it might be logical
2738 to return an Active X type for any <object> with a classId in it,
2739 even if we don't have a plug-in that implements Active X, existing
2740 clients, such as Safari, don't expect that.
2742 2009-01-27 Dan Bernstein <mitz@apple.com>
2744 Reviewed by Steve Falkenburg.
2746 - fix <rdar://problem/6524351> Text looks bad when font smoothing is
2749 * platform/graphics/win/FontCGWin.cpp:
2750 (WebCore::Font::drawGlyphs): Changed to use GDI rather than Core
2751 Graphics if the client has turned font smoothing off.
2753 2009-01-27 Simon Fraser <simon.fraser@apple.com>
2755 Reviewed by Dave Hyatt
2757 https://bugs.webkit.org/show_bug.cgi?id=23360
2759 Use the new container-relative repaint methods to compute
2760 post-layout repaints, and repaints using RenderLayer's
2761 cached repaintRect() relative to that container, rather than
2762 using absolute coords.
2764 Replaced lots of boilerplate old/new rect code in various
2765 layout methods with a stack-based LayoutRepainter class, and
2766 fixed a bug in RenderTable which set didFullRepaint to
2769 * rendering/RenderBlock.cpp:
2770 (WebCore::RenderBlock::layoutBlock):
2771 * rendering/RenderFlexibleBox.cpp:
2772 (WebCore::RenderFlexibleBox::layoutBlock):
2773 * rendering/RenderForeignObject.cpp:
2774 (WebCore::RenderForeignObject::layout):
2775 * rendering/RenderLayer.cpp:
2776 (WebCore::RenderLayer::updateLayerPositions):
2777 (WebCore::RenderLayer::setHasVisibleContent):
2778 * rendering/RenderLayer.h:
2779 * rendering/RenderObject.cpp:
2780 (WebCore::RenderObject::repaintUsingContainer):
2781 (WebCore::RenderObject::repaint):
2782 (WebCore::RenderObject::repaintRectangle):
2783 (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
2784 * rendering/RenderObject.h:
2785 (WebCore::RenderObject::LayoutRepainter::LayoutRepainter):
2786 (WebCore::RenderObject::LayoutRepainter::repaintAfterLayout):
2787 (WebCore::RenderObject::LayoutRepainter::checkForRepaint):
2788 * rendering/RenderPath.cpp:
2789 (WebCore::RenderPath::layout):
2790 * rendering/RenderReplaced.cpp:
2791 (WebCore::RenderReplaced::layout):
2792 * rendering/RenderSVGContainer.cpp:
2793 (WebCore::RenderSVGContainer::layout):
2794 * rendering/RenderSVGImage.cpp:
2795 (WebCore::RenderSVGImage::layout):
2796 * rendering/RenderSVGRoot.cpp:
2797 (WebCore::RenderSVGRoot::layout):
2798 * rendering/RenderSVGText.cpp:
2799 (WebCore::RenderSVGText::layout):
2800 * rendering/RenderSVGViewportContainer.cpp:
2801 (WebCore::RenderSVGViewportContainer::layout):
2802 * rendering/RenderTable.cpp:
2803 (WebCore::RenderTable::layout):
2804 * rendering/bidi.cpp:
2805 (WebCore::RenderBlock::layoutInlineChildren):
2807 2009-01-27 Brady Eidson <beidson@apple.com>
2809 Reviewed by Darin Adler
2811 <rdar://problem/3541409> - More groundwork and cleanup for CachedFrames
2813 * history/CachedFrame.cpp:
2814 (WebCore::CachedFrame::CachedFrame): Make the savePlatformDataToCachedFrame() client call here,
2815 and add the code for caching subframes.
2816 (WebCore::CachedFrame::clear):
2817 * history/CachedFrame.h: Change to be RefCounted
2818 (WebCore::CachedFrame::create):
2819 (WebCore::CachedFrame::url):
2821 * history/CachedPage.cpp:
2822 (WebCore::CachedPage::CachedPage):
2823 (WebCore::CachedPage::restore):
2824 * history/CachedPage.h:
2825 (WebCore::CachedPage::document):
2826 (WebCore::CachedPage::documentLoader):
2827 (WebCore::CachedPage::view):
2828 (WebCore::CachedPage::url):
2829 (WebCore::CachedPage::domWindow):
2830 (WebCore::CachedPage::cachedMainFrame):
2832 * loader/FrameLoader.cpp:
2833 (WebCore::FrameLoader::cachePageForHistoryItem): Move the platform data saving into the
2836 2009-01-27 Simon Fraser <simon.fraser@apple.com>
2838 Reviewed by Dave Hyatt
2840 Flip the arguments of computeRectForRepaint() from
2841 computeRectForRepaint(IntRect&, RenderBox* repaintContainer, bool)
2843 computeRectForRepaint(RenderBox* repaintContainer, IntRect&, bool)
2845 * rendering/RenderBox.cpp:
2846 (WebCore::RenderBox::clippedOverflowRectForRepaint):
2847 (WebCore::RenderBox::computeRectForRepaint):
2848 * rendering/RenderBox.h:
2849 * rendering/RenderForeignObject.cpp:
2850 (WebCore::RenderForeignObject::computeRectForRepaint):
2851 * rendering/RenderForeignObject.h:
2852 * rendering/RenderInline.cpp:
2853 (WebCore::RenderInline::clippedOverflowRectForRepaint):
2854 * rendering/RenderObject.cpp:
2855 (WebCore::RenderObject::computeRectForRepaint):
2856 * rendering/RenderObject.h:
2857 (WebCore::RenderObject::computeAbsoluteRepaintRect):
2858 * rendering/RenderReplaced.cpp:
2859 (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
2860 * rendering/RenderTableCell.cpp:
2861 (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
2862 (WebCore::RenderTableCell::computeRectForRepaint):
2863 * rendering/RenderTableCell.h:
2864 * rendering/RenderView.cpp:
2865 (WebCore::RenderView::computeRectForRepaint):
2866 * rendering/RenderView.h:
2868 2009-01-27 David Kilzer <ddkilzer@apple.com>
2870 Add missing header guards to AccessibilityObjectWrapper.h
2872 Reviewed by Anders Carlsson.
2874 * page/mac/AccessibilityObjectWrapper.h: Added missing header guards.
2876 2009-01-27 Simon Fraser <simon.fraser@apple.com>
2878 Reviewed by Dave Hyatt
2880 https://bugs.webkit.org/show_bug.cgi?id=23567
2882 Fix crash of svg/custom/stop-crash.svg testcase because of
2883 infinite recursion, as I missed replacing absoluteClippedOverflowRect()
2884 with clippedOverflowRectForRepaint() in RenderSVGGradientStop.
2886 Also fix a missed conversion in RenderTableCol, and add a couple
2889 * rendering/RenderSVGGradientStop.h:
2890 (WebCore::RenderSVGGradientStop::clippedOverflowRectForRepaint):
2891 * rendering/RenderSVGImage.cpp:
2892 (WebCore::RenderSVGImage::imageChanged):
2893 * rendering/RenderTableCol.cpp:
2894 (WebCore::RenderTableCol::clippedOverflowRectForRepaint):
2895 * rendering/RenderTableRow.cpp:
2896 (WebCore::RenderTableRow::layout):
2898 2009-01-27 Adele Peterson <adele@apple.com>
2902 Use the textfield appearance for search fields in themeWin.css so the border/background
2903 styling will work correctly on these fields.
2907 2009-01-27 Dan Bernstein <mitz@apple.com>
2911 * bindings/js/JSHTMLInputElementCustom.cpp:
2912 (WebCore::JSHTMLInputElement::setSelectionStart):
2913 (WebCore::JSHTMLInputElement::setSelectionEnd):
2914 (WebCore::JSHTMLInputElement::setSelectionRange):
2916 2009-01-27 Dan Bernstein <mitz@apple.com>
2920 * platform/graphics/Gradient.cpp:
2921 (WebCore::Gradient::setSpreadMethod):
2923 2009-01-27 Paul Godavari <paul@chromium.org>
2925 Reviewed by Eric Seidel.
2927 https://bugs.webkit.org/show_bug.cgi?id=23561
2928 Explicitly send the MIME type from an image dragged from a web
2929 page to the desktop, to Chromium so that it can properly generate
2932 * platform/chromium/ChromiumDataObject.cpp:
2933 (WebCore::ChromiumDataObject::clear):
2934 (WebCore::ChromiumDataObject::hasData):
2935 * platform/chromium/ChromiumDataObject.h:
2936 * platform/chromium/ClipboardChromium.cpp:
2937 (WebCore::writeImageToDataObject):
2939 2009-01-27 Mads Ager <ager@chromium.org>
2941 Reviewed by Darin Adler.
2943 https://bugs.webkit.org/show_bug.cgi?id=23300
2944 Follow Firefox in throwing exceptions when using selection
2945 functions on HTMLInputElements that cannot have selection.
2947 This requires custom setSelectionRange, setSelectionStart and
2948 setSelectionEnd implementations, but it gets rid of the custom
2951 * bindings/js/JSHTMLInputElementCustom.cpp:
2952 (WebCore::JSHTMLInputElement::selectionStart):
2953 (WebCore::JSHTMLInputElement::selectionEnd):
2954 (WebCore::JSHTMLInputElement::setSelectionRange):
2955 * html/HTMLInputElement.idl:
2957 2009-01-27 Evan Stade <estade@chromium.org>
2959 Reviewed by Nikolas Zimmermann.
2961 https://bugs.webkit.org/show_bug.cgi?id=23435
2962 Make spreadMethod a member of Gradient rather than GraphicsContext.
2963 Implement spreadMethod for Skia.
2965 * platform/graphics/Gradient.cpp:
2966 (WebCore::Gradient::Gradient):
2967 * platform/graphics/Gradient.h:
2968 (WebCore::Gradient::setSpreadMethod):
2969 (WebCore::Gradient::spreadMethod):
2970 * platform/graphics/GraphicsContext.cpp:
2971 * platform/graphics/GraphicsContext.h:
2972 * platform/graphics/GraphicsContextPrivate.h:
2973 * platform/graphics/GraphicsTypes.h:
2975 * platform/graphics/cairo/GradientCairo.cpp:
2976 (WebCore::Gradient::platformGradient):
2977 * platform/graphics/cairo/GraphicsContextCairo.cpp:
2978 (WebCore::GraphicsContext::fillPath):
2979 (WebCore::GraphicsContext::strokePath):
2980 * platform/graphics/qt/GradientQt.cpp:
2981 (WebCore::Gradient::platformGradient):
2982 * platform/graphics/qt/GraphicsContextQt.cpp:
2983 (WebCore::GraphicsContext::fillPath):
2984 (WebCore::GraphicsContext::strokePath):
2985 * platform/graphics/skia/GradientSkia.cpp:
2986 (WebCore::Gradient::platformGradient):
2987 * svg/SVGLinearGradientElement.cpp:
2988 (WebCore::SVGLinearGradientElement::buildGradient):
2989 * svg/SVGRadialGradientElement.cpp:
2990 (WebCore::SVGRadialGradientElement::buildGradient):
2991 * svg/graphics/SVGPaintServerGradient.cpp:
2992 (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
2993 (WebCore::SVGPaintServerGradient::setup):
2994 (WebCore::SVGPaintServerGradient::externalRepresentation):
2995 * svg/graphics/SVGPaintServerGradient.h:
2997 2009-01-27 Ariya Hidayat <ariya.hidayat@trolltech.com>
2999 Rubber-stamped by Simon Hausmann.
3001 http://www.qtsoftware.com/developer/task-tracker/index_html?id=238662&method=entry
3003 [Qt] Map function keys F1 to F24.
3005 * platform/qt/PlatformKeyboardEventQt.cpp:
3006 (WebCore::windowsKeyCodeForKeyEvent):
3008 2009-01-27 Brady Eidson <beidson@apple.com>
3010 Reviewed by Dan Bernstein
3012 Rework FrameLoaderClient to work on a CachedFrame basis instead of CachedPage
3015 * history/CachedPage.cpp:
3016 * history/CachedPage.h:
3017 (WebCore::CachedPage::cachedMainFrame):
3019 * loader/EmptyClients.h:
3020 (WebCore::EmptyFrameLoaderClient::savePlatformDataToCachedFrame):
3021 (WebCore::EmptyFrameLoaderClient::transitionToCommittedFromCachedFrame):
3023 * loader/FrameLoader.cpp:
3024 (WebCore::FrameLoader::restoreDocumentState):
3025 (WebCore::FrameLoader::commitProvisionalLoad):
3026 (WebCore::FrameLoader::transitionToCommitted):
3027 (WebCore::FrameLoader::cachePageForHistoryItem):
3028 * loader/FrameLoaderClient.h:
3030 2009-01-26 Simon Fraser <simon.fraser@apple.com>
3032 Reviewed by Dave Hyatt
3034 https://bugs.webkit.org/show_bug.cgi?id=23360
3036 Add variants of all the methods that compute dirty rects for repainting
3037 with versions that compute those rects relative to some container
3038 RenderBox that acts as a painting root.
3040 * rendering/RenderBox.cpp:
3041 (WebCore::RenderBox::styleDidChange):
3042 (WebCore::RenderBox::outlineBoundsForRepaint):
3043 (WebCore::RenderBox::localToContainerQuad):
3044 (WebCore::RenderBox::clippedOverflowRectForRepaint):
3045 (WebCore::RenderBox::computeRectForRepaint):
3046 * rendering/RenderBox.h:
3047 * rendering/RenderForeignObject.cpp:
3048 (WebCore::RenderForeignObject::computeRectForRepaint):
3049 * rendering/RenderForeignObject.h:
3050 * rendering/RenderInline.cpp:
3051 (WebCore::RenderInline::clippedOverflowRectForRepaint):
3052 * rendering/RenderInline.h:
3053 * rendering/RenderObject.cpp:
3054 (WebCore::RenderObject::containerForRepaint):
3055 (WebCore::RenderObject::repaint):
3056 (WebCore::RenderObject::repaintRectangle):
3057 (WebCore::RenderObject::rectWithOutlineForRepaint):
3058 (WebCore::RenderObject::clippedOverflowRectForRepaint):
3059 (WebCore::RenderObject::computeRectForRepaint):
3060 (WebCore::RenderObject::localToContainerQuad):
3061 * rendering/RenderObject.h:
3062 (WebCore::RenderObject::localToAbsoluteQuad):
3063 (WebCore::RenderObject::absoluteClippedOverflowRect):
3064 (WebCore::RenderObject::computeAbsoluteRepaintRect):
3065 (WebCore::RenderObject::absoluteOutlineBounds):
3066 (WebCore::RenderObject::outlineBoundsForRepaint):
3067 * rendering/RenderPath.cpp:
3068 (WebCore::RenderPath::clippedOverflowRectForRepaint):
3069 (WebCore::RenderPath::outlineBoundsForRepaint):
3070 * rendering/RenderPath.h:
3071 * rendering/RenderReplaced.cpp:
3072 (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
3073 * rendering/RenderReplaced.h:
3074 * rendering/RenderSVGContainer.cpp:
3075 (WebCore::RenderSVGContainer::clippedOverflowRectForRepaint):
3076 (WebCore::RenderSVGContainer::outlineBoundsForRepaint):
3077 * rendering/RenderSVGContainer.h:
3078 * rendering/RenderSVGHiddenContainer.cpp:
3079 (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
3080 * rendering/RenderSVGHiddenContainer.h:
3081 * rendering/RenderSVGImage.cpp:
3082 (WebCore::RenderSVGImage::clippedOverflowRectForRepaint):
3083 * rendering/RenderSVGImage.h:
3084 * rendering/RenderSVGRoot.cpp:
3085 (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
3086 * rendering/RenderSVGRoot.h:
3087 * rendering/RenderSVGText.cpp:
3088 (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
3089 * rendering/RenderSVGText.h:
3090 * rendering/RenderTableCell.cpp:
3091 (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
3092 (WebCore::RenderTableCell::computeRectForRepaint):
3093 (WebCore::RenderTableCell::localToContainerQuad):
3094 * rendering/RenderTableCell.h:
3095 * rendering/RenderTableCol.cpp:
3096 (WebCore::RenderTableCol::clippedOverflowRectForRepaint):
3097 * rendering/RenderTableCol.h:
3098 * rendering/RenderTableRow.cpp:
3099 (WebCore::RenderTableRow::clippedOverflowRectForRepaint):
3100 * rendering/RenderTableRow.h:
3101 * rendering/RenderText.cpp:
3102 (WebCore::RenderText::clippedOverflowRectForRepaint):
3103 * rendering/RenderText.h:
3104 * rendering/RenderView.cpp:
3105 (WebCore::RenderView::localToContainerQuad):
3106 (WebCore::RenderView::computeRectForRepaint):
3107 * rendering/RenderView.h:
3109 2009-01-26 Simon Fraser <simon.fraser@apple.com>
3111 Reviewed by David Hyatt
3113 Back out r40285, because it was checked in with no bug number, no
3114 testcase, is rendering change that did not get thorough review,
3115 and broke the Mac build.
3117 * page/EventHandler.cpp:
3118 (WebCore::EventHandler::hitTestResultAtPoint):
3119 * page/EventHandler.h:
3120 * rendering/HitTestRequest.h:
3121 (WebCore::HitTestRequest::HitTestRequest):
3122 * rendering/RenderLayer.cpp:
3123 (WebCore::RenderLayer::hitTest):
3125 2009-01-26 Brady Eidson <beidson@apple.com>
3127 Reviewed by Darin Adler
3129 -Make the recently added back/forward cache logging much better by actually
3130 walking the entire frame tree and indenting the resulting output.
3131 -Fix a null-termination bug in HistoryItem tree logging
3133 * history/HistoryItem.cpp:
3134 (WebCore::HistoryItem::showTreeWithIndent):
3136 * loader/FrameLoader.cpp:
3137 (WebCore::pageCacheLogPrefix):
3138 (WebCore::pageCacheLog):
3139 (WebCore::FrameLoader::logCanCachePageDecision):
3140 (WebCore::FrameLoader::logCanCacheFrameDecision):
3141 * loader/FrameLoader.h:
3143 2009-01-26 Adam Treat <adam.treat@torchmobile.com>
3145 Reviewed by Nikolas Zimmermann.
3147 Allow option of hit testing frame content without clipping to the visible
3150 * page/EventHandler.cpp:
3151 (WebCore::EventHandler::hitTestResultAtPoint):
3152 * page/EventHandler.h:
3153 * rendering/HitTestRequest.h:
3154 (WebCore::HitTestRequest::HitTestRequest):
3155 * rendering/RenderLayer.cpp:
3156 (WebCore::RenderLayer::hitTest):
3158 2009-01-26 Sam Weinig <sam@webkit.org>
3160 Reviewed by Dan Bernstein.
3162 Fix for https://bugs.webkit.org/show_bug.cgi?id=18141
3163 Acid3 tests 77 and 78 fail on reload due to SVG font race
3164 <rdar://problem/6504899>
3166 Match Opera's behavior of loading SVGFonts as soon as <font-face-uri>
3167 tag is inserted into the document and not at the first use of the font
3168 as is done for CSS web fonts.
3170 This fixes a race condition noticeable by some in the Acid3 test that
3171 happened because the onload event handler for an iframe containing a
3172 <font-face-uri> with an external reference was not delayed by the pending
3175 Test: http/tests/misc/SVGFont-delayed-load.html
3177 * svg/SVGFontFaceUriElement.cpp:
3178 (WebCore::SVGFontFaceUriElement::~SVGFontFaceUriElement):
3179 (WebCore::SVGFontFaceUriElement::parseMappedAttribute): Call loadFont if
3180 the href attribute changes.
3181 (WebCore::SVGFontFaceUriElement::insertedIntoDocument): Call loadFont.
3182 (WebCore::SVGFontFaceUriElement::loadFont): Force a load of the
3183 font specified in href attribute.
3184 * svg/SVGFontFaceUriElement.h:
3186 2009-01-26 Timothy Hatcher <timothy@apple.com>
3188 Change Web Archive serialization back to the binary property list format.
3190 <rdar://problem/6127865> Web archives saved with Safari 4 cannot be read by Safari 3
3192 Reviewed by Brady Eidson.
3194 * loader/archive/cf/LegacyWebArchive.cpp:
3195 (WebCore::LegacyWebArchive::rawDataRepresentation):
3197 2009-01-26 Anders Carlsson <andersca@apple.com>
3203 2009-01-26 Dmitry Titov <dimich@chromium.org>
3205 Reviewed by Alexey Proskuryakov.
3207 https://bugs.webkit.org/show_bug.cgi?id=23511
3208 Move DOMTimer from bindings/js to page/.
3209 This was prepared by moving all JSC dependencies from DOMTimer
3210 to ScheduledAction earlier, and helps unfork the Chromuim version
3216 * WebCore.vcproj/WebCore.vcproj:
3217 * WebCore.xcodeproj/project.pbxproj:
3218 * WebCoreSources.bkl:
3219 * bindings/js/DOMTimer.cpp: Removed.
3220 * bindings/js/DOMTimer.h: Removed.
3221 * page/DOMTimer.cpp: Copied from WebCore/bindings/js/DOMTimer.cpp.
3222 * page/DOMTimer.h: Copied from WebCore/bindings/js/DOMTimer.h.
3224 2009-01-26 David Hyatt <hyatt@apple.com>
3226 Eliminate rightmostPosition, lowestPosition and leftmostPosition from RenderFlow. Move the code into
3227 RenderBlock's methods.
3229 Reviewed by Eric Seidel
3231 * rendering/RenderBlock.cpp:
3232 (WebCore::RenderBlock::lowestPosition):
3233 (WebCore::RenderBlock::rightmostPosition):
3234 (WebCore::RenderBlock::leftmostPosition):
3235 * rendering/RenderFlow.cpp:
3236 * rendering/RenderFlow.h:
3238 2009-01-26 Darin Fisher <darin@chromium.org>
3240 Reviewed by Eric Seidel.
3242 https://bugs.webkit.org/show_bug.cgi?id=23553
3243 Upstream changes from jcampan to fix chromium bugs 6692 and 6694.
3245 * platform/chromium/PopupMenuChromium.cpp:
3246 (WebCore::PopupListBox::setLoopSelectionNavigation):
3247 (WebCore::PopupListBox::PopupListBox):
3248 (WebCore::PopupContainer::setLoopSelectionNavigation):
3249 (WebCore::PopupListBox::handleKeyEvent):
3250 (WebCore::PopupListBox::paintRow):
3251 (WebCore::PopupListBox::clearSelection):
3252 (WebCore::PopupListBox::selectNextRow):
3253 (WebCore::PopupListBox::selectPreviousRow):
3254 * platform/chromium/PopupMenuChromium.h:
3256 2009-01-26 Brady Eidson <beidson@apple.com>
3258 Reviewed by Sam Weinig
3260 Remove some historical CachedPage time stamp fluff.
3262 * history/CachedPage.cpp:
3263 (WebCore::CachedPage::CachedPage):
3264 * history/CachedPage.h:
3265 (WebCore::CachedPage::timeStamp):
3267 * loader/FrameLoader.cpp:
3268 (WebCore::FrameLoader::cachePageForHistoryItem):
3270 2009-01-26 David Hyatt <hyatt@apple.com>
3272 Move absoluteClippedOverflowRect, linesBoundingBox and borderBoundingBox from RenderFlow to RenderInline.
3274 Reviewed by Eric Seidel
3276 * rendering/RenderBox.cpp:
3277 (WebCore::RenderBox::containingBlockHeightForPositioned):
3278 * rendering/RenderFlow.cpp:
3279 * rendering/RenderFlow.h:
3280 * rendering/RenderInline.cpp:
3281 (WebCore::RenderInline::linesBoundingBox):
3282 (WebCore::RenderInline::absoluteClippedOverflowRect):
3283 * rendering/RenderInline.h:
3284 (WebCore::RenderInline::borderBoundingBox):
3285 * rendering/RenderLayer.cpp:
3286 (WebCore::RenderLayer::updateLayerPosition):
3287 * rendering/RenderTreeAsText.cpp:
3288 (WebCore::operator<<):
3290 2009-01-26 Dimitri Glazkov <dglazkov@chromium.org>
3292 Reviewed by Eric Seidel.
3294 https://bugs.webkit.org/show_bug.cgi?id=22650
3295 Implement support for "Immutable" attribute to CodeGeneratorJS.pm, thus
3296 allowing to explicitly mark methods as immutable (i.e. returning a new
3297 instance rather than a reference to an existing instance).
3299 * bindings/js/JSSVGMatrixCustom.cpp: Removed custom methods.
3300 * bindings/scripts/CodeGeneratorJS.pm: Added check for Immutable
3301 attribute when generating function call.
3302 * svg/SVGMatrix.idl: Replaced Custom attribute with Immutable on
3305 2009-01-26 David Hyatt <hyatt@apple.com>
3307 Eliminate isInlineFlow() now that a RenderBlock can never be an inline flow. isInlineFlow() is now
3308 equivalent to isRenderInline(), so all calls to isInlineFlow() have been replaced with isRenderInline().
3310 Reviewed by Eric Seidel
3313 (WebCore::Text::rendererIsNeeded):
3314 * rendering/InlineFlowBox.cpp:
3315 (WebCore::InlineFlowBox::placeBoxesHorizontally):
3316 (WebCore::shouldDrawTextDecoration):
3317 * rendering/RenderBlock.cpp:
3318 (WebCore::RenderBlock::hitTestContents):
3319 (WebCore::InlineMinMaxIterator::next):
3320 (WebCore::RenderBlock::calcInlinePrefWidths):
3321 * rendering/RenderBlock.h:
3322 (WebCore::RenderBlock::isBlockFlow):
3323 * rendering/RenderBox.cpp:
3324 (WebCore::RenderBox::clientWidth):
3325 (WebCore::RenderBox::clientHeight):
3326 (WebCore::RenderBox::nodeAtPoint):
3327 (WebCore::RenderBox::imageChanged):
3328 (WebCore::RenderBox::offsetForPositionedInContainer):
3329 (WebCore::RenderBox::containingBlockWidthForPositioned):
3330 (WebCore::RenderBox::containingBlockHeightForPositioned):
3331 * rendering/RenderBox.h:
3332 (WebCore::RenderBox::width):
3333 (WebCore::RenderBox::height):
3334 (WebCore::RenderBox::size):
3335 (WebCore::RenderBox::frameRect):
3336 * rendering/RenderContainer.cpp:
3337 (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
3338 * rendering/RenderFlow.cpp:
3339 (WebCore::RenderFlow::dirtyLinesFromChangedChild):
3340 (WebCore::RenderFlow::createInlineBox):
3341 (WebCore::RenderFlow::paintLines):
3342 (WebCore::RenderFlow::hitTestLines):
3343 (WebCore::RenderFlow::absoluteClippedOverflowRect):
3344 (WebCore::RenderFlow::lowestPosition):
3345 (WebCore::RenderFlow::rightmostPosition):
3346 (WebCore::RenderFlow::leftmostPosition):
3347 * rendering/RenderFlow.h:
3348 (WebCore::RenderFlow::borderBoundingBox):
3349 * rendering/RenderInline.h:
3350 (WebCore::RenderInline::isRenderInline):
3351 * rendering/RenderLayer.cpp:
3352 (WebCore::RenderLayer::updateLayerPosition):
3353 (WebCore::RenderLayer::intersectsDamageRect):
3354 (WebCore::RenderLayer::boundingBox):
3355 * rendering/RenderListItem.cpp:
3356 (WebCore::getParentOfFirstLineBox):
3357 * rendering/RenderObject.cpp:
3358 (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline):
3359 (WebCore::RenderObject::styleWillChange):
3360 (WebCore::RenderObject::firstLineStyle):
3361 * rendering/RenderObject.h:
3362 * rendering/RenderSVGInline.cpp:
3363 (WebCore::RenderSVGInline::createInlineBox):
3364 * rendering/RenderSVGText.cpp:
3365 (WebCore::RenderSVGText::createInlineBox):
3366 * rendering/RenderTableRow.cpp:
3367 (WebCore::RenderTableRow::nodeAtPoint):
3368 * rendering/RenderTableSection.cpp:
3369 (WebCore::RenderTableSection::nodeAtPoint):
3370 * rendering/RenderText.cpp:
3371 (WebCore::isInlineFlowOrEmptyText):
3372 * rendering/RenderTreeAsText.cpp:
3373 (WebCore::operator<<):
3374 * rendering/bidi.cpp:
3375 (WebCore::bidiNext):
3376 (WebCore::bidiFirst):
3377 (WebCore::appendRunsForObject):
3378 (WebCore::RenderBlock::createLineBoxes):
3379 (WebCore::RenderBlock::computeHorizontalPositionsForLine):
3380 (WebCore::RenderBlock::layoutInlineChildren):
3381 (WebCore::inlineFlowRequiresLineBox):
3382 (WebCore::requiresLineBox):
3383 (WebCore::RenderBlock::skipTrailingWhitespace):
3384 (WebCore::RenderBlock::skipLeadingWhitespace):
3385 (WebCore::RenderBlock::findNextLineBreak):
3387 2009-01-26 David Hyatt <hyatt@apple.com>
3389 Drop support for display:compact.
3391 (1) display:compact is no longer part of CSS2.1.
3392 (2) Shipping Safari has completely broken compact support with severely broken rendering
3393 (all of the compact text just piles on top of the text in the inserted block and on top of itself as well).
3394 (3) This has been broken in WebKit for years (ever since blocks converted to painting lines directly) without
3395 anyone even noticing.
3397 Reviewed by Eric Seidel
3399 * rendering/InlineFlowBox.cpp:
3400 (WebCore::InlineFlowBox::placeBoxesHorizontally):
3401 * rendering/RenderBlock.cpp:
3402 (WebCore::RenderBlock::handleSpecialChild):
3403 (WebCore::RenderBlock::handleRunInChild):
3404 (WebCore::RenderBlock::layoutBlockChildren):
3405 (WebCore::RenderBlock::paint):
3406 (WebCore::RenderBlock::paintObject):
3407 (WebCore::RenderBlock::nodeAtPoint):
3408 (WebCore::RenderBlock::positionForCoordinates):
3409 (WebCore::shouldCheckLines):
3410 (WebCore::getHeightForLineCount):
3411 (WebCore::RenderBlock::renderName):
3412 * rendering/RenderBlock.h:
3413 * rendering/RenderBox.cpp:
3414 (WebCore::RenderBox::sizesToIntrinsicWidth):
3415 * rendering/RenderBox.h:
3416 (WebCore::RenderBox::width):
3417 (WebCore::RenderBox::height):
3418 (WebCore::RenderBox::size):
3419 (WebCore::RenderBox::frameRect):
3420 * rendering/RenderFlow.cpp:
3421 (WebCore::RenderFlow::paintLines):
3422 (WebCore::RenderFlow::hitTestLines):
3423 (WebCore::RenderFlow::absoluteClippedOverflowRect):
3424 (WebCore::RenderFlow::linesBoundingBox):
3425 * rendering/RenderObject.h:
3426 (WebCore::RenderObject::isInline):
3427 * rendering/bidi.cpp:
3428 (WebCore::RenderBlock::computeHorizontalPositionsForLine):
3429 (WebCore::RenderBlock::layoutInlineChildren):
3431 (WebCore::BidiRun::BidiRun):
3433 2009-01-26 Adam Langley <agl@google.com>
3435 Reviewed by Nikolas Zimmermann.
3437 gtk2drawing: fix compiler warnings
3439 g_object_set_data expects a gpointer as the last argument. Cast the
3440 TRUE/FALSE values to avoid a warning.
3441 gtk_tree_view_column_new doesn't return a GtkWidget.
3443 * platform/gtk/gtk2drawing.c:
3444 (setup_widget_prototype):
3445 (moz_gtk_get_combo_box_inner_button):
3446 (moz_gtk_get_combo_box_button_inner_widgets):
3447 (ensure_combo_box_widgets):
3448 (moz_gtk_get_combo_box_entry_inner_widgets):
3449 (moz_gtk_get_combo_box_entry_arrow):
3450 (ensure_combo_box_entry_widgets):
3451 (ensure_toolbar_widget):
3452 (ensure_menu_bar_item_widget):
3453 (ensure_menu_popup_widget):
3454 (ensure_menu_item_widget):
3455 (ensure_image_menu_item_widget):
3456 (ensure_menu_separator_widget):
3457 (ensure_check_menu_item_widget):
3458 (ensure_tree_header_cell_widget):
3459 (moz_gtk_entry_paint):
3461 2009-01-26 David Hyatt <hyatt@apple.com>
3463 Change display:run-in handling so that we no longer reuse RenderBlock as though it is an inline flow.
3464 Instead we create a new RenderInline, move the RenderBlock's children underneath it, and then set the
3465 inline as the new element's renderer.
3467 Reviewed by Dan Bernstein
3469 * rendering/RenderBlock.cpp:
3470 (WebCore::RenderBlock::handleRunInChild):
3471 * rendering/RenderInline.cpp:
3472 (WebCore::RenderInline::renderName):
3474 2009-01-26 Dimitri Glazkov <dglazkov@chromium.org>
3476 Reviewed by Darin Adler.
3478 https://bugs.webkit.org/show_bug.cgi?id=23480
3479 Add missing method stubs to BackForwardListChromium.
3481 * history/BackForwardListChromium.cpp:
3482 (WebCore::BackForwardList::backItem):
3483 (WebCore::BackForwardList::forwardItem):
3485 2009-01-25 Darin Adler <darin@apple.com>
3487 Try to fix Tiger buildbot.
3489 * WebCore.xcodeproj/project.pbxproj: Turn off cast-qual for WebDashboardRegion.m.
3490 * page/mac/WebDashboardRegion.m:
3492 (-[WebDashboardRegion description]): Use typeName.
3493 (-[WebDashboardRegion isEqual:]): Added comment.
3495 2009-01-25 Alexey Proskuryakov <ap@webkit.org>
3497 Reviewed by Darin Adler.
3499 https://bugs.webkit.org/show_bug.cgi?id=23535
3500 Strengthen debug checks in KURL
3502 Covered (and prompted) by existing tests.
3504 * platform/KURL.cpp:
3505 (WebCore::checkEncodedString): Check that the first character of the URL is an allowed
3506 first scheme character, not just that it isn't a slash.
3507 (WebCore::KURL::KURL): Assert that parsing didn't affect the string (which must be the case
3508 because of parsing being idempotent).
3510 * page/SecurityOrigin.cpp:
3511 (WebCore::SecurityOrigin::create): Added a check for the URL being valid - if it is not, an
3512 empty security origin is created.
3513 (WebCore::SecurityOrigin::createFromString): Parse the string as URL, do not just convert
3514 it - it is not guaranteed to be properly encoded.
3516 * dom/Document.cpp: (WebCore::Document::updateBaseURL): As documentURI is an arbitrary
3517 string, it needs to be parsed into an URL, not just converted into one.
3519 * html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::createPattern):
3520 Create the security origin with createFromString() instead of create(). I do not know where
3521 the string comes from and whether it might not be properly encoded, but this change can't
3522 hurt, and makes the code slightly more clear.
3524 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::accessControlCheck): Create the security
3525 origin with createFromString() instead of create(). The string comes from an HTTP response
3526 header, so it may not be a properly encoded URL.
3528 * loader/DocLoader.cpp: (WebCore::DocLoader::requestResource): Do not try to request using
3531 * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): Updated to call
3532 SecurityOrigin::createFromString() (no change in behavior).
3534 2009-01-25 Mark Rowe <mrowe@apple.com>
3536 Rubber-stamped by Dan Bernstein.
3538 Improve the consistency of settings in our .xcconfig files.
3540 * Configurations/Base.xcconfig: Enable GCC_OBJC_CALL_CXX_CDTORS to match other projects,
3541 and handle all cases in GCC_GENERATE_DEBUGGING_SYMBOLS.
3543 2009-01-25 David Hyatt <hyatt@apple.com>
3545 Fix for https://bugs.webkit.org/show_bug.cgi?id=23524, lots of missing content in table sections.
3547 The new table code created a bug involving markAllDescendantsWithFloatsForLayout, namely that it could
3548 end up marking ancestors of a block as needing layout when that block was still in the process of
3551 The fix is to add a parameter to markAllDescendantsWithFloatsForLayout that says whether or not
3552 we are "mid-layout." If this flag is set, then the method will make sure to do only local dirtying
3553 of objects to avoid accidentally marking a clean ancestor as needing layout again.
3555 Ultimately the second parameter to setNeedsLayout and setChildNeedsLayout should just be removed,
3556 with a check of whether or not we are mid-layout being done by those methods instead.
3558 Reviewed by Oliver Hunt
3560 Added fast/repaint/dynamic-table-vertical-alignment-change.html
3562 * rendering/RenderBlock.cpp:
3563 (WebCore::RenderBlock::collapseMargins):
3564 (WebCore::RenderBlock::clearFloatsIfNeeded):
3565 (WebCore::RenderBlock::layoutBlockChildren):
3566 (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
3567 * rendering/RenderBlock.h:
3568 * rendering/RenderObject.cpp:
3569 (WebCore::RenderObject::removeFromObjectLists):
3570 * rendering/RenderObject.h:
3571 * rendering/RenderTableSection.cpp:
3572 (WebCore::RenderTableSection::layoutRows):
3574 2009-01-25 Darin Adler <darin@apple.com>
3576 Reviewed by Mark Rowe.
3578 Bug 23352: Turn on more compiler warnings in the Mac build
3579 https://bugs.webkit.org/show_bug.cgi?id=23352
3581 Turn on the following warnings:
3591 * Configurations/Base.xcconfig: Added the new warnings. Switched to -Wextra instead of