a78d832a59064666e1af41e1a2b12a6400363a19
[WebKit-https.git] / WebCore / ChangeLog
1 2009-02-04  Eric Seidel  <eric@webkit.org>
2
3         Reviewed by George Staikos.
4
5         Reverse the meaning of the if check so that Android
6         (dpad devices) do not scroll on focus and normal platforms do
7         http://trac.webkit.org/changeset/40647
8         
9         This was caught by George Staikos, and I wrote the patch.
10
11         * dom/Element.cpp:
12         (WebCore::Element::updateFocusAppearance):
13
14 2009-02-04  David Hyatt  <hyatt@apple.com>
15
16         Eliminate RenderContainer.
17
18         Reviewed by Sam and Anders
19
20         * GNUmakefile.am:
21         * WebCore.pro:
22         * WebCore.vcproj/WebCore.vcproj:
23         * WebCore.xcodeproj/project.pbxproj:
24         * WebCoreSources.bkl:
25         * rendering/RenderBlock.cpp:
26         (WebCore::RenderBlock::RenderBlock):
27         (WebCore::RenderBlock::destroy):
28         (WebCore::RenderBlock::styleWillChange):
29         (WebCore::RenderBlock::styleDidChange):
30         (WebCore::RenderBlock::addChild):
31         (WebCore::RenderBlock::dirtyLineBoxes):
32         (WebCore::RenderBlock::createInlineBox):
33         (WebCore::RenderBlock::removeChild):
34         (WebCore::RenderBlock::setSelectionState):
35         (WebCore::RenderBlock::avoidsFloats):
36         (WebCore::RenderBlock::positionForCoordinates):
37         (WebCore::RenderBlock::calcInlinePrefWidths):
38         (WebCore::RenderBlock::baselinePosition):
39         (WebCore::RenderBlock::getBaselineOfFirstLineBox):
40         (WebCore::RenderBlock::getBaselineOfLastLineBox):
41         (WebCore::RenderBlock::rectWithOutlineForRepaint):
42         (WebCore::RenderBlock::hoverAncestor):
43         (WebCore::RenderBlock::updateDragState):
44         (WebCore::RenderBlock::localCaretRect):
45         * rendering/RenderBlock.h:
46         (WebCore::RenderBlock::virtualChildren):
47         (WebCore::RenderBlock::children):
48         * rendering/RenderContainer.cpp: Removed.
49         * rendering/RenderContainer.h: Removed.
50         * rendering/RenderFrameSet.cpp:
51         (WebCore::RenderFrameSet::RenderFrameSet):
52         (WebCore::RenderFrameSet::nodeAtPoint):
53         (WebCore::RenderFrameSet::layout):
54         * rendering/RenderFrameSet.h:
55         (WebCore::RenderFrameSet::virtualChildren):
56         (WebCore::RenderFrameSet::children):
57         * rendering/RenderInline.cpp:
58         (WebCore::RenderInline::RenderInline):
59         (WebCore::RenderInline::destroy):
60         (WebCore::RenderInline::styleDidChange):
61         (WebCore::nextContinuation):
62         (WebCore::RenderInline::continuationBefore):
63         (WebCore::RenderInline::addChildIgnoringContinuation):
64         (WebCore::RenderInline::splitInlines):
65         (WebCore::RenderInline::splitFlow):
66         (WebCore::RenderInline::addChildToContinuation):
67         (WebCore::RenderInline::offsetLeft):
68         (WebCore::RenderInline::offsetTop):
69         (WebCore::RenderInline::positionForCoordinates):
70         (WebCore::RenderInline::clippedOverflowRectForRepaint):
71         (WebCore::RenderInline::rectWithOutlineForRepaint):
72         (WebCore::RenderInline::updateDragState):
73         (WebCore::RenderInline::childBecameNonInline):
74         * rendering/RenderInline.h:
75         (WebCore::RenderInline::virtualChildren):
76         (WebCore::RenderInline::children):
77         (WebCore::RenderInline::continuation):
78         (WebCore::RenderInline::setContinuation):
79         * rendering/RenderLineBoxList.h:
80         * rendering/RenderObject.h:
81         * rendering/RenderObjectChildList.h:
82         * rendering/RenderSVGInlineText.cpp:
83         (WebCore::RenderSVGInlineText::computeRepaintRectForRange):
84         * rendering/RenderSVGRoot.cpp:
85         (WebCore::RenderSVGRoot::RenderSVGRoot):
86         (WebCore::RenderSVGRoot::applyContentTransforms):
87         (WebCore::RenderSVGRoot::paint):
88         (WebCore::RenderSVGRoot::absoluteTransform):
89         (WebCore::RenderSVGRoot::nodeAtPoint):
90         (WebCore::RenderSVGRoot::position):
91         * rendering/RenderSVGRoot.h:
92         (WebCore::RenderSVGRoot::virtualChildren):
93         (WebCore::RenderSVGRoot::children):
94         * rendering/RenderSVGText.cpp:
95         (WebCore::RenderSVGText::absoluteRects):
96         (WebCore::RenderSVGText::absoluteQuads):
97         * rendering/RenderTable.cpp:
98         (WebCore::RenderTable::addChild):
99         (WebCore::RenderTable::removeChild):
100         * rendering/RenderTableCol.cpp:
101         (WebCore::RenderTableCol::RenderTableCol):
102         * rendering/RenderTableCol.h:
103         (WebCore::RenderTableCol::virtualChildren):
104         (WebCore::RenderTableCol::children):
105         * rendering/RenderTableRow.cpp:
106         (WebCore::RenderTableRow::RenderTableRow):
107         (WebCore::RenderTableRow::destroy):
108         (WebCore::RenderTableRow::styleWillChange):
109         (WebCore::RenderTableRow::addChild):
110         * rendering/RenderTableRow.h:
111         (WebCore::RenderTableRow::virtualChildren):
112         (WebCore::RenderTableRow::children):
113         * rendering/RenderTableSection.cpp:
114         (WebCore::RenderTableSection::RenderTableSection):
115         (WebCore::RenderTableSection::destroy):
116         (WebCore::RenderTableSection::addChild):
117         (WebCore::RenderTableSection::removeChild):
118         (WebCore::RenderTableSection::lowestPosition):
119         (WebCore::RenderTableSection::rightmostPosition):
120         (WebCore::RenderTableSection::leftmostPosition):
121         * rendering/RenderTableSection.h:
122         (WebCore::RenderTableSection::virtualChildren):
123         (WebCore::RenderTableSection::children):
124
125 2009-02-04  Mads Adger  <mad@chromium.org>
126
127         Reviewed by Antti Koivisto.
128
129         Bug 23180 Reading freed memory at DocumentLoader::checkForPendingPreloads
130         https://bugs.webkit.org/show_bug.cgi?id=23180
131
132         Added a protector for the document potentially holding on the last reference to the loader we are interating with.
133
134         * loader/loader.cpp:
135         (WebCore::Loader::Host::didFinishLoading):
136         (WebCore::Loader::Host::didFail):
137
138 2009-02-04  Cary Clark  <caryclark@google.com>
139
140         Reviewed by Darin Adler.
141
142         https://bugs.webkit.org/show_bug.cgi?id=23163
143         Don't scroll to show current focus on devices that use
144         directional pads for navigation.
145
146         * dom/Element.cpp:
147         (WebCore::Element::updateFocusAppearance):
148
149 2009-02-04  Cary Clark  <caryclark@google.com>
150
151         Reviewed by Darin Adler.
152
153         Change RenderBlock::columnGap() access permissions from protected to
154         public. ANDROID creates an array of focus rectangles for navigation 
155         with a trackball or directional pad, and needs access to the column gap 
156         to implement this logic.
157
158         Android has no testing harness @ webkit.org, thus no tests.
159
160         * rendering/RenderBlock.h:
161
162 2009-02-04  Cary Clark  <caryclark@google.com>
163
164         Reviewed by Darin Adler and Eric Seidel.
165
166         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22917
167
168         Add ENABLE_ON_FIRST_TEXTAREA_FOCUS_SELECT_ALL to permit the ANDROID
169         platform to select all when focusing on a textarea. This matches
170         the user interface guidelines other applications on the platform.
171
172         * html/HTMLTextAreaElement.cpp:
173         (WebCore::HTMLTextAreaElement::updateFocusAppearance):
174
175 2009-02-04  Beth Dakin  <bdakin@apple.com>
176
177         Reviewed by Dave Hyatt.
178
179         Fix for <rdar://problem/6386112> Some inline-elements are not 
180         becoming proper dashboard-regions
181
182         RenderInline needs its own implementation of addDashboardRegions 
183         because otherwise all of the coordinate calculations are 
184         inaccurate. 
185
186         * rendering/RenderInline.cpp:
187         (WebCore::RenderInline::addDashboardRegions):
188         * rendering/RenderInline.h:
189         * rendering/RenderObject.h:
190
191 2009-02-04  David Hyatt  <hyatt@apple.com>
192
193         Move addChild/removeChild from RenderContainer to RenderObject.
194
195         Reviewed by Sam Weinig
196
197         * rendering/RenderContainer.cpp:
198         * rendering/RenderContainer.h:
199         * rendering/RenderObject.cpp:
200         (WebCore::updateListMarkerNumbers):
201         (WebCore::RenderObject::addChild):
202         (WebCore::RenderObject::removeChild):
203         * rendering/RenderObject.h:
204         (WebCore::RenderObject::addChildIgnoringContinuation):
205         * rendering/RenderSVGContainer.cpp:
206         * rendering/RenderSVGContainer.h:
207
208 2009-02-04  Brady Eidson  <beidson@apple.com>
209
210         Reviewed by Sam Weinig
211
212         <rdar://problem/3541409> - Further HistoryItem / BF cache cleanup
213
214         * history/CachedFrame.cpp:
215         (WebCore::CachedFrame::CachedFrame):
216         (WebCore::CachedFrame::restore):
217         * history/CachedFrame.h:
218
219         * history/CachedPage.cpp:
220         (WebCore::CachedPage::restore):
221         * history/CachedPage.h:
222         (WebCore::CachedPage::mainFrameView):
223
224         * history/HistoryItem.cpp:
225         (WebCore::HistoryItem::HistoryItem):
226         (WebCore::HistoryItem::~HistoryItem):
227         * history/HistoryItem.h:
228         (WebCore::HistoryItem::isInPageCache):
229
230         * loader/FrameLoader.cpp:
231         (WebCore::FrameLoader::open):
232
233 2009-02-04  Peter Kasting  <pkasting@google.com>
234
235         Reviewed by David Hyatt.
236
237         https://bugs.webkit.org/show_bug.cgi?id=23743
238         Fix memory corruption with open-source GIF decoders.
239
240         * platform/image-decoders/ImageDecoder.h:
241         (WebCore::RGBA32Buffer::clear):
242         * platform/image-decoders/gif/GIFImageDecoder.cpp:
243         (WebCore::GIFImageDecoder::clearFrameBufferCache):
244         * platform/image-decoders/skia/GIFImageDecoder.cpp:
245         (WebCore::GIFImageDecoder::clearFrameBufferCache):
246         (WebCore::GIFImageDecoder::initFrameBuffer):
247         * platform/image-decoders/skia/ImageDecoder.h:
248         (WebCore::RGBA32Buffer::clear):
249
250 2009-02-04  Simon Fraser  <simon.fraser@apple.com>
251
252         Reviewed by Dave Hyatt
253
254         https://bugs.webkit.org/show_bug.cgi?id=23360
255         
256         When using accelerated compositing, make repaints use the correct
257         repaint container. Hook up the RenderLayerCompositor in RenderView,
258         and add to RenderView a method that repaints both the view
259         contents, and any intersecting composited layers.
260         
261         Make enclosingCompositingLayer() a method on RenderObject, and update
262         the compositor to use that. Add a helper method on the compositor to
263         get the non-self compositing ancestor: ancestorCompositingLayer().
264         
265         Call repaintRectangleInViewAndCompositedLayers() in places that don't do
266         container-relative repainting: selection redraw on focus change, caret,
267         and widget updates.
268         
269         Fix a bug in RenderLayerCompositor where the m_compositingLayersNeedUpdate flag
270         would get cleared for partial updates, thus preventing subsequent full updates.
271         
272         Fix a bug in RenderLayer::ensureBacking() that made new backing every time.
273
274         * WebCore.xcodeproj/project.pbxproj:
275         * editing/SelectionController.cpp:
276         (WebCore::SelectionController::recomputeCaretRect):
277         (WebCore::SelectionController::invalidateCaretRect):
278         (WebCore::SelectionController::focusedOrActiveStateChanged):
279         * rendering/RenderInline.cpp:
280         (WebCore::RenderInline::clippedOverflowRectForRepaint):
281         * rendering/RenderLayer.cpp:
282         (WebCore::RenderLayer::RenderLayer):
283         (WebCore::RenderLayer::compositor):
284         (WebCore::RenderLayer::updateLayerPositions):
285         (WebCore::RenderLayer::removeChild):
286         (WebCore::RenderLayer::ensureBacking):
287         * rendering/RenderLayer.h:
288         (WebCore::RenderLayer::backing):
289         * rendering/RenderLayerBacking.cpp:
290         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
291         (WebCore::RenderLayerBacking::paintIntoLayer):
292         (WebCore::RenderLayerBacking::notifyTransitionStarted):
293         (WebCore::RenderLayerBacking::notifyAnimationStarted):
294         * rendering/RenderLayerCompositor.cpp:
295         (WebCore::RenderLayerCompositor::updateCompositingLayers):
296         (WebCore::RenderLayerCompositor::updateLayerCompositingState):
297         (WebCore::RenderLayerCompositor::layerWillBeRemoved):
298         (WebCore::RenderLayerCompositor::ancestorCompositingLayer):
299         (WebCore::RenderLayerCompositor::clippedByAncestor):
300         * rendering/RenderLayerCompositor.h:
301         * rendering/RenderObject.cpp:
302         (WebCore::RenderObject::enclosingCompositingLayer):
303         (WebCore::RenderObject::containingBlockWidth):
304         (WebCore::RenderObject::containingBlockHeight):
305         (WebCore::RenderObject::containerForRepaint):
306         (WebCore::RenderObject::repaintUsingContainer):
307         * rendering/RenderObject.h:
308         * rendering/RenderView.cpp:
309         (WebCore::RenderView::shouldRepaint):
310         (WebCore::RenderView::repaintViewRectangle):
311         (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
312         (WebCore::RenderView::setMaximalOutlineSize):
313         (WebCore::RenderView::usesCompositing):
314         (WebCore::RenderView::compositor):
315         (WebCore::RenderView::didMoveOnscreen):
316         (WebCore::RenderView::willMoveOffscreen):
317         * rendering/RenderView.h:
318         * rendering/RenderWidget.cpp:
319         (WebCore::RenderWidget::updateWidgetPosition):
320
321 2009-02-04  Sam Weinig  <sam@webkit.org>
322
323         Reviewed by David Hyatt.
324
325         Add toRenderImage methods for casting RenderObjects to RenderImages.  The methods will assert if the object
326         is not a RenderImage.  Also add a toRenderImage method that takes a RenderImage but returns void and that
327         is unimplemented.  This method will catch anyone trying to do a cast when the object is already a RenderImage.
328
329         * html/HTMLAnchorElement.cpp:
330         (WebCore::HTMLAnchorElement::defaultEventHandler):
331         * html/HTMLEmbedElement.cpp:
332         (WebCore::HTMLEmbedElement::attach):
333         * html/HTMLImageElement.cpp:
334         (WebCore::HTMLImageElement::parseMappedAttribute):
335         (WebCore::HTMLImageElement::attach):
336         * html/HTMLInputElement.cpp:
337         (WebCore::HTMLInputElement::parseMappedAttribute):
338         (WebCore::HTMLInputElement::attach):
339         * html/HTMLObjectElement.cpp:
340         (WebCore::HTMLObjectElement::attach):
341         * html/HTMLVideoElement.cpp:
342         (WebCore::HTMLVideoElement::attach):
343         * loader/ImageLoader.cpp:
344         (WebCore::ImageLoader::setImage):
345         (WebCore::ImageLoader::updateFromElement):
346         (WebCore::ImageLoader::notifyFinished):
347         * page/AccessibilityRenderObject.cpp:
348         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
349         (WebCore::AccessibilityRenderObject::addChildren):
350         * page/DragController.cpp:
351         (WebCore::getCachedImage):
352         (WebCore::getImage):
353         * platform/mac/PasteboardMac.mm:
354         (WebCore::Pasteboard::writeImage):
355         * rendering/RenderImage.h:
356         (WebCore::toRenderImage):
357         * wml/WMLImageElement.cpp:
358         (WebCore::WMLImageElement::parseMappedAttribute):
359         (WebCore::WMLImageElement::attach):
360
361 2009-02-04  Jungshik Shin  <jshin@chromium.org>
362
363         Reviewed by Eric Seidel and Dave Hyatt.
364
365         https://bugs.webkit.org/show_bug.cgi?id=20531
366
367         Make alternateFamilyName customized for Windows and Chromium.
368
369         * platform/graphics/FontCache.cpp:
370         (WebCore::alternateFamilyName):
371
372 2009-02-04  Jungshik Shin <jshin@chromium.org>
373
374         Reviewed by Eric Seidel.
375
376         This comes from Chromium patch (http://codereview.chromium.org/17624).
377
378         Add m_disableFontFallback to UniscriberHelper class and set it
379         to true when filling up glyph pages for non-BMP code points.
380         When it's set true, UniscriberHelper does not do its own font
381         fallback. Neither does it do glyph placement. Font fallback
382         will be taken care of in the simple script font path and glyph
383         placement is not necessary for simple scripts.
384
385         Layout test is missing at the moment due to the lack of freely
386         distributable font covering a non-BMP code page. A test page
387         is available at http://i18nl10n.com/webkit/nonbmp2.html
388
389         See also https://bugs.webkit.org/show_bug.cgi?id=23602
390
391         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
392         (WebCore::fillNonBMPGlyphs):
393         * platform/graphics/chromium/UniscribeHelper.cpp:
394         (WebCore::UniscribeHelper::UniscribeHelper):
395         (WebCore::UniscribeHelper::shape):
396         (WebCore::UniscribeHelper::fillShapes):
397         * platform/graphics/chromium/UniscribeHelper.h:
398         (WebCore::UniscribeHelper::setDisableFontFallback):
399
400 2009-02-04  Sam Weinig  <sam@webkit.org>
401
402         Reviewed by David Hyatt.
403
404         Remove some unnecessary #includes of RenderStyle.h
405
406         * css/CSSPrimitiveValueMappings.h:
407         * css/SVGCSSComputedStyleDeclaration.cpp:
408         * dom/Node.h:
409         * rendering/PointerEventsHitRules.h:
410         * rendering/RenderImageGeneratedContent.h:
411         * rendering/RenderMarquee.h:
412         * rendering/RenderScrollbar.h:
413
414 2009-02-04  Dimitri Glazkov  <dglazkov@chromium.org>
415
416         Reviewed by Sam Weinig.
417
418         https://bugs.webkit.org/show_bug.cgi?id=23657
419         Clean up WebCore/storage IDLs.
420
421         * storage/SQLError.idl: Changed to match spec.
422         * storage/SQLResultSet.idl: Changed to match spec.
423         * storage/SQLStatementCallback.idl: Removed.
424         * storage/SQLStatementErrorCallback.idl: Removed.
425         * storage/SQLTransactionCallback.idl: Removed.
426         * storage/SQLTransactionErrorCallback.idl: Removed.
427
428 2009-02-04  David Hyatt  <hyatt@apple.com>
429
430         Fix for https://bugs.webkit.org/show_bug.cgi?id=23734, blank content on blogs.msdn.com.
431         
432         Add debugging code that will catch the incorrect dirtying of a table section immediately if it happens
433         during calcRowHeight or layoutRows.  This should make it possible to discover future bugs where table sections don't
434         paint.
435
436         The bug in blogs.msdn.com, which was caused by a bad setNeedsLayout in RenderLayer::updateScrollInfoAtferLayout.  Make
437         sure to do only a local setNeedsLayout inside that function.
438
439         Reviewed by Beth Dakin
440
441         * rendering/RenderLayer.cpp:
442         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
443         * rendering/RenderObject.cpp:
444         (WebCore::RenderObject::RenderObject):
445         * rendering/RenderObject.h:
446         (WebCore::RenderObject::isSetNeedsLayoutForbidden):
447         (WebCore::RenderObject::setNeedsLayoutIsForbidden):
448         (WebCore::RenderObject::setNeedsLayout):
449         (WebCore::RenderObject::setChildNeedsLayout):
450         (WebCore::RenderObject::markContainingBlocksForLayout):
451         * rendering/RenderTable.cpp:
452         (WebCore::RenderTable::layout):
453         * rendering/RenderTableSection.cpp:
454         (WebCore::RenderTableSection::calcRowHeight):
455         (WebCore::RenderTableSection::layoutRows):
456
457 2009-02-04  Sam Weinig  <sam@webkit.org>
458
459         Reviewed by David Hyatt.
460
461         Rename RenderStyle::Diff to StyleDifference and move it to
462         RenderStyleConstants.h.
463
464         * rendering/RenderBR.cpp:
465         (WebCore::RenderBR::styleDidChange):
466         * rendering/RenderBR.h:
467         * rendering/RenderBlock.cpp:
468         (WebCore::RenderBlock::styleWillChange):
469         (WebCore::RenderBlock::styleDidChange):
470         * rendering/RenderBlock.h:
471         * rendering/RenderBox.cpp:
472         (WebCore::RenderBox::styleWillChange):
473         (WebCore::RenderBox::styleDidChange):
474         * rendering/RenderBox.h:
475         * rendering/RenderButton.cpp:
476         (WebCore::RenderButton::styleWillChange):
477         (WebCore::RenderButton::styleDidChange):
478         * rendering/RenderButton.h:
479         * rendering/RenderFieldset.cpp:
480         (WebCore::RenderFieldset::styleDidChange):
481         * rendering/RenderFieldset.h:
482         * rendering/RenderFileUploadControl.cpp:
483         (WebCore::RenderFileUploadControl::styleDidChange):
484         * rendering/RenderFileUploadControl.h:
485         * rendering/RenderInline.cpp:
486         (WebCore::RenderInline::styleDidChange):
487         * rendering/RenderInline.h:
488         * rendering/RenderLayer.cpp:
489         (WebCore::RenderLayer::styleChanged):
490         * rendering/RenderLayer.h:
491         * rendering/RenderLayerCompositor.cpp:
492         (WebCore::RenderLayerCompositor::updateLayerCompositingState):
493         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
494         * rendering/RenderLayerCompositor.h:
495         * rendering/RenderListBox.cpp:
496         (WebCore::RenderListBox::styleDidChange):
497         * rendering/RenderListBox.h:
498         * rendering/RenderListItem.cpp:
499         (WebCore::RenderListItem::styleDidChange):
500         * rendering/RenderListItem.h:
501         * rendering/RenderListMarker.cpp:
502         (WebCore::RenderListMarker::styleWillChange):
503         (WebCore::RenderListMarker::styleDidChange):
504         * rendering/RenderListMarker.h:
505         * rendering/RenderMenuList.cpp:
506         (WebCore::RenderMenuList::styleDidChange):
507         * rendering/RenderMenuList.h:
508         * rendering/RenderObject.cpp:
509         (WebCore::RenderObject::setStyle):
510         (WebCore::RenderObject::styleWillChange):
511         (WebCore::RenderObject::styleDidChange):
512         * rendering/RenderObject.h:
513         * rendering/RenderReplaced.cpp:
514         (WebCore::RenderReplaced::styleDidChange):
515         * rendering/RenderReplaced.h:
516         * rendering/RenderSVGGradientStop.cpp:
517         (WebCore::RenderSVGGradientStop::styleDidChange):
518         * rendering/RenderSVGGradientStop.h:
519         * rendering/RenderSVGInlineText.cpp:
520         (WebCore::RenderSVGInlineText::styleDidChange):
521         * rendering/RenderSVGInlineText.h:
522         * rendering/RenderScrollbarPart.cpp:
523         (WebCore::RenderScrollbarPart::styleWillChange):
524         (WebCore::RenderScrollbarPart::styleDidChange):
525         * rendering/RenderScrollbarPart.h:
526         * rendering/RenderSlider.cpp:
527         (WebCore::RenderSlider::styleDidChange):
528         * rendering/RenderSlider.h:
529         * rendering/RenderTable.cpp:
530         (WebCore::RenderTable::styleDidChange):
531         * rendering/RenderTable.h:
532         * rendering/RenderTableCell.cpp:
533         (WebCore::RenderTableCell::styleWillChange):
534         (WebCore::RenderTableCell::styleDidChange):
535         * rendering/RenderTableCell.h:
536         * rendering/RenderTableRow.cpp:
537         (WebCore::RenderTableRow::styleWillChange):
538         * rendering/RenderTableRow.h:
539         * rendering/RenderText.cpp:
540         (WebCore::RenderText::styleDidChange):
541         * rendering/RenderText.h:
542         (WebCore::RenderText::styleWillChange):
543         * rendering/RenderTextControl.cpp:
544         (WebCore::RenderTextControl::styleDidChange):
545         * rendering/RenderTextControl.h:
546         * rendering/RenderTextControlSingleLine.cpp:
547         (WebCore::RenderTextControlSingleLine::styleDidChange):
548         * rendering/RenderTextControlSingleLine.h:
549         * rendering/RenderWidget.cpp:
550         (WebCore::RenderWidget::styleDidChange):
551         * rendering/RenderWidget.h:
552         * rendering/style/RenderStyle.cpp:
553         (WebCore::RenderStyle::diff):
554         (WebCore::RenderStyle::setClip):
555         * rendering/style/RenderStyle.h:
556         * rendering/style/RenderStyleConstants.h:
557         (WebCore::):
558
559 2009-02-03  Sam Weinig  <sam@webkit.org>
560
561         Reviewed by David Hyatt.
562
563         Move PseudoId enum out of RenderStyle and into RenderStyleConstants.h
564
565         * css/CSSStyleSelector.cpp:
566         (WebCore::CSSStyleSelector::matchRulesForList):
567         (WebCore::CSSStyleSelector::initForStyleResolve):
568         (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
569         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
570         (WebCore::CSSStyleSelector::styleForElement):
571         (WebCore::CSSStyleSelector::pseudoStyleForElement):
572         (WebCore::CSSStyleSelector::checkSelector):
573         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
574         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
575         (WebCore::CSSStyleSelector::applyProperty):
576         * css/CSSStyleSelector.h:
577         * dom/Node.cpp:
578         (WebCore::Node::diff):
579         * page/FrameView.cpp:
580         (WebCore::FrameView::createScrollbar):
581         * rendering/InlineTextBox.cpp:
582         (WebCore::InlineTextBox::paint):
583         * rendering/MediaControlElements.cpp:
584         (WebCore::MediaTextDisplayElement::MediaTextDisplayElement):
585         (WebCore::MediaTimeDisplayElement::MediaTimeDisplayElement):
586         (WebCore::MediaControlInputElement::MediaControlInputElement):
587         (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
588         (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
589         (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
590         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
591         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
592         * rendering/MediaControlElements.h:
593         * rendering/RenderBlock.cpp:
594         (WebCore::RenderBlock::styleDidChange):
595         (WebCore::RenderBlock::updateBeforeAfterContent):
596         (WebCore::RenderBlock::firstLineBlock):
597         (WebCore::RenderBlock::updateFirstLetter):
598         * rendering/RenderBlock.h:
599         * rendering/RenderBox.cpp:
600         (WebCore::RenderBox::isAfterContent):
601         * rendering/RenderButton.cpp:
602         (WebCore::RenderButton::updateBeforeAfterContent):
603         * rendering/RenderButton.h:
604         * rendering/RenderFileUploadControl.cpp:
605         (WebCore::RenderFileUploadControl::createButtonStyle):
606         * rendering/RenderInline.cpp:
607         (WebCore::RenderInline::styleDidChange):
608         (WebCore::isAfterContent):
609         (WebCore::RenderInline::addChildIgnoringContinuation):
610         (WebCore::RenderInline::splitInlines):
611         * rendering/RenderLayer.cpp:
612         (WebCore::RenderLayer::createScrollbar):
613         (WebCore::RenderLayer::updateScrollCornerStyle):
614         (WebCore::RenderLayer::updateResizerStyle):
615         * rendering/RenderListBox.cpp:
616         (WebCore::RenderListBox::createScrollbar):
617         * rendering/RenderMedia.cpp:
618         (WebCore::RenderMedia::createPanel):
619         (WebCore::RenderMedia::createTimelineContainer):
620         * rendering/RenderMenuList.cpp:
621         (WebCore::RenderMenuList::createScrollbar):
622         * rendering/RenderObject.cpp:
623         (WebCore::RenderObject::selectionBackgroundColor):
624         (WebCore::RenderObject::selectionForegroundColor):
625         (WebCore::RenderObject::firstLineStyleSlowCase):
626         (WebCore::RenderObject::getCachedPseudoStyle):
627         (WebCore::RenderObject::getUncachedPseudoStyle):
628         * rendering/RenderObject.h:
629         (WebCore::RenderObject::isAnonymousBlock):
630         * rendering/RenderObjectChildList.cpp:
631         (WebCore::RenderObjectChildList::destroyLeftoverChildren):
632         (WebCore::beforeAfterContainer):
633         (WebCore::RenderObjectChildList::invalidateCounters):
634         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
635         * rendering/RenderObjectChildList.h:
636         * rendering/RenderScrollbar.cpp:
637         (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
638         (WebCore::pseudoForScrollbarPart):
639         * rendering/RenderScrollbar.h:
640         * rendering/RenderSlider.cpp:
641         (WebCore::RenderSlider::createThumbStyle):
642         * rendering/RenderTextControlSingleLine.cpp:
643         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
644         (WebCore::RenderTextControlSingleLine::createResultsButtonStyle):
645         (WebCore::RenderTextControlSingleLine::createCancelButtonStyle):
646         (WebCore::RenderTextControlSingleLine::createScrollbar):
647         * rendering/style/RenderStyle.cpp:
648         (WebCore::pseudoBit):
649         * rendering/style/RenderStyle.h:
650         (WebCore::):
651         * rendering/style/RenderStyleConstants.h:
652         (WebCore::):
653
654 2009-02-04  David Kilzer  <ddkilzer@apple.com>
655
656         CrashTracer: [REGRESSION] 53 crashes in Safari at com.apple.WebCore: WebCore::LegacyWebArchive::create + 2706
657
658         <rdar://problem/6509514>
659
660         Reviewed by Mark Rowe.
661
662         * loader/archive/cf/LegacyWebArchive.cpp:
663         (WebCore::LegacyWebArchive::create): Fix it correctly this time.
664         Check for the value returned from WebCore::IconDatabase::iconForPageURL(),
665         not WebCore::Image::data().
666
667 2009-02-04  David Hyatt  <hyatt@apple.com>
668
669         Rename removeFromObjectLists and move it into RenderBox, since it only applies to boxes.
670
671         Reviewed by Adam Roben
672
673         * rendering/RenderBox.cpp:
674         (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
675         (WebCore::RenderBox::styleWillChange):
676         * rendering/RenderBox.h:
677         * rendering/RenderContainer.cpp:
678         (WebCore::RenderContainer::removeChild):
679         * rendering/RenderObject.cpp:
680         (WebCore::RenderObject::styleWillChange):
681         * rendering/RenderObject.h:
682         * rendering/RenderSVGContainer.cpp:
683         (WebCore::RenderSVGContainer::removeChild):
684
685 2009-02-04  Jeremy Moskovich  <jeremy@chromium.org>
686
687         Reviewed by Dave Hyatt.
688
689         https://bugs.webkit.org/show_bug.cgi?id=23471
690         Fix text-overflow:ellipsis; for RTL case.
691
692         Test: fast/css/text-overflow-ellipses.html
693
694         * rendering/InlineTextBox.cpp:
695         (WebCore::InlineTextBox::placeEllipsisBox): Add support for rtl placement.
696         (WebCore::InlineTextBox::paintDecoration): Correctly draw decorations
697         for rtl truncation.
698
699 2009-02-04  Dimitri Glazkov  <dglazkov@chromium.org>
700
701         Reviewed by Darin Adler.
702
703         https://bugs.webkit.org/show_bug.cgi?id=23700
704         Upstream local changes to due to unforking of SimpleFontData
705         (corresponds to Chromium check-in http://src.chromium.org/viewvc/chrome?view=rev&revision=8646).
706
707         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
708         (WebCore::fillBMPGlyphs): Removed extra checks for ZWS chars.
709
710 2009-02-04  David Hyatt  <hyatt@apple.com>
711
712         <rdar://problem/6554115> REGRESSION (r40475): World leak (JS global object) after viewing a photo on Facebook
713
714         Fix a ginormous leak. (GINORMOUS!) Make sure to disconnect the event listeners attached to the Document,
715         because, like, they point to a lot of stuff... like ... everything...
716
717         Reviewed by Darin Adler
718
719         * dom/Document.cpp:
720         (WebCore::Document::removeAllEventListenersFromAllNodes):
721
722 2009-02-04  Darin Fisher  <darin@chromium.org>
723
724         Reviewed by Darin Adler.
725
726         https://bugs.webkit.org/show_bug.cgi?id=23731
727         Add JSCCustom and V8Custom as extended IDL attributes
728
729         This helps avoid having to add #ifdefs to the IDL files to support V8 bindings.
730
731         * bindings/scripts/CodeGeneratorJS.pm:
732         * dom/Document.idl:
733         * dom/Node.idl:
734         * svg/SVGPathSegList.idl:
735         * svg/SVGPointList.idl:
736         * svg/SVGTransformList.idl:
737
738 2009-02-04  Dan Bernstein  <mitz@apple.com>
739
740         - build fix
741
742         * rendering/RenderImageGeneratedContent.h:
743
744 2009-02-04  miggilin  <mr.diggilin@gmail.com>
745
746         Reviewed by Kevin Ollivier.
747         
748         Switch to using a ref-counted wxFont pointer for FontPlatformData to fix a crash
749         with assigning to uninitialized HashTable buckets.
750         
751         https://bugs.webkit.org/show_bug.cgi?id=23669
752
753         * platform/graphics/SimpleFontData.h:
754         (WebCore::SimpleFontData::getWxFont):
755         * platform/graphics/wx/FontPlatformData.h:
756         (WebCore::):
757         (WebCore::FontPlatformData::FontPlatformData):
758         (WebCore::FontPlatformData::font):
759         (WebCore::FontPlatformData::operator==):
760         * platform/graphics/wx/FontPlatformDataWx.cpp:
761         (WebCore::FontPlatformData::FontPlatformData):
762         (WebCore::FontPlatformData::computeHash):
763         (WebCore::FontPlatformData::~FontPlatformData):
764         * platform/graphics/wx/SimpleFontDataWx.cpp:
765         (WebCore::SimpleFontData::platformInit):
766         (WebCore::SimpleFontData::determinePitch):
767         (WebCore::SimpleFontData::platformWidthForGlyph):
768         * platform/wx/wxcode/gtk/non-kerned-drawing.cpp:
769         (WebCore::drawTextWithSpacing):
770
771 2009-02-04  David Hyatt  <hyatt@apple.com>
772
773         Fix a crash in generated content when a generated image with an already-cached background image gets
774         created.  It's not completely clear how to reproduce this crash.
775
776         Reviewed by Adam Roben
777
778         * rendering/RenderImageGeneratedContent.h:
779         (WebCore::RenderImageGeneratedContent::imagePtr):
780
781 2009-02-04  Simon Hausmann  <simon.hausmann@nokia.com>
782
783         Unreviewed Qt build fix.
784
785         Changed ASSERT(image) to ASSERT(!image.isNull()).
786
787         * platform/graphics/qt/ImageBufferQt.cpp:
788         (WebCore::ImageBuffer::getImageData):
789
790 2009-02-04  Trenton Schulz <trenton.schulz@nokia.com>
791
792         Reviewed by Simon Hausmann.
793
794         Fix implementation of PluginViewMac::invalidateRect to update only the
795         specified rect, not the entire browser window.
796
797         * plugins/mac/PluginViewMac.cpp:
798         (WebCore::PluginView::invalidateRect):
799
800 2009-02-04  Holger Hans Peter Freyther  <zecke@selfish.org>
801
802         Rubber stamped by Mark Rowe.
803
804         FramePrivate was removed in r40024 remove the forward
805         declaration as well.
806
807         * page/Frame.h:
808
809 2009-02-04  Holger Hans Peter Freyther  <zecke@selfish.org>
810
811         Reviewed by Sam Weinig.
812
813         https://bugs.webkit.org/show_bug.cgi?id=23426
814
815         Make isFrameSet virtual and by default return false. Reimplement
816         it in HTMLDocument.
817
818         * dom/Document.cpp:
819         * dom/Document.h:
820         (WebCore::Document::isFrameSet):
821         * html/HTMLDocument.cpp:
822         (WebCore::HTMLDocument::isFrameSet):
823         * html/HTMLDocument.h:
824
825 2009-02-03  Oliver Hunt  <oliver@apple.com>
826
827         Reviewed by John Sullivan.
828
829         <rdar://problem/6554092> Slow script dialog starts coming up over and over again
830
831         Work around <rdar://problem/6554067> by consuming any exceptions that are
832         thrown by _web_localizedDescription        
833
834         * platform/network/mac/ResourceErrorMac.mm:
835         (WebCore::ResourceError::platformLazyInit):
836
837 2009-02-03  David Hyatt  <hyatt@apple.com>
838
839         Move the isRenderInline checks for clientWidth/Height and scrollWidth/Height to the DOM element
840         versions of the functions.  Since internal render tree usage doesn't ever (incorrectly) call these
841         functions on RenderInlines, this manages to get virtual function calls out of contentWidth/Height and
842         availableWidth/Height.
843
844         Reviewed by Mark Rowe
845
846         * dom/Element.cpp:
847         (WebCore::Element::clientWidth):
848         (WebCore::Element::clientHeight):
849         (WebCore::Element::scrollWidth):
850         (WebCore::Element::scrollHeight):
851         * rendering/RenderBox.cpp:
852         (WebCore::RenderBox::clientWidth):
853         (WebCore::RenderBox::clientHeight):
854         (WebCore::RenderBox::scrollWidth):
855         (WebCore::RenderBox::scrollHeight):
856
857 2009-02-03  Brad Garcia  <bgarcia@google.com>
858
859         Reviewed by Eric Seidel.
860
861         https://bugs.webkit.org/show_bug.cgi?id=20443
862         Remove call to canResize when trying to determine if pointer
863         is within a frame.
864         Also removed the implementation of canResize as it is no longer used.
865
866         Test: fast/frames/frame-dead-region.html
867
868         * rendering/RenderFrameSet.cpp:
869         (WebCore::RenderFrameSet::nodeAtPoint):
870         * rendering/RenderFrameSet.h:
871
872 2009-02-03  David Hyatt  <hyatt@apple.com>
873
874         Reduce the number of calls to virtualChildren (indirectly made via RenderObject::firstChild()).
875         This is a small gain on the PLT.
876
877         Reviewed by Mark Rowe
878
879         * rendering/bidi.cpp:
880         (WebCore::inlineWidth):
881         (WebCore::bidiNext):
882
883 2009-02-03  Simon Fraser  <simon.fraser@apple.com>
884
885         Reviewed by Dave Hyatt
886
887         https://bugs.webkit.org/show_bug.cgi?id=23628
888
889         Fix selection repainting to do container-relative repaints. RenderView now
890         repaints the selection using the containerForRepaint() for each RenderSelectionInfo.
891         selectionRect() is now a wrapper for selectionRectForRepaint() with no container.
892         
893         Pull SelectionInfo out of RenderObject.h, and BlockSelectionInfo out
894         of RenderBlock.h and move them into RenderSelectionInfo.h, with some
895         sharing and refactoring.
896         
897         RenderBlock::selectionGapRectsForRepaint() is not yet container-aware.
898
899         * GNUmakefile.am:
900         * WebCore.vcproj/WebCore.vcproj:
901         * WebCore.xcodeproj/project.pbxproj:
902         * rendering/RenderBR.h:
903         (WebCore::RenderBR::selectionRectForRepaint):
904         * rendering/RenderBlock.cpp:
905         (WebCore::RenderBlock::selectionGapRectsForRepaint):
906         * rendering/RenderBlock.h:
907         (WebCore::RenderBlock::selectionRectForRepaint):
908         * rendering/RenderListMarker.cpp:
909         (WebCore::RenderListMarker::paint):
910         (WebCore::RenderListMarker::selectionRectForRepaint):
911         * rendering/RenderListMarker.h:
912         * rendering/RenderObject.h:
913         (WebCore::RenderObject::selectionRect):
914         (WebCore::RenderObject::selectionRectForRepaint):
915         * rendering/RenderReplaced.cpp:
916         (WebCore::RenderReplaced::selectionRectForRepaint):
917         * rendering/RenderReplaced.h:
918         * rendering/RenderSVGInlineText.cpp:
919         (WebCore::RenderSVGInlineText::absoluteRects):
920         (WebCore::RenderSVGInlineText::absoluteQuads):
921         (WebCore::RenderSVGInlineText::selectionRectForRepaint):
922         (WebCore::RenderSVGInlineText::computeRepaintRectForRange):
923         * rendering/RenderSVGInlineText.h:
924         * rendering/RenderSelectionInfo.h: Added.
925         (WebCore::RenderSelectionInfoBase::RenderSelectionInfoBase):
926         (WebCore::RenderSelectionInfoBase::object):
927         (WebCore::RenderSelectionInfoBase::repaintContainer):
928         (WebCore::RenderSelectionInfoBase::state):
929         (WebCore::RenderSelectionInfo::RenderSelectionInfo):
930         (WebCore::RenderSelectionInfo::repaint):
931         (WebCore::RenderSelectionInfo::rect):
932         (WebCore::RenderBlockSelectionInfo::RenderBlockSelectionInfo):
933         (WebCore::RenderBlockSelectionInfo::repaint):
934         (WebCore::RenderBlockSelectionInfo::block):
935         (WebCore::RenderBlockSelectionInfo::rects):
936         * rendering/RenderText.cpp:
937         (WebCore::RenderText::selectionRectForRepaint):
938         * rendering/RenderText.h:
939         * rendering/RenderView.cpp:
940         (WebCore::RenderView::selectionBounds):
941         (WebCore::RenderView::setSelection):
942         * rendering/RenderView.h:
943         * rendering/RenderWidget.cpp:
944         (WebCore::RenderWidget::paint):
945
946 2009-02-03  David Hyatt  <hyatt@apple.com>
947
948         Add inline capacity back to CSSMutableStyleDeclaration now that the bug in Vector has been fixed.
949
950         Reviewed by Darin Adler & Sam Weinig
951
952         * css/CSSMutableStyleDeclaration.cpp:
953         (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
954         * css/CSSMutableStyleDeclaration.h:
955
956 2009-02-03  Justin Garcia  <justin.garcia@apple.com>
957
958         Reviewed by Darin Adler.
959
960         https://bugs.webkit.org/show_bug.cgi?id=13490
961         Implement execCommand("styleWithCSS", ...)
962         
963         Determine whether or not to use HTML formatting tags for styling on the new
964         boolean on Editor instead of whether or not the document is quirks mode.
965
966         * editing/ApplyStyleCommand.cpp:
967         (WebCore::StyleChange::StyleChange):
968         (WebCore::StyleChange::init):
969         (WebCore::ApplyStyleCommand::applyBlockStyle):
970         (WebCore::ApplyStyleCommand::applyTextDecorationStyle):
971         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
972         * editing/Editor.cpp:
973         (WebCore::Editor::Editor):
974         (WebCore::Editor::clear):
975         * editing/Editor.h:
976         (WebCore::Editor::setShouldStyleWithCSS):
977         (WebCore::Editor::shouldStyleWithCSS):
978         * editing/EditorCommand.cpp:
979         (WebCore::executeStyleWithCSS):
980         (WebCore::stateStyleWithCSS):
981         (WebCore::CommandEntry::):
982
983 2009-02-03  Dirk Schulze  <krit@webkit.org>
984
985         Reviewed by Sam Weinig.
986
987         This is a follow up of r40546. Call toImage() once speeds up ImageBuffer::getImageData()
988
989         * platform/graphics/qt/ImageBufferQt.cpp:
990         (WebCore::ImageBuffer::getImageData):
991
992 2009-02-03  Anders Carlsson  <andersca@apple.com>
993
994         Reviewed by Kevin Decker.
995
996         - Fix for <rdar://problem/6549743>
997
998         On Tiger, create an autorelease pool before creating the NSGraphicsContext and drain it immediately
999         after the call to -[NSView displayRectIgnoringOpacity:inContext:].
1000         
1001         * platform/mac/WidgetMac.mm:
1002         (WebCore::Widget::paint):
1003
1004 2009-02-03  David Hyatt  <hyatt@apple.com>
1005
1006         Back this change out since it is causing layout tests to crash.  There is something subtle going on
1007         here.
1008
1009         Reviewed by Darin Adler
1010
1011         * css/CSSMutableStyleDeclaration.cpp:
1012         (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
1013         * css/CSSMutableStyleDeclaration.h:
1014
1015 2009-02-03  David Hyatt  <hyatt@apple.com>
1016
1017         Give the properties vector of mutable style declarations an initial inline capacity to reduce malloc churn.
1018
1019         Reviewed by Sam Weinig
1020
1021         * css/CSSMutableStyleDeclaration.cpp:
1022         (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
1023         * css/CSSMutableStyleDeclaration.h:
1024
1025 2009-02-03  David Hyatt  <hyatt@apple.com>
1026
1027         Avoid creating extra copies of NSURLRequests for non-HTTP URLs.  Only mark platform requests
1028         as needing updating when HTTP fields change if the scheme of the URL is actually HTTP or HTTPS.
1029         Thus cuts down significantly on the number of copied NSURLRequests and is about a 1% gain on the PLT.
1030
1031         Reviewed by Darin Adler
1032
1033         * loader/FrameLoader.cpp:
1034         (WebCore::FrameLoader::addExtraFieldsToRequest):
1035         * platform/KURL.cpp:
1036         (WebCore::KURL::invalidate):
1037         (WebCore::KURL::KURL):
1038         * platform/KURL.h:
1039         (WebCore::KURL::isHTTPOrHTTPS):
1040         * platform/network/ResourceRequestBase.cpp:
1041         (WebCore::ResourceRequestBase::setCachePolicy):
1042         (WebCore::ResourceRequestBase::setTimeoutInterval):
1043         (WebCore::ResourceRequestBase::setMainDocumentURL):
1044         (WebCore::ResourceRequestBase::setHTTPMethod):
1045         (WebCore::ResourceRequestBase::setHTTPHeaderField):
1046         (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
1047         (WebCore::ResourceRequestBase::setHTTPBody):
1048         (WebCore::ResourceRequestBase::setAllowHTTPCookies):
1049
1050 2009-02-03  Xan Lopez  <xan@gnome.org>
1051
1052         Reviewed by Holger Freyther.
1053
1054         https://bugs.webkit.org/show_bug.cgi?id=23711
1055
1056         Add manual test for floating divs with scrollbars.
1057
1058         * manual-tests/gtk/floatingdiv.html: Added.
1059
1060 2009-02-03  Xan Lopez  <xan@gnome.org>
1061
1062         Reviewed by Holger Freyther.
1063
1064         https://bugs.webkit.org/show_bug.cgi?id=23711
1065
1066         There's no need to hold an extra ref to the scrollbar, calling
1067         setPlatformWidget takes ownership of it.
1068
1069         Also do not disconnect the signals when destroying the widget,
1070         it's superfluous.
1071
1072         * platform/gtk/ScrollbarGtk.cpp:
1073         (ScrollbarGtk::ScrollbarGtk):
1074         * platform/gtk/ScrollbarGtk.h:
1075
1076 2009-02-03  Xan Lopez  <xan@gnome.org>
1077
1078         Reviewed by Holger Freyther.
1079
1080         https://bugs.webkit.org/show_bug.cgi?id=23711
1081
1082         Declare scrollBar as GtkWidget* to avoid needless
1083         casting.
1084
1085         * platform/gtk/ScrollbarGtk.cpp:
1086         (ScrollbarGtk::ScrollbarGtk):
1087         (ScrollbarGtk::~ScrollbarGtk):
1088
1089 2009-02-03  Xan Lopez  <xan@gnome.org>
1090
1091         Reviewed by Holger Freyther.
1092
1093         https://bugs.webkit.org/show_bug.cgi?id=23711
1094
1095         Properly calculate the scrollbar location for their
1096         usage in RenderLayout.
1097
1098         * platform/gtk/ScrollbarGtk.cpp:
1099         (ScrollbarGtk::frameRectsChanged):
1100
1101 2009-02-03  David Hyatt  <hyatt@apple.com>
1102
1103         Rename addLineBoxRects to absoluteRectsForRange, and do the same thing for the corresponding quads methods.  Move the RenderContainer implementations
1104         of these methods up to RenderObject.
1105         
1106         Reviewed by Beth Dakin
1107
1108         * bindings/objc/DOM.mm:
1109         (-[DOMNode lineBoxRects]):
1110         * dom/Range.cpp:
1111         (WebCore::Range::addLineBoxRects):
1112         * inspector/InspectorController.cpp:
1113         (WebCore::InspectorController::drawNodeHighlight):
1114         * rendering/RenderContainer.cpp:
1115         * rendering/RenderContainer.h:
1116         * rendering/RenderObject.cpp:
1117         (WebCore::RenderObject::absoluteRectsForRange):
1118         (WebCore::RenderObject::absoluteQuadsForRange):
1119         * rendering/RenderObject.h:
1120         * rendering/RenderText.cpp:
1121         (WebCore::RenderText::absoluteRectsForRange):
1122         (WebCore::RenderText::absoluteQuadsForRange):
1123         * rendering/RenderText.h:
1124
1125 2009-02-03  Dirk Schulze  <krit@webkit.org>
1126
1127         Reviewed by Sam Weinig and Oliver Hunt.
1128
1129         Added getImageData() support for QtWebKit.
1130
1131         [QT] lacks getImageData / putImageData support in Canvas
1132         https://bugs.webkit.org/show_bug.cgi?id=22186
1133
1134         * platform/graphics/qt/ImageBufferQt.cpp:
1135         (WebCore::ImageBuffer::getImageData):
1136
1137 2009-02-03  Eric Roman  <eroman@chromium.org>
1138
1139         Reviewed by Holger Freyther.
1140
1141         Fix FrameChromium.cpp following r40473 which moved Frame::adjustPageHeight to FrameView::adjustPageHeight.
1142
1143         * page/chromium/FrameChromium.cpp:
1144         (WebCore::computePageRectsForFrame):
1145
1146 2009-02-02  Simon Fraser  <simon.fraser@apple.com>
1147
1148         Reviewed by Dave Hyatt
1149
1150         https://bugs.webkit.org/show_bug.cgi?id=23358
1151
1152         Hook accelerated compositing into RenderLayer.
1153
1154         * rendering/RenderLayer.cpp:
1155         (WebCore::RenderLayer::RenderLayer):
1156         (WebCore::RenderLayer::~RenderLayer):
1157         Init and clean up backing and the hasCompositingDescendant bit.
1158         
1159         (WebCore::RenderLayer::compositor):
1160         Shortcut to get to the RenderLayerCompositor.
1161
1162         (WebCore::RenderLayer::updateLayerPositions):
1163         We need to let full repaints propagate to all compositing layers, and 
1164         update the backing after layout here.
1165         
1166         (WebCore::RenderLayer::transparentAncestor):
1167         (WebCore::transparencyClipBox):
1168         (WebCore::RenderLayer::beginTransparencyLayers):
1169         Account for the fact that opacity may be rendered via the compositing
1170         layer sometimes.
1171         
1172         (WebCore::RenderLayer::addChild):
1173         (WebCore::RenderLayer::removeChild):
1174         (WebCore::RenderLayer::removeOnlyThisLayer):
1175         Tell the compositor when the RenderLayer hierarchy changes.
1176         
1177         (WebCore::RenderLayer::scrollToOffset):
1178         Update layer geometry after scrolling.
1179         
1180         (WebCore::RenderLayer::paintLayer):
1181         We short-circuit painting on composited layers, because these layers
1182         are painted on a callback from the compositing system.
1183         
1184         (WebCore::RenderLayer::hitTestLayer):
1185         Only apply transforms if we are rendering them in software.
1186         
1187         (WebCore::RenderLayer::localBoundingBox):
1188         (WebCore::RenderLayer::boundingBox):
1189         (WebCore::RenderLayer::absoluteBoundingBox):
1190         Refactor bounding box code that we can compute local, and ancestor-relative
1191         bounding box, as well as absolute.
1192         
1193         (WebCore::RenderLayer::ensureBacking):
1194         (WebCore::RenderLayer::clearBacking):
1195         RenderLayerBacking creation and destruction.
1196         
1197         (WebCore::RenderLayer::setParent):
1198         Tell the compositor when the RenderLayer hierarchy changes.
1199
1200         (WebCore::RenderLayer::dirtyZOrderLists):
1201         (WebCore::RenderLayer::dirtyStackingContextZOrderLists):
1202         (WebCore::RenderLayer::dirtyOverflowList):
1203         When the z-order and overflow lists change, we need to tell the
1204         compositor that the composited layers need to be rejiggered soon.
1205         
1206         (WebCore::RenderLayer::updateZOrderLists):
1207         Whitespace cleanup.
1208         
1209         (WebCore::RenderLayer::setBackingNeedsRepaint):
1210         (WebCore::RenderLayer::setBackingNeedsRepaintInRect):
1211         Dirty composited layer contents for painting.
1212         
1213         (WebCore::RenderLayer::styleChanged):
1214         Update the layer backing after style changes.
1215
1216         * rendering/RenderLayer.h:
1217         (WebCore::RenderLayer::isComposited):
1218         (WebCore::RenderLayer::backing):
1219         Accessors for testing and getting the backing for this RenderLayer.
1220         
1221         (WebCore::RenderLayer::paintsWithTransparency):
1222         (WebCore::RenderLayer::paintsWithTransform):
1223         Transform and opacity can be applied via the compositing layer, or rendered
1224         in software. These methods tell us if we need to account for them in the
1225         non-compositing path.
1226         
1227         (WebCore::RenderLayer::hasCompositingDescendant):
1228         (WebCore::RenderLayer::setHasCompositingDescendant):
1229         Maintain a bit to tell if this layer has composited descendants.
1230
1231 2009-02-03  Simon Fraser  <simon.fraser@apple.com>
1232
1233         Reviewed by Dave Hyatt
1234
1235         https://bugs.webkit.org/show_bug.cgi?id=23365
1236         
1237         Hook up accelerated compositing layers the native
1238         view system on Mac.
1239
1240         * WebCore.base.exp:
1241         Export new Page methods.
1242
1243         * page/ChromeClient.h:
1244         (WebCore::ChromeClient::attachRootGraphicsLayer):
1245         (WebCore::ChromeClient::setNeedsOneShotDrawingSynchronization):
1246         New methods for attaching/detaching the root GraphicsLayer, and
1247         synchronizing layer changes with window drawing.
1248
1249         * page/FrameView.h:
1250         * page/FrameView.cpp:
1251         (WebCore::FrameView::updateCompositingLayers):
1252         (WebCore::FrameView::setNeedsOneShotDrawingSynchronization):
1253         (WebCore::FrameView::didMoveOnscreen):
1254         (WebCore::FrameView::willMoveOffscreen):
1255         New methods to update the compositing layer hierarchy,
1256         and pass-throughs to the RenderLayerCompositor.
1257
1258         (WebCore::FrameView::layout):
1259         Update compositing layers after layout() and updateLayerPositions().
1260
1261         * page/Page.cpp:
1262         (WebCore::Page::didMoveOnscreen):
1263         (WebCore::Page::willMoveOffscreen):
1264         * page/Page.h:
1265         New methods to allow the native view system to tell the Page when it 
1266         starts to be presented on-screen, and when it will be hidden.
1267
1268         * rendering/RenderLayerCompositor.h:
1269         * rendering/RenderLayerCompositor.cpp:
1270         (WebCore::RenderLayerCompositor::updateLayerCompositingState):
1271         (WebCore::RenderLayerCompositor::didMoveOnscreen):
1272         (WebCore::RenderLayerCompositor::willMoveOffscreen):
1273         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
1274         Rename 'attached' methods to 'moveOnscreen/moveOffscreen' to match
1275         the calls through from Page, FrameView.
1276
1277         (WebCore::RenderLayerCompositor::layerWillBeRemoved):
1278         Dont' try to repaint or update layers if the document is being torn
1279         down.
1280
1281         * rendering/RenderView.cpp:
1282         (WebCore::RenderView::didMoveOnscreen):
1283         (WebCore::RenderView::willMoveOffscreen):
1284         * rendering/RenderView.h:
1285         New methods.
1286
1287 2009-02-03  Dirk Schulze  <krit@webkit.org>
1288
1289         Reviewed by Holger Hans Peter Freyther.
1290
1291         Fixed getImageData and putImageData and respect pre-
1292         multiplied colors.
1293
1294         Cairo's ImageBuffer::getImageData() does not handle alpha=0 case correctly
1295         https://bugs.webkit.org/show_bug.cgi?id=21575
1296
1297         * platform/graphics/cairo/ImageBufferCairo.cpp:
1298         (WebCore::ImageBuffer::getImageData):
1299         (WebCore::ImageBuffer::putImageData):
1300
1301 2009-02-03  Dan Bernstein  <mitz@apple.com>
1302
1303         Reviewed by Brady Eidson.
1304
1305         - fix <rdar://problem/6550530> REGRESSION (r40508): Window opened with window.open has no initial history item (global and back/forward)
1306
1307         Test: fast/history/window-open.html
1308
1309         * bindings/js/JSDOMWindowBase.cpp:
1310         (WebCore::createWindow): Pass the missing lockBackForwardList parameter
1311         to FrameLoader::changeLocation().
1312
1313 2009-02-03  Adam Treat  <adam.treat@torchmobile.com>
1314
1315         Fix the Qt build after r40536.
1316
1317         * bridge/qt/qt_runtime.cpp:
1318         (JSC::Bindings::convertQVariantToValue):
1319
1320 2009-02-03  Dan Bernstein  <mitz@apple.com>
1321
1322         - fix -Wmissing-prototypes builds
1323
1324         * loader/WorkerThreadableLoader.cpp:
1325         (WebCore::workerContextDidSendData): Marked this function static.
1326         (WebCore::workerContextDidReceiveResponse): Ditto.
1327         (WebCore::workerContextDidReceiveData): Ditto.
1328         (WebCore::workerContextDidFinishLoading): Ditto.
1329         (WebCore::workerContextDidFail): Ditto.
1330         (WebCore::workerContextDidGetCancelled): Ditto.
1331         (WebCore::workerContextDidReceiveAuthenticationCancellation): Ditto.
1332
1333 2009-02-03  David Kilzer  <ddkilzer@apple.com>
1334
1335         CrashTracer: [REGRESSION] 53 crashes in Safari at com.apple.WebCore: WebCore::LegacyWebArchive::create + 2706
1336
1337         <rdar://problem/6509514>
1338
1339         Reviewed by Adam Roben.
1340
1341         * loader/archive/cf/LegacyWebArchive.cpp:
1342         (WebCore::LegacyWebArchive::create): Null check the value returned
1343         from WebCore::IconDatabase::iconForPageURL().
1344
1345 2009-02-03  Simon Hausmann  <simon.hausmann@nokia.com>
1346
1347         Reviewed by Tor Arne Vestbø.
1348
1349         Fix conversion of QByteArray to JavaScript and back. Instead of
1350         converting it to a String (data loss!) we now map it to JSByteArray.
1351
1352         * bridge/qt/qt_runtime.cpp:
1353         (JSC::Bindings::):
1354         (JSC::Bindings::valueRealType): Added JSByteArray as converstion type.
1355         (JSC::Bindings::convertValueToQVariant): Convert from JSByteArray to
1356         QVariant(QByteArray).
1357         (JSC::Bindings::convertQVariantToValue): Convert from
1358         QVariant::ByteArray to jsByteArray.
1359
1360 2009-02-03  Alexey Proskuryakov  <ap@webkit.org>
1361
1362         Build fix.
1363
1364         * GNUmakefile.am: Removed WorkerTask.{h,cpp}.
1365
1366 2009-02-03  Dmitry Titov  <dimich@chromium.org>
1367
1368         Reviewed by Alexey Proskuryakov.
1369
1370         https://bugs.webkit.org/show_bug.cgi?id=22718
1371         Implement WindowTimers interface in Workers.
1372
1373         This patch moves timeoutID from Document to ScriptExecutionContext
1374         and exposes JS methods setTimeout/setInterval/clearTimeout/clearInterval inside of a Worker.
1375         Also added a test for those methods.
1376
1377         Test: fast/workers/worker-timeout.html
1378
1379         * bindings/js/JSWorkerContextCustom.cpp:
1380         (WebCore::setTimeoutOrInterval):
1381         Creates ScheduledAction and calls WorkerContext::installTimeout to actually add a timer.
1382
1383         (WebCore::JSWorkerContext::setTimeout):
1384         (WebCore::JSWorkerContext::clearTimeout):
1385         (WebCore::JSWorkerContext::setInterval):
1386         (WebCore::JSWorkerContext::clearInterval):
1387         Added methods exposed to JS.
1388
1389         * dom/Document.cpp:
1390         * dom/Document.h:
1391         * dom/ScriptExecutionContext.cpp:
1392         (WebCore::ScriptExecutionContext::addTimeout):
1393         (WebCore::ScriptExecutionContext::removeTimeout):
1394         (WebCore::ScriptExecutionContext::findTimeout):
1395         * dom/ScriptExecutionContext.h:
1396         The timerID map moves from Document to ScriptExecutionContext,
1397         to be available to Document and to WorkerContext.
1398
1399         * dom/WorkerContext.cpp:
1400         (WebCore::WorkerContext::installTimeout): Adds a DOMTimeout.
1401         (WebCore::WorkerContext::removeTimeout): Removes a DOMTimeout.
1402         * dom/WorkerContext.h:
1403
1404         * page/DOMTimer.cpp:
1405         (WebCore::DOMTimer::DOMTimer):
1406         (WebCore::DOMTimer::~DOMTimer):
1407         (WebCore::DOMTimer::removeById):
1408         Code change here reflects move of timeoutID map to the ScriptExecutionContext.
1409         Some checks and casts are no longer needed.
1410
1411 2009-02-03  Dmitry Titov  <dimich@chromium.org>
1412
1413         Reviewed by Alexey Proskuryakov.
1414
1415         https://bugs.webkit.org/show_bug.cgi?id=23560
1416         Implement SharedTimer for Workers.
1417
1418         * dom/WorkerRunLoop.cpp:
1419         Added private class WorkerSharedTimer that implements SharedTimer interface for worker threads.
1420         (WebCore::WorkerSharedTimer::WorkerSharedTimer):
1421         (WebCore::WorkerSharedTimer::setFiredFunction):
1422         (WebCore::WorkerSharedTimer::setFireTime):
1423         (WebCore::WorkerSharedTimer::stop):
1424         (WebCore::WorkerSharedTimer::isActive):
1425         (WebCore::WorkerSharedTimer::fireTime):
1426         (WebCore::WorkerSharedTimer::fire):
1427         (WebCore::WorkerRunLoop::WorkerRunLoop):
1428         Initializes a WorkerSharedTimer instance.
1429         (WebCore::WorkerRunLoop::~WorkerRunLoop):
1430         The destructor is here so compiler is ok with having OwnPtr<WorkerSharedTimer> in .h file w/o defining WorkerSharedTimer.
1431         (WebCore::WorkerRunLoop::run):
1432         Set/reset shared timer interface on ThreadTimers, use MessageQueue::waitForMessageTimed() if timer is active.
1433         * dom/WorkerRunLoop.h:
1434         Add member of type OwnPtr<WorkerSharedTimer>
1435
1436 2009-02-03  Steve Falkenburg  <sfalken@apple.com>
1437
1438         Build fix.
1439
1440         * WebCore.vcproj/WebCore.vcproj:
1441
1442 2009-02-03  Alexey Proskuryakov  <ap@webkit.org>
1443
1444         Windows build fix.
1445
1446         * dom/CrossThreadCopier.h: Changed forward declarations to use struct instead of class where
1447         appropriate.
1448
1449 2009-02-02  David Levin  <levin@chromium.org>
1450
1451         Reviewed by Alexey Proskuryakov.
1452
1453         Bug 23636: Make the async api of ThreadableLoader functional for the worker context.
1454         <https://bugs.webkit.org/show_bug.cgi?id=23636>
1455
1456         Enable the async portion of ThreadableLoader for workers.
1457
1458         No observable change in behavior, so no test.
1459
1460         * GNUmakefile.am:
1461         * WebCore.pro:
1462         * WebCore.scons:
1463         * WebCore.vcproj/WebCore.vcproj:
1464         * WebCore.xcodeproj/project.pbxproj:
1465         * WebCoreSources.bkl:
1466         * dom/CrossThreadCopier.h:
1467         * dom/GenericWorkerTask.h:
1468         * dom/WorkerThread.cpp:
1469         * loader/ThreadableLoader.cpp:
1470         (WebCore::ThreadableLoader::create):
1471         * loader/ThreadableLoaderClient.h:
1472         (WebCore::ThreadableLoaderClient::didFinishLoading):
1473         * loader/ThreadableLoaderClientWrapper.h: Added.
1474         (WebCore::ThreadableLoaderClientWrapper::create):
1475         (WebCore::ThreadableLoaderClientWrapper::clearClient):
1476         (WebCore::ThreadableLoaderClientWrapper::didSendData):
1477         (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
1478         (WebCore::ThreadableLoaderClientWrapper::didReceiveData):
1479         (WebCore::ThreadableLoaderClientWrapper::didFinishLoading):
1480         (WebCore::ThreadableLoaderClientWrapper::didFail):
1481         (WebCore::ThreadableLoaderClientWrapper::didGetCancelled):
1482         (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
1483         (WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper):
1484         * loader/WorkerThreadableLoader.cpp: Added.
1485         (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
1486         (WebCore::WorkerThreadableLoader::~WorkerThreadableLoader):
1487         (WebCore::WorkerThreadableLoader::cancel):
1488         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
1489         (WebCore::WorkerThreadableLoader::MainThreadBridge::~MainThreadBridge):
1490         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
1491         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadDestroy):
1492         (WebCore::WorkerThreadableLoader::MainThreadBridge::destroy):
1493         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCancel):
1494         (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
1495         (WebCore::WorkerThreadableLoader::MainThreadBridge::clearClientWrapper):
1496         (WebCore::workerContextDidSendData):
1497         (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
1498         (WebCore::workerContextDidReceiveResponse):
1499         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
1500         (WebCore::workerContextDidReceiveData):
1501         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
1502         (WebCore::workerContextDidFinishLoading):
1503         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
1504         (WebCore::workerContextDidFail):
1505         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
1506         (WebCore::workerContextDidGetCancelled):
1507         (WebCore::WorkerThreadableLoader::MainThreadBridge::didGetCancelled):
1508         (WebCore::workerContextDidReceiveAuthenticationCancellation):
1509         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
1510         * loader/WorkerThreadableLoader.h: Added.
1511         (WebCore::WorkerThreadableLoader::create):
1512         (WebCore::WorkerThreadableLoader::refThreadableLoader):
1513         (WebCore::WorkerThreadableLoader::derefThreadableLoader):
1514
1515 2009-02-02  David Levin  <levin@chromium.org>
1516
1517         Reviewed by Alexey Proskuryakov.
1518
1519         Bug 23636: Make the async api of ThreadableLoader functional for the worker context.
1520         <https://bugs.webkit.org/show_bug.cgi?id=23636>
1521
1522         No observable change in behavior, so no test.
1523
1524         * WebCore.xcodeproj/project.pbxproj:
1525         * dom/Worker.cpp:
1526         * dom/Worker.h:
1527         * dom/WorkerContext.cpp:
1528         (WebCore::WorkerContext::addMessage):
1529         (WebCore::WorkerContext::postTask):
1530         (WebCore::WorkerContext::postTaskToWorkerObject):
1531         * dom/WorkerContext.h:
1532         * dom/WorkerMessagingProxy.cpp:
1533         (WebCore::MessageWorkerContextTask::performTask):
1534         (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
1535         (WebCore::WorkerMessagingProxy::postTaskToWorkerContext):
1536         Expose postTaskToWorkerContext for use by the worker object thread.
1537
1538         (WebCore::WorkerMessagingProxy::postTaskToWorkerObject):
1539         Change the name of postTaskToParentContext to postTaskToWorkerObject for consistency
1540         with postMessageToWorkerObject.
1541
1542         * dom/WorkerMessagingProxy.h:
1543         * dom/WorkerRunLoop.cpp:
1544         (WebCore::WorkerRunLoop::run):
1545         (WebCore::WorkerRunLoop::postTask):
1546         * dom/WorkerRunLoop.h:
1547         * dom/WorkerTask.cpp: Removed.
1548         * dom/WorkerTask.h: Removed.
1549         Removed WorkerTask and replaced with the existing ScriptExecutionContext::Task.
1550
1551         The resulted in the class going away along with an adapter that made
1552         a ScriptExecutionContext::Task look like a WorkerTask.
1553
1554         * dom/WorkerThread.cpp:
1555         * dom/WorkerThread.h:
1556
1557 2009-02-02  David Levin  <levin@chromium.org>
1558
1559         Reviewed by Alexey Proskuryakov.
1560
1561         Bug 23618: Templated worker tasks should be more error proof to use.
1562         <https://bugs.webkit.org/show_bug.cgi?id=23618>
1563
1564         Add the generic worker tasks templates needed for the WorkerThreadableLoader.
1565
1566         No observable change in behavior, so no test.
1567
1568         * GNUmakefile.am:
1569         * WebCore.pro:
1570         * WebCore.scons:
1571         * WebCore.vcproj/WebCore.vcproj:
1572         * WebCore.xcodeproj/project.pbxproj:
1573         * WebCoreSources.bkl:
1574         * dom/CrossThreadCopier.cpp: Added.
1575         * dom/CrossThreadCopier.h: Added.
1576         (WebCore::CrossThreadCopierPassThrough::copy):
1577         * dom/GenericWorkerTask.h:
1578         Stop doing the WorkerMessagingProxy::askedToTerminate call automatically
1579         in performTask because was not obvious that it would be done and not always needed.
1580
1581         (WebCore::GenericWorkerTask1::create):
1582         (WebCore::GenericWorkerTask1::GenericWorkerTask1):
1583         (WebCore::GenericWorkerTask1::performTask):
1584         (WebCore::GenericWorkerTask2::create):
1585         (WebCore::GenericWorkerTask2::GenericWorkerTask2):
1586         (WebCore::GenericWorkerTask2::performTask):
1587         (WebCore::GenericWorkerTask3::create):
1588         (WebCore::GenericWorkerTask3::GenericWorkerTask3):
1589         (WebCore::GenericWorkerTask3::performTask):
1590         (WebCore::GenericWorkerTask4::create):
1591         (WebCore::GenericWorkerTask4::GenericWorkerTask4):
1592         (WebCore::GenericWorkerTask4::performTask):
1593         (WebCore::GenericWorkerTask5::create):
1594         (WebCore::GenericWorkerTask5::GenericWorkerTask5):
1595         (WebCore::GenericWorkerTask5::performTask):
1596         (WebCore::GenericWorkerTask6::create):
1597         (WebCore::GenericWorkerTask6::GenericWorkerTask6):
1598         (WebCore::GenericWorkerTask6::performTask):
1599         (WebCore::GenericWorkerTask7::create):
1600         (WebCore::GenericWorkerTask7::GenericWorkerTask7):
1601         (WebCore::GenericWorkerTask7::performTask):
1602         (WebCore::createCallbackTask):
1603         * dom/WorkerContext.cpp:
1604         (WebCore::addMessageTask):
1605         (WebCore::WorkerContext::addMessage):
1606         * dom/WorkerMessagingProxy.h:
1607         (WebCore::WorkerMessagingProxy::askedToTerminate):
1608
1609 2009-02-02  Sam Weinig  <sam@webkit.org>
1610
1611         Reviewed by David "The Barnabas Jones" Hyatt.
1612
1613         Move removeChildNode, appendChildNode and insertChildNode from 
1614         RenderContainer into RenderObjectChildList.  Make moveChildNode
1615         static in RenderBlock, as that was the only user.
1616
1617         * rendering/RenderBlock.cpp:
1618         (WebCore::moveChild):
1619         (WebCore::RenderBlock::makeChildrenNonInline):
1620         (WebCore::RenderBlock::removeChild):
1621         (WebCore::RenderBlock::handleRunInChild):
1622         * rendering/RenderContainer.cpp:
1623         (WebCore::RenderContainer::addChild):
1624         (WebCore::RenderContainer::removeChild):
1625         * rendering/RenderContainer.h:
1626         * rendering/RenderInline.cpp:
1627         (WebCore::RenderInline::splitInlines):
1628         (WebCore::RenderInline::splitFlow):
1629         (WebCore::RenderInline::childBecameNonInline):
1630         * rendering/RenderObject.cpp:
1631         (WebCore::RenderObject::handleDynamicFloatPositionChange):
1632         * rendering/RenderObject.h:
1633         (WebCore::RenderObject::createsAnonymousWrapper):
1634         * rendering/RenderObjectChildList.cpp:
1635         (WebCore::updateListMarkerNumbers):
1636         (WebCore::RenderObjectChildList::removeChildNode):
1637         (WebCore::RenderObjectChildList::appendChildNode):
1638         (WebCore::RenderObjectChildList::insertChildNode):
1639         * rendering/RenderObjectChildList.h:
1640         * rendering/RenderSVGContainer.cpp:
1641         (WebCore::RenderSVGContainer::addChild):
1642         (WebCore::RenderSVGContainer::removeChild):
1643         * rendering/RenderSVGContainer.h:
1644         * rendering/RenderTable.cpp:
1645         (WebCore::RenderTable::removeChild):
1646         * rendering/RenderTable.h:
1647         * rendering/RenderTableSection.cpp:
1648         (WebCore::RenderTableSection::removeChild):
1649         * rendering/RenderTableSection.h:
1650
1651 2009-02-02  Alexey Proskuryakov  <ap@webkit.org>
1652
1653         Reviewed by Darin Alder.
1654
1655         https://bugs.webkit.org/show_bug.cgi?id=23697
1656         Leaks seen on Worker tests
1657
1658         * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal):
1659         Zero out m_workerThread, so that the proxy could be deleted once workerObjectDestroyed()
1660         is called.
1661
1662 2009-02-02  David Hyatt  <hyatt@apple.com>
1663
1664         Move positionForCoordinates up from RenderContainer into RenderBox.
1665
1666         Reviewed by Sam Weinig
1667
1668         * rendering/RenderBox.cpp:
1669         (WebCore::RenderBox::positionForCoordinates):
1670         * rendering/RenderBox.h:
1671         * rendering/RenderContainer.cpp:
1672         * rendering/RenderContainer.h:
1673
1674 2009-02-02  Hiroaki Nakamura <hnakamur@gmail.com>
1675
1676         Reviewed by Adam Roben.
1677
1678         Fixes https://bugs.webkit.org/show_bug.cgi?id=15813
1679         Modify pre-build step to properly handle the errorlevel
1680         shell command.
1681
1682         * WebCore.vcproj/WebCore.vcproj: Change errorlevel handling
1683         for all targets so prefast is only enabled in builds
1684         where /analyze is available.
1685
1686 2009-02-02  David Hyatt  <hyatt@apple.com>
1687
1688         Refactor the handling of before/after content and generated content.  Move most of the functions from
1689         RenderContainer into RenderObjectChildList.
1690
1691         Reviewed by Sam Weinig
1692
1693         * rendering/RenderBlock.cpp:
1694         (WebCore::RenderBlock::updateBeforeAfterContent):
1695         * rendering/RenderBlock.h:
1696         * rendering/RenderBox.cpp:
1697         (WebCore::RenderBox::isAfterContent):
1698         * rendering/RenderBox.h:
1699         * rendering/RenderButton.cpp:
1700         (WebCore::RenderButton::updateBeforeAfterContent):
1701         * rendering/RenderContainer.cpp:
1702         * rendering/RenderContainer.h:
1703         * rendering/RenderCounter.cpp:
1704         (WebCore::destroyCounterNodeChildren):
1705         * rendering/RenderInline.cpp:
1706         (WebCore::RenderInline::styleDidChange):
1707         (WebCore::RenderInline::addChildIgnoringContinuation):
1708         (WebCore::RenderInline::splitInlines):
1709         * rendering/RenderObject.h:
1710         * rendering/RenderObjectChildList.cpp:
1711         (WebCore::beforeAfterContainer):
1712         (WebCore::findBeforeAfterParent):
1713         (WebCore::invalidateCountersInContainer):
1714         (WebCore::RenderObjectChildList::invalidateCounters):
1715         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
1716         * rendering/RenderObjectChildList.h:
1717
1718 2009-02-02  Dmitry Titov  <dimich@chromium.org>
1719
1720         Reviewed by Darin Adler.
1721
1722         https://bugs.webkit.org/show_bug.cgi?id=23661
1723         Fix Chromium build.
1724
1725         * history/HistoryItem.h: need to include <wtf/OwnPtr.h>
1726
1727         * rendering/RenderThemeChromiumMac.mm:
1728         (WebCore::RenderThemeChromiumMac::adjustMenuListStyle): isEnabled() is now on FormControlElement.
1729
1730 2009-02-02  Geoffrey Garen  <ggaren@apple.com>
1731
1732         Build fix.
1733
1734         * plugins/PluginView.cpp:
1735         (WebCore::PluginView::performRequest):
1736
1737 2009-02-02  Geoffrey Garen  <ggaren@apple.com>
1738
1739         Build fix.
1740
1741         * WebCore.base.exp:
1742
1743 2009-02-02  Geoffrey Garen  <ggaren@apple.com>
1744
1745         Reviewed by Sam Weinig.
1746
1747         Track redirects in global history.
1748
1749         * WebCore.base.exp: Renamed some exports.
1750         
1751         * bindings/js/JSDOMWindowBase.cpp:
1752         (WebCore::createWindow):
1753         (windowProtoFuncOpen):
1754         * bindings/js/JSDOMWindowCustom.cpp:
1755         (WebCore::JSDOMWindow::setLocation):
1756         * bindings/js/JSDocumentCustom.cpp:
1757         (WebCore::JSDocument::setLocation):
1758         * bindings/js/JSHTMLFormElementCustom.cpp:
1759         (WebCore::JSHTMLFormElement::submit):
1760         * bindings/js/JSLocationCustom.cpp:
1761         (WebCore::JSLocation::setHref):
1762         (WebCore::JSLocation::setProtocol):
1763         (WebCore::JSLocation::setHost):
1764         (WebCore::JSLocation::setHostname):
1765         (WebCore::JSLocation::setPort):
1766         (WebCore::JSLocation::setPathname):
1767         (WebCore::JSLocation::setSearch):
1768         (WebCore::JSLocation::setHash):
1769         (WebCore::JSLocation::assign): Treat any navigation that is not initiated
1770         by the user as a redirect from the perspective of global history.
1771
1772         * history/HistoryItem.cpp:
1773         (WebCore::HistoryItem::addRedirectURL): Store the last URL in the redirect
1774         chain.
1775
1776         * loader/DocumentLoader.cpp:
1777         (WebCore::DocumentLoader::DocumentLoader):
1778         * loader/DocumentLoader.h:
1779         (WebCore::DocumentLoader::urlForHistoryReflectsServerRedirect):
1780         (WebCore::DocumentLoader::urlForHistoryReflectsClientRedirect):
1781         (WebCore::DocumentLoader::setURLForHistoryReflectsClientRedirect): Sadly,
1782         added yet another way to track redirect state during loading, since none
1783         of the others did what I wanted, and I didn't want to cause behavior
1784         changes in existing code.
1785
1786         * loader/EmptyClients.h:
1787         (WebCore::EmptyFrameLoaderClient::updateGlobalHistoryForRedirectWithoutHistoryItem):
1788         Stubbed out a client function to keep things building.
1789         
1790         * loader/FrameLoader.cpp:
1791         (WebCore::isBackForwardLoadType):
1792         (WebCore::FrameLoader::restoreDocumentState): Renamed FrameLoadTypeRedirect =>
1793         FrameLoadTypeRedirectWithLockedBackForwardList, to distinguish from all
1794         the other meanings of "redirect" in the loading code.
1795
1796         (WebCore::FrameLoader::scheduleHTTPRedirection): Treat any HTTP refresh
1797         redirect as a redirect from the perspective of global history.
1798
1799         (WebCore::FrameLoader::loadURLIntoChildFrame): Updated for rename and extra
1800         parameter.
1801
1802         (WebCore::FrameLoader::startRedirectionTimer): Removed unused parameter.
1803
1804         (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
1805         (WebCore::FrameLoader::loadURL):
1806         (WebCore::FrameLoader::load): Updated for rename and extra parameter.
1807
1808         (WebCore::FrameLoader::loadWithNavigationAction): Track redirect status
1809         in the DocumentLoader, so it's accessible to WebKit's global history code.
1810
1811         (WebCore::FrameLoader::clientRedirected): Ignore lockHistory, since it
1812         only has meaning to global history, and m_quickRedirectComing pertains
1813         to other kinds of history.
1814
1815         (WebCore::FrameLoader::loadPostRequest):
1816         (WebCore::FrameLoader::loadEmptyDocumentSynchronously):
1817         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
1818         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
1819         (WebCore::FrameLoader::loadItem): Updated for extra parameter and rename.
1820         
1821         (WebCore::FrameLoader::updateHistory*): Notify WebKit about redirect
1822         navigations even if they don't create new history items, so we can track
1823         the redirect in the existing history item.
1824
1825         * loader/FrameLoader.h: See above.
1826         
1827         * loader/FrameLoaderClient.h: New client interface used by
1828         FrameLoader::updateHistory* to record a redirect even if it doesn't create
1829         a new history item of its own.
1830
1831         * loader/FrameLoaderTypes.h: See above.
1832         (WebCore::):
1833
1834         * page/DragController.cpp:
1835         (WebCore::DragController::performDrag):
1836         * svg/graphics/SVGImage.cpp:
1837         (WebCore::SVGImage::dataChanged): Updated for extra parameter.
1838
1839 2009-02-02  David Hyatt  <hyatt@apple.com>
1840
1841         Make calcPrefWidths non-abstract on RenderBox and just give it RenderContainer's implementation.
1842         Remove RenderSVGContainer's implementation, since it was never called.
1843
1844         Reviewed by Beth Dakin
1845
1846         * rendering/RenderBox.cpp:
1847         (WebCore::RenderBox::minPrefWidth):
1848         * rendering/RenderBox.h:
1849         (WebCore::RenderBox::calcPrefWidths):
1850         * rendering/RenderContainer.h:
1851         (WebCore::RenderContainer::moveChildNode):
1852         * rendering/RenderSVGContainer.h:
1853
1854 2009-02-02  Anders Carlsson  <andersca@apple.com>
1855
1856         Reviewed by Sam Weinig.
1857
1858         Add jsObjectForPluginElement to ScriptController, and have createScriptObjectForPluginElement call it.
1859         
1860         * WebCore.LP64.exp:
1861         * bindings/js/ScriptController.cpp:
1862         (WebCore::ScriptController::createScriptObjectForPluginElement):
1863         (WebCore::ScriptController::jsObjectForPluginElement):
1864         * bindings/js/ScriptController.h:
1865
1866 2009-02-02  Darin Fisher  <darin@chromium.org>
1867
1868         Reviewed by Eric Seidel (and Ojan Vafai).
1869
1870         https://bugs.webkit.org/show_bug.cgi?id=23696
1871         Select element doesn't show new value when focus is switched in
1872         onchange event.
1873
1874         Fix PopupMenuChromium to hide itself before calling valueChanged.  This
1875         better matches the behavior of the other ports.
1876
1877         * platform/chromium/PopupMenuChromium.cpp:
1878         (WebCore::PopupListBox::create):
1879         (WebCore::PopupContainer::PopupContainer):
1880         (WebCore::PopupContainer::showPopup):
1881         (WebCore::PopupContainer::hidePopup):
1882         (WebCore::PopupListBox::abandon):
1883         (WebCore::PopupListBox::acceptIndex):
1884         (WebCore::PopupMenu::show):
1885         (WebCore::PopupMenu::hide):
1886
1887 2009-02-02  David Hyatt  <hyatt@apple.com>
1888
1889         Make sure scrollWidth/Height just return 0 for inline flows.
1890
1891         Reviewed by Beth Dakin
1892
1893         * rendering/RenderBox.cpp:
1894         (WebCore::RenderBox::scrollWidth):
1895         (WebCore::RenderBox::scrollHeight):
1896
1897 2009-02-02  Darin Adler  <darin@apple.com>
1898
1899         Reviewed by Dave Hyatt.
1900
1901         Bug 23676: Speed up uses of reserveCapacity on new vectors by adding a new reserveInitialCapacity
1902         https://bugs.webkit.org/show_bug.cgi?id=23676
1903
1904         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1905         (WebCore::cssPropertyName):
1906         * css/CSSMutableStyleDeclaration.cpp:
1907         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
1908         (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
1909         * css/CSSPrimitiveValue.cpp:
1910         (WebCore::CSSPrimitiveValue::cssText):
1911         * css/CSSStyleDeclaration.cpp:
1912         (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
1913         * css/CSSStyleSelector.cpp:
1914         (WebCore::CSSStyleSelector::sortMatchedRules):
1915         * dom/Document.cpp:
1916         (WebCore::Document::formElementsState):
1917         * dom/NamedAttrMap.h:
1918         (WebCore::NamedAttrMap::reserveInitialCapacity):
1919         * editing/TextIterator.cpp:
1920         (WebCore::CharacterIterator::string):
1921         (WebCore::SearchBuffer::SearchBuffer):
1922         (WebCore::plainTextToMallocAllocatedBuffer):
1923         * editing/markup.cpp:
1924         (WebCore::joinMarkups):
1925         * history/HistoryItem.cpp:
1926         (WebCore::HistoryItem::HistoryItem):
1927         * html/HTMLTokenizer.cpp:
1928         (WebCore::Token::addAttribute):
1929         * loader/appcache/DOMApplicationCache.cpp:
1930         (WebCore::DOMApplicationCache::items):
1931         * page/SecurityOrigin.cpp:
1932         (WebCore::SecurityOrigin::toString):
1933         * page/mac/AccessibilityObjectWrapper.mm:
1934         (convertToVector):
1935         * platform/graphics/FontCache.cpp:
1936         (WebCore::FontCache::purgeInactiveFontData):
1937         (WebCore::FontCache::invalidate):
1938         * platform/network/FormData.cpp:
1939         (WebCore::FormData::deepCopy):
1940         * platform/network/HTTPHeaderMap.cpp:
1941         (WebCore::HTTPHeaderMap::copyData):
1942         * platform/network/ResourceRequestBase.cpp:
1943         (WebCore::ResourceRequestBase::copyData):
1944         * platform/network/mac/FormDataStreamMac.mm:
1945         (WebCore::formCreate):
1946         * xml/XPathNodeSet.cpp:
1947         (WebCore::XPath::NodeSet::sort):
1948         Use reserveInitialCapacity instead of of reserveCapacity in all these call sites,
1949         which are working on new vectors that are guaranteed not to be empty.
1950
1951 2009-02-26  Jon Honeycutt  <jhoneycutt@apple.com>
1952
1953         Build fix after r40486.
1954
1955         Rubber-stamped by Ada Chan.
1956
1957         * dom/Document.h: Chnaged HitTestRequest to a class from a struct.
1958         * page/EventHandler.h: Ditto.
1959         * rendering/EllipsisBox.h: Ditto.
1960         * rendering/InlineBox.h: Ditto.
1961         * rendering/InlineFlowBox.h: Ditto.
1962         * rendering/RenderLayer.h: Ditto.
1963
1964 2009-02-02  Darin Adler  <darin@apple.com>
1965
1966         Reviewed by Anders Carlsson.
1967
1968         Bug 23694: REGRESSION: Running svg/custom tests crashes, randomly, depending on the order of tests
1969         https://bugs.webkit.org/show_bug.cgi?id=23694
1970
1971         * dom/ContainerNode.cpp:
1972         (WebCore::ContainerNode::insertedIntoDocument): Added back the call through to EventTargetNode.
1973         (WebCore::ContainerNode::removedFromDocument): Ditto.
1974         * dom/EventTargetNode.cpp:
1975         (WebCore::EventTargetNode::insertedIntoDocument): Changed this to not call through to Node.
1976         (WebCore::EventTargetNode::removedFromDocument): Ditto.
1977         * dom/Node.cpp:
1978         (WebCore::Node::insertedIntoDocument): Updated comment.
1979         (WebCore::Node::removedFromDocument): Ditto.
1980
1981 2009-02-02  Anders Carlsson  <andersca@apple.com>
1982
1983         Reviewed by Dan Bernstein.
1984
1985         More plug-in cleanup.
1986         
1987         * WebCore.NPAPI.exp:
1988         Add new symbols.
1989         
1990         * bindings/objc/DOM.mm:
1991         * bindings/objc/DOMPrivate.h:
1992         Remove methods that WebKit doesn't use anymore.
1993
1994 2009-02-02  Jay Campan  <jcampan@chromium.org>
1995
1996         Reviewed by Eric Seidel.
1997
1998         Clean up PopupMenuChromium a little.
1999         https://bugs.webkit.org/show_bug.cgi?id=23653
2000
2001         No functional changes, only code cleanup, thus no tests.
2002
2003         * platform/chromium/PopupMenuChromium.cpp:
2004         (WebCore::):
2005         (WebCore::PopupListBox::PopupListBox):
2006         (WebCore::PopupContainer::create):
2007         (WebCore::PopupContainer::PopupContainer):
2008         (WebCore::PopupContainer::showPopup):
2009         (WebCore::PopupListBox::handleKeyEvent):
2010         (WebCore::PopupListBox::isSelectableItem):
2011         (WebCore::PopupListBox::selectNextRow):
2012         (WebCore::PopupListBox::selectPreviousRow):
2013         (WebCore::PopupMenu::show):
2014         * platform/chromium/PopupMenuChromium.h:
2015
2016 2009-02-02  Anders Carlsson  <andersca@apple.com>
2017
2018         Reviewed by Dan Bernstein.
2019
2020         Change createPlugin to take a HTMLPlugInElement, and createJavaAppletWidget to take a HTMLAppletElement.
2021         
2022         * WebCore.xcodeproj/project.pbxproj:
2023         * loader/EmptyClients.h:
2024         (WebCore::EmptyFrameLoaderClient::createPlugin):
2025         (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
2026         * loader/FrameLoader.cpp:
2027         (WebCore::toPlugInElement):
2028         (WebCore::FrameLoader::loadPlugin):
2029         (WebCore::FrameLoader::loadItem):
2030         * loader/FrameLoader.h:
2031         * loader/FrameLoaderClient.h:
2032
2033 2009-02-02  Genevieve Mak  <gen@staikos.net>
2034
2035         Reviewed by George Staikos.
2036
2037         https://bugs.webkit.org/show_bug.cgi?id=23508
2038         Returns Blank Page for all "about" protocols
2039
2040         * loader/MainResourceLoader.cpp:
2041         Fix shouldLoadAsEmptyDocument() to return a blank page for an empty
2042         url or about:blank only (for now, exclusively for Torch Mobile platform).
2043
2044 2009-02-02  Brent Fulgham  <bfulgham@webkit.org>
2045
2046         Reviewed by George Staikos.
2047
2048         Fixes https://bugs.webkit.org/show_bug.cgi?id=23691.
2049         Correct build break caused by @r40366 by moving the
2050         common code implmentations from GraphicsContextCGWin.cpp
2051         into the base Windows class (GraphicsContextWin.cpp).  Also
2052         move inTransparencyLayer since it is identical in both
2053         children.
2054
2055         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
2056           Added member m_shouldIncludeChildWindows to Windows version,
2057           similar to GraphicsContextPlatformPrivateCG.h.
2058         * platform/graphics/win/GraphicsContextCGWin.cpp: Remove the
2059           implementations of shouldIncludeChildWindows,
2060           setShouldIncludeChildWindows, and inTransparencyLayer.
2061         * platform/graphics/win/GraphicsContextCairoWin.cpp: Remove
2062           the implementation of inTransparencyLayer.
2063         * platform/graphics/win/GraphicsContextWin.cpp: Move common code
2064           from GraphicsContextCGWin.cpp and GraphicsContextCairoWin.cpp. 
2065         (WebCore::GraphicsContext::inTransparencyLayer):
2066         (WebCore::GraphicsContext::setShouldIncludeChildWindows):
2067         (WebCore::GraphicsContext::shouldIncludeChildWindows):
2068
2069 2009-02-02  Darin Adler  <darin@apple.com>
2070
2071         Try to fix Wx build, and maybe Chromium build too.
2072
2073         * WebCore.scons: Added IdentifierRep.cpp.
2074         * WebCoreSources.bkl: Ditto.
2075
2076 2009-02-02  Darin Adler  <darin@apple.com>
2077
2078         Try to fix Wx build.
2079
2080         * html/HTMLAreaElement.cpp: Added missing include of "Path.h".
2081
2082 2009-02-02  Adam Treat  <adam.treat@torchmobile.com>
2083
2084         Reviewed by Nikolas Zimmermann.
2085
2086         https://bugs.webkit.org/show_bug.cgi?id=23587
2087         Refactor HitTestRequest to eliminate all the ugly boolean arguments and
2088         use an enum bitflag instead.  Cleanup all the code that constructs the
2089         various HitTestRequests to make the code more readable.
2090
2091         * dom/Document.cpp:
2092         (WebCore::Document::elementFromPoint):
2093         (WebCore::Document::prepareMouseEvent):
2094         * editing/SelectionController.cpp:
2095         (WebCore::SelectionController::contains):
2096         * page/AccessibilityRenderObject.cpp:
2097         (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
2098         (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
2099         * page/EventHandler.cpp:
2100         (WebCore::EventHandler::eventMayStartDrag):
2101         (WebCore::EventHandler::updateSelectionForMouseDrag):
2102         (WebCore::EventHandler::hitTestResultAtPoint):
2103         (WebCore::EventHandler::handleMousePressEvent):
2104         (WebCore::EventHandler::handleMouseDoubleClickEvent):
2105         (WebCore::EventHandler::handleMouseMoveEvent):
2106         (WebCore::EventHandler::handleMouseReleaseEvent):
2107         (WebCore::EventHandler::updateDragAndDrop):
2108         (WebCore::EventHandler::handleWheelEvent):
2109         (WebCore::EventHandler::sendContextMenuEvent):
2110         (WebCore::EventHandler::hoverTimerFired):
2111         (WebCore::EventHandler::handleDrag):
2112         * page/EventHandler.h:
2113         * rendering/HitTestRequest.h:
2114         (WebCore::HitTestRequest::):
2115         (WebCore::HitTestRequest::HitTestRequest):
2116         (WebCore::HitTestRequest::readOnly):
2117         (WebCore::HitTestRequest::active):
2118         (WebCore::HitTestRequest::mouseMove):
2119         (WebCore::HitTestRequest::mouseUp):
2120         (WebCore::HitTestRequest::ignoreClipping):
2121         * rendering/RenderFrameSet.cpp:
2122         (WebCore::RenderFrameSet::nodeAtPoint):
2123         * rendering/RenderLayer.cpp:
2124         (WebCore::RenderLayer::hitTest):
2125         (WebCore::RenderLayer::hitTestLayer):
2126         (WebCore::RenderLayer::updateHoverActiveState):
2127
2128 2009-02-02  George Staikos  <george.staikos@torchmobile.com>
2129
2130         Reviewed by Niko Zimmermann.
2131
2132         Fix WML build by including the inlined renderStyle().
2133
2134         * wml/WMLOptGroupElement.cpp:
2135         * wml/WMLOptionElement.cpp:
2136
2137 2009-02-02  Darin Adler  <darin@apple.com>
2138
2139         Reviewed by Niko Zimmermann.
2140
2141         Bug 23686: REGRESSION (r40475): Failure in fast/xpath/4XPath/Core/test_core_functions.html
2142         https://bugs.webkit.org/show_bug.cgi?id=23686
2143         rdar://problem/6547971
2144
2145         Also fix other XPath tests that are crashing.
2146
2147         * xml/XPathFunctions.cpp:
2148         (WebCore::XPath::FunLang::evaluate): Fix order of arguments when creating QualifiedName.
2149         * xml/XPathStep.cpp:
2150         (WebCore::XPath::Step::nodesInAxis): Use createAttrIfNeeded() rather than attr() since we
2151         need to make Attr nodes here. Yuck!
2152
2153 2009-02-02  Yichao Yin  <yichao.yin@torchmobile.com.cn>
2154
2155         Reviewed by Niko Zimmermann.
2156
2157         Test: wml/input-format.html
2158
2159         * wml/WMLInputElement.cpp:
2160         (WebCore::WMLInputElement::WMLInputElement):
2161         (WebCore::formatCodes):
2162         (WebCore::WMLInputElement::dispatchBlurEvent):
2163         (WebCore::WMLInputElement::parseMappedAttribute):
2164         (WebCore::WMLInputElement::attach):
2165         (WebCore::WMLInputElement::defaultEventHandler):
2166         (WebCore::WMLInputElement::init):
2167         (WebCore::WMLInputElement::validateInputMask):
2168         (WebCore::WMLInputElement::isConformedToInputMask):
2169         (WebCore::WMLInputElement::cursorPositionToMaskIndex):
2170         * wml/WMLInputElement.h:
2171
2172 2009-02-02  Brent Fulgham  <bfulgham@webkit.org>
2173
2174         Build fix only, no review.
2175
2176         Fixes https://bugs.webkit.org/show_bug.cgi?id=23685.
2177         Correct build break caused by @r40473.
2178
2179         * page/win/FrameWin.cpp: Correct access for adjustPageHeight.
2180         (WebCore::computePageRectsForFrame):
2181
2182 2009-02-02  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2183
2184         Not reviewed. Fix WML enabled builds.
2185         FrameLoader::urlSelected() got a new parameter: lockBackForwardList. Pass 'false', as HTMLAnchorElement does.
2186
2187         * wml/WMLAElement.cpp:
2188         (WebCore::WMLAElement::defaultEventHandler):
2189
2190 2009-02-02  Alexey Proskuryakov  <ap@webkit.org>
2191
2192         Reviewed by Darin Adler.
2193
2194         <rdar://problem/6451610> Reloading a AppCache page doesn't ever hit the server
2195
2196         Not easily testable.
2197
2198         * loader/appcache/ApplicationCacheGroup.cpp:
2199         (WebCore::ApplicationCacheGroup::createResourceHandle): A new method that creates a resource
2200         handle in a manner that is closer to what CachedResource does. We now make conditional
2201         requests for better performance, and set max-age to ensure that stale responses are not used.
2202         (WebCore::ApplicationCacheGroup::update): Use the new createResourceHandle() method.
2203         (WebCore::ApplicationCacheGroup::didReceiveResponse): If the response code for the resource
2204         is 304, take it from the newest cache.
2205         (WebCore::ApplicationCacheGroup::didFail): Pre-compute request URL.
2206         (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Don't create a resource for
2207         the manifest if the response code was 304 - it won't be needed.
2208         (WebCore::ApplicationCacheGroup::didReceiveManifestData): Replaced an assertion that
2209         m_manifestResource is not null with a check.
2210         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): Treat null m_manifestResource as
2211         an indication that the response was 304.
2212         (WebCore::ApplicationCacheGroup::startLoadingEntry): Use createResourceHandle().
2213
2214         * loader/appcache/ApplicationCacheGroup.h: Added createResourceHandle().
2215
2216 2009-02-01  Darin Adler  <darin@apple.com>
2217
2218         Reviewed by Dave Hyatt.
2219
2220         Bug 23674: Speed up some things based on profiling the page load test
2221         https://bugs.webkit.org/show_bug.cgi?id=23674
2222
2223         * css/CSSStyleSelector.cpp:
2224         (WebCore::CSSStyleSelector::canShareStyleWithElement): Use the newly named cssTarget instead
2225         of the old name, getCSSTarget.
2226         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
2227
2228         * dom/ContainerNode.cpp:
2229         (WebCore::ContainerNode::insertedIntoDocument): Moved code from Node in here rather than
2230         calling through to EventTargetNode::insertedIntoDocument.
2231         (WebCore::ContainerNode::removedFromDocument): Ditto.
2232         (WebCore::ContainerNode::insertedIntoTree): Tweaked a bit.
2233         (WebCore::ContainerNode::removedFromTree): Ditto.
2234
2235         * dom/ContainerNode.h: Moved the constructor definition here and made it inline.
2236
2237         * dom/Document.cpp:
2238         (WebCore::Document::removeAllEventListenersFromAllNodes): Iterate the document element and
2239         its contents only to avoid the document type node. This allows us to remove the virtual
2240         function call to isEventTargetNode from the loop.
2241         (WebCore::Document::setCSSTarget): Changed argument to be an Element rather than Node.
2242
2243         * dom/Document.h: Changed CSS target to be an Element rather than a Node. Renamed
2244         getCSSTarget to cssTarget.
2245
2246         * dom/EventTargetNode.cpp:
2247         (WebCore::EventTargetNode::removeAllEventListenersSlowCase): Renamed and turned the
2248         rare data check into an assertion.
2249
2250         * dom/EventTargetNode.h: Made the fast case of removeAllEventListeners be inline.
2251         Also moved the constructor definition here and made it inline. And added toEventTargetNode,
2252         matching the design of the render tree checked casts. Later we can migrate all callers
2253         from EventTargetNodeCast to toEventTargetNode.
2254
2255         * dom/NamedAttrMap.cpp:
2256         (WebCore::NamedAttrMap::detachAttributesFromElement): Added. Factored out from
2257         clearAttributes, so we could use this loop in cases where we're not clearing the attributes.
2258         (WebCore::NamedAttrMap::~NamedAttrMap): Call detachAttributesFromElement instead of
2259         clearAttributes here.
2260         (WebCore::NamedAttrMap::clearAttributes): Call detachAttributesFromElement here.
2261         (WebCore::NamedAttrMap::detachFromElement): Call detachAttributesFromElement instead of
2262         clearAttributes. We don't need to clear the attributes array just because the element is
2263         going away, so don't.
2264         (WebCore::NamedAttrMap::virtualLength): Added.
2265
2266         * dom/NamedAttrMap.h: Made all the virtual functions inherited from NamedNodeMap be private.
2267         These are all unnecessarily inefficient for use outside the DOM. Changed length to be a
2268         non-virtual function. This was a fairly hot function.
2269
2270         * dom/NamedMappedAttrMap.cpp:
2271         (WebCore::NamedMappedAttrMap::setClass): Changed to use element() function now that the
2272         m_element data member is private.
2273
2274         * dom/NamedMappedAttrMap.h: Made a few functions private. Made the
2275         hasMappedAttributes function non-virtual.
2276
2277         * dom/NamedNodeMap.h: Made length a non-virtual inline function that calls a virtual
2278         function, name virtualLength. This lets NamedAttrMap::length be a non-virtual function.
2279
2280         * dom/Node.cpp:
2281         (WebCore::Node::insertedIntoDocument): Removed call to insertedIntoTree, since it's
2282         only non-empty in subclasses of ContainerNode.
2283         (WebCore::Node::removedFromDocument): Ditto. Also removed setCSSTarget. Since a CSS
2284         target has to be an Element, this can be moved down to ContainerNode (or it could be
2285         moved down to Element for that matter).
2286
2287         * dom/QualifiedName.cpp:
2288         (WebCore::QualifiedName::QualifiedName): Removed double initialization of m_impl.
2289
2290         * dom/QualifiedName.h: Moved the destructor, copy constructor, assignment operator, and
2291         setPrefix function definitions into the header and made them inline.
2292
2293         * html/HTMLAreaElement.cpp:
2294         (WebCore::HTMLAreaElement::mapMouseEvent): Updated since the stored region is now
2295         an OwnPtr.
2296         (WebCore::HTMLAreaElement::accessKey): Use AtomicString.
2297         (WebCore::HTMLAreaElement::setAccessKey): Ditto.
2298         (WebCore::HTMLAreaElement::alt): Ditto.
2299         (WebCore::HTMLAreaElement::setAlt): Ditto.
2300         (WebCore::HTMLAreaElement::coords): Ditto.
2301         (WebCore::HTMLAreaElement::setCoords): Ditto.
2302         (WebCore::HTMLAreaElement::setHref): Ditto.
2303         (WebCore::HTMLAreaElement::shape): Ditto.
2304         (WebCore::HTMLAreaElement::setShape): Ditto.
2305         (WebCore::HTMLAreaElement::setTarget): Ditto.
2306
2307         * html/HTMLAreaElement.h: Use AtomicString in the getter and setter DOM operations.
2308         Change the region data member to be an OwnPtr<Path> instead of a Path to optimize
2309         the common case where an area element is parsed but never hit-tested. This could
2310         also have been done by changing the Path class's null case to be more efficient,
2311         but this seems fine.
2312
2313         * html/HTMLViewSourceDocument.cpp:
2314         (WebCore::HTMLViewSourceDocument::createContainingTable): Use addAttribute instead
2315         of insertAttribute.
2316         (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Ditto.
2317         (WebCore::HTMLViewSourceDocument::addLine): Ditto.
2318         (WebCore::HTMLViewSourceDocument::addLink): Ditto.
2319
2320         * loader/FrameLoader.cpp:
2321         (WebCore::FrameLoader::gotoAnchor): Use cssTarget under its new name instead
2322         of its old name getCSSTarget.
2323
2324         * platform/graphics/GlyphWidthMap.cpp:
2325         (WebCore::GlyphWidthMap::locatePageSlowCase): Refactored from locatePage.
2326
2327         * platform/graphics/GlyphWidthMap.h: Made most of this class inline.
2328         Changed m_pages to use OwnPtr.
2329
2330         * platform/text/PlatformString.h: Remove include no longer needed since
2331         StringImpl.h includes it.
2332
2333         * platform/text/StringImpl.cpp:
2334         (WebCore::StringImpl::createStrippingNullCharactersSlowCase): Refactored
2335         from createStrippingNullCharacters.
2336         * platform/text/StringImpl.h: Moved the definition of
2337         createStrippingNullCharacters here and made it inline.
2338
2339         * rendering/RenderObject.cpp:
2340         (WebCore::RenderObject::firstLineStyleSlowCase): Refactored from
2341         firstLineStyle.
2342
2343         * rendering/RenderObject.h: Moved the definition of the firstLineStyle
2344         function here and made it inline. Moved the definition of the
2345         documentBeingDestroyed function here and made it inline.
2346
2347         * svg/SVGSVGElement.cpp:
2348         (WebCore::SVGSVGElement::getCTM): Use getAttributeItem instead of
2349         getNamedItem here since it accomplishes the same thing but is more efficient.
2350         (WebCore::SVGSVGElement::getScreenCTM): Ditto.
2351         * svg/SVGStyledElement.cpp:
2352         (WebCore::SVGStyledElement::getPresentationAttribute): Ditto.
2353
2354         * xml/XPathFunctions.cpp:
2355         (WebCore::XPath::FunLang::evaluate): Use getAttributeItem instead of
2356         getNamedItemNS.
2357
2358         * xml/XPathStep.cpp:
2359         (WebCore::XPath::Step::nodesInAxis): Use attributeItem instead of item here.
2360
2361 2009-02-02  Holger Hans Peter Freyther  <zecke@selfish.org>
2362
2363         Reviewed by Darin Adler.
2364
2365         Move Frame::forceLayout, Frame::adjustPageHeight and Frame::forceLayoutWithPageWidthRange to FrameView
2366
2367         https://bugs.webkit.org/show_bug.cgi?id=23428
2368
2369         FrameView::forceLayout could be killed but the comment might
2370         contain a value over the the plain FrameView::layout...
2371
2372         Adjust the WebCore/WebKit consumers of these methods.
2373
2374         * WebCore.base.exp:
2375         * page/Frame.cpp:
2376         (WebCore::Frame::setPrinting):
2377         * page/Frame.h:
2378         * page/FrameView.cpp:
2379         (WebCore::FrameView::forceLayout):
2380         (WebCore::FrameView::forceLayoutWithPageWidthRange):
2381         (WebCore::FrameView::adjustPageHeight):
2382         * page/FrameView.h:
2383         * page/PrintContext.cpp:
2384         (WebCore::PrintContext::computePageRects):
2385
2386 2009-02-01  Dan Bernstein  <mitz@apple.com>
2387
2388         Reviewed by John Sullivan.
2389
2390         - fix <rdar://problem/6546625> REGRESSION (r40432): iframes added to global history at haaretz.co.il
2391
2392         Fixes http/tests/navigation/multiple-back-forward-entries.html
2393
2394         r40432 added a parameter to FrameLoader::scheduleLocationChange() and
2395         failed to update all call sites.
2396
2397         * bindings/js/JSDOMWindowBase.cpp:
2398         (WebCore::createWindow): Pass the lockBackForwardHistory parameter,
2399         giving it the same value as the lockHistory parameter.
2400         (windowProtoFuncOpen): Ditto.
2401         * bindings/js/JSDOMWindowCustom.cpp:
2402         (WebCore::JSDOMWindow::setLocation): Ditto.
2403         * bindings/js/JSDocumentCustom.cpp:
2404         (WebCore::JSDocument::setLocation): Ditto.
2405         * loader/FrameLoader.cpp:
2406         (WebCore::FrameLoader::requestFrame): Ditto.
2407
2408 2009-01-31  Dan Bernstein  <mitz@apple.com>
2409
2410         Reviewed by Oliver Hunt.
2411
2412         - fix <rdar://problem/6546549> Eliminate some RenderText::width() overhead from findNextLineBreak()
2413
2414         On the PLT, this results in 0.36x the number of virtual function calls
2415         to RenderText::width() and 0.69x the number of calls to
2416         Font::isFixedPitch(), but makes 1.0004x the number of calls to
2417         Font::width().
2418
2419         * rendering/RenderText.cpp:
2420         (WebCore::RenderText::width): Replaced bounds checks on 'from' and 'len'
2421         with an assertion.
2422         * rendering/bidi.cpp:
2423         (WebCore::textWidth): Added this inlined helper function which calls
2424         Font::width() directly in the non-fixed-pitch, non-full-range case, and
2425         otherwise calls RenderText::width().
2426         (WebCore::RenderBlock::findNextLineBreak): Cache whether the font has
2427         fixed pitch (in which case RenderText::width() will be called in order
2428         to take advantage of the widthFromCache() optimization for fixed-pitch
2429         fonts). Replaced all calls to RenderText::width() with calls to the
2430         textWidth() helper function.
2431
2432 2009-01-31  David Hyatt  <hyatt@apple.com>
2433
2434         Inline all of the setNeedsLayout method and its associated functions.  Also inline setChildNeedsLayout
2435         and setNeedsPositionedMovementLayout.
2436
2437         Reviewed by Dan Bernstein
2438
2439         * rendering/RenderObject.cpp:
2440         (WebCore::RenderObject::setLayerNeedsFullRepaint):
2441         * rendering/RenderObject.h:
2442         (WebCore::RenderObject::setNeedsLayout):
2443         (WebCore::RenderObject::setChildNeedsLayout):
2444         (WebCore::RenderObject::setNeedsPositionedMovementLayout):
2445         (WebCore::objectIsRelayoutBoundary):
2446         (WebCore::RenderObject::markContainingBlocksForLayout):
2447
2448 2009-01-31  Darin Adler  <darin@apple.com>
2449
2450         Fix Mac build.
2451
2452         * loader/FrameLoader.cpp: Moved FrameLoaderClient::hasHTMLView in here.
2453         We need it to not be an inline. Sadly, FrameLoaderClient.cpp was prematurely
2454         deleted and I don't want to bring it back just to fix the build.
2455
2456         * loader/FrameLoaderClient.h: Rearrange virtual functions and corrected
2457         a possibly-confusing comment.
2458
2459 2009-01-31  Adam Treat  <adam.treat@torchmobile.com>
2460
2461         Reviewed by David Hyatt.
2462
2463         https://bugs.webkit.org/show_bug.cgi?id=23664
2464         Remove unused dead code from RenderTable class.  The dead code includes
2465         two enums and the associated member variables as well as one getter function.
2466
2467         * rendering/RenderTable.cpp:
2468         (WebCore::RenderTable::RenderTable):
2469         * rendering/RenderTable.h:
2470
2471 2009-01-31  David Hyatt  <hyatt@apple.com>
2472
2473         More removal of code from RenderContainer.  Move removeLeftoverAnonymousBlock down into RenderBlock.
2474         Move destroyLeftoverChildren into the RenderObjectChildList.  Convert all containers to use the
2475         RenderObjectChildList.
2476
2477         Reviewed by Sam Weinig
2478
2479         * WebCore.xcodeproj/project.pbxproj:
2480         * rendering/RenderBlock.cpp:
2481         (WebCore::RenderBlock::destroy):
2482         (WebCore::RenderBlock::addChild):
2483         (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
2484         (WebCore::RenderBlock::layoutPositionedObjects):
2485         (WebCore::RenderBlock::childBecameNonInline):
2486         * rendering/RenderBlock.h:
2487         * rendering/RenderBox.cpp:
2488         (WebCore::RenderBox::layout):
2489         * rendering/RenderBox.h:
2490         (WebCore::RenderBox::firstChildBox):
2491         (WebCore::RenderBox::lastChildBox):
2492         * rendering/RenderContainer.cpp:
2493         (WebCore::RenderContainer::addChild):
2494         (WebCore::RenderContainer::removeChildNode):
2495         (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
2496         (WebCore::RenderContainer::appendChildNode):
2497         (WebCore::RenderContainer::insertChildNode):
2498         (WebCore::RenderContainer::positionForCoordinates):
2499         (WebCore::RenderContainer::addLineBoxRects):
2500         (WebCore::RenderContainer::collectAbsoluteLineBoxQuads):
2501         * rendering/RenderContainer.h:
2502         (WebCore::RenderContainer::virtualChildren):
2503         (WebCore::RenderContainer::children):
2504         * rendering/RenderInline.cpp:
2505         (WebCore::RenderInline::destroy):
2506         * rendering/RenderInline.h:
2507         (WebCore::RenderInline::layout):
2508         * rendering/RenderMedia.cpp:
2509         (WebCore::RenderMedia::destroy):
2510         (WebCore::RenderMedia::children):
2511         * rendering/RenderMedia.h:
2512         (WebCore::RenderMedia::virtualChildren):
2513         * rendering/RenderObject.cpp:
2514         (WebCore::RenderObject::destroy):
2515         (WebCore::RenderObject::layout):
2516         * rendering/RenderObject.h:
2517         (WebCore::RenderObject::firstChild):
2518         (WebCore::RenderObject::lastChild):
2519         (WebCore::RenderObject::virtualChildren):
2520         (WebCore::RenderObject::canHaveChildren):
2521         * rendering/RenderObjectChildList.cpp: Added.
2522         (WebCore::RenderObjectChildList::destroyLeftoverChildren):
2523         * rendering/RenderObjectChildList.h:
2524         * rendering/RenderReplaced.h:
2525         (WebCore::RenderReplaced::canHaveChildren):
2526         * rendering/RenderSVGContainer.cpp:
2527         (WebCore::RenderSVGContainer::RenderSVGContainer):
2528         (WebCore::RenderSVGContainer::destroy):
2529         (WebCore::RenderSVGContainer::removeChildNode):
2530         (WebCore::RenderSVGContainer::appendChildNode):
2531         (WebCore::RenderSVGContainer::insertChildNode):
2532         * rendering/RenderSVGContainer.h:
2533         (WebCore::RenderSVGContainer::virtualChildren):
2534         (WebCore::RenderSVGContainer::children):
2535
2536 2009-01-31  David Hyatt  <hyatt@apple.com>
2537
2538         Fix for https://bugs.webkit.org/show_bug.cgi?id=11363
2539         
2540         Remove the hacks in table code around the DeleteButtonController and fix tables so that positioned children don't get wrapped in anonymous objects.
2541         With the removal of a non-positioned DeleteButtonController renderer, table layout can be tightened up to only lay out table sections.  Table section
2542         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
2543         be properly ignored.
2544
2545         Reviewed by Oliver Hunt
2546
2547         * editing/DeleteButtonController.cpp:
2548         (WebCore::DeleteButtonController::createDeletionUI):
2549         * rendering/RenderTable.cpp:
2550         (WebCore::RenderTable::addChild):
2551         (WebCore::RenderTable::layout):
2552         * rendering/RenderTableSection.cpp:
2553         (WebCore::RenderTableSection::layout):
2554         * rendering/RenderTableSection.h:
2555
2556 2009-01-31  Adam Treat  <adam.treat@torchmobile.com>
2557
2558         Reviewed by Darin Adler.
2559
2560         https://bugs.webkit.org/show_bug.cgi?id=23663
2561         Add a void toRenderBox() method which catches unnecessary casts at compile
2562         time and also fix the four cases where this was happening.
2563
2564         * rendering/RenderBlock.cpp:
2565         (WebCore::RenderBlock::determineHorizontalPosition):
2566         * rendering/RenderBox.h:
2567         * rendering/RenderFlexibleBox.cpp:
2568         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
2569         * rendering/RenderInline.cpp:
2570         (WebCore::RenderInline::updateHitTestResult):
2571         * rendering/RenderLayer.cpp:
2572         (WebCore::RenderLayer::updateLayerPosition):
2573
2574 2009-01-30  Adam Barth  <abarth@webkit.org>
2575
2576         Reviewed by Sam Weinig.
2577
2578         Add a pref to disable web security.
2579
2580         * WebCore.base.exp:
2581         * dom/Document.cpp:
2582         (WebCore::Document::initSecurityContext):
2583         * page/SecurityOrigin.cpp:
2584         (WebCore::SecurityOrigin::SecurityOrigin):
2585         (WebCore::SecurityOrigin::canAccess):
2586         (WebCore::SecurityOrigin::canRequest):
2587         (WebCore::SecurityOrigin::grantUniversalAccess):
2588         * page/SecurityOrigin.h:
2589         * page/Settings.cpp:
2590         (WebCore::Settings::Settings):
2591         (WebCore::Settings::setWebSecurityEnabled):
2592         * page/Settings.h:
2593         (WebCore::Settings::isWebSecurityEnabled):
2594
2595 2009-01-30  Holger Hans Peter Freyther  <zecke@selfish.org>
2596
2597         Build fix.
2598
2599         Move the inline virtual destructor after a non-inline virtual
2600         function so that the symbol for the vtable is not marked as a
2601         weakly exported symbol.
2602
2603         This trick was previously used at revision 36122 in JSObject.h
2604
2605         * loader/FrameLoaderClient.h:
2606         (WebCore::FrameLoaderClient::~FrameLoaderClient):
2607
2608 2009-01-30  Oliver Hunt  <oliver@apple.com>
2609
2610         Reviewed by Stephanie Lewis
2611
2612         Inline SimpleFontData::widthForGlyph for a minor page load improvement.
2613
2614         * platform/graphics/SimpleFontData.cpp:
2615         * platform/graphics/SimpleFontData.h:
2616         (WebCore::SimpleFontData::widthForGlyph):
2617
2618 2009-01-30  Holger Hans Peter Freyther  <zecke@selfish.org>
2619
2620         Build fix for WX and maybe even Windows.
2621
2622         * WebCore.vcproj/WebCore.vcproj:
2623         * WebCoreSources.bkl:
2624
2625 2009-01-30  Holger Hans Peter Freyther  <zecke@selfish.org>
2626
2627         Reviewed by Darin Adler.
2628
2629         Move Frame::sendResizeEvent and Frame::sendScrollEvent to EventHandler
2630
2631         Carry out the move and catch up in two call sites.
2632
2633         * WebCore.base.exp:
2634         * page/EventHandler.cpp:
2635         (WebCore::EventHandler::sendResizeEvent):
2636         (WebCore::EventHandler::sendScrollEvent):
2637         * page/EventHandler.h:
2638         * page/Frame.cpp:
2639         * page/Frame.h:
2640         * page/FrameView.cpp:
2641         (WebCore::FrameView::performPostLayoutTasks):
2642         (WebCore::FrameView::valueChanged):
2643
2644 2009-01-30  Holger Hans Peter Freyther  <zecke@selfish.org>
2645
2646         Reviewed by Darin Adler.
2647
2648         Move Frame::isFrameSet to Document::isFrameSet
2649
2650         Changed the FrameLoader callsite. I assume that as this
2651         point m_frame.document() might return a null pointer. Change
2652         the condition to either not having a document or not having a
2653         frame set. This should be semantically equivalent to the
2654         old code.
2655
2656         Make Document::body() const to be able to call it from within
2657         Document::isFrameSet. Leave the isHTMLDocument() check as this
2658         is a stronger condition than simply having a HTMLElement in the
2659         DOM.
2660
2661         * WebCore.base.exp:
2662         * dom/Document.cpp:
2663         (WebCore::Document::isFrameSet):
2664         (WebCore::Document::body):
2665         * dom/Document.h:
2666         * loader/FrameLoader.cpp:
2667         (WebCore::FrameLoader::shouldScrollToAnchor):
2668         * loader/archive/cf/LegacyWebArchive.cpp:
2669         (WebCore::LegacyWebArchive::createFromSelection):
2670         * page/Frame.cpp:
2671         * page/Frame.h:
2672
2673 2009-01-30  Aurelian Maga  <aurelianmaga@yahoo.com>
2674
2675         Reviewed by Holger Freyther.
2676
2677         [GTK] Logic fixes and build fixes
2678  
2679         https://bugs.webkit.org/show_bug.cgi?id=22022
2680
2681         Catch up with the internal GeoLocation API and fix the logic of
2682         the previous version.
2683
2684         * platform/gtk/GeolocationServiceGtk.cpp:
2685         (WebCore::GeolocationServiceGtk::startUpdating):
2686         (WebCore::GeolocationServiceGtk::updateLocationInformation):
2687         (WebCore::GeolocationServiceGtk::position_changed):
2688
2689 2009-01-30  Holger Hans Peter Freyther  <zecke@selfish.org>
2690
2691         Reviewed by Nikolas Zimmermann.
2692
2693         [GTK] Implement GeolocationService using the Geoclue library
2694
2695         https://bugs.webkit.org/show_bug.cgi?id=22022
2696
2697         Untested implementation of the GeolocationService using the geoclue
2698         library. Velocity handling is completely missing and the accuracy
2699         handling might be wrong.
2700
2701         * platform/gtk/GeolocationServiceGtk.cpp:
2702         (WTF::GeoclueAccuracy):
2703         (WebCore::GeolocationServiceGtk::GeolocationServiceGtk):
2704         (WebCore::GeolocationServiceGtk::~GeolocationServiceGtk):
2705         (WebCore::GeolocationServiceGtk::startUpdating):
2706         (WebCore::GeolocationServiceGtk::stopUpdating):
2707         (WebCore::GeolocationServiceGtk::suspend):
2708         (WebCore::GeolocationServiceGtk::resume):
2709         (WebCore::GeolocationServiceGtk::lastPosition):
2710         (WebCore::GeolocationServiceGtk::lastError):
2711         (WebCore::GeolocationServiceGtk::updateLocationInformation):
2712         (WebCore::GeolocationServiceGtk::updatePosition):
2713         (WebCore::GeolocationServiceGtk::position_changed):
2714         (WebCore::GeolocationServiceGtk::setError):
2715         * platform/gtk/GeolocationServiceGtk.h:
2716
2717 2009-01-30  Mark Rowe  <mrowe@apple.com>
2718
2719         Build fix.  Declare preferredSize as static.
2720
2721         * platform/text/cf/StringImplCF.cpp:
2722         (WebCore::StringWrapperCFAllocator::preferredSize):
2723
2724 2009-01-30  Darin Adler  <darin@apple.com>
2725
2726         Reviewed by Mark Rowe.
2727
2728         Bug 23622: create CFString and NSString objects from WebCore::String without copying the characters
2729         https://bugs.webkit.org/show_bug.cgi?id=23622
2730
2731         * platform/text/cf/StringImplCF.cpp:
2732         (WebCore::StringWrapperCFAllocator::allocator): Added. Returns the allocator.
2733         (WebCore::StringWrapperCFAllocator::retain): Added. Callback for allocator.
2734         (WebCore::StringWrapperCFAllocator::release): Ditto.
2735         (WebCore::StringWrapperCFAllocator::copyDescription): Ditto.
2736         (WebCore::StringWrapperCFAllocator::allocate): Ditto.
2737         (WebCore::StringWrapperCFAllocator::reallocate): Ditto.
2738         (WebCore::StringWrapperCFAllocator::deallocate): Ditto.
2739         (WebCore::StringWrapperCFAllocator::preferredSize): Ditto.
2740         (WebCore::StringWrapperCFAllocator::create): Added. Creates the allocator, but
2741         returns 0 if garbage collection is enabled.
2742         (WebCore::StringImpl::createCFString): Use StringWrapperCFAllocator if possible.
2743
2744         * platform/text/mac/StringImplMac.mm:
2745         (WebCore::StringImpl::operator NSString *): Use CFString and toll-free bridging,
2746         rather than using NSString directly. This lets NSString benefit from the above.
2747
2748 2009-01-30  Darin Adler  <darin@apple.com>
2749
2750         * page/Frame.cpp:
2751         (WebCore::Frame::createView): Fix debug build by removing get() from assert.
2752
2753 2009-01-30  Holger Hans Peter Freyther  <zecke@selfish.org>
2754
2755         Reviewed by Simon Hausmann.
2756
2757         https://bugs.webkit.org/show_bug.cgi?id=22056
2758
2759         Kill FrameLoaderClient.cpp, move the code over to Frame::createView
2760
2761         FrameLoaderClient is supposed to be an interface, move the
2762         to be shared code to Frame which is a controller and is
2763         allowed to create a FrameView.
2764
2765         * GNUmakefile.am:
2766         * WebCore.base.exp:
2767         * WebCore.pro:
2768         * WebCore.xcodeproj/project.pbxproj:
2769         * loader/FrameLoaderClient.cpp: Removed.
2770         * loader/FrameLoaderClient.h:
2771         (WebCore::FrameLoaderClient::~FrameLoaderClient):
2772         * page/Frame.cpp:
2773         (WebCore::Frame::createView):
2774         * page/Frame.h:
2775
2776 2009-01-30  Simon Fraser  <simon.fraser@apple.com>
2777
2778         Reviewed by Dave Hyatt
2779
2780         https://bugs.webkit.org/show_bug.cgi?id=23357
2781         
2782         New files to support accelerated compositing at the RenderLayer
2783         level.
2784         
2785         * WebCore.xcodeproj/project.pbxproj:
2786         New files added to project, and run through the sort script.
2787         
2788         * rendering/RenderLayerBacking.cpp: Added.
2789         * rendering/RenderLayerBacking.h: Added.
2790         New object to store compositing-related data for a single
2791         RenderLayer.
2792         
2793         * rendering/RenderLayerCompositor.cpp: Added.
2794         * rendering/RenderLayerCompositor.h: Added.
2795         Per-RenderView controller object for compositing hierarchy
2796         maintenance.
2797
2798 2009-01-30  Simon Fraser  <simon.fraser@apple.com>
2799
2800         Reviewed by Dave Hyatt
2801
2802         https://bugs.webkit.org/show_bug.cgi?id=23356
2803         
2804         Add new files related to accelerated compositing:
2805         
2806         * WebCore.xcodeproj/project.pbxproj:
2807         Add the files to the project. Also add ColorCG.cpp, for the
2808         Color(CGColorRef) constructor.
2809         
2810         * platform/graphics/GraphicsLayer.cpp: Added.
2811         * platform/graphics/GraphicsLayer.h: Added.
2812         GraphicsLayer is a platform abstraction for a hardware-backed
2813         layer.
2814         
2815         * platform/graphics/GraphicsLayerClient.h: Added.
2816         Client of GraphicsLayer, allowing GraphicsLayer to call out
2817         to WebCore code.
2818         
2819         * platform/graphics/mac/GraphicsLayerCA.h: Added.
2820         * platform/graphics/mac/GraphicsLayerCA.mm: Added.
2821         Mac Core Animation implementation of GraphicsLayer.
2822         
2823         * platform/graphics/mac/WebLayer.h: Added.
2824         * platform/graphics/mac/WebLayer.mm: Added.
2825         * platform/graphics/mac/WebTiledLayer.h: Added.
2826         * platform/graphics/mac/WebTiledLayer.mm: Added.
2827         Subclasses of CALayer and CATiledLayer -- helpers for the
2828         GraphicsLayerCA implementation.
2829
2830 2009-01-30  Geoffrey Garen  <ggaren@apple.com>
2831
2832         Reviewed by Sam Weinig.
2833
2834         Split "lockHistory" into "lockHistory" and "lockBackForwardList" in
2835         preparation for setting them differently during a redirect.
2836
2837         * WebCore.base.exp:
2838         * bindings/js/JSHTMLFormElementCustom.cpp:
2839         (WebCore::JSHTMLFormElement::submit):
2840         * bindings/js/JSLocationCustom.cpp:
2841         (WebCore::navigateIfAllowed):
2842         (WebCore::JSLocation::setHref):
2843         (WebCore::JSLocation::setProtocol):
2844         (WebCore::JSLocation::setHost):
2845         (WebCore::JSLocation::setHostname):
2846         (WebCore::JSLocation::setPort):
2847         (WebCore::JSLocation::setPathname):
2848         (WebCore::JSLocation::setSearch):
2849         (WebCore::JSLocation::setHash):
2850         (WebCore::JSLocation::replace):
2851         (WebCore::JSLocation::assign):
2852         * html/HTMLAnchorElement.cpp:
2853         (WebCore::HTMLAnchorElement::defaultEventHandler):
2854         * html/HTMLFormElement.cpp:
2855         (WebCore::HTMLFormElement::submit):
2856         * html/HTMLFormElement.h:
2857         * loader/FrameLoader.cpp:
2858         (WebCore::FormSubmission::FormSubmission):
2859         (WebCore::ScheduledRedirection::ScheduledRedirection):
2860         (WebCore::isBackForwardLoadType):
2861         (WebCore::FrameLoader::createWindow):
2862         (WebCore::FrameLoader::changeLocation):
2863         (WebCore::FrameLoader::urlSelected):
2864         (WebCore::FrameLoader::submitFormAgain):
2865         (WebCore::FrameLoader::submitForm):
2866         (WebCore::FrameLoader::restoreDocumentState):
2867         (WebCore::FrameLoader::scheduleHTTPRedirection):
2868         (WebCore::FrameLoader::scheduleLocationChange):
2869         (WebCore::FrameLoader::scheduleRefresh):
2870         (WebCore::FrameLoader::redirectionTimerFired):
2871         (WebCore::FrameLoader::loadURLIntoChildFrame):
2872         (WebCore::FrameLoader::startRedirectionTimer):
2873         (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
2874         (WebCore::FrameLoader::transitionToCommitted):
2875         (WebCore::FrameLoader::clientRedirected):
2876         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
2877         (WebCore::FrameLoader::loadItem):
2878         * loader/FrameLoader.h:
2879         * loader/FrameLoaderTypes.h:
2880         (WebCore::):
2881         * page/ContextMenuController.cpp:
2882         (WebCore::ContextMenuController::contextMenuItemSelected):
2883         * svg/SVGAElement.cpp:
2884         (WebCore::SVGAElement::defaultEventHandler):
2885
2886 2009-01-30  Sam Weinig  <sam@webkit.org>
2887
2888         Reviewed by Dan Bernstein.
2889
2890         Fix for <rdar://problem/6545095>
2891         ASSERTION FAILED: RenderBlock.h:519: !o || o->isRenderBlock()
2892
2893         Test: fast/block/float/crash-replaced-display-block.html
2894
2895         * rendering/RenderBlock.cpp:
2896         (WebCore::RenderBlock::layoutBlockChildren): Move RenderBlock only code into
2897         isRenderBlock if-statement.
2898
2899 2009-01-30  Chris Fleizach  <cfleizach@apple.com>
2900
2901         Reviewed by Oliver Hunt.
2902         
2903         Bug 23656: AX hierarchy for iFrames is incorrect
2904         https://bugs.webkit.org/show_bug.cgi?id=23656
2905
2906         The AX hierarchy when an iFrame was present was incorrect. A different scroll area was
2907         returned when going down compared to when going up.
2908
2909         * page/mac/AccessibilityObjectWrapper.mm:
2910         (convertToNSArray):
2911
2912 2009-01-30  Adam Treat  <adam.treat@torchmobile.com>
2913
2914         Fix Qt build to include new class IdentifierRep introduced in revision 40412.
2915
2916         * WebCore.pro:
2917
2918 2009-01-30  Anders Carlsson  <andersca@apple.com>
2919
2920         Reviewed by Sam Weinig.
2921
2922         Make IdentifierRep.h a private header, and add symbols needed by WebKit to WebCore.LP64.exp.
2923
2924         * WebCore.LP64.exp:
2925         * WebCore.xcodeproj/project.pbxproj:
2926
2927 2009-01-30  Sam Weinig  <sam@webkit.org>
2928
2929         Commit files I forgot to in the previous commit.
2930
2931         * page/AccessibilityRenderObject.cpp:
2932         (WebCore::AccessibilityRenderObject::layoutCount):
2933         * page/Frame.cpp:
2934         (WebCore::Frame::contentRenderer):
2935         (WebCore::Frame::forceLayoutWithPageWidthRange):
2936         * page/FrameView.cpp:
2937         (WebCore::FrameView::layout):
2938         * rendering/RenderBlock.cpp:
2939         (WebCore::RenderBlock::nodeAtPoint):
2940         * rendering/RenderObject.cpp:
2941         (WebCore::RenderObject::repaintUsingContainer):
2942         (WebCore::RenderObject::repaint):
2943         (WebCore::RenderObject::repaintRectangle):
2944         (WebCore::RenderObject::view):
2945         (WebCore::RenderObject::scheduleRelayout):
2946         (WebCore::RenderObject::maximalOutlineSize):
2947         * rendering/SVGRenderSupport.cpp:
2948         (WebCore::clampImageBufferSizeToViewport):
2949         * svg/SVGLength.cpp:
2950         (WebCore::SVGLength::PercentageOfViewport):
2951
2952 2009-01-30  Geoffrey Garen  <ggaren@apple.com>
2953
2954         Reviewed by Darin Adler.
2955         
2956         More scaffolding for redirect tracking. No behavior change yet.
2957
2958         * bindings/js/JSHTMLFormElementCustom.cpp:
2959         (WebCore::JSHTMLFormElement::submit): Added scaffolding necessary for
2960         redirect checking in a form submission through JS. (Currently, we
2961         just specify "no redirect.")
2962
2963         * bindings/js/ScriptController.h:
2964         * bindings/js/ScriptController.cpp:
2965         (WebCore::ScriptController::processingUserGesture):
2966         (WebCore::ScriptController::processingUserGestureEvent):
2967         (WebCore::ScriptController::isJavaScriptAnchorNavigation): Refactored
2968         user gesture check to make it more clear.
2969
2970         (WebCore::ScriptController::pageIsProcessingUserGesture): Added a helper
2971         for checking if there's a user gesture in any frame on the page (a more
2972         relaxed rule than our popup blocking rule, which requires the user
2973         gesture to occur in the frame that's executing JavaScript.)
2974
2975         * html/HTMLFormElement.h:
2976         * html/HTMLFormElement.cpp:
2977         (WebCore::HTMLFormElement::submit): Added scaffolding necessary for
2978         redirect checking in a form submission through the DOM. (Currently, we
2979         just specify "no redirect.")
2980
2981         * html/HTMLFormElement.idl: Made submit custom so it can participate
2982         in redirect checking.
2983
2984         * loader/FrameLoader.h:
2985         * loader/FrameLoader.cpp:
2986         (WebCore::FormSubmission::FormSubmission): Clarified some names, and
2987         added a "lockHistory" parameter to form submissions, to match other
2988         navigations.
2989
2990         (WebCore::FrameLoader::submitFormAgain):
2991         (WebCore::FrameLoader::submitForm): Use the lockHistory parameter.
2992
2993         (WebCore::FrameLoader::userGestureHint): Refactored this function for
2994         clarity, and added a FIXME for a change I was too scared to make myself.
2995         (Really, we should just get rid of this function.)
2996
2997         (WebCore::FrameLoader::loadFrameRequestWithFormAndValues): Refactored
2998         to pass a FrameLoadType to form posts, too, so they can participate in
2999         redirect tracking.
3000
3001         (WebCore::FrameLoader::loadPostRequest):
3002         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
3003         (WebCore::FrameLoader::loadItem): Use the lockHistory parameter.
3004
3005 2009-01-30  Holger Hans Peter Freyther  <zecke@selfish.org>
3006
3007         Reviewed by Mark Rowe.
3008
3009         [Gtk+] Use AccessibilityObject::stringValue for the AtkObject name
3010
3011         https://bugs.webkit.org/show_bug.cgi?id=21546
3012
3013         The API documentation at http://library.gnome.org/devel/atk/stable/AtkText.html
3014         states that: "AtkObjects whose text content is simple, unattributed, and very
3015         brief may expose that content via atk_object_get_name instead"
3016
3017         As we are currently not able to always provide a AtkTextInterface
3018         implementation this will make the whole content available to accerciser,
3019         and other tools.
3020
3021         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
3022
3023 2009-01-30  Holger Hans Peter Freyther  <zecke@selfish.org>
3024
3025         Unreviewed build fix.
3026
3027         Include string.h for strdup.
3028
3029         * bridge/IdentifierRep.h:
3030
3031 2009-01-30  Sam Weinig  <sam@webkit.org>
3032
3033         Reviewed by Dan Bernstein.
3034
3035         Add toRenderView methods for casting RenderObjects to RenderViews.  The methods will assert if the object
3036         is not a RenderView.
3037
3038         * dom/Document.cpp:
3039         (WebCore::Document::renderView):
3040         * editing/SelectionController.cpp:
3041         (WebCore::SelectionController::nodeWillBeRemoved):
3042         (WebCore::SelectionController::recomputeCaretRect):
3043         (WebCore::SelectionController::invalidateCaretRect):
3044         (WebCore::SelectionController::focusedOrActiveStateChanged):
3045         * editing/mac/SelectionControllerMac.mm:
3046         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
3047         * rendering/RenderBox.cpp:
3048         (WebCore::RenderBox::styleDidChange):
3049         (WebCore::RenderBox::repaintLayerRectsForImage):
3050         (WebCore::RenderBox::availableHeightUsing):
3051         * rendering/RenderView.h:
3052         (WebCore::toRenderView):
3053
3054 2009-01-30  Simon Fraser  <simon.fraser@apple.com>
3055
3056         Reviewed by Dave Hyatt
3057
3058         https://bugs.webkit.org/show_bug.cgi?id=23360
3059
3060         Really use the container-relative repaint rect methods
3061         for repaint during layout
3062
3063         * rendering/RenderObject.h:
3064         (WebCore::RenderObject::LayoutRepainter::LayoutRepainter):
3065
3066 2009-01-30  Anders Carlsson  <andersca@apple.com>
3067
3068         Reviewed by Darin Adler.
3069
3070         Get rid of PrivateIdentifier and use IdentifierRep instead.
3071
3072         * bridge/NP_jsobject.cpp:
3073         (_NPN_Invoke):
3074         (_NPN_GetProperty):
3075         (_NPN_SetProperty):
3076         (_NPN_RemoveProperty):
3077         (_NPN_HasProperty):
3078         (_NPN_HasMethod):
3079         * bridge/c/c_instance.cpp:
3080         (JSC::Bindings::CInstance::getPropertyNames):
3081         * bridge/c/c_utility.cpp:
3082         (JSC::Bindings::convertNPStringToUTF16):
3083         * bridge/c/c_utility.h:
3084         * bridge/npruntime.cpp:
3085         (_NPN_GetStringIdentifier):
3086         (_NPN_GetStringIdentifiers):
3087         (_NPN_GetIntIdentifier):
3088         (_NPN_IdentifierIsString):
3089         (_NPN_UTF8FromIdentifier):
3090         (_NPN_IntFromIdentifier):
3091
3092 2009-01-30  Anders Carlsson  <andersca@apple.com>
3093
3094         Reviewed by Sam Weinig and Darin Adler.
3095
3096         Make IdentifierRep a real class, add necessary class methods.
3097
3098         * bridge/IdentifierRep.cpp:
3099         (WebCore::identifierSet):
3100         Returns a set of all identifiers.
3101         
3102         (WebCore::IdentifierRep::isValid):
3103         Return whether an identifier is valid, meaning that it's present in the
3104         set of identifiers.
3105         
3106         * bridge/IdentifierRep.h:
3107         (WebCore::IdentifierRep::isString):
3108         (WebCore::IdentifierRep::number):
3109         (WebCore::IdentifierRep::string):
3110         (WebCore::IdentifierRep::IdentifierRep):
3111         (WebCore::IdentifierRep::):
3112
3113 2009-01-30  Anders Carlsson  <andersca@apple.com>
3114
3115         Reviewed by Sam Weinig.
3116
3117         Add IdentifierRep which will be used by both plug-in implementations.
3118
3119         * GNUmakefile.am:
3120         * WebCore.vcproj/WebCore.vcproj:
3121         * WebCore.xcodeproj/project.pbxproj:
3122         * bridge/IdentifierRep.cpp: Added.
3123         (WebCore::IdentifierRep::IdentifierRep):
3124         (WebCore::IdentifierRep::):
3125         (WebCore::intIdentifierMap):
3126         (WebCore::identifierRep):
3127         (WebCore::stringIdentifierMap):
3128         * bridge/IdentifierRep.h: Added.
3129         * bridge/c/c_utility.h:
3130         * platform/text/PlatformString.h:
3131         * platform/text/String.cpp:
3132         (WebCore::String::fromUTF8WithLatin1Fallback):
3133
3134 2009-01-30  Sam Weinig  <sam@webkit.org>
3135
3136         Reviewed by David Hyatt.
3137
3138         Add toRenderInline methods for casting RenderObjects to RenderInlines.  The methods will assert if the object
3139         is not a RenderInline.
3140
3141         * rendering/InlineFlowBox.cpp:
3142         (WebCore::InlineFlowBox::removeLineBoxFromRenderObject):
3143         (WebCore::InlineFlowBox::extractLineBoxFromRenderObject):
3144         (WebCore::InlineFlowBox::attachLineBoxToRenderObject):
3145         (WebCore::InlineFlowBox::rendererLineBoxes):
3146         (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
3147         (WebCore::InlineFlowBox::paint):
3148         * rendering/LayoutState.cpp:
3149         (WebCore::LayoutState::LayoutState):
3150         * rendering/RenderBlock.cpp:
3151         (WebCore::RenderBlock::paintObject):
3152         (WebCore::RenderBlock::addFocusRingRects):
3153         * rendering/RenderBox.cpp:
3154         (WebCore::RenderBox::offsetFromContainer):
3155         (WebCore::RenderBox::computeRectForRepaint):
3156         (WebCore::RenderBox::containingBlockWidthForPositioned):
3157         (WebCore::RenderBox::containingBlockHeightForPositioned):
3158         (WebCore::RenderBox::calcAbsoluteHorizontalValues):
3159         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
3160         * rendering/RenderContainer.cpp:
3161         (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
3162         * rendering/RenderInline.cpp:
3163         (WebCore::RenderInline::inlineContinuation):
3164         (WebCore::nextContinuation):
3165         (WebCore::RenderInline::splitInlines):
3166         * rendering/RenderInline.h:
3167         (WebCore::toRenderInline):
3168         * rendering/RenderLayer.cpp:
3169         (WebCore::RenderLayer::updateLayerPosition):
3170         (WebCore::RenderLayer::boundingBox):
3171         * rendering/RenderLineBoxList.cpp:
3172         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
3173         * rendering/RenderText.h:
3174         * rendering/RenderTreeAsText.cpp:
3175         (WebCore::operator<<):
3176         * rendering/bidi.cpp:
3177         (WebCore::RenderBlock::createLineBoxes):
3178         (WebCore::RenderBlock::layoutInlineChildren):
3179
3180 2009-01-30  Darin Fisher  <darin@chromium.org>
3181
3182         Reviewed by Eric Seidel.
3183
3184         https://bugs.webkit.org/show_bug.cgi?id=23647
3185         Fix PLATFORM(SKIA)'s ImageSource::clear method to match other ports
3186
3187         * platform/graphics/skia/ImageSourceSkia.cpp:
3188         (WebCore::ImageSource::clear):
3189
3190 2009-01-30  David Hyatt  <hyatt@apple.com>
3191
3192         Add toRenderBlock methods for casting RenderObjects to RenderBlocks.  The methods will assert if the object
3193         is not a RenderBlock.  Also add a toRenderBlock method that takes a RenderBlock but returns void and that
3194         is unimplemented.  This method will catch anyone trying to do a cast when the object is already a RenderBlock.
3195
3196         Making this change caught a bad cast in RenderBlock::layoutBlockChildren, so that is also fixed by this
3197         patch with a containsFloats() check.
3198
3199         Reviewed by Darin Adler
3200
3201         * dom/PositionIterator.cpp:
3202         (WebCore::PositionIterator::isCandidate):
3203         * editing/CompositeEditCommand.cpp:
3204         (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
3205         * editing/Editor.cpp:
3206         (WebCore::Editor::hasBidiSelection):
3207         * page/AccessibilityRenderObject.cpp:
3208         (WebCore::AccessibilityRenderObject::anchorElement):
3209         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
3210         * rendering/RenderBlock.cpp:
3211         (WebCore::RenderBlock::styleWillChange):
3212         (WebCore::RenderBlock::removeChild):
3213         (WebCore::RenderBlock::layoutBlock):
3214         (WebCore::RenderBlock::collapseMargins):
3215         (WebCore::RenderBlock::clearFloatsIfNeeded):
3216         (WebCore::RenderBlock::layoutBlockChildren):
3217         (WebCore::RenderBlock::fillBlockSelectionGaps):
3218         (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
3219         (WebCore::RenderBlock::firstLineBlock):
3220         (WebCore::getLineAtIndex):
3221         (WebCore::getHeightForLineCount):
3222         (WebCore::RenderBlock::lineCount):
3223         (WebCore::RenderBlock::adjustForBorderFit):
3224         (WebCore::RenderBlock::clearTruncation):
3225         * rendering/RenderBlock.h:
3226         (WebCore::toRenderBlock):
3227         * rendering/RenderBox.cpp:
3228         (WebCore::RenderBox::offsetFromContainer):
3229         (WebCore::RenderBox::computeRectForRepaint):
3230         (WebCore::RenderBox::calcReplacedHeightUsing):
3231         * rendering/RenderFlexibleBox.cpp:
3232         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
3233         (WebCore::RenderFlexibleBox::layoutVerticalBox):
3234         * rendering/RenderInline.cpp:
3235         (WebCore::RenderInline::inlineContinuation):
3236         (WebCore::nextContinuation):
3237         (WebCore::RenderInline::positionForCoordinates):
3238         * rendering/RenderLayer.cpp:
3239         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
3240         * rendering/RenderListItem.cpp:
3241         (WebCore::getParentOfFirstLineBox):
3242         (WebCore::RenderListItem::positionListMarker):
3243         * rendering/RenderObject.cpp:
3244         (WebCore::RenderObject::containingBlock):
3245         (WebCore::RenderObject::computeRectForRepaint):
3246         (WebCore::RenderObject::removeFromObjectLists):
3247         (WebCore::RenderObject::getTextDecorationColors):
3248         * rendering/RenderTable.cpp:
3249         (WebCore::RenderTable::addChild):
3250         (WebCore::RenderTable::recalcSections):
3251         * rendering/RenderTextControl.cpp:
3252         (WebCore::RenderTextControl::styleDidChange):
3253         * rendering/RenderTextControlSingleLine.cpp:
3254         (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
3255         * rendering/RootInlineBox.cpp:
3256         (WebCore::RootInlineBox::block):
3257         * rendering/bidi.cpp:
3258         (WebCore::RenderBlock::createLineBoxes):
3259
3260 2009-01-30  Brady Eidson  <beidson@apple.com>
3261
3262         Reviewed by Sam Weinig
3263
3264         - Let CachedFrame handle the suspending/resuming of active DOM objects itself instead of
3265           relying on some outside force.
3266         - Clear the previous history item inside FrameLoader instead of relying on multiple
3267           FrameLoaderClients to do it.
3268
3269         * history/CachedFrame.cpp:
3270         (WebCore::CachedFrame::CachedFrame): Suspend active DOM objects here.
3271         (WebCore::CachedFrame::restore): Resume those DOM objects here.
3272         * history/CachedFrame.h:
3273         (WebCore::CachedFrame::domWindow):
3274
3275         * loader/FrameLoader.cpp:
3276         (WebCore::FrameLoader::commitProvisionalLoad): Let CachedFrame  creation handle the 
3277           suspending of active DOM objects.
3278         (WebCore::FrameLoader::open): Let CachedFrame::restore() handle resuming those DOM objects.
3279         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Call frameLoadCompleted() instead
3280           of performing a client call by itself.
3281         (WebCore::FrameLoader::frameLoadCompleted):
3282
3283 2009-01-30  Alexey Proskuryakov  <ap@webkit.org>
3284
3285         Reviewed by Darin Adler.
3286
3287         <rdar://problem/6448823> Application Cache is kept after a private browsing session
3288
3289         * loader/appcache/ApplicationCacheGroup.cpp:
3290         (WebCore::ApplicationCacheGroup::selectCache):
3291         (WebCore::ApplicationCacheGroup::update):
3292         Cache update will not be started if private browsing is enabled. Existing cache version
3293         from disk database will be used.
3294
3295         * loader/appcache/ApplicationCacheGroup.h: Made postListenerTask() static, in order to call
3296         it when refusing to update from selectCache().
3297
3298         * loader/appcache/ApplicationCache.cpp:
3299         (WebCore::ApplicationCache::addDynamicEntry):
3300         (WebCore::ApplicationCache::removeDynamicEntry):
3301         Added reminders about private browsing to unimplemented methods.
3302
3303 2009-01-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3304
3305         Reviewed by Simon Hausmann.
3306
3307         Bug 23580: GNU mode RVCT compilation support
3308         <https://bugs.webkit.org/show_bug.cgi?id=23580>
3309
3310         * html/PreloadScanner.cpp: Use COMPILER(GCC) instead of __GNUC__.
3311
3312 2009-01-30  David Levin  <levin@chromium.org>
3313
3314         Reviewed by Alexey Proskuryakov.
3315
3316         Bug 23616: Various "template helpers" should be consolidated from isolated files in JavaScriptCore.
3317         <https://bugs.webkit.org/show_bug.cgi?id=23616>
3318
3319         Added forwarding header.
3320
3321         * ForwardingHeaders/wtf/TypeTraits.h: Added.
3322
3323 2009-01-30  David Levin  <levin@chromium.org>
3324
3325         Reviewed by Alexey Proskuryakov.
3326
3327         Bug 23599: ResourceError needs to be copyable for use in another thread.
3328         <https://bugs.webkit.org/show_bug.cgi?id=23599>
3329
3330         Add ResourceErrorBase::copy method.  (Not yet used.)
3331
3332         * platform/network/ResourceErrorBase.cpp:
3333         (WebCore::ResourceErrorBase::copy):
3334         * platform/network/ResourceErrorBase.h:
3335
3336 2009-01-29  Stephanie Lewis <slewis@apple.com>
3337
3338         RS by Oliver Hunt.
3339
3340         Update the order files.
3341
3342         * WebCore.order:
3343
3344 2009-01-29  Dmitry Titov  <dimich@chromium.org>
3345
3346         Reviewed by Darin Adler.
3347
3348         https://bugs.webkit.org/show_bug.cgi?id=23488
3349
3350         Make TimerBase thread-aware (for Workers).
3351         Added new class ThreadTimers - it keeps a heap of all timers for a thread (previously kept in a static global).
3352         Pointer to instance of ThreadTimers is stored in GlobalThreadData.
3353         Most static methods of TimerBase went to ThreadTimers.
3354
3355         The TimerBase functionality did not change (it maintains the timer heap which computes the nearest firing).
3356
3357         Added new abstract class SharedTimer, so worker threads can provide their own implementation (will be implemented on WorkerRunLoop).
3358
3359         * GNUmakefile.am:
3360         * WebCore.pro:
3361         * WebCore.scons:
3362         * WebCore.vcproj/WebCore.vcproj:
3363         * WebCore.xcodeproj/project.pbxproj:
3364         * WebCoreSources.bkl:
3365         Added new ThreadTimers.cpp to build files.
3366
3367         * platform/SharedTimer.h:
3368         (WebCore::SharedTimer::~SharedTimer):
3369         (WebCore::MainThreadSharedTimer::setFiredFunction):
3370         (WebCore::MainThreadSharedTimer::setFireTime):
3371         (WebCore::MainThreadSharedTimer::stop):
3372         Added abstract SharedTimer and MainThreadSharedTimer which redirects to the existing port-supplied functions.
3373
3374         * platform/ThreadGlobalData.cpp:
3375         (WebCore::ThreadGlobalData::ThreadGlobalData):
3376         (WebCore::ThreadGlobalData::~ThreadGlobalData):
3377         * platform/ThreadGlobalData.h:
3378         (WebCore::ThreadGlobalData::threadTimers):
3379         Added ThreadTimers to ThreadGlobalData.
3380
3381         * platform/ThreadTimers.cpp: Added.
3382         (WebCore::mainThreadSharedTimer):
3383         Static getter for a MainThreadSharedTimer singleton.
3384
3385         (WebCore::ThreadTimers::ThreadTimers):
3386         (WebCore::ThreadTimers::setSharedTimer):
3387         (WebCore::ThreadTimers::updateSharedTimer):
3388         (WebCore::ThreadTimers::collectFiringTimers):
3389         (WebCore::ThreadTimers::fireTimers):
3390         (WebCore::ThreadTimers::sharedTimerFired):
3391         (WebCore::ThreadTimers::sharedTimerFiredInternal):
3392         (WebCore::ThreadTimers::fireTimersInNestedEventLoop):
3393         ThreadTimers implementation. Most of the code is moved from previous static functions on TimerBase.
3394         Need a new class so each thread may get ts own copy of the timer heap.
3395
3396         * platform/ThreadTimers.h: Added.
3397         (WebCore::ThreadTimers::timerHeap):
3398         (WebCore::ThreadTimers::timersReadyToFire):
3399
3400         * platform/Timer.cpp:
3401         (WebCore::timerHeap):
3402         (WebCore::timersReadyToFire):
3403         (WebCore::TimerHeapElement::TimerHeapElement):
3404         (WebCore::TimerHeapElement::checkConsistency):
3405         (WebCore::TimerHeapElement::operator=):
3406         (WebCore::TimerHeapIterator::checkConsistency):
3407         (WebCore::TimerBase::TimerBase):
3408         (WebCore::TimerBase::~TimerBase):
3409         (WebCore::TimerBase::isActive):
3410         (WebCore::TimerBase::checkHeapIndex):
3411         (WebCore::TimerBase::heapDelete):
3412         (WebCore::TimerBase::heapDeleteMin):
3413         (WebCore::TimerBase::heapInsert):
3414         (WebCore::TimerBase::heapPopMin):
3415         (WebCore::TimerBase::setNextFireTime):
3416         (WebCore::TimerBase::fireTimersInNestedEventLoop):
3417         Now instead of static timer heap these use accessor functions that pull thread-specific heap instance.
3418
3419         * platform/Timer.h:
3420         static methods moved to ThreadTimers.
3421
3422 2009-01-29  David Hyatt  <hyatt@apple.com>
3423
3424         Beginning of work to eliminate RenderContainer and make containership "pluggable" into any spot in the render tree.  The first step is to create
3425         the new object that will handle children: RenderObjectChildList and move RenderContainer's member variables into it.  Subsequent patches will begin
3426         moving RenderContainer's functionality into RenderObjectChildList.
3427
3428         Reviewed by Eric Seidel
3429
3430         * WebCore.xcodeproj/project.pbxproj:
3431         * rendering/RenderContainer.cpp:
3432         (WebCore::RenderContainer::RenderContainer):
3433         (WebCore::RenderContainer::destroyLeftoverChildren):
3434         (WebCore::RenderContainer::addChild):
3435         (WebCore::RenderContainer::removeChildNode):
3436         (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
3437         (WebCore::RenderContainer::appendChildNode):
3438         (WebCore::RenderContainer::insertChildNode):
3439         (WebCore::RenderContainer::layout):
3440         (WebCore::RenderContainer::removeLeftoverAnonymousBlock):
3441         (WebCore::RenderContainer::positionForCoordinates):
3442         (WebCore::RenderContainer::addLineBoxRects):
3443         (WebCore::RenderContainer::collectAbsoluteLineBoxQuads):
3444         * rendering/RenderContainer.h:
3445         (WebCore::RenderContainer::firstChild):
3446         (WebCore::RenderContainer::lastChild):
3447         (WebCore::RenderContainer::firstChildBox):
3448         (WebCore::RenderContainer::lastChildBox):
3449         * rendering/RenderObjectChildList.h: Added.
3450         (WebCore::RenderObjectChildList::RenderObjectChildList):
3451         (WebCore::RenderObjectChildList::firstChild):
3452         (WebCore::RenderObjectChildList::lastChild):
3453         (WebCore::RenderObjectChildList::setFirstChild):
3454         (WebCore::RenderObjectChildList::setLastChild):
3455
3456 2009-01-29  Jungshik Shin  <jshin@chromium.org>
3457
3458         Reviewed by Alexey Proskuryakov.
3459
3460         http://bugs.webkit.org/show_bug.cgi?id=23598
3461         Replace smart-quotes in UTF-8 with ASCII double-quotes to avoid
3462         the compilation error on CJK Windows
3463
3464         * wml/WMLTableElement.cpp:
3465         (WebCore::WMLTableElement::parseMappedAttribute):
3466
3467 2009-01-29  Darin Fisher  <darin@chromium.org>
3468
3469         Reviewed by Eric Seidel.
3470
3471         https://bugs.webkit.org/show_bug.cgi?id=23627
3472         Fix the PLATFORM(SKIA) build.
3473
3474         * svg/graphics/SVGPaintServer.cpp:
3475         (WebCore::SVGPaintServer::teardown):
3476
3477 2009-01-29  Scott Violet  <sky@google.com>
3478
3479         Reviewed by Eric Seidel.
3480
3481         https://bugs.webkit.org/show_bug.cgi?id=23625
3482         Skia platform doesn't render text to a canvas or support clipping to an image buffer
3483
3484         Fixes two bugs in Skia rendering to a canvas:
3485         . Text was not rendered at all. This is because we never properly
3486           fixed up the alpha values. The fix is to create a layer when
3487           rendering text to a layer.
3488         . We were not honoring clipping to an image buffer.
3489
3490         * platform/graphics/chromium/FontChromiumWin.cpp:
3491         (WebCore::Font::drawGlyphs):
3492         * platform/graphics/skia/GraphicsContextSkia.cpp:
3493         (WebCore::GraphicsContext::clipToImageBuffer):
3494         * platform/graphics/skia/ImageBufferSkia.cpp:
3495         (WebCore::ImageBuffer::ImageBuffer):
3496         * platform/graphics/skia/PlatformContextSkia.cpp:
3497         (PlatformContextSkia::PlatformContextSkia):
3498         (PlatformContextSkia::setDrawingToImageBuffer):
3499         (PlatformContextSkia::isDrawingToImageBuffer):
3500         (PlatformContextSkia::beginLayerClippedToImage):
3501         (PlatformContextSkia::restore):
3502         (PlatformContextSkia::applyClipFromImage):
3503         * platform/graphics/skia/PlatformContextSkia.h:
3504
3505 2009-01-29  Sam Weinig  <sam@webkit.org>
3506
3507         Reviewed by Mark Rowe.
3508
3509         First step in tracking the urls a HistoryItem was redirected through.
3510
3511         * WebCore.base.exp:
3512         * history/HistoryItem.cpp:
3513         (WebCore::HistoryItem::HistoryItem):
3514         (WebCore::HistoryItem::addRedirectURL):
3515         (WebCore::HistoryItem::redirectURLs):
3516         (WebCore::HistoryItem::setRedirectURLs):
3517         * history/HistoryItem.h:
3518
3519 2009-01-29  Dirk Schulze  <krit@webkit.org>
3520
3521         Reviewed by Nikolas Zimmermann, Eric Seidel.
3522
3523         Just transform the pattern directly instead of transforming the context fixes this 
3524         problem. Texts or strokes are no longer affected by transformations.
3525
3526         SVG pattern transformation/BoundingBox can cause ugly stroke thickness or text positions
3527         https://bugs.webkit.org/show_bug.cgi?id=23472
3528
3529         Test: svg/custom/pattern-with-transformation.svg
3530
3531         * platform/graphics/Pattern.h:
3532         (WebCore::Pattern::setPatternSpaceTransform):
3533         * platform/graphics/cairo/PatternCairo.cpp:
3534         (WebCore::Pattern::createPlatformPattern):
3535         * platform/graphics/cg/PatternCG.cpp:
3536         (WebCore::Pattern::createPlatformPattern):
3537         * platform/graphics/qt/PatternQt.cpp:
3538         (WebCore::Pattern::createPlatformPattern):
3539         * svg/graphics/SVGPaintServerPattern.cpp:
3540         (WebCore::SVGPaintServerPattern::setup):
3541
3542 2009-01-29  David Hyatt  <hyatt@apple.com>
3543
3544         Move the line box list member out of RenderFlow and down into RenderBlock and RenderInline.  Eliminate RenderFlow from the tree.
3545
3546         Reviewed by Sam Weinig
3547
3548         * GNUmakefile.am:
3549         * WebCore.pro:
3550         * WebCore.vcproj/WebCore.vcproj:
3551         * WebCore.xcodeproj/project.pbxproj:
3552         * WebCoreSources.bkl:
3553         * html/HTMLAnchorElement.cpp:
3554         * rendering/InlineFlowBox.cpp:
3555         (WebCore::InlineFlowBox::rendererLineBoxes):
3556         (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
3557         * rendering/InlineFlowBox.h:
3558         * rendering/LayoutState.cpp:
3559         (WebCore::LayoutState::LayoutState):
3560         * rendering/RenderBlock.cpp:
3561         (WebCore::RenderBlock::RenderBlock):
3562         (WebCore::RenderBlock::destroy):
3563         (WebCore::RenderBlock::styleWillChange):
3564         (WebCore::RenderBlock::styleDidChange):
3565         (WebCore::RenderBlock::dirtyLineBoxes):
3566         (WebCore::RenderBlock::removeChild):
3567         (WebCore::RenderBlock::setSelectionState):
3568         (WebCore::RenderBlock::avoidsFloats):
3569         (WebCore::RenderBlock::positionForCoordinates):
3570         (WebCore::RenderBlock::calcInlinePrefWidths):
3571         (WebCore::RenderBlock::baselinePosition):
3572         (WebCore::RenderBlock::getBaselineOfFirstLineBox):
3573         (WebCore::RenderBlock::getBaselineOfLastLineBox):
3574         (WebCore::RenderBlock::rectWithOutlineForRepaint):
3575         (WebCore::RenderBlock::hoverAncestor):
3576         (WebCore::RenderBlock::updateDragState):
3577         * rendering/RenderBlock.h:
3578         (WebCore::RenderBlock::lineBoxes):
3579         (WebCore::RenderBlock::firstLineBox):
3580         (WebCore::RenderBlock::lastLineBox):
3581         * rendering/RenderBox.cpp:
3582         (WebCore::RenderBox::offsetFromContainer):
3583         (WebCore::RenderBox::computeRectForRepaint):
3584         (WebCore::RenderBox::containingBlockWidthForPositioned):
3585         (WebCore::RenderBox::calcAbsoluteHorizontalValues):
3586         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
3587         * rendering/RenderBox.h:
3588         * rendering/RenderFlow.cpp: Removed.
3589         * rendering/RenderFlow.h: Removed.
3590         * rendering/RenderInline.cpp:
3591         (WebCore::RenderInline::RenderInline):
3592         (WebCore::RenderInline::destroy):
3593         (WebCore::RenderInline::styleDidChange):
3594         (WebCore::RenderInline::addChildIgnoringContinuation):
3595         (WebCore::RenderInline::cloneInline):
3596         (WebCore::RenderInline::splitInlines):
3597         (WebCore::RenderInline::offsetLeft):
3598         (WebCore::RenderInline::offsetTop):
3599         (WebCore::RenderInline::positionForCoordinates):
3600         (WebCore::RenderInline::rectWithOutlineForRepaint):
3601         (WebCore::RenderInline::updateDragState):
3602         (WebCore::RenderInline::relativePositionedInlineOffset):
3603         * rendering/RenderInline.h:
3604         (WebCore::RenderInline::lineBoxes):
3605         (WebCore::RenderInline::firstLineBox):
3606         (WebCore::RenderInline::lastLineBox):
3607         * rendering/RenderLayer.cpp:
3608         (WebCore::RenderLayer::updateLayerPosition):
3609         * rendering/RenderLineBoxList.cpp:
3610         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
3611         * rendering/RootInlineBox.cpp:
3612         (WebCore::RootInlineBox::rendererLineBoxes):
3613         * rendering/RootInlineBox.h:
3614         * rendering/bidi.cpp:
3615         (WebCore::RenderBlock::createLineBoxes):
3616         * wml/WMLAElement.cpp:
3617
3618 2009-01-29  Geoffrey Garen  <ggaren@apple.com>
3619
3620         Reviewed by Oliver Hunt.
3621
3622         Cleaned up some naming in ScheduledRedirection.
3623
3624         * loader/FrameLoader.cpp:
3625         (WebCore::ScheduledRedirection::ScheduledRedirection):
3626
3627 2009-01-29  Anders Carlsson  <andersca@apple.com>
3628
3629         Reviewed by Dan Bernstein.
3630
3631         Update to use new API.
3632
3633         * platform/graphics/mac/FontCustomPlatformData.cpp:
3634         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
3635         (WebCore::createFontCustomPlatformData):
3636
3637 2009-01-29  Alexey Proskuryakov  <ap@webkit.org>
3638
3639         Reviewed by Nikolas Zimmermann.
3640
3641         https://bugs.webkit.org/show_bug.cgi?id=23619
3642         ASSERT(!error.isNull()) in DocumentLoader::mainReceivedError() when an SVG image load
3643         is cancelled
3644
3645         Covered by existing tests (as a random crash).
3646
3647         * loader/EmptyClients.h:
3648         (WebCore::EmptyFrameLoaderClient::cancelledError):
3649         (WebCore::EmptyFrameLoaderClient::blockedError):
3650         (WebCore::EmptyFrameLoaderClient::cannotShowURLError):
3651         (WebCore::EmptyFrameLoaderClient::interruptForPolicyChangeError):
3652         (WebCore::EmptyFrameLoaderClient::cannotShowMIMETypeError):
3653         (WebCore::EmptyFrameLoaderClient::fileDoesNotExistError):
3654         (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError):
3655         Create non-null errors.
3656
3657 2009-01-29  Geoffrey Garen  <ggaren@apple.com>
3658
3659         Reviewed by Oliver Hunt.
3660
3661         Removed an unused case of "lockHistory" to help make the other cases
3662         clearer.
3663
3664         * page/FrameLoadRequest.h:
3665         (WebCore::FrameLoadRequest::FrameLoadRequest):
3666
3667 2009-01-29  David Hyatt  <hyatt@apple.com>
3668
3669         Move all of the contination insertion code from RenderFlow to RenderInline.  addChildToFlow is renamed to addChildIgnoringContinuation, and it has been moved to
3670         RenderContainer so that it can still be called on either blocks or inlines.  The base class implementation in RenderContainer is what RenderBlock uses.  RenderInline
3671         subclasses it to do all the work it used to do in addChildToFlow.
3672         
3673         RenderBlock's old addChildToFlow can just become addChild.  This simplification is possible because addChild was actually never being called on anonymous
3674         block continuations.
3675         
3676         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
3677         base class and ignoring a block continuation makes the right thing happen.
3678         
3679         addChildWithContinuation moved to RenderInline and has been renamed to addChildToContinuation.
3680         
3681         Reviewed by Eric Seidel
3682
3683         * rendering/RenderBlock.cpp:
3684         (WebCore::RenderBlock::addChild):
3685         * rendering/RenderBlock.h:
3686         * rendering/RenderContainer.h:
3687         (WebCore::RenderContainer::addChildIgnoringContinuation):
3688         * rendering/RenderFlow.cpp:
3689         * rendering/RenderFlow.h:
3690         * rendering/RenderInline.cpp:
3691         (WebCore::RenderInline::styleDidChange):
3692         (WebCore::RenderInline::addChild):
3693         (WebCore::nextContinuation):
3694         (WebCore::RenderInline::continuationBefore):
3695         (WebCore::RenderInline::addChildIgnoringContinuation):
3696         (WebCore::RenderInline::splitInlines):
3697         (WebCore::RenderInline::splitFlow):
3698         (WebCore::RenderInline::addChildToContinuation):
3699         (WebCore::RenderInline::childBecameNonInline):
3700         * rendering/RenderInline.h:
3701         (WebCore::RenderInline::continuation):
3702         (WebCore::RenderInline::setContinuation):
3703
3704 2009-01-29  Brady Eidson  <beidson@apple.com>
3705
3706         Reviewed by Oliver Hunt
3707
3708         <rdar://problem/6337157> hyundaiusa.com closes window or tab during load
3709
3710         Test: fast/loader/subframe-self-close.html
3711
3712         * page/DOMWindow.cpp:
3713         (WebCore::DOMWindow::close): Only allow mainframes to close the window.
3714
3715 2009-01-29  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3716
3717         Reviewed by David Hyatt.
3718
3719         Fixes: https://bugs.webkit.org/show_bug.cgi?id=23539
3720
3721         Remove several virtual functions from Node & Element related to form control / input elements,
3722         that shouldn't reside there, but move to approriate locations, in the new form control /
3723         input element abstract base classes.
3724
3725         Remove the isControl() method from Node, as it's redundant - isFormControlElement() provides the same information.
3726         Move isEnabled( / isReadOnlyControl() / isTextControl() from Node to FormControlElement.
3727         Move isAutofilled() / isChecked() / isIndeterminate() from Node to InputElement.
3728         Move isInputTypeHidden() / isPasswordField() from Element to InputElement.
3729
3730         Querying these methods requires using the toInputElement/toFormControlElement casting helper functions
3731         to cast Element pointers to InputElement/FormControlElement pointers.
3732
3733         * css/CSSStyleSelector.cpp:
3734         (WebCore::CSSStyleSelector::canShareStyleWithElement):
3735         (WebCore::CSSStyleSelector::adjustRenderStyle):
3736         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
3737         * dom/Element.h:
3738         (WebCore::Element::isFormControlElementWithState):
3739         * dom/FormControlElement.h:
3740         * dom/InputElement.h:
3741         * dom/Node.h:
3742         * editing/TextIterator.cpp:
3743         (WebCore::TextIterator::advance):
3744         * html/HTMLFormControlElement.cpp:
3745         (WebCore::HTMLFormControlElement::attach):
3746         * html/HTMLFormControlElement.h:
3747         (WebCore::HTMLFormControlElement::isTextControl):
3748         * html/HTMLFormElement.cpp:
3749         (WebCore::HTMLFormElement::CheckedRadioButtons::removeButton):
3750         * html/HTMLInputElement.h:
3751         (WebCore::HTMLInputElement::isAutofilled):
3752         * page/AccessibilityRenderObject.cpp:
3753         (WebCore::AccessibilityRenderObject::isPasswordField):
3754         (WebCore::AccessibilityRenderObject::isIndeterminate):
3755         (WebCore::AccessibilityRenderObject::isChecked):
3756         (WebCore::AccessibilityRenderObject::isControl):
3757         (WebCore::AccessibilityRenderObject::isEnabled):
3758         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
3759         * page/mac/AccessibilityObjectWrapper.mm:
3760         (textMarkerForVisiblePosition):
3761         * platform/ContextMenu.cpp:
3762         (WebCore::ContextMenu::populate):
3763         * rendering/RenderLayer.cpp:
3764         (WebCore::RenderLayer::resize):
3765         * rendering/RenderMenuList.cpp:
3766         (WebCore::RenderMenuList::itemIsEnabled):
3767         * rendering/RenderTextControl.cpp:
3768         (WebCore::updateUserModifyProperty):
3769         (WebCore::RenderTextControl::adjustInnerTextStyle):
3770         (WebCore::RenderTextControl::updateFromElement):
3771         * rendering/RenderTheme.cpp:
3772         (WebCore::RenderTheme::isChecked):
3773         (WebCore::RenderTheme::isIndeterminate):
3774         (WebCore::RenderTheme::isEnabled):
3775         (WebCore::RenderTheme::isReadOnlyControl):
3776         * rendering/RenderThemeMac.mm:
3777         (WebCore::RenderThemeMac::adjustMenuListStyle):
3778         * wml/WMLFormControlElement.cpp:
3779         (WebCore::WMLFormControlElement::isFocusable):
3780         * wml/WMLFormControlElement.h:
3781         (WebCore::WMLFormControlElement::isEnabled):
3782         (WebCore::WMLFormControlElement::isReadOnlyControl):
3783         (WebCore::WMLFormControlElement::isTextControl):
3784         * wml/WMLInputElement.cpp:
3785         (WebCore::WMLInputElement::isKeyboardFocusable):
3786         (WebCore::WMLInputElement::isMouseFocusable):
3787         * wml/WMLInputElement.h:
3788         (WebCore::WMLInputElement::isAutofilled):
3789
3790 2009-01-29  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3791
3792         Not reviewed. Fix WML build - apply same fix as HTMLAnchorElement received.
3793
3794         * wml/WMLAElement.cpp:
3795         (WebCore::WMLAElement::isKeyboardFocusable):
3796
3797 2009-01-29  Alexey Proskuryakov  <ap@webkit.org>
3798
3799         Reviewed by Anders Carlsson.
3800
3801         https://bugs.webkit.org/show_bug.cgi?id=23620
3802         Crash in appcache/resource-redirect.html on Tiger
3803
3804         There was a bug in the test case - it didn't send a Location header, and on Tiger, this
3805         resulted in a failure callback being sent. It turned out that proper redirects weren't
3806         caught at all.
3807
3808         Tests: http/tests/appcache/manifest-redirect-2.html
3809                http/tests/appcache/resource-redirect-2.html
3810
3811         * loader/appcache/ApplicationCacheGroup.cpp:
3812         (WebCore::ApplicationCacheGroup::didFail): Fixed this function to not crash if
3813         didReceiveResponse() wasn't called for this request.
3814         (WebCore::ApplicationCacheGroup::didReceiveResponse): Fixed to check for redirects correctly.
3815         (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Ditto.
3816
3817 2009-01-29  David Hyatt  <hyatt@apple.com>
3818
3819         Move dirtyLinesFromChangedChild into RenderLineBoxList so that it can be shared by RenderBlock and RenderInline.
3820     
3821         Reviewed by Sam Weinig
3822
3823         * rendering/RenderBlock.h:
3824         (WebCore::RenderBlock::dirtyLinesFromChangedChild):
3825         * rendering/RenderFlow.cpp:
3826         * rendering/RenderFlow.h:
3827         * rendering/RenderInline.h:
3828         (WebCore::RenderInline::dirtyLinesFromChangedChild):
3829         * rendering/RenderLineBoxList.cpp:
3830         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
3831         * rendering/RenderLineBoxList.h:
3832
3833 2009-01-29  Adam Roben  <aroben@apple.com>
3834
3835         Fix Bug 23623: Windowed Flash instances aren't captured when a WebView
3836         receives a WM_PRINTCLIENT message
3837
3838         <https://bugs.webkit.org/show_bug.cgi?id=23623>
3839         <rdar://problem/6513921>
3840         <rdar://problem/6536874>
3841
3842         Flash doesn't seem to respond to WM_PRINTCLIENT, so we change
3843         WM_PRINTCLIENT messages into WM_PAINT messages and hook into the
3844         BeginPaint/EndPaint APIs to return the HDC we received from
3845         WM_PRINTCLIENT. This causes the plugin to paint into the
3846         WM_PRINTCLIENT HDC via its normal WM_PAINT handler. This technique
3847         came from <http://www.fengyuan.com/article/wmprint.html>.
3848
3849         No test possible.
3850
3851         Reviewed by Darin Adler.
3852
3853         * platform/graphics/GraphicsContext.h: Added
3854         [set]ShouldIncludeChildWindows on Windows.
3855
3856         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: Added
3857         m_shouldIncludeChildWindows.
3858         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
3859         Initialize the new member.
3860
3861         * platform/graphics/win/GraphicsContextCGWin.cpp:
3862         (WebCore::GraphicsContext::setShouldIncludeChildWindows):
3863         (WebCore::GraphicsContext::shouldIncludeChildWindows):
3864         Added simple setter and getter.
3865
3866         * plugins/PluginView.cpp:
3867         (WebCore::PluginView::PluginView): Initialize the new member.
3868
3869         * plugins/PluginView.h: Added m_wmPrintHDC and various functions
3870         required for making WM_PRINTCLIENT work.
3871
3872         * plugins/win/PluginViewWin.cpp:
3873         (WebCore::PluginView::hookedBeginPaint):
3874         (WebCore::PluginView::hookedEndPaint):
3875         (WebCore::hook):
3876         (WebCore::setUpOffscreenPaintingHooks):
3877         Added. Code was modified from code available on fengyuan.com.
3878
3879         (WebCore::PluginView::wndProc): Turn WM_PRINTCLIENT messages into
3880         WM_PAINT messages and save off the HDC that we're supposed to paint
3881         into.
3882
3883         (WebCore::PluginView::paintWindowedPluginIntoContext): Added. Gets an
3884         HDC from the GraphicsContext, translates it into client coordinates,
3885         gets the plugin to draw into the HDC by sending a WM_PRINTCLIENT
3886         message, and returns the HDC to the GraphicsContext.
3887
3888         (WebCore::PluginView::paint): If we're trying to paint a windowed
3889         plugin into the GraphicsContext, call paintWindowedPluginIntoContext.
3890
3891         (WebCore::PluginView::init): Call setUpOffscreenPaintingHooks to make
3892         our WM_PRINTCLIENT trick work.
3893
3894 2009-01-29  David Hyatt  <hyatt@apple.com>
3895
3896         Move RenderFlow::destroy down into RenderBlock and RenderInline.
3897
3898         Reviewed by Anders Carlsson
3899
3900         * rendering/RenderBlock.cpp:
3901         (WebCore::RenderBlock::destroy):
3902         * rendering/RenderFlow.cpp:
3903         * rendering/RenderFlow.h:
3904         * rendering/RenderInline.cpp:
3905         (WebCore::RenderInline::destroy):
3906
3907 2009-01-29  David Kilzer  <ddkilzer@apple.com>
3908
3909         Remove semi-colons from the end of ObjC method implementations
3910
3911         Rubber-stamped by Adam Roben.
3912
3913         $ find WebCore -name \*.m -o -name \*.mm -exec perl -e 'undef $/; $s = <>; while ($s =~ m/[\n\r][-+].*;[\s\r\n]+\{/g) { print "$ARGV: $&\n"; }' {} \;
3914
3915         * bridge/testbindings.mm:
3916
3917 2009-01-29  Adam Treat  <adam.treat@torchmobile.com>
3918
3919         Reviewed by Alexey Proskuryakov.
3920
3921         https://bugs.webkit.org/show_bug.cgi?id=23609
3922         Use the two-arg constructor for implicit QUrl->KURL conversion as the
3923         single argument ctors assume that KURL::parse has already been called
3924         and assert if the parse results in a different string.  This was causing
3925         an assert for QUrl's with no path and without a trailing slash.
3926
3927         * platform/qt/KURLQt.cpp:
3928         (WebCore::KURL::KURL):
3929
3930 2009-01-29  Alexey Proskuryakov  <ap@webkit.org>
3931
3932         Rubber-stamped by Darin Adler.
3933
3934         Renamed ApplicationCacheResource::Implicit to Master, because that's the word HTML5 uses,
3935         and it describes the meaning better.
3936
3937         * loader/appcache/ApplicationCache.cpp:
3938         * loader/appcache/ApplicationCacheGroup.cpp:
3939         * loader/appcache/ApplicationCacheResource.cpp:
3940         * loader/appcache/ApplicationCacheResource.h:
3941
3942 2009-01-29  Alexey Proskuryakov  <ap@webkit.org>
3943
3944         Release build fix.
3945
3946         * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache):
3947         Got rid of a variable that wasn't used in release builds.
3948
3949 2009-01-29  David Hyatt  <hyatt@apple.com>
3950
3951         Get rid of createAnonymousFlow.  It was only called in one spot, so just inline the code.
3952
3953         Reviewed by Oliver Hunt
3954
3955         * rendering/RenderBlock.cpp:
3956         (WebCore::RenderBlock::updateFirstLetter):
3957         * rendering/RenderFlow.cpp:
3958         * rendering/RenderFlow.h:
3959
3960 2009-01-29  Alexey Proskuryakov  <ap@webkit.org>
3961
3962         Reviewed by Anders Carlsson.
3963
3964         https://bugs.webkit.org/show_bug.cgi?id=23476
3965         HTTP redirect should make application cache updating fail
3966
3967         Tests: http/tests/appcache/manifest-redirect.html
3968                http/tests/appcache/resource-redirect.html
3969
3970         * loader/appcache/ApplicationCacheGroup.cpp:
3971         (WebCore::ApplicationCacheGroup::didReceiveResponse):
3972         (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
3973         Fail if response code isn't 2xx.
3974
3975 2009-01-29  Alexey Proskuryakov  <ap@webkit.org>
3976
3977         Reviewed by Anders Carlsson.
3978
3979         https://bugs.webkit.org/show_bug.cgi?id=23592
3980         Update appcache manifest signature parsing
3981
3982         Test: http/tests/appcache/wrong-signature-2.html
3983
3984         * loader/appcache/ManifestParser.cpp: (WebCore::parseManifest): Allow comments on signature
3985         line. Removed code that replaced nulls with 0xFFFD characters, because there is no such
3986         requirement in the spec.
3987
3988 2009-01-28  Alexey Proskuryakov  <ap@webkit.org>
3989
3990         Reviewed by Anders Carlsson.
3991
3992         https://bugs.webkit.org/show_bug.cgi?id=23584
3993         Update application cache code for the latest round of spec changes
3994
3995         The changes mostly affect the update process - events are sent at a different
3996         time, and caches are associated with documents earlier.
3997
3998         * loader/DocumentLoader.cpp:
3999         (WebCore::DocumentLoader::mainReceivedError): Changed an always passing test to an assertion.
4000         (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache): Caches are now associated
4001         with DocumentLoader before being complete, but they only affect loading after being completed.
4002         (WebCore::DocumentLoader::getApplicationCacheFallbackResource): Ditto.
4003
4004         * loader/appcache/ApplicationCache.cpp:
4005         (WebCore::ApplicationCache::setGroup): Allow setting the group to the same one, to simplify
4006         ApplicationCacheGroup code.
4007         (WebCore::ApplicationCache::isComplete): A new method that tells whether the cache is
4008         complete, as defined in HTML5.
4009         * loader/appcache/ApplicationCache.h: Added isComplete().
4010
4011         * loader/appcache/ApplicationCacheGroup.h:
4012         (WebCore::ApplicationCacheUpdateOption): Per HTML5, cache updating should work differently
4013         when invoked with or without a browsing context (Frame). A Frame is currently always needed
4014         for updating in WebKit, so a new argument to update() tells whether we should pretend that
4015         there isn't one.
4016         (WebCore::ApplicationCacheGroup::cacheIsBeingUpdated): A helper for ApplicationCache::isComplete().
4017         (WebCore::ApplicationCacheGroup::CompletionType): Cache update algorithm now waits for
4018         ne main resources to finish loading in more cases. A member variable of this type is used to
4019         distinguish between different cases when waiting.
4020         (WebCore::ApplicationCacheGroup::m_cacheCandidates): The new algorithm doesn't track cache
4021         candidates. Caches are associated with documents much earlier, but the ones whose main resources
4022         have not been loaded from a cache are being tracked in a pending master entry list.
4023
4024         * loader/appcache/DOMApplicationCache.cpp: (WebCore::DOMApplicationCache::update):
4025         An explicit call to update() invokes the algorithm without a browsing context.
4026
4027         * loader/appcache/ApplicationCacheGroup.cpp:
4028         (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
4029         (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
4030         (WebCore::ApplicationCacheGroup::selectCache):
4031         (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
4032         (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
4033         (WebCore::ApplicationCacheGroup::failedLoadingMainResource):
4034         (WebCore::ApplicationCacheGroup::stopLoading):
4035         (WebCore::ApplicationCacheGroup::disassociateDocumentLoader):
4036         (WebCore::ApplicationCacheGroup::cacheDestroyed):
4037         (WebCore::ApplicationCacheGroup::setNewestCache):
4038         (WebCore::ApplicationCacheGroup::update):
4039         (WebCore::ApplicationCacheGroup::didReceiveResponse):
4040         (WebCore::ApplicationCacheGroup::didFinishLoading):
4041         (WebCore::ApplicationCacheGroup::didFail):
4042         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
4043         (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
4044         (WebCore::ApplicationCacheGroup::manifestNotFound):
4045         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
4046         (WebCore::ApplicationCacheGroup::startLoadingEntry):
4047         (WebCore::ApplicationCacheGroup::deliverDelayedMainResources):
4048         (WebCore::ApplicationCacheGroup::addEntry):
4049         (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache):
4050         (WebCore::CallCacheListenerTask::create):
4051         (WebCore::CallCacheListenerTask::performTask):
4052         (WebCore::CallCacheListenerTask::CallCacheListenerTask):
4053         (WebCore::ApplicationCacheGroup::postListenerTask):
4054         Rewrote the update algorithm.
4055
4056 2009-01-28  Geoffrey Garen  <ggaren@apple.com>
4057
4058         Reviewed by Sam Weinig.
4059         
4060         Merged FrameLoadTypeReloadAllowingStaleData with FrameLoadTypeReload.
4061         
4062         Technically, selecting View->Text Encoding->[Non-Default Encoding] on
4063         a page with frames may now be slightly slower than it used to be. Oh well.
4064
4065         * loader/FrameLoader.cpp:
4066         (WebCore::isBackForwardLoadType):
4067         (WebCore::FrameLoader::restoreDocumentState): Subbed in FrameLoadTypeReload.
4068
4069         (WebCore::FrameLoader::loadURLIntoChildFrame): No need to account for
4070         non-back-forward navigations anymore.
4071
4072         (WebCore::FrameLoader::canCachePage):
4073         (WebCore::FrameLoader::logCanCachePageDecision):
4074         (WebCore::FrameLoader::reloadWithOverrideEncoding):
4075         (WebCore::FrameLoader::transitionToCommitted):
4076         (WebCore::FrameLoader::loadItem): Subbed in FrameLoadTypeReload.
4077
4078         * loader/FrameLoader.h: Renamed reloadAllowingStaleData => reloadWithOverrideEncoding,
4079         since that's what it actually does.
4080
4081 2009-01-28  David Hyatt  <hyatt@apple.com>
4082
4083         Move hit testing and painting of lines from RenderFlow into RenderLineBoxList.
4084
4085         Reviewed by Oliver Hunt
4086
4087         * rendering/RenderBlock.cpp:
4088         (WebCore::RenderBlock::paintContents):
4089         (WebCore::RenderBlock::hitTestContents):
4090         * rendering/RenderFlow.cpp:
4091         * rendering/RenderFlow.h:
4092         * rendering/RenderInline.cpp:
4093         (WebCore::RenderInline::paint):
4094         (WebCore::RenderInline::nodeAtPoint):
4095         * rendering/RenderLineBoxList.cpp:
4096         (WebCore::RenderLineBoxList::paint):
4097         (WebCore::RenderLineBoxList::hitTest):
4098         * rendering/RenderLineBoxList.h:
4099
4100 2009-01-28  David Hyatt  <hyatt@apple.com>
4101
4102         Fix SVG pixel test regressions.  I wish I could say that I understand this fix, but I don't.  For
4103         some reason the original code returned 0 for RenderSVGInlineText::yPos() and somehow my literal
4104         replacement of yPos() with the body of that method changed the results.  I am completely baffled,
4105         but all SVG pixel tests pass again when I just take the code out.
4106
4107         Reviewed by Oliver Hunt
4108
4109         * rendering/RenderSVGInlineText.cpp:
4110         (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
4111
4112 2009-01-28  David Hyatt  <hyatt@apple.com>
4113
4114         Move dirtyLineBoxes from RenderFlow to RenderInline and RenderBlock.
4115
4116         Reviewed by Oliver Hunt
4117
4118         * rendering/RenderBlock.cpp:
4119         (WebCore::RenderBlock::dirtyLineBoxes):
4120         * rendering/RenderBlock.h:
4121         * rendering/RenderFlow.cpp:
4122         * rendering/RenderFlow.h:
4123         * rendering/RenderInline.cpp:
4124         (WebCore::RenderInline::dirtyLineBoxes):
4125         * rendering/RenderInline.h:
4126         * rendering/RenderLineBoxList.cpp:
4127         (WebCore::RenderLineBoxList::dirtyLineBoxes):
4128         * rendering/RenderLineBoxList.h:
4129
4130 2009-01-28  David Hyatt  <hyatt@apple.com>
4131
4132         Back out my change to scrollWidth/Height from an earlier checkin since it broke stuff.  The current
4133         behavior is not correct, but this will need to be investigated before being changed again.
4134
4135         * rendering/RenderBox.cpp:
4136         (WebCore::RenderBox::scrollWidth):
4137         (WebCore::RenderBox::scrollHeight):
4138
4139 2009-01-28  David Hyatt  <hyatt@apple.com>
4140
4141         Move paintOutline and paintOutlineWithLine from RenderFlow to RenderInline, since they only apply to inlines.  Tighten up all of the code that
4142         called paintOutline to use RenderInline as the type instead of RenderFlow.
4143
4144         Reviewed by cpst
4145
4146         * rendering/InlineFlowBox.cpp:
4147         (WebCore::InlineFlowBox::paint):
4148         * rendering/RenderBlock.cpp:
4149         (WebCore::RenderBlock::paintObject):
4150         (WebCore::RenderBlock::addContinuationWithOutline):
4151         (WebCore::RenderBlock::paintContinuationOutlines):
4152         * rendering/RenderFlow.cpp:
4153         (WebCore::RenderFlow::paintLines):
4154         * rendering/RenderFlow.h:
4155         * rendering/RenderInline.cpp:
4156         (WebCore::RenderInline::paintOutline):
4157         (WebCore::RenderInline::paintOutlineForLine):
4158         * rendering/RenderInline.h:
4159         * rendering/RenderObject.cpp:
4160         (WebCore::RenderObject::paintOutline):
4161         * rendering/RenderObject.h:
4162         (WebCore::RenderObject::PaintInfo::PaintInfo):
4163
4164 2009-01-28  Darin Fisher  <darin@chromium.org>
4165
4166         Reviewed by Eric Seidel.
4167
4168         https://bugs.webkit.org/show_bug.cgi?id=23596
4169         XMLHttpRequest.cpp no longer compiles without USE(JSC)
4170
4171         * xml/XMLHttpRequest.cpp:
4172
4173 2009-01-28  Darin Fisher  <darin@chromium.org>
4174
4175         Reviewed by Darin Adler.
4176
4177         https://bugs.webkit.org/show_bug.cgi?id=23597
4178         Make it possible to compile Database.cpp when USE(JSC) is not defined
4179
4180         * storage/Database.cpp:
4181         (WebCore::Database::Database):
4182
4183 2009-01-28  Dan Bernstein  <mitz@apple.com>
4184
4185         Reviewed by Darin Adler.
4186
4187         - fix <rdar://problem/6077047> REGRESSION (r34544): Custom icon does not
4188           appear in address field on first visit to any site
4189
4190         * loader/icon/IconLoader.cpp:
4191         (WebCore::IconLoader::finishLoading): Changed to set the icon data only
4192         after establishing a mapping from the page URL(s) to the icon. Doing
4193         things the other way around resulted in the data not being cached
4194         in the icon-URL to IconRecord map (because there was no interested page
4195         at the time) and subsequently having to be fetched asynchronously from
4196         the database when the page-to-icon mapping was established.
4197
4198 2009-01-28  David Hyatt  <hyatt@apple.com>
4199
4200         Move addFocusRingRects from RenderFlow down into RenderBlock and RenderInline.
4201
4202         Reviewed by Oliver Hunt
4203
4204         * rendering/RenderBlock.cpp:
4205         (WebCore::RenderBlock::addFocusRingRects):
4206         * rendering/RenderBlock.h:
4207         * rendering/RenderFlow.cpp:
4208         * rendering/RenderFlow.h:
4209         * rendering/RenderInline.cpp:
4210         (WebCore::RenderInline::addFocusRingRects):
4211         * rendering/RenderInline.h:
4212
4213 2009-01-28  David Hyatt  <hyatt@apple.com>
4214
4215         Move localCaretRect from RenderFlow into RenderBlock, since it only applied to blocks anyway and
4216         was misplaced from the start.
4217
4218         Reviewed by Antti Koivisto.
4219
4220         * rendering/RenderBlock.cpp:
4221         (WebCore::RenderBlock::localCaretRect):
4222         * rendering/RenderBlock.h:
4223         * rendering/RenderFlow.cpp:
4224         * rendering/RenderFlow.h:
4225
4226 2009-01-28  Sam Weinig  <sam@webkit.org>
4227
4228         Reviewed by Geoff Garen.
4229
4230         Add forwarding header.
4231
4232         * ForwardingHeaders/debugger/DebuggerActivation.h: Added.
4233
4234 2009-01-28  David Hyatt  <hyatt@apple.com>
4235
4236         Move createInlineBox out of RenderFlow and down into RenderInline and RenderBlock.
4237
4238         Reviewed by Beth Dakin
4239
4240         * rendering/RenderBlock.cpp:
4241         (WebCore::RenderBlock::createInlineBox):
4242         * rendering/RenderBlock.h:
4243         * rendering/RenderFlow.cpp:
4244         * rendering/RenderFlow.h:
4245         * rendering/RenderInline.cpp:
4246         (WebCore::RenderInline::createInlineBox):
4247         * rendering/RenderInline.h:
4248         * rendering/bidi.cpp:
4249
4250 2009-01-28  David Hyatt  <hyatt@apple.com>
4251
4252         Move calcMargins from RenderFlow to RenderInline, since it was only ever called on RenderInlines.
4253
4254         Reviewed by Oliver Hunt
4255
4256         * rendering/RenderFlow.cpp:
4257         * rendering/RenderFlow.h:
4258         * rendering/RenderInline.h:
4259         (WebCore::RenderInline::calcMargins):
4260         * rendering/bidi.cpp:
4261         (WebCore::RenderBlock::layoutInlineChildren):