2009-02-02 Darin Adler <darin@apple.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2009-02-02  Darin Adler  <darin@apple.com>
2
3         Reviewed by Anders Carlsson.
4
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
7
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.
14         * dom/Node.cpp:
15         (WebCore::Node::insertedIntoDocument): Updated comment.
16         (WebCore::Node::removedFromDocument): Ditto.
17
18 2009-02-02  Anders Carlsson  <andersca@apple.com>
19
20         Reviewed by Dan Bernstein.
21
22         More plug-in cleanup.
23         
24         * WebCore.NPAPI.exp:
25         Add new symbols.
26         
27         * bindings/objc/DOM.mm:
28         * bindings/objc/DOMPrivate.h:
29         Remove methods that WebKit doesn't use anymore.
30
31 2009-02-02  Jay Campan  <jcampan@chromium.org>
32
33         Reviewed by Eric Seidel.
34
35         Clean up PopupMenuChromium a little.
36         https://bugs.webkit.org/show_bug.cgi?id=23653
37
38         No functional changes, only code cleanup, thus no tests.
39
40         * platform/chromium/PopupMenuChromium.cpp:
41         (WebCore::):
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:
52
53 2009-02-02  Anders Carlsson  <andersca@apple.com>
54
55         Reviewed by Dan Bernstein.
56
57         Change createPlugin to take a HTMLPlugInElement, and createJavaAppletWidget to take a HTMLAppletElement.
58         
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:
69
70 2009-02-02  Genevieve Mak  <gen@staikos.net>
71
72         Reviewed by George Staikos.
73
74         https://bugs.webkit.org/show_bug.cgi?id=23508
75         Returns Blank Page for all "about" protocols
76
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).
80
81 2009-02-02  Brent Fulgham  <bfulgham@webkit.org>
82
83         Reviewed by George Staikos.
84
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
90         children.
91
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):
105
106 2009-02-02  Darin Adler  <darin@apple.com>
107
108         Try to fix Wx build, and maybe Chromium build too.
109
110         * WebCore.scons: Added IdentifierRep.cpp.
111         * WebCoreSources.bkl: Ditto.
112
113 2009-02-02  Darin Adler  <darin@apple.com>
114
115         Try to fix Wx build.
116
117         * html/HTMLAreaElement.cpp: Added missing include of "Path.h".
118
119 2009-02-02  Adam Treat  <adam.treat@torchmobile.com>
120
121         Reviewed by Nikolas Zimmermann.
122
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.
127
128         * dom/Document.cpp:
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):
164
165 2009-02-02  George Staikos  <george.staikos@torchmobile.com>
166
167         Reviewed by Niko Zimmermann.
168
169         Fix WML build by including the inlined renderStyle().
170
171         * wml/WMLOptGroupElement.cpp:
172         * wml/WMLOptionElement.cpp:
173
174 2009-02-02  Darin Adler  <darin@apple.com>
175
176         Reviewed by Niko Zimmermann.
177
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
181
182         Also fix other XPath tests that are crashing.
183
184         * xml/XPathFunctions.cpp:
185         (WebCore::XPath::FunLang::evaluate): Fix order of arguments when creating QualifiedName.
186         * xml/XPathStep.cpp:
187         (WebCore::XPath::Step::nodesInAxis): Use createAttrIfNeeded() rather than attr() since we
188         need to make Attr nodes here. Yuck!
189
190 2009-02-02  Yichao Yin  <yichao.yin@torchmobile.com.cn>
191
192         Reviewed by Niko Zimmermann.
193
194         Test: wml/input-format.html
195
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:
208
209 2009-02-02  Brent Fulgham  <bfulgham@webkit.org>
210
211         Build fix only, no review.
212
213         Fixes https://bugs.webkit.org/show_bug.cgi?id=23685.
214         Correct build break caused by @r40473.
215
216         * page/win/FrameWin.cpp: Correct access for adjustPageHeight.
217         (WebCore::computePageRectsForFrame):
218
219 2009-02-02  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
220
221         Not reviewed. Fix WML enabled builds.
222         FrameLoader::urlSelected() got a new parameter: lockBackForwardList. Pass 'false', as HTMLAnchorElement does.
223
224         * wml/WMLAElement.cpp:
225         (WebCore::WMLAElement::defaultEventHandler):
226
227 2009-02-02  Alexey Proskuryakov  <ap@webkit.org>
228
229         Reviewed by Darin Adler.
230
231         <rdar://problem/6451610> Reloading a AppCache page doesn't ever hit the server
232
233         Not easily testable.
234
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().
250
251         * loader/appcache/ApplicationCacheGroup.h: Added createResourceHandle().
252
253 2009-02-01  Darin Adler  <darin@apple.com>
254
255         Reviewed by Dave Hyatt.
256
257         Bug 23674: Speed up some things based on profiling the page load test
258         https://bugs.webkit.org/show_bug.cgi?id=23674
259
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.
264
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.
271
272         * dom/ContainerNode.h: Moved the constructor definition here and made it inline.
273
274         * dom/Document.cpp:
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.
279
280         * dom/Document.h: Changed CSS target to be an Element rather than a Node. Renamed
281         getCSSTarget to cssTarget.
282
283         * dom/EventTargetNode.cpp:
284         (WebCore::EventTargetNode::removeAllEventListenersSlowCase): Renamed and turned the
285         rare data check into an assertion.
286
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.
291
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.
302
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.
306
307         * dom/NamedMappedAttrMap.cpp:
308         (WebCore::NamedMappedAttrMap::setClass): Changed to use element() function now that the
309         m_element data member is private.
310
311         * dom/NamedMappedAttrMap.h: Made a few functions private. Made the
312         hasMappedAttributes function non-virtual.
313
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.
316
317         * dom/Node.cpp:
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).
323
324         * dom/QualifiedName.cpp:
325         (WebCore::QualifiedName::QualifiedName): Removed double initialization of m_impl.
326
327         * dom/QualifiedName.h: Moved the destructor, copy constructor, assignment operator, and
328         setPrefix function definitions into the header and made them inline.
329
330         * html/HTMLAreaElement.cpp:
331         (WebCore::HTMLAreaElement::mapMouseEvent): Updated since the stored region is now
332         an OwnPtr.
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.
343
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,
348         but this seems fine.
349
350         * html/HTMLViewSourceDocument.cpp:
351         (WebCore::HTMLViewSourceDocument::createContainingTable): Use addAttribute instead
352         of insertAttribute.
353         (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Ditto.
354         (WebCore::HTMLViewSourceDocument::addLine): Ditto.
355         (WebCore::HTMLViewSourceDocument::addLink): Ditto.
356
357         * loader/FrameLoader.cpp:
358         (WebCore::FrameLoader::gotoAnchor): Use cssTarget under its new name instead
359         of its old name getCSSTarget.
360
361         * platform/graphics/GlyphWidthMap.cpp:
362         (WebCore::GlyphWidthMap::locatePageSlowCase): Refactored from locatePage.
363
364         * platform/graphics/GlyphWidthMap.h: Made most of this class inline.
365         Changed m_pages to use OwnPtr.
366
367         * platform/text/PlatformString.h: Remove include no longer needed since
368         StringImpl.h includes it.
369
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.
375
376         * rendering/RenderObject.cpp:
377         (WebCore::RenderObject::firstLineStyleSlowCase): Refactored from
378         firstLineStyle.
379
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.
383
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.
390
391         * xml/XPathFunctions.cpp:
392         (WebCore::XPath::FunLang::evaluate): Use getAttributeItem instead of
393         getNamedItemNS.
394
395         * xml/XPathStep.cpp:
396         (WebCore::XPath::Step::nodesInAxis): Use attributeItem instead of item here.
397
398 2009-02-02  Holger Hans Peter Freyther  <zecke@selfish.org>
399
400         Reviewed by Darin Adler.
401
402         Move Frame::forceLayout, Frame::adjustPageHeight and Frame::forceLayoutWithPageWidthRange to FrameView
403
404         https://bugs.webkit.org/show_bug.cgi?id=23428
405
406         FrameView::forceLayout could be killed but the comment might
407         contain a value over the the plain FrameView::layout...
408
409         Adjust the WebCore/WebKit consumers of these methods.
410
411         * WebCore.base.exp:
412         * page/Frame.cpp:
413         (WebCore::Frame::setPrinting):
414         * page/Frame.h:
415         * page/FrameView.cpp:
416         (WebCore::FrameView::forceLayout):
417         (WebCore::FrameView::forceLayoutWithPageWidthRange):
418         (WebCore::FrameView::adjustPageHeight):
419         * page/FrameView.h:
420         * page/PrintContext.cpp:
421         (WebCore::PrintContext::computePageRects):
422
423 2009-02-01  Dan Bernstein  <mitz@apple.com>
424
425         Reviewed by John Sullivan.
426
427         - fix <rdar://problem/6546625> REGRESSION (r40432): iframes added to global history at haaretz.co.il
428
429         Fixes http/tests/navigation/multiple-back-forward-entries.html
430
431         r40432 added a parameter to FrameLoader::scheduleLocationChange() and
432         failed to update all call sites.
433
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.
444
445 2009-01-31  Dan Bernstein  <mitz@apple.com>
446
447         Reviewed by Oliver Hunt.
448
449         - fix <rdar://problem/6546549> Eliminate some RenderText::width() overhead from findNextLineBreak()
450
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
454         Font::width().
455
456         * rendering/RenderText.cpp:
457         (WebCore::RenderText::width): Replaced bounds checks on 'from' and 'len'
458         with an assertion.
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.
468
469 2009-01-31  David Hyatt  <hyatt@apple.com>
470
471         Inline all of the setNeedsLayout method and its associated functions.  Also inline setChildNeedsLayout
472         and setNeedsPositionedMovementLayout.
473
474         Reviewed by Dan Bernstein
475
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):
484
485 2009-01-31  Darin Adler  <darin@apple.com>
486
487         Fix Mac build.
488
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.
492
493         * loader/FrameLoaderClient.h: Rearrange virtual functions and corrected
494         a possibly-confusing comment.
495
496 2009-01-31  Adam Treat  <adam.treat@torchmobile.com>
497
498         Reviewed by David Hyatt.
499
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.
503
504         * rendering/RenderTable.cpp:
505         (WebCore::RenderTable::RenderTable):
506         * rendering/RenderTable.h:
507
508 2009-01-31  David Hyatt  <hyatt@apple.com>
509
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.
513
514         Reviewed by Sam Weinig
515
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):
572
573 2009-01-31  David Hyatt  <hyatt@apple.com>
574
575         Fix for https://bugs.webkit.org/show_bug.cgi?id=11363
576         
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
580         be properly ignored.
581
582         Reviewed by Oliver Hunt
583
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:
592
593 2009-01-31  Adam Treat  <adam.treat@torchmobile.com>
594
595         Reviewed by Darin Adler.
596
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.
600
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):
610
611 2009-01-30  Adam Barth  <abarth@webkit.org>
612
613         Reviewed by Sam Weinig.
614
615         Add a pref to disable web security.
616
617         * WebCore.base.exp:
618         * dom/Document.cpp:
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:
626         * page/Settings.cpp:
627         (WebCore::Settings::Settings):
628         (WebCore::Settings::setWebSecurityEnabled):
629         * page/Settings.h:
630         (WebCore::Settings::isWebSecurityEnabled):
631
632 2009-01-30  Holger Hans Peter Freyther  <zecke@selfish.org>
633
634         Build fix.
635
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.
639
640         This trick was previously used at revision 36122 in JSObject.h
641
642         * loader/FrameLoaderClient.h:
643         (WebCore::FrameLoaderClient::~FrameLoaderClient):
644
645 2009-01-30  Oliver Hunt  <oliver@apple.com>
646
647         Reviewed by Stephanie Lewis
648
649         Inline SimpleFontData::widthForGlyph for a minor page load improvement.
650
651         * platform/graphics/SimpleFontData.cpp:
652         * platform/graphics/SimpleFontData.h:
653         (WebCore::SimpleFontData::widthForGlyph):
654
655 2009-01-30  Holger Hans Peter Freyther  <zecke@selfish.org>
656
657         Build fix for WX and maybe even Windows.
658
659         * WebCore.vcproj/WebCore.vcproj:
660         * WebCoreSources.bkl:
661
662 2009-01-30  Holger Hans Peter Freyther  <zecke@selfish.org>
663
664         Reviewed by Darin Adler.
665
666         Move Frame::sendResizeEvent and Frame::sendScrollEvent to EventHandler
667
668         Carry out the move and catch up in two call sites.
669
670         * WebCore.base.exp:
671         * page/EventHandler.cpp:
672         (WebCore::EventHandler::sendResizeEvent):
673         (WebCore::EventHandler::sendScrollEvent):
674         * page/EventHandler.h:
675         * page/Frame.cpp:
676         * page/Frame.h:
677         * page/FrameView.cpp:
678         (WebCore::FrameView::performPostLayoutTasks):
679         (WebCore::FrameView::valueChanged):
680
681 2009-01-30  Holger Hans Peter Freyther  <zecke@selfish.org>
682
683         Reviewed by Darin Adler.
684
685         Move Frame::isFrameSet to Document::isFrameSet
686
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
691         old code.
692
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
696         DOM.
697
698         * WebCore.base.exp:
699         * dom/Document.cpp:
700         (WebCore::Document::isFrameSet):
701         (WebCore::Document::body):
702         * dom/Document.h:
703         * loader/FrameLoader.cpp:
704         (WebCore::FrameLoader::shouldScrollToAnchor):
705         * loader/archive/cf/LegacyWebArchive.cpp:
706         (WebCore::LegacyWebArchive::createFromSelection):
707         * page/Frame.cpp:
708         * page/Frame.h:
709
710 2009-01-30  Aurelian Maga  <aurelianmaga@yahoo.com>
711
712         Reviewed by Holger Freyther.
713
714         [GTK] Logic fixes and build fixes
715  
716         https://bugs.webkit.org/show_bug.cgi?id=22022
717
718         Catch up with the internal GeoLocation API and fix the logic of
719         the previous version.
720
721         * platform/gtk/GeolocationServiceGtk.cpp:
722         (WebCore::GeolocationServiceGtk::startUpdating):
723         (WebCore::GeolocationServiceGtk::updateLocationInformation):
724         (WebCore::GeolocationServiceGtk::position_changed):
725
726 2009-01-30  Holger Hans Peter Freyther  <zecke@selfish.org>
727
728         Reviewed by Nikolas Zimmermann.
729
730         [GTK] Implement GeolocationService using the Geoclue library
731
732         https://bugs.webkit.org/show_bug.cgi?id=22022
733
734         Untested implementation of the GeolocationService using the geoclue
735         library. Velocity handling is completely missing and the accuracy
736         handling might be wrong.
737
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:
753
754 2009-01-30  Mark Rowe  <mrowe@apple.com>
755
756         Build fix.  Declare preferredSize as static.
757
758         * platform/text/cf/StringImplCF.cpp:
759         (WebCore::StringWrapperCFAllocator::preferredSize):
760
761 2009-01-30  Darin Adler  <darin@apple.com>
762
763         Reviewed by Mark Rowe.
764
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
767
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.
780
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.
784
785 2009-01-30  Darin Adler  <darin@apple.com>
786
787         * page/Frame.cpp:
788         (WebCore::Frame::createView): Fix debug build by removing get() from assert.
789
790 2009-01-30  Holger Hans Peter Freyther  <zecke@selfish.org>
791
792         Reviewed by Simon Hausmann.
793
794         https://bugs.webkit.org/show_bug.cgi?id=22056
795
796         Kill FrameLoaderClient.cpp, move the code over to Frame::createView
797
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.
801
802         * GNUmakefile.am:
803         * WebCore.base.exp:
804         * WebCore.pro:
805         * WebCore.xcodeproj/project.pbxproj:
806         * loader/FrameLoaderClient.cpp: Removed.
807         * loader/FrameLoaderClient.h:
808         (WebCore::FrameLoaderClient::~FrameLoaderClient):
809         * page/Frame.cpp:
810         (WebCore::Frame::createView):
811         * page/Frame.h:
812
813 2009-01-30  Simon Fraser  <simon.fraser@apple.com>
814
815         Reviewed by Dave Hyatt
816
817         https://bugs.webkit.org/show_bug.cgi?id=23357
818         
819         New files to support accelerated compositing at the RenderLayer
820         level.
821         
822         * WebCore.xcodeproj/project.pbxproj:
823         New files added to project, and run through the sort script.
824         
825         * rendering/RenderLayerBacking.cpp: Added.
826         * rendering/RenderLayerBacking.h: Added.
827         New object to store compositing-related data for a single
828         RenderLayer.
829         
830         * rendering/RenderLayerCompositor.cpp: Added.
831         * rendering/RenderLayerCompositor.h: Added.
832         Per-RenderView controller object for compositing hierarchy
833         maintenance.
834
835 2009-01-30  Simon Fraser  <simon.fraser@apple.com>
836
837         Reviewed by Dave Hyatt
838
839         https://bugs.webkit.org/show_bug.cgi?id=23356
840         
841         Add new files related to accelerated compositing:
842         
843         * WebCore.xcodeproj/project.pbxproj:
844         Add the files to the project. Also add ColorCG.cpp, for the
845         Color(CGColorRef) constructor.
846         
847         * platform/graphics/GraphicsLayer.cpp: Added.
848         * platform/graphics/GraphicsLayer.h: Added.
849         GraphicsLayer is a platform abstraction for a hardware-backed
850         layer.
851         
852         * platform/graphics/GraphicsLayerClient.h: Added.
853         Client of GraphicsLayer, allowing GraphicsLayer to call out
854         to WebCore code.
855         
856         * platform/graphics/mac/GraphicsLayerCA.h: Added.
857         * platform/graphics/mac/GraphicsLayerCA.mm: Added.
858         Mac Core Animation implementation of GraphicsLayer.
859         
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.
866
867 2009-01-30  Geoffrey Garen  <ggaren@apple.com>
868
869         Reviewed by Sam Weinig.
870
871         Split "lockHistory" into "lockHistory" and "lockBackForwardList" in
872         preparation for setting them differently during a redirect.
873
874         * WebCore.base.exp:
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:
917         (WebCore::):
918         * page/ContextMenuController.cpp:
919         (WebCore::ContextMenuController::contextMenuItemSelected):
920         * svg/SVGAElement.cpp:
921         (WebCore::SVGAElement::defaultEventHandler):
922
923 2009-01-30  Sam Weinig  <sam@webkit.org>
924
925         Reviewed by Dan Bernstein.
926
927         Fix for <rdar://problem/6545095>
928         ASSERTION FAILED: RenderBlock.h:519: !o || o->isRenderBlock()
929
930         Test: fast/block/float/crash-replaced-display-block.html
931
932         * rendering/RenderBlock.cpp:
933         (WebCore::RenderBlock::layoutBlockChildren): Move RenderBlock only code into
934         isRenderBlock if-statement.
935
936 2009-01-30  Chris Fleizach  <cfleizach@apple.com>
937
938         Reviewed by Oliver Hunt.
939         
940         Bug 23656: AX hierarchy for iFrames is incorrect
941         https://bugs.webkit.org/show_bug.cgi?id=23656
942
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.
945
946         * page/mac/AccessibilityObjectWrapper.mm:
947         (convertToNSArray):
948
949 2009-01-30  Adam Treat  <adam.treat@torchmobile.com>
950
951         Fix Qt build to include new class IdentifierRep introduced in revision 40412.
952
953         * WebCore.pro:
954
955 2009-01-30  Anders Carlsson  <andersca@apple.com>
956
957         Reviewed by Sam Weinig.
958
959         Make IdentifierRep.h a private header, and add symbols needed by WebKit to WebCore.LP64.exp.
960
961         * WebCore.LP64.exp:
962         * WebCore.xcodeproj/project.pbxproj:
963
964 2009-01-30  Sam Weinig  <sam@webkit.org>
965
966         Commit files I forgot to in the previous commit.
967
968         * page/AccessibilityRenderObject.cpp:
969         (WebCore::AccessibilityRenderObject::layoutCount):
970         * page/Frame.cpp:
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):
986         * svg/SVGLength.cpp:
987         (WebCore::SVGLength::PercentageOfViewport):
988
989 2009-01-30  Geoffrey Garen  <ggaren@apple.com>
990
991         Reviewed by Darin Adler.
992         
993         More scaffolding for redirect tracking. No behavior change yet.
994
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.")
999
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.
1006
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.)
1011
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.")
1017
1018         * html/HTMLFormElement.idl: Made submit custom so it can participate
1019         in redirect checking.
1020
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
1025         navigations.
1026
1027         (WebCore::FrameLoader::submitFormAgain):
1028         (WebCore::FrameLoader::submitForm): Use the lockHistory parameter.
1029
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.)
1033
1034         (WebCore::FrameLoader::loadFrameRequestWithFormAndValues): Refactored
1035         to pass a FrameLoadType to form posts, too, so they can participate in
1036         redirect tracking.
1037
1038         (WebCore::FrameLoader::loadPostRequest):
1039         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
1040         (WebCore::FrameLoader::loadItem): Use the lockHistory parameter.
1041
1042 2009-01-30  Holger Hans Peter Freyther  <zecke@selfish.org>
1043
1044         Reviewed by Mark Rowe.
1045
1046         [Gtk+] Use AccessibilityObject::stringValue for the AtkObject name
1047
1048         https://bugs.webkit.org/show_bug.cgi?id=21546
1049
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"
1053
1054         As we are currently not able to always provide a AtkTextInterface
1055         implementation this will make the whole content available to accerciser,
1056         and other tools.
1057
1058         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
1059
1060 2009-01-30  Holger Hans Peter Freyther  <zecke@selfish.org>
1061
1062         Unreviewed build fix.
1063
1064         Include string.h for strdup.
1065
1066         * bridge/IdentifierRep.h:
1067
1068 2009-01-30  Sam Weinig  <sam@webkit.org>
1069
1070         Reviewed by Dan Bernstein.
1071
1072         Add toRenderView methods for casting RenderObjects to RenderViews.  The methods will assert if the object
1073         is not a RenderView.
1074
1075         * dom/Document.cpp:
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):
1090
1091 2009-01-30  Simon Fraser  <simon.fraser@apple.com>
1092
1093         Reviewed by Dave Hyatt
1094
1095         https://bugs.webkit.org/show_bug.cgi?id=23360
1096
1097         Really use the container-relative repaint rect methods
1098         for repaint during layout
1099
1100         * rendering/RenderObject.h:
1101         (WebCore::RenderObject::LayoutRepainter::LayoutRepainter):
1102
1103 2009-01-30  Anders Carlsson  <andersca@apple.com>
1104
1105         Reviewed by Darin Adler.
1106
1107         Get rid of PrivateIdentifier and use IdentifierRep instead.
1108
1109         * bridge/NP_jsobject.cpp:
1110         (_NPN_Invoke):
1111         (_NPN_GetProperty):
1112         (_NPN_SetProperty):
1113         (_NPN_RemoveProperty):
1114         (_NPN_HasProperty):
1115         (_NPN_HasMethod):
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):
1128
1129 2009-01-30  Anders Carlsson  <andersca@apple.com>
1130
1131         Reviewed by Sam Weinig and Darin Adler.
1132
1133         Make IdentifierRep a real class, add necessary class methods.
1134
1135         * bridge/IdentifierRep.cpp:
1136         (WebCore::identifierSet):
1137         Returns a set of all identifiers.
1138         
1139         (WebCore::IdentifierRep::isValid):
1140         Return whether an identifier is valid, meaning that it's present in the
1141         set of identifiers.
1142         
1143         * bridge/IdentifierRep.h:
1144         (WebCore::IdentifierRep::isString):
1145         (WebCore::IdentifierRep::number):
1146         (WebCore::IdentifierRep::string):
1147         (WebCore::IdentifierRep::IdentifierRep):
1148         (WebCore::IdentifierRep::):
1149
1150 2009-01-30  Anders Carlsson  <andersca@apple.com>
1151
1152         Reviewed by Sam Weinig.
1153
1154         Add IdentifierRep which will be used by both plug-in implementations.
1155
1156         * GNUmakefile.am:
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):
1170
1171 2009-01-30  Sam Weinig  <sam@webkit.org>
1172
1173         Reviewed by David Hyatt.
1174
1175         Add toRenderInline methods for casting RenderObjects to RenderInlines.  The methods will assert if the object
1176         is not a RenderInline.
1177
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):
1216
1217 2009-01-30  Darin Fisher  <darin@chromium.org>
1218
1219         Reviewed by Eric Seidel.
1220
1221         https://bugs.webkit.org/show_bug.cgi?id=23647
1222         Fix PLATFORM(SKIA)'s ImageSource::clear method to match other ports
1223
1224         * platform/graphics/skia/ImageSourceSkia.cpp:
1225         (WebCore::ImageSource::clear):
1226
1227 2009-01-30  David Hyatt  <hyatt@apple.com>
1228
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.
1232
1233         Making this change caught a bad cast in RenderBlock::layoutBlockChildren, so that is also fixed by this
1234         patch with a containsFloats() check.
1235
1236         Reviewed by Darin Adler
1237
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):
1296
1297 2009-01-30  Brady Eidson  <beidson@apple.com>
1298
1299         Reviewed by Sam Weinig
1300
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.
1305
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):
1311
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):
1319
1320 2009-01-30  Alexey Proskuryakov  <ap@webkit.org>
1321
1322         Reviewed by Darin Adler.
1323
1324         <rdar://problem/6448823> Application Cache is kept after a private browsing session
1325
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.
1331
1332         * loader/appcache/ApplicationCacheGroup.h: Made postListenerTask() static, in order to call
1333         it when refusing to update from selectCache().
1334
1335         * loader/appcache/ApplicationCache.cpp:
1336         (WebCore::ApplicationCache::addDynamicEntry):
1337         (WebCore::ApplicationCache::removeDynamicEntry):
1338         Added reminders about private browsing to unimplemented methods.
1339
1340 2009-01-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1341
1342         Reviewed by Simon Hausmann.
1343
1344         Bug 23580: GNU mode RVCT compilation support
1345         <https://bugs.webkit.org/show_bug.cgi?id=23580>
1346
1347         * html/PreloadScanner.cpp: Use COMPILER(GCC) instead of __GNUC__.
1348
1349 2009-01-30  David Levin  <levin@chromium.org>
1350
1351         Reviewed by Alexey Proskuryakov.
1352
1353         Bug 23616: Various "template helpers" should be consolidated from isolated files in JavaScriptCore.
1354         <https://bugs.webkit.org/show_bug.cgi?id=23616>
1355
1356         Added forwarding header.
1357
1358         * ForwardingHeaders/wtf/TypeTraits.h: Added.
1359
1360 2009-01-30  David Levin  <levin@chromium.org>
1361
1362         Reviewed by Alexey Proskuryakov.
1363
1364         Bug 23599: ResourceError needs to be copyable for use in another thread.
1365         <https://bugs.webkit.org/show_bug.cgi?id=23599>
1366
1367         Add ResourceErrorBase::copy method.  (Not yet used.)
1368
1369         * platform/network/ResourceErrorBase.cpp:
1370         (WebCore::ResourceErrorBase::copy):
1371         * platform/network/ResourceErrorBase.h:
1372
1373 2009-01-29  Stephanie Lewis <slewis@apple.com>
1374
1375         RS by Oliver Hunt.
1376
1377         Update the order files.
1378
1379         * WebCore.order:
1380
1381 2009-01-29  Dmitry Titov  <dimich@chromium.org>
1382
1383         Reviewed by Darin Adler.
1384
1385         https://bugs.webkit.org/show_bug.cgi?id=23488
1386
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.
1391
1392         The TimerBase functionality did not change (it maintains the timer heap which computes the nearest firing).
1393
1394         Added new abstract class SharedTimer, so worker threads can provide their own implementation (will be implemented on WorkerRunLoop).
1395
1396         * GNUmakefile.am:
1397         * WebCore.pro:
1398         * WebCore.scons:
1399         * WebCore.vcproj/WebCore.vcproj:
1400         * WebCore.xcodeproj/project.pbxproj:
1401         * WebCoreSources.bkl:
1402         Added new ThreadTimers.cpp to build files.
1403
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.
1410
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.
1417
1418         * platform/ThreadTimers.cpp: Added.
1419         (WebCore::mainThreadSharedTimer):
1420         Static getter for a MainThreadSharedTimer singleton.
1421
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.
1432
1433         * platform/ThreadTimers.h: Added.
1434         (WebCore::ThreadTimers::timerHeap):
1435         (WebCore::ThreadTimers::timersReadyToFire):
1436
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.
1455
1456         * platform/Timer.h:
1457         static methods moved to ThreadTimers.
1458
1459 2009-01-29  David Hyatt  <hyatt@apple.com>
1460
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.
1464
1465         Reviewed by Eric Seidel
1466
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):
1492
1493 2009-01-29  Jungshik Shin  <jshin@chromium.org>
1494
1495         Reviewed by Alexey Proskuryakov.
1496
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
1500
1501         * wml/WMLTableElement.cpp:
1502         (WebCore::WMLTableElement::parseMappedAttribute):
1503
1504 2009-01-29  Darin Fisher  <darin@chromium.org>
1505
1506         Reviewed by Eric Seidel.
1507
1508         https://bugs.webkit.org/show_bug.cgi?id=23627
1509         Fix the PLATFORM(SKIA) build.
1510
1511         * svg/graphics/SVGPaintServer.cpp:
1512         (WebCore::SVGPaintServer::teardown):
1513
1514 2009-01-29  Scott Violet  <sky@google.com>
1515
1516         Reviewed by Eric Seidel.
1517
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
1520
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.
1526
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:
1541
1542 2009-01-29  Sam Weinig  <sam@webkit.org>
1543
1544         Reviewed by Mark Rowe.
1545
1546         First step in tracking the urls a HistoryItem was redirected through.
1547
1548         * WebCore.base.exp:
1549         * history/HistoryItem.cpp:
1550         (WebCore::HistoryItem::HistoryItem):
1551         (WebCore::HistoryItem::addRedirectURL):
1552         (WebCore::HistoryItem::redirectURLs):
1553         (WebCore::HistoryItem::setRedirectURLs):
1554         * history/HistoryItem.h:
1555
1556 2009-01-29  Dirk Schulze  <krit@webkit.org>
1557
1558         Reviewed by Nikolas Zimmermann, Eric Seidel.
1559
1560         Just transform the pattern directly instead of transforming the context fixes this 
1561         problem. Texts or strokes are no longer affected by transformations.
1562
1563         SVG pattern transformation/BoundingBox can cause ugly stroke thickness or text positions
1564         https://bugs.webkit.org/show_bug.cgi?id=23472
1565
1566         Test: svg/custom/pattern-with-transformation.svg
1567
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):
1578
1579 2009-01-29  David Hyatt  <hyatt@apple.com>
1580
1581         Move the line box list member out of RenderFlow and down into RenderBlock and RenderInline.  Eliminate RenderFlow from the tree.
1582
1583         Reviewed by Sam Weinig
1584
1585         * GNUmakefile.am:
1586         * WebCore.pro:
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:
1654
1655 2009-01-29  Geoffrey Garen  <ggaren@apple.com>
1656
1657         Reviewed by Oliver Hunt.
1658
1659         Cleaned up some naming in ScheduledRedirection.
1660
1661         * loader/FrameLoader.cpp:
1662         (WebCore::ScheduledRedirection::ScheduledRedirection):
1663
1664 2009-01-29  Anders Carlsson  <andersca@apple.com>
1665
1666         Reviewed by Dan Bernstein.
1667
1668         Update to use new API.
1669
1670         * platform/graphics/mac/FontCustomPlatformData.cpp:
1671         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
1672         (WebCore::createFontCustomPlatformData):
1673
1674 2009-01-29  Alexey Proskuryakov  <ap@webkit.org>
1675
1676         Reviewed by Nikolas Zimmermann.
1677
1678         https://bugs.webkit.org/show_bug.cgi?id=23619
1679         ASSERT(!error.isNull()) in DocumentLoader::mainReceivedError() when an SVG image load
1680         is cancelled
1681
1682         Covered by existing tests (as a random crash).
1683
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.
1693
1694 2009-01-29  Geoffrey Garen  <ggaren@apple.com>
1695
1696         Reviewed by Oliver Hunt.
1697
1698         Removed an unused case of "lockHistory" to help make the other cases
1699         clearer.
1700
1701         * page/FrameLoadRequest.h:
1702         (WebCore::FrameLoadRequest::FrameLoadRequest):
1703
1704 2009-01-29  David Hyatt  <hyatt@apple.com>
1705
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.
1709         
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.
1712         
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.
1715         
1716         addChildWithContinuation moved to RenderInline and has been renamed to addChildToContinuation.
1717         
1718         Reviewed by Eric Seidel
1719
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):
1740
1741 2009-01-29  Brady Eidson  <beidson@apple.com>
1742
1743         Reviewed by Oliver Hunt
1744
1745         <rdar://problem/6337157> hyundaiusa.com closes window or tab during load
1746
1747         Test: fast/loader/subframe-self-close.html
1748
1749         * page/DOMWindow.cpp:
1750         (WebCore::DOMWindow::close): Only allow mainframes to close the window.
1751
1752 2009-01-29  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1753
1754         Reviewed by David Hyatt.
1755
1756         Fixes: https://bugs.webkit.org/show_bug.cgi?id=23539
1757
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.
1761
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.
1766
1767         Querying these methods requires using the toInputElement/toFormControlElement casting helper functions
1768         to cast Element pointers to InputElement/FormControlElement pointers.
1769
1770         * css/CSSStyleSelector.cpp:
1771         (WebCore::CSSStyleSelector::canShareStyleWithElement):
1772         (WebCore::CSSStyleSelector::adjustRenderStyle):
1773         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1774         * dom/Element.h:
1775         (WebCore::Element::isFormControlElementWithState):
1776         * dom/FormControlElement.h:
1777         * dom/InputElement.h:
1778         * dom/Node.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):
1826
1827 2009-01-29  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1828
1829         Not reviewed. Fix WML build - apply same fix as HTMLAnchorElement received.
1830
1831         * wml/WMLAElement.cpp:
1832         (WebCore::WMLAElement::isKeyboardFocusable):
1833
1834 2009-01-29  Alexey Proskuryakov  <ap@webkit.org>
1835
1836         Reviewed by Anders Carlsson.
1837
1838         https://bugs.webkit.org/show_bug.cgi?id=23620
1839         Crash in appcache/resource-redirect.html on Tiger
1840
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
1843         caught at all.
1844
1845         Tests: http/tests/appcache/manifest-redirect-2.html
1846                http/tests/appcache/resource-redirect-2.html
1847
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.
1853
1854 2009-01-29  David Hyatt  <hyatt@apple.com>
1855
1856         Move dirtyLinesFromChangedChild into RenderLineBoxList so that it can be shared by RenderBlock and RenderInline.
1857     
1858         Reviewed by Sam Weinig
1859
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:
1869
1870 2009-01-29  Adam Roben  <aroben@apple.com>
1871
1872         Fix Bug 23623: Windowed Flash instances aren't captured when a WebView
1873         receives a WM_PRINTCLIENT message
1874
1875         <https://bugs.webkit.org/show_bug.cgi?id=23623>
1876         <rdar://problem/6513921>
1877         <rdar://problem/6536874>
1878
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>.
1885
1886         No test possible.
1887
1888         Reviewed by Darin Adler.
1889
1890         * platform/graphics/GraphicsContext.h: Added
1891         [set]ShouldIncludeChildWindows on Windows.
1892
1893         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: Added
1894         m_shouldIncludeChildWindows.
1895         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1896         Initialize the new member.
1897
1898         * platform/graphics/win/GraphicsContextCGWin.cpp:
1899         (WebCore::GraphicsContext::setShouldIncludeChildWindows):
1900         (WebCore::GraphicsContext::shouldIncludeChildWindows):
1901         Added simple setter and getter.
1902
1903         * plugins/PluginView.cpp:
1904         (WebCore::PluginView::PluginView): Initialize the new member.
1905
1906         * plugins/PluginView.h: Added m_wmPrintHDC and various functions
1907         required for making WM_PRINTCLIENT work.
1908
1909         * plugins/win/PluginViewWin.cpp:
1910         (WebCore::PluginView::hookedBeginPaint):
1911         (WebCore::PluginView::hookedEndPaint):
1912         (WebCore::hook):
1913         (WebCore::setUpOffscreenPaintingHooks):
1914         Added. Code was modified from code available on fengyuan.com.
1915
1916         (WebCore::PluginView::wndProc): Turn WM_PRINTCLIENT messages into
1917         WM_PAINT messages and save off the HDC that we're supposed to paint
1918         into.
1919
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.
1924
1925         (WebCore::PluginView::paint): If we're trying to paint a windowed
1926         plugin into the GraphicsContext, call paintWindowedPluginIntoContext.
1927
1928         (WebCore::PluginView::init): Call setUpOffscreenPaintingHooks to make
1929         our WM_PRINTCLIENT trick work.
1930
1931 2009-01-29  David Hyatt  <hyatt@apple.com>
1932
1933         Move RenderFlow::destroy down into RenderBlock and RenderInline.
1934
1935         Reviewed by Anders Carlsson
1936
1937         * rendering/RenderBlock.cpp:
1938         (WebCore::RenderBlock::destroy):
1939         * rendering/RenderFlow.cpp:
1940         * rendering/RenderFlow.h:
1941         * rendering/RenderInline.cpp:
1942         (WebCore::RenderInline::destroy):
1943
1944 2009-01-29  David Kilzer  <ddkilzer@apple.com>
1945
1946         Remove semi-colons from the end of ObjC method implementations
1947
1948         Rubber-stamped by Adam Roben.
1949
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"; }' {} \;
1951
1952         * bridge/testbindings.mm:
1953
1954 2009-01-29  Adam Treat  <adam.treat@torchmobile.com>
1955
1956         Reviewed by Alexey Proskuryakov.
1957
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.
1963
1964         * platform/qt/KURLQt.cpp:
1965         (WebCore::KURL::KURL):
1966
1967 2009-01-29  Alexey Proskuryakov  <ap@webkit.org>
1968
1969         Rubber-stamped by Darin Adler.
1970
1971         Renamed ApplicationCacheResource::Implicit to Master, because that's the word HTML5 uses,
1972         and it describes the meaning better.
1973
1974         * loader/appcache/ApplicationCache.cpp:
1975         * loader/appcache/ApplicationCacheGroup.cpp:
1976         * loader/appcache/ApplicationCacheResource.cpp:
1977         * loader/appcache/ApplicationCacheResource.h:
1978
1979 2009-01-29  Alexey Proskuryakov  <ap@webkit.org>
1980
1981         Release build fix.
1982
1983         * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache):
1984         Got rid of a variable that wasn't used in release builds.
1985
1986 2009-01-29  David Hyatt  <hyatt@apple.com>
1987
1988         Get rid of createAnonymousFlow.  It was only called in one spot, so just inline the code.
1989
1990         Reviewed by Oliver Hunt
1991
1992         * rendering/RenderBlock.cpp:
1993         (WebCore::RenderBlock::updateFirstLetter):
1994         * rendering/RenderFlow.cpp:
1995         * rendering/RenderFlow.h:
1996
1997 2009-01-29  Alexey Proskuryakov  <ap@webkit.org>
1998
1999         Reviewed by Anders Carlsson.
2000
2001         https://bugs.webkit.org/show_bug.cgi?id=23476
2002         HTTP redirect should make application cache updating fail
2003
2004         Tests: http/tests/appcache/manifest-redirect.html
2005                http/tests/appcache/resource-redirect.html
2006
2007         * loader/appcache/ApplicationCacheGroup.cpp:
2008         (WebCore::ApplicationCacheGroup::didReceiveResponse):
2009         (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
2010         Fail if response code isn't 2xx.
2011
2012 2009-01-29  Alexey Proskuryakov  <ap@webkit.org>
2013
2014         Reviewed by Anders Carlsson.
2015
2016         https://bugs.webkit.org/show_bug.cgi?id=23592
2017         Update appcache manifest signature parsing
2018
2019         Test: http/tests/appcache/wrong-signature-2.html
2020
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.
2024
2025 2009-01-28  Alexey Proskuryakov  <ap@webkit.org>
2026
2027         Reviewed by Anders Carlsson.
2028
2029         https://bugs.webkit.org/show_bug.cgi?id=23584
2030         Update application cache code for the latest round of spec changes
2031
2032         The changes mostly affect the update process - events are sent at a different
2033         time, and caches are associated with documents earlier.
2034
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.
2040
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().
2047
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
2052         there isn't one.
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.
2060
2061         * loader/appcache/DOMApplicationCache.cpp: (WebCore::DOMApplicationCache::update):
2062         An explicit call to update() invokes the algorithm without a browsing context.
2063
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.
2092
2093 2009-01-28  Geoffrey Garen  <ggaren@apple.com>
2094
2095         Reviewed by Sam Weinig.
2096         
2097         Merged FrameLoadTypeReloadAllowingStaleData with FrameLoadTypeReload.
2098         
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.
2101
2102         * loader/FrameLoader.cpp:
2103         (WebCore::isBackForwardLoadType):
2104         (WebCore::FrameLoader::restoreDocumentState): Subbed in FrameLoadTypeReload.
2105
2106         (WebCore::FrameLoader::loadURLIntoChildFrame): No need to account for
2107         non-back-forward navigations anymore.
2108
2109         (WebCore::FrameLoader::canCachePage):
2110         (WebCore::FrameLoader::logCanCachePageDecision):
2111         (WebCore::FrameLoader::reloadWithOverrideEncoding):
2112         (WebCore::FrameLoader::transitionToCommitted):
2113         (WebCore::FrameLoader::loadItem): Subbed in FrameLoadTypeReload.
2114
2115         * loader/FrameLoader.h: Renamed reloadAllowingStaleData => reloadWithOverrideEncoding,
2116         since that's what it actually does.
2117
2118 2009-01-28  David Hyatt  <hyatt@apple.com>
2119
2120         Move hit testing and painting of lines from RenderFlow into RenderLineBoxList.
2121
2122         Reviewed by Oliver Hunt
2123
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:
2136
2137 2009-01-28  David Hyatt  <hyatt@apple.com>
2138
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.
2143
2144         Reviewed by Oliver Hunt
2145
2146         * rendering/RenderSVGInlineText.cpp:
2147         (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
2148
2149 2009-01-28  David Hyatt  <hyatt@apple.com>
2150
2151         Move dirtyLineBoxes from RenderFlow to RenderInline and RenderBlock.
2152
2153         Reviewed by Oliver Hunt
2154
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:
2166
2167 2009-01-28  David Hyatt  <hyatt@apple.com>
2168
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.
2171
2172         * rendering/RenderBox.cpp:
2173         (WebCore::RenderBox::scrollWidth):
2174         (WebCore::RenderBox::scrollHeight):
2175
2176 2009-01-28  David Hyatt  <hyatt@apple.com>
2177
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.
2180
2181         Reviewed by cpst
2182
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):
2200
2201 2009-01-28  Darin Fisher  <darin@chromium.org>
2202
2203         Reviewed by Eric Seidel.
2204
2205         https://bugs.webkit.org/show_bug.cgi?id=23596
2206         XMLHttpRequest.cpp no longer compiles without USE(JSC)
2207
2208         * xml/XMLHttpRequest.cpp:
2209
2210 2009-01-28  Darin Fisher  <darin@chromium.org>
2211
2212         Reviewed by Darin Adler.
2213
2214         https://bugs.webkit.org/show_bug.cgi?id=23597
2215         Make it possible to compile Database.cpp when USE(JSC) is not defined
2216
2217         * storage/Database.cpp:
2218         (WebCore::Database::Database):
2219
2220 2009-01-28  Dan Bernstein  <mitz@apple.com>
2221
2222         Reviewed by Darin Adler.
2223
2224         - fix <rdar://problem/6077047> REGRESSION (r34544): Custom icon does not
2225           appear in address field on first visit to any site
2226
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.
2234
2235 2009-01-28  David Hyatt  <hyatt@apple.com>
2236
2237         Move addFocusRingRects from RenderFlow down into RenderBlock and RenderInline.
2238
2239         Reviewed by Oliver Hunt
2240
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:
2249
2250 2009-01-28  David Hyatt  <hyatt@apple.com>
2251
2252         Move localCaretRect from RenderFlow into RenderBlock, since it only applied to blocks anyway and
2253         was misplaced from the start.
2254
2255         Reviewed by anttik
2256
2257         * rendering/RenderBlock.cpp:
2258         (WebCore::RenderBlock::localCaretRect):
2259         * rendering/RenderBlock.h:
2260         * rendering/RenderFlow.cpp:
2261         * rendering/RenderFlow.h:
2262
2263 2009-01-28  Sam Weinig  <sam@webkit.org>
2264
2265         Reviewed by Geoff Garen.
2266
2267         Add forwarding header.
2268
2269         * ForwardingHeaders/debugger/DebuggerActivation.h: Added.
2270
2271 2009-01-28  David Hyatt  <hyatt@apple.com>
2272
2273         Move createInlineBox out of RenderFlow and down into RenderInline and RenderBlock.
2274
2275         Reviewed by Beth Dakin
2276
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:
2286
2287 2009-01-28  David Hyatt  <hyatt@apple.com>
2288
2289         Move calcMargins from RenderFlow to RenderInline, since it was only ever called on RenderInlines.
2290
2291         Reviewed by Oliver Hunt
2292
2293         * rendering/RenderFlow.cpp:
2294         * rendering/RenderFlow.h:
2295         * rendering/RenderInline.h:
2296         (WebCore::RenderInline::calcMargins):
2297         * rendering/bidi.cpp:
2298         (WebCore::RenderBlock::layoutInlineChildren):
2299
2300 2009-01-28  David Hyatt  <hyatt@apple.com>
2301
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.
2304
2305         Reviewed by Oliver Hunt
2306
2307         * GNUmakefile.am:
2308         * WebCore.pro:
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):
2356
2357 2009-01-28  David Kilzer  <ddkilzer@apple.com>
2358
2359         Clean up FontPlatformData constructor
2360
2361         Reviewed by David Hyatt.
2362
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.
2369
2370 2009-01-28  Tony Chang  <tony@chromium.org>
2371
2372         Reviewed by David Hyatt.
2373
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.
2377
2378         * rendering/RenderThemeChromiumMac.mm:
2379         (WebCore::RenderThemeChromiumMac::baselinePosition):
2380         * rendering/RenderThemeChromiumWin.cpp:
2381         (WebCore::RenderThemeChromiumWin::paintMenuList):
2382
2383 2009-01-28  Simon Fraser  <simon.fraser@apple.com>
2384
2385         Reviewed by Dave Hyatt
2386
2387         https://bugs.webkit.org/show_bug.cgi?id=23582
2388
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.
2394
2395         Tests: fast/transforms/transform-on-inline.html
2396                fast/transforms/transform-table-row.html
2397
2398         * rendering/RenderBox.cpp:
2399         (WebCore::RenderBox::styleDidChange):
2400         * rendering/RenderReplica.cpp:
2401         (WebCore::RenderReplica::RenderReplica):
2402         * rendering/RenderTableRow.h:
2403         (WebCore::RenderTableRow::requiresLayer):
2404
2405 2009-01-28  Hironori Bono  <hbono@chromium.org>
2406
2407         Reviewed by Justin Garcia.
2408
2409         https://bugs.webkit.org/show_bug.cgi?id=18835
2410         Spelling underlines disappear when they shouldn't
2411
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.
2415
2416         Test: editing/spelling/spelling-linebreak.html
2417
2418         * editing/InsertLineBreakCommand.cpp:
2419         (WebCore::InsertLineBreakCommand::doApply):
2420
2421 2009-01-28  David Hyatt  <hyatt@apple.com>
2422
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.
2425
2426         Reviewed by Sam Weinig
2427
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):
2443
2444 2009-01-28  Zachary Kuznia  <zork@chromiuum.org>
2445
2446         Reviewed by Sam Weinig.
2447
2448         https://bugs.webkit.org/show_bug.cgi?id=22070
2449         Add an option to allow scripts to close windows.
2450
2451         * page/Settings.cpp:
2452         (WebCore::Settings::Settings):
2453         (WebCore::Settings::setAllowScriptsToCloseWindows):
2454         * page/Settings.h:
2455         (WebCore::Settings::allowScriptsToCloseWindows):
2456
2457 2009-01-28  Adam Langley  <agl@google.com>
2458
2459         Reviewed by Sam Weinig.
2460
2461         https://bugs.webkit.org/show_bug.cgi?id=23573
2462         Make PlatformWidget on chromium an intptr_t to match changes made in Chromium
2463
2464         * platform/chromium/PlatformWidget.h:
2465
2466 2009-01-28  David Hyatt  <hyatt@apple.com>
2467
2468         Fix for 
2469
2470         <rdar://problem/6531287> REGRESSION: CrashTracer: [USER] 12 crashes in Safari at com.apple.WebCore • WebCore::RenderBlock::removeFloatingObject + 59
2471
2472         My tightening up of markAllDescendantsWithFloatsForLayout exposed a buggy check in that code that could
2473         lead to a bad cast.
2474
2475         * rendering/RenderBlock.cpp:
2476         (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
2477
2478 2009-01-27  David Hyatt  <hyatt@apple.com>
2479
2480         https://bugs.webkit.org/show_bug.cgi?id=23576
2481
2482         Work towards eliminating RenderFlow from the tree.
2483         
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).
2487         
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
2490         and RenderBlocks!
2491         
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
2494         line offsets.
2495
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.
2498         
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.
2501
2502         Reviewed by Oliver Hunt
2503
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):
2671
2672 2009-01-28  Adam Treat  <adam.treat@torchmobile.com>
2673
2674         Reviewed by Nikolas Zimmermann and George Staikos.
2675
2676         https://bugs.webkit.org/show_bug.cgi?id=23557
2677         Allow option of hit testing frame content without clipping to the visible
2678         viewport.
2679
2680         * WebCore.base.exp:
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):
2688
2689 2009-01-28  Simon Hausmann  <simon.hausmann@nokia.com>
2690
2691         Reviewed by Holger Freyther.
2692
2693         Fix the build with Qt on Windows.
2694
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
2697         QT_MAKEDLL.
2698
2699         SystemTimeWin.cpp is needed on Windows for userIdleTime(), which for the
2700         other Qt platforms comes from TemporaryLinkStubs.cpp.
2701
2702         * WebCore.pro:
2703
2704 2009-01-28  Ariya Hidayat  <ariya.hidayat@trolltech.com>
2705
2706         Reviewed by Simon Hausmann.
2707
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.
2711
2712         * platform/graphics/qt/GraphicsContextQt.cpp:
2713         (WebCore::GraphicsContext::clip):
2714
2715 2009-01-28  Darin Fisher  <darin@chromium.org>
2716
2717         Reviewed by Darin Adler.
2718
2719         https://bugs.webkit.org/show_bug.cgi?id=23546
2720         Upstream GoogleURL implementation of KURL
2721
2722         * platform/KURL.h:
2723         * platform/KURLGoogle.cpp: Added.
2724         * platform/KURLGooglePrivate.h: Added.
2725
2726 2009-01-27  Darin Adler  <darin@apple.com>
2727
2728         Reviewed by Sam Weinig.
2729
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
2733
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.
2741
2742 2009-01-27  Dan Bernstein  <mitz@apple.com>
2743
2744         Reviewed by Steve Falkenburg.
2745
2746         - fix <rdar://problem/6524351> Text looks bad when font smoothing is
2747           forced off
2748
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.
2752
2753 2009-01-27  Simon Fraser  <simon.fraser@apple.com>
2754
2755         Reviewed by Dave Hyatt
2756
2757         https://bugs.webkit.org/show_bug.cgi?id=23360
2758         
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.
2763
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
2767         'true' every time.
2768
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):
2806
2807 2009-01-27  Brady Eidson  <beidson@apple.com>
2808
2809         Reviewed by Darin Adler
2810
2811         <rdar://problem/3541409> - More groundwork and cleanup for CachedFrames
2812
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):
2820
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):
2831
2832         * loader/FrameLoader.cpp:
2833         (WebCore::FrameLoader::cachePageForHistoryItem): Move the platform data saving into the
2834           CachedFrame itself.
2835
2836 2009-01-27  Simon Fraser  <simon.fraser@apple.com>
2837
2838         Reviewed by Dave Hyatt
2839
2840         Flip the arguments of computeRectForRepaint() from
2841             computeRectForRepaint(IntRect&, RenderBox* repaintContainer, bool)
2842         to 
2843             computeRectForRepaint(RenderBox* repaintContainer, IntRect&, bool)
2844
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:
2867
2868 2009-01-27  David Kilzer  <ddkilzer@apple.com>
2869
2870         Add missing header guards to AccessibilityObjectWrapper.h
2871
2872         Reviewed by Anders Carlsson.
2873
2874         * page/mac/AccessibilityObjectWrapper.h: Added missing header guards.
2875
2876 2009-01-27  Simon Fraser  <simon.fraser@apple.com>
2877
2878         Reviewed by Dave Hyatt
2879
2880         https://bugs.webkit.org/show_bug.cgi?id=23567
2881         
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.
2885         
2886         Also fix a missed conversion in RenderTableCol, and add a couple
2887         of comments.
2888
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):
2897
2898 2009-01-27  Adele Peterson  <adele@apple.com>
2899
2900         RS by Dave Hyatt  
2901
2902         Use the textfield appearance for search fields in themeWin.css so the border/background
2903         styling will work correctly on these fields.
2904
2905         * css/themeWin.css:
2906
2907 2009-01-27  Dan Bernstein  <mitz@apple.com>
2908
2909         - build fix
2910
2911         * bindings/js/JSHTMLInputElementCustom.cpp:
2912         (WebCore::JSHTMLInputElement::setSelectionStart):
2913         (WebCore::JSHTMLInputElement::setSelectionEnd):
2914         (WebCore::JSHTMLInputElement::setSelectionRange):
2915
2916 2009-01-27  Dan Bernstein  <mitz@apple.com>
2917
2918         - build fix
2919
2920         * platform/graphics/Gradient.cpp:
2921         (WebCore::Gradient::setSpreadMethod):
2922
2923 2009-01-27  Paul Godavari  <paul@chromium.org>
2924
2925         Reviewed by Eric Seidel.
2926
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
2930         a file name.
2931
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):
2938
2939 2009-01-27  Mads Ager  <ager@chromium.org>
2940
2941         Reviewed by Darin Adler.
2942
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.
2946
2947         This requires custom setSelectionRange, setSelectionStart and
2948         setSelectionEnd implementations, but it gets rid of the custom
2949         getOwnPropertySlot.
2950
2951         * bindings/js/JSHTMLInputElementCustom.cpp:
2952         (WebCore::JSHTMLInputElement::selectionStart):
2953         (WebCore::JSHTMLInputElement::selectionEnd):
2954         (WebCore::JSHTMLInputElement::setSelectionRange):
2955         * html/HTMLInputElement.idl:
2956
2957 2009-01-27  Evan Stade  <estade@chromium.org>
2958
2959         Reviewed by Nikolas Zimmermann.
2960
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.
2964
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:
2974         (WebCore::):
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:
2996
2997 2009-01-27  Ariya Hidayat  <ariya.hidayat@trolltech.com>
2998
2999         Rubber-stamped by Simon Hausmann.
3000
3001         http://www.qtsoftware.com/developer/task-tracker/index_html?id=238662&method=entry
3002
3003         [Qt] Map function keys F1 to F24.
3004
3005         * platform/qt/PlatformKeyboardEventQt.cpp:
3006         (WebCore::windowsKeyCodeForKeyEvent):
3007
3008 2009-01-27  Brady Eidson  <beidson@apple.com>
3009
3010         Reviewed by Dan Bernstein
3011
3012         Rework FrameLoaderClient to work on a CachedFrame basis instead of CachedPage
3013
3014         * WebCore.base.exp:
3015         * history/CachedPage.cpp:
3016         * history/CachedPage.h:
3017         (WebCore::CachedPage::cachedMainFrame):
3018
3019         * loader/EmptyClients.h:
3020         (WebCore::EmptyFrameLoaderClient::savePlatformDataToCachedFrame):
3021         (WebCore::EmptyFrameLoaderClient::transitionToCommittedFromCachedFrame):
3022
3023         * loader/FrameLoader.cpp:
3024         (WebCore::FrameLoader::restoreDocumentState):
3025         (WebCore::FrameLoader::commitProvisionalLoad):
3026         (WebCore::FrameLoader::transitionToCommitted):
3027         (WebCore::FrameLoader::cachePageForHistoryItem):
3028         * loader/FrameLoaderClient.h:
3029
3030 2009-01-26  Simon Fraser  <simon.fraser@apple.com>
3031
3032         Reviewed by Dave Hyatt
3033
3034         https://bugs.webkit.org/show_bug.cgi?id=23360
3035
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.
3039
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:
3108
3109 2009-01-26  Simon Fraser  <simon.fraser@apple.com>
3110
3111         Reviewed by David Hyatt
3112         
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.
3116
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):
3124
3125 2009-01-26  Brady Eidson  <beidson@apple.com>
3126
3127         Reviewed by Darin Adler
3128
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 
3132
3133         * history/HistoryItem.cpp:
3134         (WebCore::HistoryItem::showTreeWithIndent):
3135
3136         * loader/FrameLoader.cpp:
3137         (WebCore::pageCacheLogPrefix):
3138         (WebCore::pageCacheLog):
3139         (WebCore::FrameLoader::logCanCachePageDecision):
3140         (WebCore::FrameLoader::logCanCacheFrameDecision):
3141         * loader/FrameLoader.h:
3142
3143 2009-01-26  Adam Treat  <adam.treat@torchmobile.com>
3144
3145         Reviewed by Nikolas Zimmermann.
3146
3147         Allow option of hit testing frame content without clipping to the visible
3148         viewport.
3149
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):
3157
3158 2009-01-26  Sam Weinig  <sam@webkit.org>
3159
3160         Reviewed by Dan Bernstein.
3161
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>
3165
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.
3169
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
3173         load of the font.
3174
3175         Test: http/tests/misc/SVGFont-delayed-load.html
3176
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:
3185
3186 2009-01-26  Timothy Hatcher  <timothy@apple.com>
3187
3188         Change Web Archive serialization back to the binary property list format.
3189
3190         <rdar://problem/6127865> Web archives saved with Safari 4 cannot be read by Safari 3
3191
3192         Reviewed by Brady Eidson.
3193
3194         * loader/archive/cf/LegacyWebArchive.cpp:
3195         (WebCore::LegacyWebArchive::rawDataRepresentation):
3196
3197 2009-01-26  Anders Carlsson  <andersca@apple.com>
3198
3199         Fix 64-bit build.
3200         
3201         * WebCore.LP64.exp:
3202
3203 2009-01-26  Dmitry Titov  <dimich@chromium.org>
3204
3205         Reviewed by Alexey Proskuryakov.
3206
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
3211         of the DOMTimer.
3212
3213         * GNUmakefile.am:
3214         * WebCore.pro:
3215         * WebCore.scons:
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.
3223
3224 2009-01-26  David Hyatt  <hyatt@apple.com>
3225
3226         Eliminate rightmostPosition, lowestPosition and leftmostPosition from RenderFlow.  Move the code into
3227         RenderBlock's methods.
3228
3229         Reviewed by Eric Seidel
3230
3231         * rendering/RenderBlock.cpp:
3232         (WebCore::RenderBlock::lowestPosition):
3233         (WebCore::RenderBlock::rightmostPosition):
3234         (WebCore::RenderBlock::leftmostPosition):
3235         * rendering/RenderFlow.cpp:
3236         * rendering/RenderFlow.h:
3237
3238 2009-01-26  Darin Fisher  <darin@chromium.org>
3239
3240         Reviewed by Eric Seidel.
3241
3242         https://bugs.webkit.org/show_bug.cgi?id=23553
3243         Upstream changes from jcampan to fix chromium bugs 6692 and 6694.
3244
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:
3255
3256 2009-01-26  Brady Eidson  <beidson@apple.com>
3257
3258         Reviewed by Sam Weinig
3259
3260         Remove some historical CachedPage time stamp fluff.
3261
3262         * history/CachedPage.cpp:
3263         (WebCore::CachedPage::CachedPage):
3264         * history/CachedPage.h:
3265         (WebCore::CachedPage::timeStamp):
3266
3267         * loader/FrameLoader.cpp:
3268         (WebCore::FrameLoader::cachePageForHistoryItem):
3269
3270 2009-01-26  David Hyatt  <hyatt@apple.com>
3271
3272         Move absoluteClippedOverflowRect, linesBoundingBox and borderBoundingBox from RenderFlow to RenderInline.
3273
3274         Reviewed by Eric Seidel
3275
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<<):
3289
3290 2009-01-26  Dimitri Glazkov  <dglazkov@chromium.org>
3291
3292         Reviewed by Eric Seidel.
3293
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).
3298
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
3303             methods.
3304
3305 2009-01-26  David Hyatt  <hyatt@apple.com>
3306
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().
3309
3310         Reviewed by Eric Seidel
3311
3312         * dom/Text.cpp:
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):
3386
3387 2009-01-26  David Hyatt  <hyatt@apple.com>
3388
3389         Drop support for display:compact.
3390
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.
3396
3397         Reviewed by Eric Seidel
3398
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):
3430         * rendering/bidi.h:
3431         (WebCore::BidiRun::BidiRun):
3432
3433 2009-01-26  Adam Langley  <agl@google.com>
3434
3435         Reviewed by Nikolas Zimmermann.
3436
3437         gtk2drawing: fix compiler warnings
3438
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.
3442
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):
3460
3461 2009-01-26  David Hyatt  <hyatt@apple.com>
3462
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.
3466
3467         Reviewed by Dan Bernstein
3468
3469         * rendering/RenderBlock.cpp:
3470         (WebCore::RenderBlock::handleRunInChild):
3471         * rendering/RenderInline.cpp:
3472         (WebCore::RenderInline::renderName):
3473
3474 2009-01-26  Dimitri Glazkov  <dglazkov@chromium.org>
3475
3476         Reviewed by Darin Adler.
3477
3478         https://bugs.webkit.org/show_bug.cgi?id=23480
3479         Add missing method stubs to BackForwardListChromium.
3480
3481         * history/BackForwardListChromium.cpp:
3482         (WebCore::BackForwardList::backItem):
3483         (WebCore::BackForwardList::forwardItem):
3484
3485 2009-01-25  Darin Adler  <darin@apple.com>
3486
3487         Try to fix Tiger buildbot.
3488
3489         * WebCore.xcodeproj/project.pbxproj: Turn off cast-qual for WebDashboardRegion.m.
3490         * page/mac/WebDashboardRegion.m:
3491         (typeName): Added.
3492         (-[WebDashboardRegion description]): Use typeName.
3493         (-[WebDashboardRegion isEqual:]): Added comment.
3494
3495 2009-01-25  Alexey Proskuryakov  <ap@webkit.org>
3496
3497         Reviewed by Darin Adler.
3498
3499         https://bugs.webkit.org/show_bug.cgi?id=23535
3500         Strengthen debug checks in KURL
3501
3502         Covered (and prompted) by existing tests.
3503
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).
3509
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.
3515
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.
3518
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.
3523
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.
3527
3528         * loader/DocLoader.cpp: (WebCore::DocLoader::requestResource): Do not try to request using
3529         invalid URLs.
3530
3531         * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): Updated to call
3532         SecurityOrigin::createFromString() (no change in behavior).
3533
3534 2009-01-25  Mark Rowe  <mrowe@apple.com>
3535
3536         Rubber-stamped by Dan Bernstein.
3537
3538         Improve the consistency of settings in our .xcconfig files.
3539
3540         * Configurations/Base.xcconfig: Enable GCC_OBJC_CALL_CXX_CDTORS to match other projects,
3541         and handle all cases in GCC_GENERATE_DEBUGGING_SYMBOLS.
3542
3543 2009-01-25  David Hyatt  <hyatt@apple.com>
3544
3545         Fix for https://bugs.webkit.org/show_bug.cgi?id=23524, lots of missing content in table sections.
3546
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
3549         doing a layout.
3550
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.
3554
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.
3557
3558         Reviewed by Oliver Hunt
3559
3560         Added fast/repaint/dynamic-table-vertical-alignment-change.html
3561
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):
3573
3574 2009-01-25  Darin Adler  <darin@apple.com>
3575
3576         Reviewed by Mark Rowe.
3577
3578         Bug 23352: Turn on more compiler warnings in the Mac build
3579         https://bugs.webkit.org/show_bug.cgi?id=23352
3580
3581         Turn on the following warnings:
3582
3583             -Wcast-qual
3584             -Wextra-tokens
3585             -Wformat=2
3586             -Winit-self
3587             -Wmissing-noreturn
3588             -Wpacked
3589             -Wrendundant-decls
3590
3591         * Configurations/Base.xcconfig: Added the new warnings. Switched to -Wextra instead of
3592       &