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