WebCore: https://bugs.webkit.org/show_bug.cgi?id=20329, shadows and reflections incor...
[WebKit-https.git] / WebCore / ChangeLog
1 2009-08-16  David Hyatt  <hyatt@apple.com>
2
3         Reviewed by Dan Bernstein.
4
5         https://bugs.webkit.org/show_bug.cgi?id=20329, shadows and reflections incorrectly
6         considered part of scrollable overflow.
7
8         This patch takes the engine's concept of overflow and splits it into two types:
9         layout overflow and visual overflow.
10         
11         Layout overflow is about other boxes that spill out of an enclosing box,  For example,
12         in the inline flow case a tall image could spill out of a line box. Examples of 
13         visual overflow are shadows, text stroke (and eventually outline and
14         border-image).
15
16         Three objects tracked overflow before this patch: RenderBlock had 
17         m_overflowLeft/Top/Width/Height variables.  RootInlineBox had an Overflow*
18         that also had four overflow values.  Finally RenderReplaced elements tracked shadow/reflection
19         overflow using a map that cached four values.
20         
21         This patch takes all of these different overflow models and unifies them into a single
22         new class called RenderOverflow.   This class is now a member variable in RenderBox and
23         InlineFlowBoxes.  It is only allocated if overflow actually exists.  Instead of tracking
24         four values, it tracks eight: left/top/right/bottom for layout overflow and 
25         left/top/right/bottom for visual overflow.
26         
27         Overflow computation is now done after layout is finished rather than during layout
28         (when child objects can be churning and moving around).  A number of layout tests progressed
29         by deferring overflow computation to a separate pass.
30         
31         All inline flow boxes now track overflow (and not just the root line box).  This allows
32         repainting of line boxes to actually be tight and bail early if the overflow rect of a box
33         doesn't intersect.  The old code always visited all object on a line if the root line box
34         intersected at all.
35         
36         Line box overflow no longer propagates across self-painting layers.  This fixes a number of
37         issues with incorrect scrollbars appearing when relative positioned inlines were used in a page.
38         
39         Layer bounds have been modified to exclude visual overflow.  The width/height members only really
40         have one reason for continued existence, and that is that they happen to be used in repaint()
41         when an overflow clip object's height isn't accurate.  In this case, the bounds should exclude
42         visual overflow anyway, so this change tightens that repaint up.
43         
44         Root lines have renamed m_selectionTop/Bottom to m_lineTop/Bottom and positionForPoint methods have
45         been changed to use these instead of relying on overflow (which was totally wrong).
46
47         Significant changes have been made to the "almost strict mode" line box quirk where objects with no
48         text children have no effect on the height of a line.  Instead of making the height() of the objects
49         variable and dependent on overflow, the objects now have their full height and get placed on
50         the baseline properly.  They simply don't contribute to overflow above lineTop/Bottom.
51         
52         Reflections are no longer considered overflow of any kind.  Because reflections have their own layers,
53         it is not necessary to treat them as visual or layout overflow in the RenderObject tree.  The end result
54         of not incorporating them into RenderOverflow is that they have no effect on scrolling.  transparencyClipBox
55         has been extended to support fully reflecting the entire clip box when a reflection exists.  This fixes
56         numerous repaint bugs in transparent objects with reflections when the transparent objects had self-painting
57         sublayers.
58
59         * WebCore.xcodeproj/project.pbxproj:
60         * dom/ContainerNode.cpp:
61         (WebCore::ContainerNode::getUpperLeftCorner):
62         * editing/visible_units.cpp:
63         (WebCore::previousLinePosition):
64         (WebCore::nextLinePosition):
65         * page/FrameView.cpp:
66         (WebCore::FrameView::adjustViewSize):
67         (WebCore::FrameView::adjustPageHeight):
68         * rendering/InlineBox.cpp:
69         (WebCore::InlineBox::height):
70         * rendering/InlineBox.h:
71         * rendering/InlineFlowBox.cpp:
72         (WebCore::InlineFlowBox::adjustPosition):
73         (WebCore::InlineFlowBox::placeBoxesHorizontally):
74         (WebCore::InlineFlowBox::placeBoxesVertically):
75         (WebCore::InlineFlowBox::computeVerticalOverflow):
76         (WebCore::InlineFlowBox::nodeAtPoint):
77         (WebCore::InlineFlowBox::paint):
78         * rendering/InlineFlowBox.h:
79         (WebCore::InlineFlowBox::InlineFlowBox):
80         (WebCore::InlineFlowBox::topCombinedOverflow):
81         (WebCore::InlineFlowBox::bottomCombinedOverflow):
82         (WebCore::InlineFlowBox::leftCombinedOverflow):
83         (WebCore::InlineFlowBox::rightCombinedOverflow):
84         (WebCore::InlineFlowBox::combinedOverflowRect):
85         (WebCore::InlineFlowBox::topLayoutOverflow):
86         (WebCore::InlineFlowBox::bottomLayoutOverflow):
87         (WebCore::InlineFlowBox::leftLayoutOverflow):
88         (WebCore::InlineFlowBox::rightLayoutOverflow):
89         (WebCore::InlineFlowBox::layoutOverflowRect):
90         (WebCore::InlineFlowBox::topVisualOverflow):
91         (WebCore::InlineFlowBox::bottomVisualOverflow):
92         (WebCore::InlineFlowBox::leftVisualOverflow):
93         (WebCore::InlineFlowBox::rightVisualOverflow):
94         (WebCore::InlineFlowBox::visualOverflowRect):
95         (WebCore::InlineFlowBox::setHorizontalOverflowPositions):
96         (WebCore::InlineFlowBox::setVerticalOverflowPositions):
97         * rendering/InlineTextBox.cpp:
98         (WebCore::InlineTextBox::paint):
99         * rendering/RenderBlock.cpp:
100         (WebCore::RenderBlock::RenderBlock):
101         (WebCore::RenderBlock::layout):
102         (WebCore::RenderBlock::layoutBlock):
103         (WebCore::RenderBlock::addOverflowFromBlockChildren):
104         (WebCore::RenderBlock::handleBottomOfBlock):
105         (WebCore::RenderBlock::layoutBlockChildren):
106         (WebCore::RenderBlock::paint):
107         (WebCore::RenderBlock::fillInlineSelectionGaps):
108         (WebCore::RenderBlock::floatRect):
109         (WebCore::RenderBlock::lowestPosition):
110         (WebCore::RenderBlock::rightmostPosition):
111         (WebCore::RenderBlock::leftmostPosition):
112         (WebCore::RenderBlock::addOverhangingFloats):
113         (WebCore::RenderBlock::nodeAtPoint):
114         (WebCore::RenderBlock::positionForPointWithInlineChildren):
115         (WebCore::RenderBlock::layoutColumns):
116         (WebCore::getHeightForLineCount):
117         * rendering/RenderBlock.h:
118         * rendering/RenderBlockLineLayout.cpp:
119         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
120         (WebCore::RenderBlock::computeVerticalPositionsForLine):
121         (WebCore::RenderBlock::layoutInlineChildren):
122         (WebCore::RenderBlock::matchedEndLine):
123         (WebCore::RenderBlock::addOverflowFromInlineChildren):
124         * rendering/RenderBox.cpp:
125         (WebCore::RenderBox::destroy):
126         (WebCore::RenderBox::clippedOverflowRectForRepaint):
127         (WebCore::RenderBox::localCaretRect):
128         (WebCore::RenderBox::addShadowAndReflectionOverflow):
129         (WebCore::RenderBox::addOverflowFromChild):
130         (WebCore::RenderBox::addLayoutOverflow):
131         (WebCore::RenderBox::addVisualOverflow):
132         (WebCore::RenderBox::clearLayoutOverflow):
133         * rendering/RenderBox.h:
134         (WebCore::RenderBox::combinedOverflowRect):
135         (WebCore::RenderBox::topCombinedOverflow):
136         (WebCore::RenderBox::bottomCombinedOverflow):
137         (WebCore::RenderBox::leftCombinedOverflow):
138         (WebCore::RenderBox::rightCombinedOverflow):
139         (WebCore::RenderBox::layoutOverflowRect):
140         (WebCore::RenderBox::topLayoutOverflow):
141         (WebCore::RenderBox::bottomLayoutOverflow):
142         (WebCore::RenderBox::leftLayoutOverflow):
143         (WebCore::RenderBox::rightLayoutOverflow):
144         (WebCore::RenderBox::visualOverflowRect):
145         (WebCore::RenderBox::topVisualOverflow):
146         (WebCore::RenderBox::bottomVisualOverflow):
147         (WebCore::RenderBox::leftVisualOverflow):
148         (WebCore::RenderBox::rightVisualOverflow):
149         * rendering/RenderFlexibleBox.cpp:
150         (WebCore::RenderFlexibleBox::layoutBlock):
151         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
152         (WebCore::RenderFlexibleBox::layoutVerticalBox):
153         * rendering/RenderLayer.cpp:
154         (WebCore::RenderLayer::updateLayerPosition):
155         (WebCore::RenderLayer::localBoundingBox):
156         * rendering/RenderLayerCompositor.cpp:
157         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
158         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
159         * rendering/RenderLineBoxList.cpp:
160         (WebCore::RenderLineBoxList::paint):
161         (WebCore::RenderLineBoxList::hitTest):
162         * rendering/RenderListItem.cpp:
163         (WebCore::RenderListItem::positionListMarker):
164         * rendering/RenderObject.cpp:
165         (WebCore::RenderObject::RenderObject):
166         * rendering/RenderObject.h:
167         * rendering/RenderOverflow.h: Added.
168         (WebCore::RenderOverflow::RenderOverflow):
169         (WebCore::RenderOverflow::topLayoutOverflow):
170         (WebCore::RenderOverflow::bottomLayoutOverflow):
171         (WebCore::RenderOverflow::leftLayoutOverflow):
172         (WebCore::RenderOverflow::rightLayoutOverflow):
173         (WebCore::RenderOverflow::topVisualOverflow):
174         (WebCore::RenderOverflow::bottomVisualOverflow):
175         (WebCore::RenderOverflow::leftVisualOverflow):
176         (WebCore::RenderOverflow::rightVisualOverflow):
177         (WebCore::RenderOverflow::setTopLayoutOverflow):
178         (WebCore::RenderOverflow::setBottomLayoutOverflow):
179         (WebCore::RenderOverflow::setLeftLayoutOverflow):
180         (WebCore::RenderOverflow::setRightLayoutOverflow):
181         (WebCore::RenderOverflow::setTopVisualOverflow):
182         (WebCore::RenderOverflow::setBottomVisualOverflow):
183         (WebCore::RenderOverflow::setLeftVisualOverflow):
184         (WebCore::RenderOverflow::setRightVisualOverflow):
185         (WebCore::RenderOverflow::layoutOverflowRect):
186         (WebCore::RenderOverflow::visualOverflowRect):
187         (WebCore::RenderOverflow::combinedOverflowRect):
188         (WebCore::RenderOverflow::move):
189         (WebCore::RenderOverflow::addLayoutOverflow):
190         (WebCore::RenderOverflow::addVisualOverflow):
191         (WebCore::RenderOverflow::resetLayoutOverflow):
192         * rendering/RenderPartObject.cpp:
193         (WebCore::RenderPartObject::layout):
194         * rendering/RenderReplaced.cpp:
195         (WebCore::RenderReplaced::~RenderReplaced):
196         (WebCore::RenderReplaced::layout):
197         (WebCore::RenderReplaced::shouldPaint):
198         (WebCore::RenderReplaced::positionForPoint):
199         (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
200         * rendering/RenderReplaced.h:
201         * rendering/RenderScrollbarPart.cpp:
202         (WebCore::RenderScrollbarPart::layout):
203         (WebCore::RenderScrollbarPart::paintIntoRect):
204         * rendering/RenderSlider.cpp:
205         (WebCore::RenderSlider::layout):
206         * rendering/RenderTable.cpp:
207         (WebCore::RenderTable::layout):
208         (WebCore::RenderTable::paint):
209         * rendering/RenderTableCell.cpp:
210         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
211         * rendering/RenderTableSection.cpp:
212         (WebCore::RenderTableSection::layoutRows):
213         * rendering/RenderTableSection.h:
214         * rendering/RenderText.cpp:
215         (WebCore::RenderText::positionForPoint):
216         (WebCore::RenderText::localCaretRect):
217         * rendering/RenderView.cpp:
218         (WebCore::RenderView::layout):
219         * rendering/RootInlineBox.cpp:
220         (WebCore::RootInlineBox::addHighlightOverflow):
221         (WebCore::RootInlineBox::adjustPosition):
222         (WebCore::RootInlineBox::verticallyAlignBoxes):
223         (WebCore::RootInlineBox::selectionTop):
224         * rendering/RootInlineBox.h:
225         (WebCore::RootInlineBox::RootInlineBox):
226         (WebCore::RootInlineBox::nextRootBox):
227         (WebCore::RootInlineBox::prevRootBox):
228         (WebCore::RootInlineBox::lineTop):
229         (WebCore::RootInlineBox::lineBottom):
230         (WebCore::RootInlineBox::selectionBottom):
231         (WebCore::RootInlineBox::selectionHeight):
232         (WebCore::RootInlineBox::floats):
233         (WebCore::RootInlineBox::floatsPtr):
234         (WebCore::RootInlineBox::setLineTopBottomPositions):
235         * rendering/SVGRootInlineBox.cpp:
236         (WebCore::SVGRootInlineBox::layoutInlineBoxes):
237
238 2009-08-18  Alexey Proskuryakov  <ap@apple.com>
239
240         Reviewed by Darin Adler.
241
242         https://bugs.webkit.org/show_bug.cgi?id=28431
243         <rdar://problem/7137610> Application Cache doesn't work with HTTP authentication
244
245         Test: http/tests/appcache/auth.html
246
247         * loader/appcache/ApplicationCacheGroup.h:
248         (WebCore::ApplicationCacheGroup::shouldUseCredentialStorage): If appcache is enabled,
249         always allow it to use stored credentials (we can't ask WebKit client, and maybe we
250         shouldn't ask it, because it's not a document that's loading these resources).
251
252 2009-08-18  Anders Carlsson  <andersca@apple.com>
253
254         Reviewed by John Sullivan and David Hyatt.
255
256         Fix <rdar://problem/7147996>
257
258         * platform/ScrollView.cpp:
259         (WebCore::ScrollView::setHasHorizontalScrollbar):
260         (WebCore::ScrollView::setHasVerticalScrollbar):
261         Update the style of the scroll bars.
262         
263         * rendering/RenderScrollbar.cpp:
264         (WebCore::RenderScrollbar::RenderScrollbar):
265         Calculate the size of the scrollbar and set it as the frame size.
266
267 2009-08-18  Eric Carlson  <eric.carlson@apple.com>
268
269         Reviewed by Simon Fraser.
270
271         HTMLMediaElement should fire 'progress' event before 'load'
272         https://bugs.webkit.org/show_bug.cgi?id=28314
273
274         Test: media/progress-event-at-least-one.html
275
276         * html/HTMLMediaElement.cpp:
277         (WebCore::HTMLMediaElement::setNetworkState):
278             Schedule 'progress' event before 'load'.
279
280 2009-08-18  Peter Kasting  <pkasting@google.com>
281
282         Reviewed by Eric Seidel.
283
284         https://bugs.webkit.org/show_bug.cgi?id=28415
285         Set svn:eol-style CRLF on all .sln and .vcproj files that don't already
286         have it.
287
288         * WebCore.vcproj/QTMovieWin.vcproj:
289         * WebCore.vcproj/WebCoreGenerated.vcproj:
290
291 2009-08-18  Drew Wilson  <atwilson@google.com>
292
293         Reviewed by Eric Seidel.
294
295         Need to extend DumpRenderTree to expose number of worker threads
296         https://bugs.webkit.org/show_bug.cgi?id=28292
297
298         Expose WorkerThread::workerThreadCount() for DumpRenderTree so we can write worker lifecycle tests.
299
300         Tests: fast/workers/shared-worker-lifecycle.html-disabled
301                fast/workers/worker-lifecycle.html
302
303         * WebCore.base.exp:
304         Exported WorkerThread::workerThreadCount().
305         * WebCore.xcodeproj/project.pbxproj:
306         * workers/WorkerThread.cpp:
307         Added tracking of the number of worker threads.
308         (WebCore::threadCountMutex):
309         (WebCore::WorkerThread::workerThreadCount):
310         (WebCore::WorkerThread::WorkerThread):
311         (WebCore::WorkerThread::~WorkerThread):
312         * workers/WorkerThread.h:
313
314 2009-08-18  Ariya Hidayat  <ariya.hidayat@nokia.com>
315
316         Unreviewed, build fix.
317
318         [Qt] Add new files I forgot to add in r47424.
319
320 2009-08-18  Markus Goetz <Markus.Goetz@nokia.com>
321
322         Reviewed by Ariya Hidayat.
323
324         [Qt] Implement prefetchDNS() function.
325
326         * WebCore.pro:
327         * platform/qt/TemporaryLinkStubs.cpp:
328
329 2009-08-18  Kent Tamura  <tkent@chromium.org>
330
331         Reviewed by Eric Seidel.
332
333         Support for parsing <datalist> element and generating HTMLDataListElement nodes.
334         https://bugs.webkit.org/show_bug.cgi?id=26915
335
336         Tests: fast/forms/datalist-nonoption-child.html
337                fast/forms/datalist.html
338
339         * WebCore.gypi:
340         * WebCore.pro:
341         * WebCore.vcproj/WebCore.vcproj:
342         * WebCore.vcproj/WebCoreCommon.vsprops:
343         * WebCore.vcproj/build-generated-files.sh:
344         * WebCore.xcodeproj/project.pbxproj:
345         * WebCoreSources.bkl:
346         * css/html.css:
347         * html/CollectionType.h:
348         (WebCore::):
349         * html/HTMLCollection.cpp:
350         (WebCore::HTMLCollection::itemAfter):
351         * html/HTMLDataListElement.cpp: Added.
352         (WebCore::HTMLDataListElement::HTMLDataListElement):
353         (WebCore::HTMLDataListElement::~HTMLDataListElement):
354         (WebCore::HTMLDataListElement::checkDTD):
355         (WebCore::HTMLDataListElement::options):
356         * html/HTMLDataListElement.h: Added.
357         * html/HTMLDataListElement.idl: Added.
358         * html/HTMLElement.cpp:
359         (WebCore::inlineTagList):
360         * html/HTMLParser.cpp:
361         (WebCore::HTMLParser::isAffectedByResidualStyle):
362         * html/HTMLTagNames.in:
363
364 2009-08-17  Shinichiro Hamaji  <hamaji@chromium.org>
365
366         Reviewed by Eric Seidel.
367
368         -webkit-box-orient:horizontal doesn't work on <button> tag
369         https://bugs.webkit.org/show_bug.cgi?id=34445
370
371         Make a flexible button's anonymous child flexible and pass the
372         parent's box-orient to the anonymous child.
373
374         Also, added a renderName for anonymous flexible boxes.
375
376         Test: fast/flexbox/box-orient-button.html
377
378         * rendering/RenderBlock.cpp:
379         (WebCore::RenderBlock::createAnonymousBlock):
380         * rendering/RenderBlock.h:
381         * rendering/RenderButton.cpp:
382         (WebCore::RenderButton::addChild):
383         (WebCore::RenderButton::setupInnerStyle):
384         * rendering/RenderFlexibleBox.cpp:
385         (WebCore::RenderFlexibleBox::renderName):
386
387 2009-08-17  Simon Fraser  <simon.fraser@apple.com>
388
389         Reviewed by Dave Hyatt.
390         
391         Render -webkit-mask via compositing layers when possible
392         https://bugs.webkit.org/show_bug.cgi?id=28414
393         
394         Implement accelerated compositing of -webkit-mask, when combined
395         with already-composited content.
396         
397         RenderLayerBacking now creates an additional GraphicsLayer for the mask contents,
398         and sets this as the mask on another GraphicsLayer via the setMaskLayer() method.
399         GraphicsLayerCA then applies the mask using -[CALayer setMask:].
400         
401         The enum values for GraphicsLayerPaintingPhase were renamed to avoid the
402         confusion with "mask", and a new value, GraphicsLayerPaintMask, was added which
403         indicates that just the mask is painting.
404         
405         When painting the composited mask, we need to paint with the normal compositing
406         mode rather than CompositeDestinationIn, so InlineFlowBox and RenderBox now consult
407         layer()->hasCompositedMask() to pick the mode. If the mask is composited, they no longer
408         need to make transparency layers.
409         
410         We no longer have to throw video rendering into software because of masks.
411         
412         When a masked element has composited descendants, that element needs to
413         become composited so that the mask can be applied via compositing.
414
415         Tests: compositing/masks/masked-ancestor.html
416                compositing/masks/simple-composited-mask.html
417
418         * platform/graphics/GraphicsLayer.cpp:
419         (WebCore::GraphicsLayer::GraphicsLayer):
420         * platform/graphics/GraphicsLayer.h:
421         (WebCore::GraphicsLayer::maskLayer):
422         (WebCore::GraphicsLayer::setMaskLayer):
423         (WebCore::GraphicsLayer::paintingPhase):
424         (WebCore::GraphicsLayer::setPaintingPhase):
425         * platform/graphics/GraphicsLayerClient.h:
426         (WebCore::):
427         * platform/graphics/mac/GraphicsLayerCA.h:
428         (WebCore::GraphicsLayerCA::):
429         * platform/graphics/mac/GraphicsLayerCA.mm:
430         (WebCore::GraphicsLayerCA::setMaskLayer):
431         (WebCore::GraphicsLayerCA::recursiveCommitChanges):
432         (WebCore::GraphicsLayerCA::commitLayerChanges):
433         (WebCore::GraphicsLayerCA::updateMaskLayer):
434         * rendering/InlineFlowBox.cpp:
435         (WebCore::InlineFlowBox::paintMask):
436         * rendering/RenderBox.cpp:
437         (WebCore::RenderBox::paintMaskImages):
438         * rendering/RenderLayer.cpp:
439         (WebCore::RenderLayer::hasCompositedMask):
440         * rendering/RenderLayer.h:
441         (WebCore::RenderLayer::hasCompositedMask):
442         * rendering/RenderLayerBacking.cpp:
443         (WebCore::RenderLayerBacking::~RenderLayerBacking):
444         (WebCore::RenderLayerBacking::destroyGraphicsLayer):
445         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
446         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
447         (WebCore::RenderLayerBacking::updateForegroundLayer):
448         (WebCore::RenderLayerBacking::updateMaskLayer):
449         (WebCore::RenderLayerBacking::paintingPhaseForPrimaryLayer):
450         (WebCore::RenderLayerBacking::setContentsNeedDisplay):
451         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
452         (WebCore::RenderLayerBacking::paintIntoLayer):
453         (WebCore::RenderLayerBacking::paintContents):
454         * rendering/RenderLayerBacking.h:
455         (WebCore::RenderLayerBacking::hasMaskLayer):
456         * rendering/RenderLayerCompositor.cpp:
457         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
458         (WebCore::RenderLayerCompositor::canAccelerateVideoRendering):
459         (WebCore::RenderLayerCompositor::requiresCompositingWhenDescendantsAreCompositing):
460         * rendering/RenderLayerCompositor.h:
461
462 2009-08-17  Simon Fraser  <simon.fraser@apple.com>
463
464         Reviewed by Dave Hyatt.
465
466         Layer content misplaced with compositing, z-index and overflow
467         https://bugs.webkit.org/show_bug.cgi?id=28361
468         
469         The foreground GraphicsLayer (used to render element foreground when the element has 
470         negative z-order children) was misplaced when there is a clipping layer (which clips
471         children). The foreground layer is parented under the clipping layer so that the foreground
472         depth-sorts with the layer's children, so its geometry needs to be computed relative to
473         that clipping layer.
474         
475         Also clarified some FIXME comments, and corrected a debug-only layer name.
476
477         Test: compositing/geometry/clipping-foreground.html
478
479         * platform/graphics/mac/GraphicsLayerCA.mm:
480         (WebCore::GraphicsLayerCA::updateSublayerList):
481         * rendering/RenderLayerBacking.cpp:
482         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
483         (WebCore::RenderLayerBacking::updateForegroundLayer):
484         * rendering/RenderLayerCompositor.cpp:
485         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
486
487 2009-08-17  Mark Rowe  <mrowe@apple.com>
488
489         Reviewed by Sam Weinig.
490
491         Fix leaks of SVGElementInstance seen during regression tests.
492
493         r47313 made TreeShared types start with a ref-count of 1, but SVGElementInstance was mistakenly
494         not updated to have a create method that adopted the initial reference.  This lead to the instances
495         of SVGElementInstance allocated by SVGUseElement being leaked.
496
497         * svg/SVGElementInstance.h:
498         (WebCore::SVGElementInstance::create):
499         * svg/SVGUseElement.cpp:
500         (WebCore::SVGUseElement::buildPendingResource):
501         (WebCore::SVGUseElement::buildInstanceTree):
502         (WebCore::SVGUseElement::handleDeepUseReferencing):
503
504 2009-08-17  Brady Eidson  <beidson@apple.com>
505
506         Reviewed by Sam Weinig.
507
508         Some cleanup towards https://bugs.webkit.org/show_bug.cgi?id=13631
509         Page Cache should support pages with frames.
510
511         - Re-factor all remaining page cache code out of DocumentLoader, as CachedPage/CacheFrame loads
512           are solely the responsibility of FrameLoader.
513         - Enhance some page cache related Logging to help development.
514
515         * inspector/InspectorController.cpp:
516         (WebCore::InspectorController::didCommitLoad):
517         (WebCore::InspectorController::identifierForInitialRequest):
518
519         * loader/DocumentLoader.cpp:
520         (WebCore::DocumentLoader::DocumentLoader):
521         * loader/DocumentLoader.h:
522
523         * loader/FrameLoader.cpp:
524         (WebCore::FrameLoader::FrameLoader):
525         (WebCore::FrameLoader::commitProvisionalLoad):
526         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
527         (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
528         * loader/FrameLoader.h:
529         (WebCore::FrameLoader::isLoadingFromCachedPage):
530
531 2009-08-17  Roland Steiner  <rolandsteiner@google.com>
532
533         Reviewed by Eric Seidel.
534
535         Moved implementation of isAfterContent to RenderObject
536         (as inline method to avoid potential performance regressions).
537
538         BUG 28376 -  [Cleanup] isAfterContent() implemented twice, should be member of RenderObject
539         (https://bugs.webkit.org/show_bug.cgi?id=28376)
540
541         * rendering/RenderBox.cpp:
542         * rendering/RenderBox.h:
543         * rendering/RenderInline.cpp:
544         * rendering/RenderObject.h:
545         (WebCore::RenderObject::isAfterContent):
546
547 2009-08-17  Shinichiro Hamaji  <hamaji@chromium.org>
548
549         Reviewed by Darin Adler.
550
551         Assertion failure in WebCore::RenderHTMLCanvas::layout
552         https://bugs.webkit.org/show_bug.cgi?id=12052
553
554         Don't handle run-in if the element is not a block element.
555
556         Test: fast/runin/nonblock-runin.html
557
558         * rendering/RenderBlock.cpp:
559         (WebCore::RenderBlock::handleRunInChild):
560
561 2009-08-17  Benjamin C Meyer  <benjamin.meyer@torchmobile.com>
562
563         Reviewed by Darin Adler.
564
565         Fix createImageData to raise the NOT_SUPPORTED_ERR exception when
566         either of the arguments are not finite.
567
568         According to
569         http://www.whatwg.org/specs/web-apps/current-work/#pixel-manipulation:
570         "If any of the arguments to createImageData() or getImageData() are
571         infinite or NaN, or if the createImageData()  method is invoked with
572         only one argument but that argument is null, the method must instead
573         raise a NOT_SUPPORTED_ERR  exception."
574
575         Test: http://philip.html5.org/tests/canvas/suite/tests/2d.imageData.create.nonfinite.html
576
577         * html/canvas/CanvasRenderingContext2D.cpp:
578         (WebCore::CanvasRenderingContext2D::createImageData):
579         * html/canvas/CanvasRenderingContext2D.h:
580         * html/canvas/CanvasRenderingContext2D.idl:
581
582 2009-08-17  Jeremy Orlow  <jorlow@chromium.org>
583
584         Reviewed by Darin Fisher.
585
586         Add a way to release the storage lock
587         https://bugs.webkit.org/show_bug.cgi?id=28411
588
589         Two scripts within the same origin that are accessing LocalStorage must not do
590         it simultaneously, according to the spec.  There are some cases, however, where
591         a script might want to override this behavior.  navigator.getStorageUpdates()
592         was added for this reason:
593         http://dev.w3.org/html5/spec/Overview.html#manually-releasing-the-storage-mutex
594
595         Add this function to navigator and hook it up to DOM Storage.
596
597         * page/Navigator.cpp:
598         (WebCore::Navigator::getStorageUpdates):
599         * page/Navigator.h:
600         * page/Navigator.idl:
601         * storage/StorageNamespace.h:
602         * storage/StorageNamespaceImpl.cpp:
603         (WebCore::StorageNamespaceImpl::unlock):
604         * storage/StorageNamespaceImpl.h:
605
606 2009-08-17  Mark Rowe  <mrowe@apple.com>
607
608         Build fix.
609
610         CFNetwork isn't present in the framework search path on Mac OS X so we can't directly include its headers.
611         We include CoreServices.h, the umbrella framework that contains CFNetwork, from the prefix header which
612         results in the CFNetwork headers being included on Mac OS X.  CoreServices.h doesn't include CFNetwork.h on
613         Windows though so we explicitly include this header from the prefix header when on Windows.
614
615         * WebCorePrefix.h:
616         * platform/network/cf/DNSCFNet.cpp: Remove #include that is no longer needed.
617
618 2009-08-17  Alexey Proskuryakov  <ap@apple.com>
619
620         Trying a better build fix (the previous one broke Leopard bots, although it did build for me).
621
622         * platform/network/cf/DNSCFNet.cpp: Include CFNetwork/CFNetwork.h instead.
623
624 2009-08-17  Alexey Proskuryakov  <ap@apple.com>
625
626         Trying to fix Windows build.
627
628         * platform/network/cf/DNSCFNet.cpp: Include CFNetwork/CFHost.h.
629
630 2009-08-17  Peter Kasting  <pkasting@google.com>
631
632         Reviewed by Steve Falkenburg.
633
634         https://bugs.webkit.org/show_bug.cgi?id=27323
635         Only add Cygwin to the path when it isn't already there.  This avoids
636         causing problems for people who purposefully have non-Cygwin versions of
637         executables like svn in front of the Cygwin ones in their paths.
638
639         * WebCore.vcproj/QTMovieWin.vcproj:
640         * WebCore.vcproj/WebCoreCommon.vsprops:
641         * WebCore.vcproj/WebCoreGenerated.vcproj:
642
643 2009-08-17  Alexey Proskuryakov  <ap@apple.com>
644
645         Reviewed by Geoff Garen.
646
647         https://bugs.webkit.org/show_bug.cgi?id=28401
648         Add support for DNS prefetching with CFNetwork
649
650         This is just an optimization, no behavior change, so no tests.
651
652         * platform/network/cf/DNSCFNet.cpp:
653         (WebCore::clientCallback):
654         (WebCore::prefetchDNS):
655         Use async CFHostStartInfoResolution() for implementation.
656
657 2009-08-17  Aaron Boodman  <aa@chromium.org>
658
659         Reviewed by Alexey Proskuryakov.
660
661         https://bugs.webkit.org/show_bug.cgi?id=28313: Combine ThreadableLoaderOptions::crossOriginRequestPolicy and
662         ThreadableLoaderOptions::crossOriginRedirectPolicy since they are always set the same way.
663
664         Also, tightened up behavior of XMLHttpRequest with cross-origin redirects and access control. We have not implemented
665         redirects access control, so we should never redirect across origins. But in two edge cases, we were:
666
667         * Asynchronous XHR: Script on origin A requests resource from origin B. Server redirects (without sending access control
668           authorization headers) to a resource on origin A.
669         * Synchronous XHR: Script on origin A requests resource from origin B. Server redirects (without sending access control
670           authorization headers) to another resource on origin B (this time sending access control authorization headers).
671
672         Test: http/tests/xmlhttprequest/access-control-and-redirects.html
673
674         * loader/DocumentThreadableLoader.cpp:
675         (WebCore::DocumentThreadableLoader::willSendRequest): Refactor redirect checking code into shared location.
676         (WebCore::DocumentThreadableLoader::loadRequest): Ditto.
677         (WebCore::DocumentThreadableLoader::isAllowedRedirect): Ditto.
678         * loader/DocumentThreadableLoader.h:
679         * loader/ThreadableLoader.h:
680         (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions): Remove ThreadableLoaderOptions::crossOriginRedirectPolicy.
681         * page/EventSource.cpp:
682         (WebCore::EventSource::connect): Ditto.
683         * workers/Worker.cpp: Ditto.
684         (WebCore::Worker::Worker): Ditto.
685         * workers/WorkerContext.cpp: Ditto.
686         (WebCore::WorkerContext::importScripts): Ditto.
687         * workers/WorkerScriptLoader.cpp:
688         (WebCore::WorkerScriptLoader::loadSynchronously): Ditto.
689         (WebCore::WorkerScriptLoader::loadAsynchronously): Ditto.
690         * workers/WorkerScriptLoader.h: 
691         * xml/XMLHttpRequest.cpp:
692         (WebCore::XMLHttpRequest::createRequest): Ditto.
693
694 2009-08-17  Adam Langley  <agl@google.com>
695
696         Reviewed by Dan Bernstein (relanding of r47157).
697
698         Fix a typo in platform/graphics/skia/PlatformContextSkia.cpp
699
700         https://bugs.webkit.org/show_bug.cgi?id=28172
701
702         This was originally fixed in r47157, however it triggered a bug in
703         Skia which caused Chromium Linux to fail layout tests in debug mode.
704         It was reverted in r47189 while we sorted it out.
705
706         The Skia bug was fixed in Skia's r321 [1] and rolled into Chromium in
707         Chromium's r23523. This is a reland of the original patch.
708
709         No new tests because it's a just typo fix.
710
711         [1] http://code.google.com/p/skia/source/detail?r=321
712
713         * platform/graphics/skia/PlatformContextSkia.cpp:
714         (PlatformContextSkia::setupPaintCommon):
715
716 2009-08-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
717
718         Reviewed by Xan Lopez.
719
720         Protect ResourceHandle for g_file_query_info_async call, using the
721         same technique we already use for HTTP requests that take the soup
722         path.
723
724         * platform/network/soup/ResourceHandleSoup.cpp:
725         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
726         (WebCore::ResourceHandle::~ResourceHandle):
727         (WebCore::finishedCallback):
728         (WebCore::):
729
730 2009-08-17  Dan Bernstein  <mitz@apple.com>
731
732         Reviewed by Darin Adler.
733
734         REGRESSION (r47255): MediaWiki's (including Wikipedia) navigation pane
735         appears below the main content
736         https://bugs.webkit.org/show_bug.cgi?id=28350
737
738         A particular version of the MediaWiki software detects WebKit through
739         user agent sniffing and imports a style sheet called KHTMLFixes.css,
740         which contains a single rule that was meant to work around some KHTML
741         bug, but currently has the sole effect of causing the float containing
742         the main article content to extend all the way to the left and thus push
743         down the left navigation pane.
744
745         * css/CSSImportRule.cpp:
746         (WebCore::CSSImportRule::setCSSStyleSheet): If site specific hacks are
747         enabled, check if the imported style sheet is the MediaWiki
748         KHTMLFixes.css. If so, remove the offending rule.
749
750 2009-08-17  Brent Fulgham  <bfulgham@webkit.org>
751
752         Reviewed by Kevin Ollivier.
753
754         Correct crash when processing local cancelled requests.
755
756         No new tests. Existing fast/images/favicon-as-image.html
757         displays the problem.
758
759         * platform/network/curl/ResourceHandleManager.cpp:
760         (WebCore::writeCallback): Add check for m_cancelled after
761           performing local-file processing.
762         (WebCore::ResourceHandleManager::downloadTimerCallback): Add
763           check for m_cancelled after performing local-file processing.
764
765 2009-08-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
766
767         Unreviewed. Reverts 47371, since it breaks GTK+.
768
769         * platform/graphics/ImageSource.cpp:
770         (WebCore::ImageSource::setData):
771         * platform/image-decoders/ImageDecoder.cpp: Removed.
772         * platform/image-decoders/ImageDecoder.h:
773         (WebCore::ImageDecoder::ImageDecoder):
774         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
775         (WebCore::convertCMYKToRGBA):
776         (WebCore::convertRGBToRGBA):
777         (WebCore::JPEGImageDecoder::outputScanlines):
778         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
779         * platform/image-decoders/png/PNGImageDecoder.cpp:
780         (WebCore::PNGImageDecoder::headerAvailable):
781         (WebCore::PNGImageDecoder::rowAvailable):
782
783 2009-08-17  Yong Li  <yong.li@torchmobile.com>
784
785         Reviewed by Adam Treat.
786
787         Allow image decoders to down-sample the image directly
788         to scaled output buffer. This can be enabled/disabled by
789         macro ENABLE(IMAGE_DECODER_DOWN_SAMPLING).
790         Only JPEG and PNG decoders are modified to support it now.
791         https://bugs.webkit.org/show_bug.cgi?id=28308
792
793         * platform/graphics/ImageSource.cpp:
794         (WebCore::ImageSource::setData):
795         * platform/image-decoders/ImageDecoder.cpp: Added.
796         * platform/image-decoders/ImageDecoder.h:
797         (WebCore::ImageDecoder::ImageDecoder):
798         (WebCore::ImageDecoder::setMaxNumPixels):
799         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
800         (WebCore::convertCMYKToRGBA):
801         (WebCore::convertRGBToRGBA):
802         (WebCore::JPEGImageDecoder::outputScanlines):
803         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
804         (WebCore::JPEGImageDecoder::setSize):
805         * platform/image-decoders/png/PNGImageDecoder.cpp:
806         (WebCore::PNGImageDecoder::headerAvailable):
807         (WebCore::PNGImageDecoder::rowAvailable):
808
809 2009-08-17  Simon Fraser  <simon.fraser@apple.com>
810
811         Build fix: fix float literals to avoid casting warnings.
812
813         * rendering/MediaControlElements.cpp:
814
815 2009-08-17  Simon Fraser  <simon.fraser@apple.com>
816
817         Reviewed by Eric Seidel.
818
819         Use OwnPtrs for GraphicsLayers
820         https://bugs.webkit.org/show_bug.cgi?id=28399
821
822         Convert RenderLayerBacking and RenderLayerCompositor to use OwnPtrs
823         for their references to GraphicsLayers.
824
825         * platform/graphics/GraphicsLayer.h:
826         * platform/graphics/mac/GraphicsLayerCA.mm:
827         (WebCore::GraphicsLayer::create):
828         * rendering/RenderLayerBacking.cpp:
829         (WebCore::RenderLayerBacking::RenderLayerBacking):
830         (WebCore::RenderLayerBacking::createGraphicsLayer):
831         (WebCore::RenderLayerBacking::destroyGraphicsLayer):
832         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
833         (WebCore::RenderLayerBacking::updateInternalHierarchy):
834         (WebCore::RenderLayerBacking::updateClippingLayers):
835         (WebCore::RenderLayerBacking::updateForegroundLayer):
836         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
837         * rendering/RenderLayerBacking.h:
838         (WebCore::RenderLayerBacking::graphicsLayer):
839         (WebCore::RenderLayerBacking::clippingLayer):
840         (WebCore::RenderLayerBacking::ancestorClippingLayer):
841         (WebCore::RenderLayerBacking::foregroundLayer):
842         (WebCore::RenderLayerBacking::parentForSublayers):
843         (WebCore::RenderLayerBacking::childForSuperlayers):
844         * rendering/RenderLayerCompositor.cpp:
845         (WebCore::RenderLayerCompositor::~RenderLayerCompositor):
846         (WebCore::RenderLayerCompositor::rootPlatformLayer):
847         (WebCore::RenderLayerCompositor::didMoveOnscreen):
848         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
849         (WebCore::RenderLayerCompositor::destroyRootPlatformLayer):
850         * rendering/RenderLayerCompositor.h:
851
852 2009-08-17  Pavel Feldman  <pfeldman@chromium.org>
853
854         Reviewed by Timothy Hatcher.
855
856         WebInspector: Reset InjectedScript styles cache on document change.
857
858         https://bugs.webkit.org/show_bug.cgi?id=28390
859
860         * inspector/InspectorController.cpp:
861         (WebCore::InspectorController::close):
862         (WebCore::InspectorController::populateScriptObjects):
863         (WebCore::InspectorController::didCommitLoad):
864         (WebCore::InspectorController::resetInjectedScript):
865         * inspector/InspectorController.h:
866         * inspector/InspectorDOMAgent.cpp:
867         (WebCore::InspectorDOMAgent::setDocument):
868         * inspector/InspectorDOMAgent.h:
869         * inspector/front-end/InjectedScript.js:
870         (InjectedScript._reset):
871
872 2009-08-17  Darin Adler  <darin@apple.com>
873
874         Reviewed by Sam Weinig.
875
876         * rendering/MediaControlElements.cpp: Removed unneeded include of CString.h,
877         resorted includes, renamed "doc" to "document" and fixed formatting.
878
879 2009-08-17  Darin Adler  <darin@apple.com>
880
881         Reviewed by Sam Weinig.
882
883         Removed functions now unneeded due to use of Reflect to create
884         language bindings.
885
886         * accessibility/AccessibilityRenderObject.cpp:
887         (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
888         Get at usemap attribute directly.
889
890         * editing/DeleteButtonController.cpp:
891         (WebCore::DeleteButtonController::createDeletionUI):
892         Get at id attribute directly.
893         * editing/EditorCommand.cpp:
894         (WebCore::executeInsertHorizontalRule): Ditto.
895
896         * html/HTMLDocument.cpp:
897         (WebCore::HTMLDocument::dir): Get at dir attribute of body directly.
898         (WebCore::HTMLDocument::setDir): Ditto.
899
900         * html/HTMLElement.cpp: Deleted unused functions.
901         * html/HTMLElement.h: Ditto.
902
903         * html/HTMLImageElement.cpp: Deleted unused functions.
904         (WebCore::HTMLImageElement::alt): Changed to return const AtomicString&.
905         (WebCore::HTMLImageElement::addSubresourceAttributeURLs): Changed to
906         get at usemap attribute directly, but added a FIXME because although
907         it is what the old code did, it looks to not be entirely correct.
908
909         * html/HTMLImageElement.h: Deleted unused functions.
910
911         * rendering/HitTestResult.cpp:
912         (WebCore::HitTestResult::altDisplayString): Get at alt attribute directly.
913
914         * rendering/RenderImage.cpp:
915         (WebCore::RenderImage::imageMap): Get at usemap attribute directly.
916
917         * rendering/RenderLayerBacking.cpp:
918         (WebCore::RenderLayerBacking::createGraphicsLayer): Get at id attribute
919         directly.
920         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Removed
921         explicit HTMLNames namespace qualification.
922
923 2009-08-17  Darin Adler  <darin@apple.com>
924
925         Reviewed by Sam Weinig.
926
927         * dom/Document.cpp:
928         (WebCore::Document::setFocusedNode): Removed unneeded calls
929         to RefPtr::get.
930
931 2009-08-17  Pavel Feldman  <pfeldman@chromium.org>
932
933         Reviewed by Timothy Hatcher.
934
935         WebInspector: Discard DOM Node bindings on any document change.
936
937         https://bugs.webkit.org/show_bug.cgi?id=28389
938
939         * inspector/InspectorDOMAgent.cpp:
940         (WebCore::InspectorDOMAgent::setDocument):
941
942 2009-08-13  Joseph Pecoraro  <joepeck02@gmail.com>
943
944         Reviewed by Timothy Hatcher.
945
946         Inspector: Improve Cookie DataGrid to Show Hidden Data
947         https://bugs.webkit.org/show_bug.cgi?id=28269
948
949         * English.lproj/localizedStrings.js: DataGrid Headers "Name", "Value", "Size", ...
950         * WebCore.gypi: added missing files
951
952           Implemented Bindings for InspectorController.deleteCookie(name)
953
954         * inspector/InspectorBackend.idl:
955         * bindings/js/JSInspectorBackendCustom.cpp:
956         (WebCore::JSInspectorBackend::cookies):
957         (WebCore::JSInspectorBackend::deleteCookie):
958
959           v8 Bindings Stubs
960
961         * bindings/v8/custom/V8CustomBinding.h:
962         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
963         (WebCore::CALLBACK_FUNC_DECL):
964
965           Removed WebInspector.Cookie
966
967         * inspector/front-end/Cookie.js: Removed.
968         * inspector/front-end/inspector.html:
969         * inspector/front-end/WebKit.qrc:
970
971           Improved DataGrid and Kept Fallback Behavior for Platforms that don't
972           yet provide access to raw cookies.
973
974         * inspector/front-end/CookieItemsView.js:
975         (WebInspector.CookieItemsView):
976         (WebInspector.CookieItemsView.prototype.get statusBarItems):
977         (WebInspector.CookieItemsView.prototype.update):
978         (WebInspector.CookieItemsView.prototype.buildCookies):
979         (WebInspector.CookieItemsView.prototype.dataGridForCookies):
980         (WebInspector.CookieItemsView.prototype.fallbackUpdate.callback):
981         (WebInspector.CookieItemsView.prototype.fallbackUpdate):
982         (WebInspector.CookieItemsView.prototype.fallbackBuildCookiesFromString):
983         (WebInspector.CookieItemsView.prototype.fallbackDataGridForCookies):
984         (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
985
986           Interaction with the page through Injected Script (for fallback behavior)
987
988         * inspector/front-end/DOMAgent.js:
989         (InspectorController.getCookies):
990         * inspector/front-end/InjectedScript.js:
991         (InjectedScript.setStyleProperty): style fix
992         (InjectedScript.getCookies):
993
994           Allow alignment of text inside DataGrids.
995
996         * inspector/front-end/DataGrid.js:
997         (WebInspector.DataGrid):
998         (WebInspector.DataGridNode.prototype.createCell):
999         * inspector/front-end/DatabasesPanel.js:
1000         (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
1001         * inspector/front-end/inspector.css:
1002
1003           Added deleteCookie(., ., String name)
1004           Modified getRawCookies to return a bool to know if its implemented
1005
1006         * platform/CookieJar.h:
1007
1008
1009           Implemented deleteCookie for Macs
1010
1011         * platform/mac/CookieJar.mm:
1012         (WebCore::getRawCookies):
1013         (WebCore::deleteCookie):
1014
1015           Stub Implementations for Other Platforms
1016
1017         * platform/haiku/CookieJarHaiku.cpp:
1018         (WebCore::getRawCookies):
1019         (WebCore::deleteCookie):
1020         * platform/network/chromium/CookieJarChromium.cpp:
1021         (WebCore::getRawCookies):
1022         (WebCore::deleteCookie):
1023         * platform/network/curl/CookieJarCurl.cpp:
1024         (WebCore::getRawCookies):
1025         (WebCore::deleteCookie):
1026         * platform/network/soup/CookieJarSoup.cpp:
1027         (WebCore::getRawCookies):
1028         (WebCore::deleteCookie):
1029         * platform/network/win/CookieJarCFNetWin.cpp:
1030         (WebCore::getRawCookies):
1031         (WebCore::deleteCookie):
1032         * platform/network/win/CookieJarWin.cpp:
1033         (WebCore::getRawCookies):
1034         (WebCore::deleteCookie):
1035         * platform/qt/CookieJarQt.cpp:
1036         (WebCore::getRawCookies):
1037         (WebCore::deleteCookie):
1038
1039 2009-08-17  Adam Treat  <adam.treat@torchmobile.com>
1040
1041         Blind build fix for Leopard.
1042
1043         * platform/graphics/GraphicsContext.cpp:
1044         (WebCore::GraphicsContext::adjustLineToPixelBoundaries):
1045
1046 2009-08-13  Mike Fenton  <mike.fenton@torchmobile.com>
1047
1048         Reviewed by Adam Treat.
1049
1050         Style fixes based on cpp_style.py and WebKit Style guide for
1051         GraphicsContextCG.cpp
1052
1053         https://bugs.webkit.org/show_bug.cgi?id=28268
1054
1055         * platform/graphics/cg/GraphicsContextCG.cpp:
1056         (WebCore::GraphicsContext::drawLine):
1057         (WebCore::GraphicsContext::drawEllipse):
1058         (WebCore::GraphicsContext::strokeArc):
1059         (WebCore::GraphicsContext::drawConvexPolygon):
1060         (WebCore::GraphicsContext::applyStrokePattern):
1061         (WebCore::GraphicsContext::drawPath):
1062         (WebCore::GraphicsContext::clipOut):
1063         (WebCore::GraphicsContext::clipOutEllipseInRect):
1064         (WebCore::GraphicsContext::addInnerRoundedRectClip):
1065         (WebCore::GraphicsContext::clipToImageBuffer):
1066         (WebCore::GraphicsContext::setPlatformShadow):
1067         (WebCore::GraphicsContext::setLineCap):
1068         (WebCore::GraphicsContext::setLineJoin):
1069         (WebCore::GraphicsContext::roundToDevicePixels):
1070         (WebCore::GraphicsContext::drawLineForText):
1071         (WebCore::GraphicsContext::setURLForRect):
1072         (WebCore::GraphicsContext::setImageInterpolationQuality):
1073         (WebCore::GraphicsContext::imageInterpolationQuality):
1074         (WebCore::GraphicsContext::setPlatformTextDrawingMode):
1075         (WebCore::GraphicsContext::setCompositeOperation):
1076
1077 2009-08-13  Mike Fenton  <mike.fenton@torchmobile.com>
1078
1079         Reviewed by Adam Treat.
1080
1081         Style fixes based on cpp_style.py and WebKit Style guide for
1082         GraphicsContext.cpp/h, GraphicsContextCairo.cpp and GraphicsContextQt.cpp.
1083
1084         https://bugs.webkit.org/show_bug.cgi?id=28268
1085
1086         * platform/graphics/GraphicsContext.cpp:
1087         (WebCore::GraphicsContext::save):
1088         (WebCore::GraphicsContext::restore):
1089         (GraphicsContext::drawText):
1090         (GraphicsContext::initFocusRing):
1091         (GraphicsContext::focusRingBoundingRect):
1092         (GraphicsContext::drawImage):
1093         * platform/graphics/GraphicsContext.h:
1094         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1095         (WebCore::GraphicsContext::drawLine):
1096         (WebCore::GraphicsContext::strokeArc):
1097         (WebCore::GraphicsContext::setLineCap):
1098         (WebCore::GraphicsContext::setLineJoin):
1099         (WebCore::toCairoOperator):
1100         * platform/graphics/qt/GraphicsContextQt.cpp:
1101
1102 2009-08-17  Darin Adler  <darin@apple.com>
1103
1104         Reviewed by Dan Bernstein.
1105
1106         Change HTMLAreaElement to use OwnArrayPtr
1107         https://bugs.webkit.org/show_bug.cgi?id=28386
1108
1109         * html/HTMLAreaElement.cpp:
1110         (WebCore::HTMLAreaElement::HTMLAreaElement): Removed unneeded initializer.
1111         (WebCore::HTMLAreaElement::~HTMLAreaElement): Removed unneeded delete call.
1112         (WebCore::HTMLAreaElement::parseMappedAttribute): Use the set function
1113         instead of deletion followed by assignment.
1114         * html/HTMLAreaElement.h: Use OwnArrayPtr.
1115
1116 2009-08-17  Darin Adler  <darin@apple.com>
1117
1118         Fix Windows build.
1119
1120         * dom/make_names.pl: Add back cast to (void*) needed on Windows.
1121
1122 2009-08-17  Darin Adler  <darin@apple.com>
1123
1124         Reviewed by Dan Bernstein.
1125
1126         Move noResize from HTMLFrameElementBase to HTMLFrameElement
1127         https://bugs.webkit.org/show_bug.cgi?id=28384
1128
1129         * html/HTMLFrameElement.cpp:
1130         (WebCore::HTMLFrameElement::HTMLFrameElement): Initialize m_noResize.
1131         (WebCore::HTMLFrameElement::parseMappedAttribute): Set m_noResize to true
1132         here if noresizeAttr is changed. This code was moved here from
1133         HTMLFrameElementBase, but I added some FIXME comments.
1134         (WebCore::HTMLFrameElement::setNoResize): Set the attribute based on
1135         boolean argument. Moved here from HTMLFrameElementBase.
1136
1137         * html/HTMLFrameElement.h: Moved noResize, setNoResize, and m_noResize
1138         here from HTMLFrameElementBase.
1139
1140         * html/HTMLFrameElementBase.cpp:
1141         (WebCore::HTMLFrameElementBase::HTMLFrameElementBase): Removed m_noResize.
1142         (WebCore::HTMLFrameElementBase::parseMappedAttribute): Removed code to parse
1143         noresizeAttr.
1144
1145         * html/HTMLFrameElementBase.h: Removed noResize, setNoResize, and m_noResize.
1146
1147 2009-08-17  Darin Adler  <darin@apple.com>
1148
1149         Reviewed by Dan Bernstein.
1150
1151         Tweak HTMLFrameElementBase so that m_URL can be private
1152         https://bugs.webkit.org/show_bug.cgi?id=28385
1153
1154         * html/HTMLFrameElement.cpp:
1155         (WebCore::HTMLFrameElement::rendererIsNeeded): Removed m_URL argument.
1156         * html/HTMLFrameElementBase.cpp:
1157         (WebCore::HTMLFrameElementBase::isURLAllowed): Use m_URL instead of
1158         taking an argument.
1159         (WebCore::HTMLFrameElementBase::openURL): Removed m_URL argument.
1160         * html/HTMLFrameElementBase.h: Removed argument from isURLAllowed function.
1161         * html/HTMLIFrameElement.cpp:
1162         (WebCore::HTMLIFrameElement::rendererIsNeeded): Removed m_URL argument.
1163
1164 2009-08-17  Darin Adler  <darin@apple.com>
1165
1166         Reviewed by Dan Bernstein.
1167
1168         HTMLViewSourceDocument should use smart pointers
1169         https://bugs.webkit.org/show_bug.cgi?id=28378
1170
1171         * html/HTMLViewSourceDocument.cpp:
1172         (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument): Don't initialize
1173         pointers any more since RefPtr starts 0 by default.
1174         (WebCore::HTMLViewSourceDocument::createContainingTable): Use more specific
1175         types for local variables.
1176         (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Return a PassRefPtr,
1177         and use a RefPtr of a more specific type for a local variable.
1178         (WebCore::HTMLViewSourceDocument::addLine): Use more specific types for local
1179         variables, and use RefPtr as well.
1180         (WebCore::HTMLViewSourceDocument::addLink): Return a PassRefPtr, and use a
1181         RefPtr of a more specific type for a local variable.
1182
1183         * html/HTMLViewSourceDocument.h: Change return types to PassRefPtr and
1184         data member types to RefPtr.
1185
1186 2009-08-17  Darin Adler  <darin@apple.com>
1187
1188         Reviewed by Sam Weinig.
1189
1190         DOM attribute getter/setter functions should use const AtomicString& type
1191         https://bugs.webkit.org/show_bug.cgi?id=25425
1192
1193         Convert 4 more classes. These are classes I am going to make other changes
1194         to soon, so it's good to have this use of Reflect in the IDL out of the way.
1195
1196         * html/HTMLEmbedElement.idl: Use Reflect for many attributes.
1197         * html/HTMLFrameElement.idl: Ditto.
1198         * html/HTMLIFrameElement.idl: Ditto.
1199         * html/HTMLObjectElement.idl: Ditto.
1200
1201 2009-08-17  Darin Adler  <darin@apple.com>
1202
1203         Reviewed by Sam Weinig.
1204
1205         Script to create element factory needs changes to accommodate calling create
1206         https://bugs.webkit.org/show_bug.cgi?id=28379
1207
1208         * dom/make_names.pl: Tweak formatting. Remove lots of unneeded quotes
1209         around names used inside {}. Added new createWithNew property for tags
1210         that makes the factory use a create function instead of calling new.
1211         Renamed functions with initialize in their name to have default in their
1212         name, since they return an array full of default values and don't themselves
1213         initialize anything.
1214
1215 2009-08-16  Darin Adler  <darin@apple.com>
1216
1217         Reviewed by Dan Bernstein.
1218
1219         StyledElement should use ASCIICType instead of having its own toHex function
1220         https://bugs.webkit.org/show_bug.cgi?id=28377
1221
1222         * dom/StyledElement.cpp:
1223         (WebCore::StyledElement::addCSSColor): Use isASCIIHexDigit and toASCIIHexValue.
1224
1225 2009-08-16  Darin Adler  <darin@apple.com>
1226
1227         Reviewed by Dan Bernstein.
1228
1229         execCommand("InsertHorizontalRule") inserts a broken <hr> element
1230         https://bugs.webkit.org/show_bug.cgi?id=28375
1231
1232         * editing/EditorCommand.cpp:
1233         (WebCore::executeInsertHorizontalRule): Create an HTMLHRElement
1234         instead of just an HTMLElement.
1235
1236 2009-08-16  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1237
1238         Reviewed by George Staikos.
1239
1240         [WML] <option> element & 'onpick' events - history navigation is broken
1241         https://bugs.webkit.org/show_bug.cgi?id=28371
1242
1243         After selecting an option element with an 'onpick' event associated with a 'go' task,
1244         the navigation is executed. When going back in history, the same 'onpick' event is fired
1245         again. Fix that problem, add wml/option-element-onpick-recursion.html covering the bug.
1246
1247         Test: wml/option-element-onpick-recursion.html
1248
1249         * wml/WMLOptionElement.cpp:
1250         (WebCore::WMLOptionElement::handleIntrinsicEventIfNeeded):
1251         * wml/WMLSelectElement.cpp:
1252         (WebCore::WMLSelectElement::WMLSelectElement):
1253         (WebCore::WMLSelectElement::selectInitialOptions):
1254         * wml/WMLSelectElement.h:
1255         (WebCore::WMLSelectElement::initialized):
1256
1257 2009-08-16  Anthony Ricaud  <rik@webkit.org>
1258
1259         Reviewed by Timothy Hatcher.
1260
1261         Inspector Resource filtering: keyboard Navigation always uses ALL resources
1262         https://bugs.webkit.org/show_bug.cgi?id=28231
1263         
1264         Determine if a resource is selectable on user action.
1265         
1266         * inspector/front-end/ResourcesPanel.js:
1267         (WebInspector.ResourceSidebarTreeElement.prototype.get selectable):
1268
1269 2009-08-16  David Kilzer  <ddkilzer@apple.com>
1270
1271         <http://webkit.org/b/28355> Replace MAX()/MIN() macros with type-safe std::max()/min() templates
1272
1273         Reviewed by Dan Bernstein.
1274
1275         * accessibility/mac/AccessibilityObjectWrapper.mm:
1276         (AXAttributeStringSetSpelling): Changed MIN() to min().
1277         * platform/graphics/mac/FontMacATSUI.mm:
1278         (WebCore::Font::selectionRectForComplexText): Changed MAX() to
1279         max() and MIN() to min().
1280         (WebCore::Font::floatWidthForComplexText): Ditto.
1281         * platform/graphics/mac/SimpleFontDataMac.mm: Added using
1282         std::max statement.
1283         (WebCore::SimpleFontData::platformInit): Changed MAX() to max().
1284         * platform/text/mac/TextCodecMac.cpp:
1285         (WebCore::TextCodecMac::decode): Changed MIN() to min().
1286
1287 2009-08-16  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1288
1289         Reviewed by George Staikos.
1290
1291         [WML] Cleanup WMLIntrinsicEventHandling code
1292         https://bugs.webkit.org/show_bug.cgi?id=28358
1293
1294         Remove superflous "Event* evt" parameter from executeTask() methods. It's a leftover from the initial WML merge.
1295
1296         * wml/WMLAnchorElement.cpp:
1297         (WebCore::WMLAnchorElement::defaultEventHandler):
1298         * wml/WMLDoElement.cpp:
1299         (WebCore::WMLDoElement::defaultEventHandler):
1300         * wml/WMLGoElement.cpp:
1301         (WebCore::WMLGoElement::executeTask):
1302         * wml/WMLGoElement.h:
1303         * wml/WMLIntrinsicEventHandler.cpp:
1304         (WebCore::WMLIntrinsicEventHandler::triggerIntrinsicEvent):
1305         * wml/WMLPrevElement.cpp:
1306         (WebCore::WMLPrevElement::executeTask):
1307         * wml/WMLPrevElement.h:
1308         * wml/WMLRefreshElement.cpp:
1309         (WebCore::WMLRefreshElement::executeTask):
1310         * wml/WMLRefreshElement.h:
1311         * wml/WMLTaskElement.h:
1312
1313 2009-08-16  Pavel Feldman  <pfeldman@chromium.org>
1314
1315         Reviewed by Timothy Hatcher.
1316
1317         WebInspector: A handful of DOMAgent-related fixes and cleanups.
1318
1319         - renamed elementId to nodeId in operations on nodes.
1320         - added load listeners to frame owners in InspectorDOMAgent.
1321         - removed InspectorController::inspectedWindowScriptObjectCleared event.
1322         - preserved isViaInspector flag for 'via inspector' marker to survive styles update.
1323         - removed contentDocument-related logic from ElementsPanel since it is handled in
1324             the InspectorDOMAgent.
1325         - removed DOM listeners unregistration and corresponding events from InspectorController.
1326         - made this.styles 'private' in ElementsPanel.
1327         - added TODO for the handleCopy processing.
1328
1329         https://bugs.webkit.org/show_bug.cgi?id=28356
1330
1331         * WebCore.order:
1332         * inspector/InspectorBackend.cpp:
1333         (WebCore::InspectorBackend::getChildNodes):
1334         (WebCore::InspectorBackend::setTextNodeValue):
1335         * inspector/InspectorBackend.h:
1336         * inspector/InspectorBackend.idl:
1337         * inspector/InspectorController.cpp:
1338         * inspector/InspectorController.h:
1339         * inspector/InspectorDOMAgent.cpp:
1340         (WebCore::InspectorDOMAgent::startListening):
1341         (WebCore::InspectorDOMAgent::stopListening):
1342         (WebCore::InspectorDOMAgent::handleEvent):
1343         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
1344         (WebCore::InspectorDOMAgent::getChildNodes):
1345         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
1346         (WebCore::InspectorDOMAgent::setTextNodeValue):
1347         (WebCore::InspectorDOMAgent::buildObjectForNode):
1348         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
1349         (WebCore::InspectorDOMAgent::innerParentNode):
1350         * inspector/InspectorDOMAgent.h:
1351         * inspector/InspectorFrontend.cpp:
1352         * inspector/InspectorFrontend.h:
1353         * inspector/front-end/DOMAgent.js:
1354         (WebInspector.DOMDocument.prototype.addEventListener):
1355         (WebInspector.DOMDocument.prototype.removeEventListener):
1356         (WebInspector.DOMDocument.prototype._fireDomEvent):
1357         (WebInspector.DOMAgent.prototype.getChildNodesAsync.mycallback):
1358         (WebInspector.DOMAgent.prototype.getChildNodesAsync):
1359         (WebInspector.DOMAgent.prototype._setChildNodes):
1360         (WebInspector.CSSStyleDeclaration.parseRule):
1361         (WebInspector.childNodeInserted):
1362         (WebInspector.childNodeRemoved):
1363         * inspector/front-end/ElementsPanel.js:
1364         (WebInspector.ElementsPanel):
1365         (WebInspector.ElementsPanel.prototype.reset):
1366         (WebInspector.ElementsPanel.prototype.addStyleChange):
1367         (WebInspector.ElementsPanel.prototype.removeStyleChange):
1368         (WebInspector.ElementsPanel.prototype._updateModifiedNodes):
1369         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
1370         (WebInspector.ElementsPanel.prototype.handleCopyEvent):
1371         * inspector/front-end/ElementsTreeOutline.js:
1372         (WebInspector.ElementsTreeOutline.prototype.set rootDOMNode):
1373         (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
1374         (WebInspector.ElementsTreeElement):
1375         (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
1376         (WebInspector.ElementsTreeElement.prototype._updateChildren):
1377         (WebInspector.ElementsTreeElement.prototype.onexpand):
1378         * inspector/front-end/InjectedScript.js:
1379         (InjectedScript.addStyleSelector):
1380         (InjectedScript._serializeRule):
1381         * inspector/front-end/StylesSidebarPane.js:
1382         (WebInspector.StylePropertiesSection):
1383         * inspector/front-end/inspector.js:
1384         (WebInspector.set hoveredDOMNode):
1385         * inspector/front-end/treeoutline.js:
1386         (TreeOutline.prototype.findTreeElement):
1387         * inspector/front-end/utilities.js:
1388         (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray):
1389         (Node.prototype.enclosingNodeOrSelfWithClass):
1390         (isAncestorNode):
1391         (firstCommonNodeAncestor):
1392         (traverseNextNode):
1393         (traversePreviousNode):
1394         ():
1395         * loader/FrameLoader.cpp:
1396         (WebCore::FrameLoader::dispatchWindowObjectAvailable):
1397         * page/android/InspectorControllerAndroid.cpp:
1398
1399 2009-08-15  Simon Fraser  <simon.fraser@apple.com>
1400
1401         Reviewed by Dave Hyatt
1402
1403         Optimize updateFillImages() to not add/remove clients every time
1404         https://bugs.webkit.org/show_bug.cgi?id=28334
1405
1406         Optimize the case where old and new just have a single layer pointing to the same (or no)
1407         image.
1408
1409         * rendering/RenderObject.cpp:
1410         (WebCore::RenderObject::updateFillImages):
1411
1412 2009-08-15  Simon Fraser  <simon.fraser@apple.com>
1413
1414         Reviewed by Anders Carlsson.
1415
1416         Implement animations of multiple text-shadows and -webkit-box-shadows.
1417         https://bugs.webkit.org/show_bug.cgi?id=28266
1418         
1419         Test: transitions/multiple-shadow-transitions.html
1420
1421         * page/animation/AnimationBase.cpp:
1422         (WebCore::PropertyWrapperShadow::equals):
1423         (WebCore::PropertyWrapperShadow::blend):
1424
1425 2009-08-15  Simon Fraser  <simon.fraser@apple.com>
1426
1427         Reviewed by Anders Carlsson.
1428
1429         Make transitions work for position and size of multiple backgrounds and masks.
1430         https://bugs.webkit.org/show_bug.cgi?id=28266
1431         
1432         Make background-position, background-size, -webkit-mask-position and -webkit-mask-size
1433         properties animatable with multiple backgrounds, rather than just animating the first one.
1434
1435         Tests: transitions/multiple-background-size-transitions.html
1436                transitions/multiple-background-transitions.html
1437                transitions/multiple-mask-transitions.html
1438
1439         * page/animation/AnimationBase.cpp:
1440         (WebCore::FillLayerPropertyWrapperBase::FillLayerPropertyWrapperBase):
1441         (WebCore::FillLayerPropertyWrapperBase::~FillLayerPropertyWrapperBase):
1442         (WebCore::FillLayerPropertyWrapperGetter::FillLayerPropertyWrapperGetter):
1443         (WebCore::FillLayerPropertyWrapperGetter::equals):
1444         (WebCore::FillLayerPropertyWrapper::FillLayerPropertyWrapper):
1445         (WebCore::FillLayerPropertyWrapper::blend):
1446         (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
1447         (WebCore::FillLayersPropertyWrapper::equals):
1448         (WebCore::FillLayersPropertyWrapper::blend):
1449         (WebCore::ensurePropertyMap):
1450         * rendering/style/FillLayer.h:
1451         (WebCore::FillLayer::setXPosition):
1452         (WebCore::FillLayer::setYPosition):
1453         (WebCore::FillLayer::setSize):
1454
1455 2009-08-15  George Staikos  <george.staikos@torchmobile.com>
1456
1457         Reviewed by Jan Alonzo.
1458
1459         Don't crash in fieldset code when WML is enabled.
1460         https://bugs.webkit.org/show_bug.cgi?id=28012
1461
1462         Test: fast/wml/html-fieldset-crash.html
1463
1464         * rendering/RenderFieldset.cpp:
1465         (WebCore::RenderFieldset::findLegend): ++brackets
1466
1467 2009-08-15  Sam Weinig  <sam@webkit.org>
1468
1469         Try and enable EventSource on Windows.
1470
1471         * WebCore.vcproj/WebCoreCommon.vsprops:
1472         * WebCore.vcproj/build-generated-files.sh:
1473
1474 2009-08-15  Sam Weinig  <sam@webkit.org>
1475
1476         Reviewed by Dan Bernstein.
1477
1478         Setting attribute event listeners to the body does not set them on the window
1479         https://bugs.webkit.org/show_bug.cgi?id=28343
1480
1481         Tests: fast/dom/Window/HTMLBodyElement-window-eventListener-attributes.html
1482                fast/dom/Window/HTMLFrameSetElement-window-eventListener-attributes.html
1483
1484         * html/HTMLBodyElement.cpp:
1485         (WebCore::HTMLBodyElement::setOnblur): Use setWindowAttributeEventListener instead of setAttributeEventListener.
1486         (WebCore::HTMLBodyElement::setOnerror): Ditto.
1487         (WebCore::HTMLBodyElement::setOnfocus): Ditto.
1488         (WebCore::HTMLBodyElement::setOnload): Ditto.
1489         (WebCore::HTMLBodyElement::setOnbeforeunload): Ditto.
1490         (WebCore::HTMLBodyElement::setOnmessage): Ditto.
1491         (WebCore::HTMLBodyElement::setOnoffline): Ditto.
1492         (WebCore::HTMLBodyElement::setOnonline): Ditto.
1493         (WebCore::HTMLBodyElement::setOnresize): Ditto.
1494         (WebCore::HTMLBodyElement::setOnstorage): Ditto.
1495         (WebCore::HTMLBodyElement::setOnunload): Ditto.
1496         * html/HTMLFrameSetElement.cpp:
1497         (WebCore::HTMLFrameSetElement::setOnblur): Ditto.
1498         (WebCore::HTMLFrameSetElement::setOnerror): Ditto.
1499         (WebCore::HTMLFrameSetElement::setOnfocus): Ditto.
1500         (WebCore::HTMLFrameSetElement::setOnload): Ditto.
1501         (WebCore::HTMLFrameSetElement::setOnbeforeunload): Ditto.
1502         (WebCore::HTMLFrameSetElement::setOnmessage): Ditto.
1503         (WebCore::HTMLFrameSetElement::setOnoffline): Ditto.
1504         (WebCore::HTMLFrameSetElement::setOnonline): Ditto.
1505         (WebCore::HTMLFrameSetElement::setOnresize): Ditto.
1506         (WebCore::HTMLFrameSetElement::setOnstorage): Ditto.
1507         (WebCore::HTMLFrameSetElement::setOnunload): Ditto.
1508
1509 2009-08-15  Sam Weinig  <sam@webkit.org>
1510
1511         Reviewed by Dan Bernstein.
1512
1513         Fix up some IDL comments.
1514
1515         * html/HTMLBodyElement.idl:
1516         * html/HTMLFrameSetElement.idl:
1517
1518 2009-08-15  Adam Bergkvist  <adam.bergkvist@ericsson.com>
1519
1520         Reviewed by Sam Weinig.
1521
1522         Added implementation of the EventSource object that enables
1523         server-sent events from HTML5.
1524         http://dev.w3.org/html5/eventsource/
1525         https://bugs.webkit.org/show_bug.cgi?id=14997
1526
1527         Tests: fast/eventsource/eventsource-attribute-listeners.html
1528                fast/eventsource/eventsource-constructor.html
1529                http/tests/eventsource/eventsource-bad-mime-type.html
1530                http/tests/eventsource/eventsource-parse-event-stream.html
1531                http/tests/eventsource/eventsource-reconnect.html
1532                http/tests/eventsource/eventsource-status-code-states.html
1533                http/tests/eventsource/workers/eventsource-simple.html
1534
1535         * Configurations/FeatureDefines.xcconfig:
1536         * DerivedSources.cpp:
1537         * DerivedSources.make:
1538         * GNUmakefile.am:
1539         * WebCore.pro:
1540         * WebCore.vcproj/WebCore.vcproj:
1541         * WebCore.xcodeproj/project.pbxproj:
1542         * bindings/js/JSDOMWindowCustom.cpp:
1543         (WebCore::JSDOMWindow::eventSource):
1544         * bindings/js/JSEventSourceConstructor.cpp: Added.
1545         (WebCore::):
1546         (WebCore::JSEventSourceConstructor::JSEventSourceConstructor):
1547         (WebCore::constructEventSource):
1548         (WebCore::JSEventSourceConstructor::getConstructData):
1549         * bindings/js/JSEventSourceConstructor.h: Added.
1550         (WebCore::JSEventSourceConstructor::classInfo):
1551         * bindings/js/JSEventSourceCustom.cpp: Added.
1552         (WebCore::JSEventSource::markChildren):
1553         (WebCore::JSEventSource::addEventListener):
1554         (WebCore::JSEventSource::removeEventListener):
1555         * bindings/js/JSEventTarget.cpp:
1556         (WebCore::toJS):
1557         (WebCore::toEventTarget):
1558         * bindings/js/JSWorkerContextCustom.cpp:
1559         (WebCore::JSWorkerContext::eventSource):
1560         * dom/EventNames.h:
1561         * dom/EventTarget.cpp:
1562         (WebCore::EventTarget::toEventSource):
1563         * dom/EventTarget.h:
1564         * page/DOMWindow.idl:
1565         * page/EventSource.cpp: Added.
1566         (WebCore::EventSource::EventSource):
1567         (WebCore::EventSource::~EventSource):
1568         (WebCore::EventSource::connect):
1569         (WebCore::EventSource::endRequest):
1570         (WebCore::EventSource::scheduleReconnect):
1571         (WebCore::EventSource::reconnectTimerFired):
1572         (WebCore::EventSource::url):
1573         (WebCore::EventSource::readyState):
1574         (WebCore::EventSource::close):
1575         (WebCore::EventSource::scriptExecutionContext):
1576         (WebCore::EventSource::addEventListener):
1577         (WebCore::EventSource::removeEventListener):
1578         (WebCore::EventSource::dispatchEvent):
1579         (WebCore::EventSource::didReceiveResponse):
1580         (WebCore::EventSource::didReceiveData):
1581         (WebCore::EventSource::didFinishLoading):
1582         (WebCore::EventSource::didFail):
1583         (WebCore::EventSource::didFailRedirectCheck):
1584         (WebCore::EventSource::parseEventStream):
1585         (WebCore::EventSource::parseEventStreamLine):
1586         (WebCore::EventSource::dispatchGenericEvent):
1587         (WebCore::EventSource::dispatchMessageEvent):
1588         (WebCore::EventSource::stop):
1589         * page/EventSource.h: Added.
1590         (WebCore::EventSource::create):
1591         (WebCore::EventSource::):
1592         (WebCore::EventSource::setOnopen):
1593         (WebCore::EventSource::onopen):
1594         (WebCore::EventSource::setOnmessage):
1595         (WebCore::EventSource::onmessage):
1596         (WebCore::EventSource::setOnerror):
1597         (WebCore::EventSource::onerror):
1598         (WebCore::EventSource::toEventSource):
1599         (WebCore::EventSource::eventListeners):
1600         (WebCore::EventSource::refEventTarget):
1601         (WebCore::EventSource::derefEventTarget):
1602         * page/EventSource.idl: Added.
1603         * workers/WorkerContext.idl:
1604
1605 2009-08-15  Pavel Feldman  <pfeldman@chromium.org>
1606
1607         Reviewed by Timothy Hatcher.
1608
1609         WebInspector: Minor DOMAgent bugfixes.
1610
1611         https://bugs.webkit.org/show_bug.cgi?id=28177
1612
1613         * inspector/InspectorDOMAgent.cpp:
1614         (WebCore::InspectorDOMAgent::nodeForId):
1615         * inspector/front-end/DOMAgent.js:
1616         (WebInspector.DOMAgent):
1617         * inspector/front-end/ElementsPanel.js:
1618         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
1619
1620 2009-08-15  Pavel Feldman  <pfeldman@chromium.org>
1621
1622         Reviewed by Timothy Hatcher.
1623
1624         WebInspector: Evaluating objects while on a breakpoint dumps string
1625         representation instead of live object. 
1626
1627         https://bugs.webkit.org/show_bug.cgi?id=28280
1628
1629         * inspector/front-end/ConsoleView.js:
1630         (WebInspector.ConsoleView.prototype.completions.this._evalInInspectedWindow):
1631         (WebInspector.ConsoleView.prototype.completions):
1632         (WebInspector.ConsoleView.prototype._reportCompletions):
1633         * inspector/front-end/ScriptsPanel.js:
1634         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame.delayedEvaluation):
1635         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
1636         (WebInspector.ScriptsPanel.prototype.variablesInSelectedCallFrame):
1637
1638 2009-08-15  Maxime Simon  <simon.maxime@gmail.com>
1639
1640         Reviewed by Eric Seidel.
1641
1642         [Haiku] Adding two new files to WebCore/platform/haiku:
1643         LocalizedStringsHaiku.cpp and LoggingHaiku.cpp
1644         https://bugs.webkit.org/show_bug.cgi?id=28129
1645
1646         * platform/haiku/LocalizedStringsHaiku.cpp: Added.
1647         (WebCore::submitButtonDefaultLabel):
1648         (WebCore::inputElementAltText):
1649         (WebCore::resetButtonDefaultLabel):
1650         (WebCore::defaultLanguage):
1651         (WebCore::searchableIndexIntroduction):
1652         (WebCore::fileButtonChooseFileLabel):
1653         (WebCore::fileButtonNoFileSelectedLabel):
1654         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
1655         (WebCore::contextMenuItemTagDownloadLinkToDisk):
1656         (WebCore::contextMenuItemTagCopyLinkToClipboard):
1657         (WebCore::contextMenuItemTagOpenImageInNewWindow):
1658         (WebCore::contextMenuItemTagDownloadImageToDisk):
1659         (WebCore::contextMenuItemTagCopyImageToClipboard):
1660         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
1661         (WebCore::contextMenuItemTagCopy):
1662         (WebCore::contextMenuItemTagGoBack):
1663         (WebCore::contextMenuItemTagGoForward):
1664         (WebCore::contextMenuItemTagStop):
1665         (WebCore::contextMenuItemTagReload):
1666         (WebCore::contextMenuItemTagCut):
1667         (WebCore::contextMenuItemTagPaste):
1668         (WebCore::contextMenuItemTagNoGuessesFound):
1669         (WebCore::contextMenuItemTagIgnoreSpelling):
1670         (WebCore::contextMenuItemTagLearnSpelling):
1671         (WebCore::contextMenuItemTagSearchWeb):
1672         (WebCore::contextMenuItemTagLookUpInDictionary):
1673         (WebCore::contextMenuItemTagOpenLink):
1674         (WebCore::contextMenuItemTagIgnoreGrammar):
1675         (WebCore::contextMenuItemTagSpellingMenu):
1676         (WebCore::contextMenuItemTagShowSpellingPanel):
1677         (WebCore::contextMenuItemTagCheckSpelling):
1678         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
1679         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
1680         (WebCore::contextMenuItemTagFontMenu):
1681         (WebCore::contextMenuItemTagBold):
1682         (WebCore::contextMenuItemTagItalic):
1683         (WebCore::contextMenuItemTagUnderline):
1684         (WebCore::contextMenuItemTagOutline):
1685         (WebCore::contextMenuItemTagWritingDirectionMenu):
1686         (WebCore::contextMenuItemTagDefaultDirection):
1687         (WebCore::contextMenuItemTagLeftToRight):
1688         (WebCore::contextMenuItemTagRightToLeft):
1689         (WebCore::contextMenuItemTagInspectElement):
1690         (WebCore::searchMenuNoRecentSearchesText):
1691         (WebCore::searchMenuRecentSearchesText):
1692         (WebCore::searchMenuClearRecentSearchesText):
1693         (WebCore::unknownFileSizeText):
1694         (WebCore::AXWebAreaText):
1695         (WebCore::AXLinkText):
1696         (WebCore::AXListMarkerText):
1697         (WebCore::AXImageMapText):
1698         (WebCore::AXHeadingText):
1699         (WebCore::imageTitle):
1700         (WebCore::contextMenuItemTagTextDirectionMenu):
1701         (WebCore::AXButtonActionVerb):
1702         (WebCore::AXTextFieldActionVerb):
1703         (WebCore::AXRadioButtonActionVerb):
1704         (WebCore::AXCheckedCheckBoxActionVerb):
1705         (WebCore::AXUncheckedCheckBoxActionVerb):
1706         (WebCore::AXLinkActionVerb):
1707         (WebCore::AXDefinitionListTermText):
1708         (WebCore::AXDefinitionListDefinitionText):
1709         * platform/haiku/LoggingHaiku.cpp: Added.
1710         (WebCore::InitializeLoggingChannelsIfNecessary):
1711
1712 2009-08-15  Darin Adler  <darin@apple.com>
1713
1714         Fix GTK build.
1715
1716         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1717         (fallbackObject): Pass 0 for document. Should be OK at least for now.
1718
1719 2009-08-15  Darin Adler  <darin@apple.com>
1720
1721         Fix Qt build.
1722
1723         * dom/XMLTokenizerQt.cpp: Use create functions instead of calling new
1724         directly to make CDATASection and Comment nodes.
1725
1726 2009-08-14  Darin Adler  <darin@apple.com>
1727
1728         Reviewed by Sam Weinig.
1729
1730         Make DOM classes start with a reference count of 1, like all other RefCounted
1731         https://bugs.webkit.org/show_bug.cgi?id=28068
1732
1733         First half, everything except for element classes.
1734
1735         * GNUmakefile.am: Removed DocPtr.h.
1736         * WebCore.gypi: Ditto.
1737         * WebCore.vcproj/WebCore.vcproj: Ditto.
1738         * WebCore.xcodeproj/project.pbxproj: Ditto.
1739
1740         * dom/Attr.cpp:
1741         (WebCore::Attr::Attr): Added a call to createTextChild here so callers don't
1742         have to call it explicitly.
1743         (WebCore::Attr::create): Added.
1744         (WebCore::Attr::setValue): Changed to take AtomicString.
1745         (WebCore::Attr::cloneNode): Use create.
1746
1747         * dom/Attr.h: Added a create function. Made the constructor private,
1748         and a lot of other functions private as well.
1749
1750         * dom/Attribute.cpp:
1751         (WebCore::Attribute::createAttrIfNeeded): Use Attr::create.
1752
1753         * dom/CDATASection.cpp:
1754         (WebCore::CDATASection::create): Added.
1755         (WebCore::CDATASection::cloneNode): Use create.
1756         (WebCore::CDATASection::virtualCreate): Ditto.
1757
1758         * dom/CDATASection.h: Added a create function. Made everything private.
1759         Removed unneeded destructor declaration.
1760
1761         * dom/CharacterData.cpp:
1762         (WebCore::CharacterData::CharacterData): Replaced the multiple constructors
1763         with a single one that takes ConstructionType.
1764
1765         * dom/CharacterData.h: Made more functions be protected and private.
1766         Made m_data be private.
1767
1768         * dom/Comment.cpp:
1769         (WebCore::Comment::Comment): Got rid of an extra constructor.
1770         (WebCore::Comment::create): Added.
1771         (WebCore::Comment::cloneNode): Call create.
1772
1773         * dom/Comment.h: Added a create function. Made everything private.
1774
1775         * dom/ContainerNode.cpp:
1776         (WebCore::dispatchChildInsertionEvents): Use RefPtr instead of DocPtr.
1777         (WebCore::dispatchChildRemovalEvents): Ditto.
1778
1779         * dom/ContainerNode.h: Made the constructor protected and passed
1780         ConstructionType instead of an isElement boolean.
1781
1782         * dom/DocPtr.h: Removed.
1783
1784         * dom/Document.cpp:
1785         (WebCore::Document::Document): Simplified the code that sets m_document
1786         since it's no longer a smart pointer.
1787         (WebCore::Document::removedLastRef): Use explicit calls to selfOnlyRef
1788         and selfOnlyDeref instead of a DocPtr in here.
1789         (WebCore::Document::~Document): Simplified the code that sets m_document
1790         since it's no longer a smart pointer.
1791         (WebCore::Document::createDocumentFragment): Call create.
1792         (WebCore::Document::createTextNode): Ditto.
1793         (WebCore::Document::createComment): Ditto.
1794         (WebCore::Document::createCDATASection): Ditto.
1795         (WebCore::Document::createProcessingInstruction): Ditto.
1796         (WebCore::Document::createEntityReference): Ditto.
1797         (WebCore::Document::createEditingTextNode): Ditto.
1798         (WebCore::Document::importNode): Call Attr::create.
1799         (WebCore::Document::createAttributeNS): Ditto.
1800
1801         * dom/Document.h: Call adoptRef. Made a lot of functions private and
1802         protected and sorted them so public functions come first.
1803
1804         * dom/DocumentFragment.cpp:
1805         (WebCore::DocumentFragment::create): Added.
1806         (WebCore::DocumentFragment::cloneNode): Call create.
1807         * dom/DocumentFragment.h: Added create.
1808
1809         * dom/DocumentType.cpp:
1810         (WebCore::DocumentType::DocumentType): Pass type to Node constructor.
1811         (WebCore::DocumentType::cloneNode): Use create.
1812         * dom/DocumentType.h:
1813         (WebCore::DocumentType::create): Call adoptRef.
1814
1815         * dom/EditingText.cpp:
1816         (WebCore::EditingText::create): Added.
1817         * dom/EditingText.h: Added a create function. Made everything private.
1818
1819         * dom/Element.cpp:
1820         (WebCore::Element::Element): Pass CreateElementZeroRefCount to preserve
1821         the zero reference count behavior for classes derived from Element.
1822
1823         * dom/EntityReference.cpp:
1824         (WebCore::EntityReference::create): Added.
1825         (WebCore::EntityReference::cloneNode): Call create.
1826         * dom/EntityReference.h: Added create. Made everything private.
1827
1828         * dom/Node.cpp:
1829         (WebCore::Node::initialRefCount): Added. Inline helper function for
1830         the constructor.
1831         (WebCore::Node::isContainer): Ditto.
1832         (WebCore::Node::isElement): Ditto.
1833         (WebCore::Node::isText): Ditto.
1834         (WebCore::Node::Node): Changed to take a construction type argument.
1835         Since m_document is now a normal pointer, added a call to selfOnlyRef.
1836         (WebCore::Node::~Node): Ditto, but selfOnlyDeref.
1837         (WebCore::Node::setDocument): Added selfOnlyRef/Deref calls.
1838         (WebCore::Node::appendTextContent): Use the data function instead of
1839         calling nodeValue functions, which do the same thing in a roundabout way.
1840
1841         * dom/Node.h: Made the constructor protected and replaced the multiple
1842         arguments iwth a single ConstructionType argument. Sorted the public
1843         things first.
1844
1845         * dom/Notation.h: Made most things private.
1846         * dom/Notation.cpp: Removed extra constructor.
1847
1848         * dom/ProcessingInstruction.cpp:
1849         (WebCore::ProcessingInstruction::create): Added.
1850         (WebCore::ProcessingInstruction::cloneNode): Call create.
1851         * dom/ProcessingInstruction.h: Added create function. Made many other
1852         members private.
1853
1854         * dom/Range.cpp:
1855         (WebCore::Range::processContents): Use DocumentFragment::create.
1856
1857         * dom/Text.cpp:
1858         (WebCore::Text::Text): Updated for base class change.
1859         (WebCore::Text::create): Added.
1860         (WebCore::Text::splitText): Changed to not require access to m_data.
1861         (WebCore::Text::cloneNode): Call create.
1862         (WebCore::Text::createRenderer): Call dataImpl.
1863         (WebCore::Text::attach): Call data.
1864         (WebCore::Text::recalcStyle): Call dataImpl.
1865         (WebCore::Text::virtualCreate): Call create.
1866         (WebCore::Text::createWithLengthLimit): Call create.
1867         (WebCore::Text::formatForDebugger): Call data.
1868
1869         * dom/Text.h: Added a create function. Made many other members private.
1870         Renamed createNew to virtualCreate.
1871
1872         * dom/XMLTokenizer.cpp:
1873         (WebCore::XMLTokenizer::enterText): Call Text::create.
1874
1875         * dom/XMLTokenizerLibxml2.cpp:
1876         (WebCore::XMLTokenizer::cdataBlock): Call CDATASection::create.
1877         (WebCore::XMLTokenizer::comment): Call Comment::create.
1878
1879         * editing/CompositeEditCommand.cpp:
1880         (WebCore::CompositeEditCommand::deleteInsignificantText):
1881         Call data instead of string.
1882
1883         * editing/CreateLinkCommand.cpp:
1884         (WebCore::CreateLinkCommand::doApply): Call Text::create.
1885
1886         * editing/EditorCommand.cpp:
1887         (WebCore::executeInsertNode): Call DocumentFragment::create.
1888
1889         * editing/SplitTextNodeCommand.cpp:
1890         (WebCore::SplitTextNodeCommand::doApply): Call Text::create.
1891
1892         * editing/markup.cpp:
1893         (WebCore::appendStartMarkup): Call data instead of nodeValue.
1894
1895         * html/HTMLDocument.h:
1896         (WebCore::HTMLDocument::create): Call adoptRef.
1897
1898         * html/HTMLElement.cpp:
1899         (WebCore::HTMLElement::createContextualFragment): Call DocumentFragment::create.
1900         (WebCore::replaceChildrenWithFragment): Call data instead of string.
1901         (WebCore::replaceChildrenWithText): Call Text::create.
1902         (WebCore::HTMLElement::setInnerText): Call DocumentFragment::create and
1903         Text::create.
1904         (WebCore::HTMLElement::setOuterText): Call Text::create.
1905
1906         * html/HTMLKeygenElement.cpp:
1907         (WebCore::HTMLKeygenElement::HTMLKeygenElement): Call Text::create.
1908
1909         * html/HTMLOptionElement.cpp:
1910         (WebCore::HTMLOptionElement::setText): Call Text::create.
1911
1912         * html/HTMLParser.cpp:
1913         (WebCore::HTMLParser::textCreateErrorCheck): Call Text::create.
1914         (WebCore::HTMLParser::commentCreateErrorCheck): Call Comment::create.
1915         (WebCore::HTMLParser::handleIsindex): Call Text::create.
1916
1917         * html/HTMLViewSourceDocument.cpp:
1918         (WebCore::HTMLViewSourceDocument::addText): Call Text::create.
1919
1920         * html/HTMLViewSourceDocument.h:
1921         (WebCore::HTMLViewSourceDocument::create): Call adoptRef.
1922
1923         * loader/FTPDirectoryDocument.cpp:
1924         (WebCore::FTPDirectoryTokenizer::appendEntry): Call Text::create.
1925         (WebCore::FTPDirectoryTokenizer::createTDForFilename): Call Text::create.
1926
1927         * loader/FTPDirectoryDocument.h:
1928         (WebCore::FTPDirectoryDocument::create): Call adoptRef.
1929         * loader/ImageDocument.h:
1930         (WebCore::ImageDocument::create): Ditto.
1931         * loader/MediaDocument.h:
1932         (WebCore::MediaDocument::create): Ditto.
1933         * loader/PlaceholderDocument.h:
1934         (WebCore::PlaceholderDocument::create): Ditto.
1935         * loader/PluginDocument.h:
1936         (WebCore::PluginDocument::create): Ditto.
1937         * loader/TextDocument.h:
1938         (WebCore::TextDocument::create): Ditto.
1939
1940         * loader/loader.cpp:
1941         (WebCore::Loader::Host::didFinishLoading): Use RefPtr instead of DocPtr.
1942         (WebCore::Loader::Host::didFail): Ditto.
1943
1944         * platform/TreeShared.h:
1945         (WebCore::TreeShared::TreeShared): Added an initialRefCount argument,
1946         defaulting to 1. Node still sometimes initializes it to 0 instead for now.
1947
1948         * rendering/RenderText.cpp:
1949         (WebCore::RenderText::originalText): Use dataImpl instead of string.
1950
1951         * rendering/RenderTextFragment.cpp:
1952         (WebCore::RenderTextFragment::originalText): Use dataImpl instead of string.
1953         (WebCore::RenderTextFragment::previousCharacter): Ditto.
1954
1955         * svg/SVGDocument.h:
1956         (WebCore::SVGDocument::create): Use adoptRef.
1957
1958         * svg/SVGElementInstance.cpp:
1959         (WebCore::SVGElementInstance::SVGElementInstance): Updated to take a
1960         PassRefPtr.
1961
1962         * svg/SVGElementInstance.h: Made everything private.
1963
1964         * wml/WMLDocument.h:
1965         (WebCore::WMLDocument::create): Called adoptRef.
1966
1967         * xml/XPathNamespace.cpp:
1968         (WebCore::XPathNamespace::XPathNamespace): Take AtomicString arguments.
1969         * xml/XPathNamespace.h: Made everything private.
1970
1971         * xml/XSLTProcessor.cpp:
1972         (WebCore::createFragmentFromSource): Use DocumentFragment::create and
1973         Text::create.
1974
1975 2009-08-13  Jon Honeycutt  <jhoneycutt@apple.com>
1976
1977         Part of <rdar://problem/6218721> No MSAA focus events fired for Webkit
1978         nightly (20866)
1979
1980         https://bugs.webkit.org/show_bug.cgi?id=20866
1981
1982         Reviewed by Oliver Hunt.
1983
1984         * accessibility/AXObjectCache.cpp:
1985         (WebCore::AXObjectCache::AXObjectCache):
1986         Changed to take a pointer to its owner document. This is used by
1987         AXObjectCache::handleFocusedUIElementChanged().
1988         (WebCore::AXObjectCache::focusedUIElementForPage):
1989         Code moved from AccessibilityRenderObject::focusedUIElement(). Modified
1990         to be a static function and to take a pointer to a Page.
1991         (WebCore::AXObjectCache::platformGenerateAXID):
1992         Moved the code to generate the next AXID from getAXID() to here. Added
1993         a #if to make this non-WIN only, because Windows has its own
1994         implementation.
1995         (WebCore::AXObjectCache::getAXID):
1996         Ensure that we generate a positive AXID, ranging from 1 to LONG_MAX.
1997
1998         * accessibility/AXObjectCache.h:
1999         Add a declaration for Document and Page. Removed the declaration of
2000         AccessibilityObject, because we include the header. Reordered the
2001         declaration of Node alphabetically. Moved the typedef for AXID to
2002         AccessibilityObject. Removed some trailing whitespace. Added a member
2003         variable to hold a pointer to the owner Document.
2004         (WebCore::AXObjectCache::AXObjectCache):
2005         Changed to take a pointer to its owner Document.
2006         (WebCore::AXObjectCache::focusedUIElementForPage):
2007         Added; code moved from AccessiblityRenderObject::focusedUIElement().
2008         Returns the focused element with respect to accessibility.
2009         (WebCore::AXObjectCache::platformGenerateAXID):
2010         Declare a function to generate an AXID.
2011         (WebCore::AXObjectCache::objectFromAXID):
2012         Return the AccessibilityObject with the given AXID.
2013
2014         * accessibility/AccessibilityObject.h:
2015         Moved the typedef for AXID from AXObjectCache to here. Made the m_id
2016         member use the typedef.
2017         (WebCore::AccessibilityObject::axObjectID):
2018         Changed the return type to use the typedef.
2019         (WebCore::AccessibilityObject::setAXObjectID):
2020         Changed the argument type to use the typedef.
2021
2022         * accessibility/AccessibilityRenderObject.cpp:
2023         Removed some unneeded #includes.
2024         (WebCore::AccessibilityRenderObject::focusedUIElement):
2025         Moved the code to AXObjectCache::focusedUIElementForPage(), which we now
2026         call.
2027
2028         * accessibility/win/AXObjectCacheWin.cpp:
2029         (WebCore::AXObjectCache::platformGenerateAXID):
2030         Ensure that we generate an AXID that is in the range 1 to LONG_MAX.
2031         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
2032         If the Document has no Page, return. If the Page has not focused
2033         element (respecting accessibility), return. Assert that the
2034         accessibility of the focused element is not ignored, and that the
2035         object's AXID will be negative and fit into a LONG when negated.
2036         Broadcast a focus event for the object.
2037
2038         * dom/Document.cpp:
2039         (WebCore::Document::axObjectCache):
2040         Pass this when creating the AXObjectCache.
2041         (WebCore::Document::setFocusedNode):
2042         Call AXObjectCache::handleFocusedUIElementChanged() on Windows.
2043
2044 2009-08-14  Jiahua Huang  <jhuangjiahua@gmail.com>
2045
2046         Reviewed by Jan Alonzo.
2047
2048         [gtk] Pasteboard/GtkClipboard can't handle the "text/html" target.
2049         https://bugs.webkit.org/show_bug.cgi?id=27028
2050
2051         Remove the improper set of enum WebKitWebViewTargetInfo
2052         by grabbing the target infos via m_helper.
2053
2054         * manual-tests/gtk/copy-htmltext.html: Added.
2055         * platform/Pasteboard.h:
2056         * platform/gtk/PasteboardGtk.cpp:
2057         (WebCore::clipboard_get_contents_cb):
2058         * platform/gtk/PasteboardHelper.h:
2059
2060 2009-08-14  Simon Fraser  <simon.fraser@apple.com>
2061
2062         Reviewed by Dave Hyatt.
2063
2064         Fix an assertion when bringing up the Inspector.
2065         https://bugs.webkit.org/show_bug.cgi?id=28318
2066         
2067         The fix for bug 28295 assumed that image clients count the number of times
2068         addClient/removeClient is called. That was true for CachedResource clients,
2069         but not StyleGeneratedImage clients, which pass the call onto CSSImageGeneratorValue.
2070         
2071         Fix by making CSSImageGeneratorValue count the number of times a client is
2072         added/removed.
2073
2074         * css/CSSCanvasValue.cpp:
2075         (WebCore::CSSCanvasValue::canvasChanged):
2076         (WebCore::CSSCanvasValue::canvasResized):
2077         * css/CSSImageGeneratorValue.cpp:
2078         (WebCore::CSSImageGeneratorValue::addClient):
2079         (WebCore::CSSImageGeneratorValue::removeClient):
2080         (WebCore::CSSImageGeneratorValue::getImage):
2081         * css/CSSImageGeneratorValue.h:
2082
2083 2009-08-14  Brent Fulgham  <bfulgham@webkit.org>
2084
2085         Reviewed by Kevin Ollivier.
2086
2087         Correct libcurl crash when downloading local files.
2088         https://bugs.webkit.org/show_bug.cgi?id=28312
2089
2090         No new tests. Test is covered by fast/encoding/char-encoding-mac.html.
2091
2092         * platform/network/curl/ResourceHandleManager.cpp:
2093         (WebCore::handleLocalReceiveResponse): New static function that
2094           performs the local setting of valid URL and firing didReceiveResponse.
2095           This code was moved from writeCallback.
2096         (WebCore::writeCallback): Move local file handling to static function
2097           (above) and use the function instead.
2098         (WebCore::readCallback): Add check
2099           for responseFired, and handle as a local file if it was not.
2100
2101 2009-08-14  Maxime Simon  <simon.maxime@gmail.com>
2102
2103         Reviewed by Oliver Hunt.
2104
2105         [Haiku] Fix RenderThemeHaiku build.
2106         https://bugs.webkit.org/show_bug.cgi?id=28307
2107
2108         * platform/haiku/RenderThemeHaiku.cpp: Included RenderThemeHaiku.h
2109         instead of RenderTheme.h.
2110         (WebCore::RenderThemeHaiku::paintCheckbox): Removed the wrong 'virtual'
2111         before the function.
2112         (WebCore::RenderThemeHaiku::paintRadio): Removed the wrong 'virtual'
2113         before the function.
2114         * platform/haiku/RenderThemeHaiku.h: Corrected wrong function definitions.
2115
2116 2009-08-14  Maxime Simon  <simon.maxime@gmail.com>
2117
2118         Reviewed by Oliver Hunt.
2119
2120         [Haiku] Adding SharedBufferHaiku to WebCore.
2121         https://bugs.webkit.org/show_bug.cgi?id=28309
2122
2123         * platform/haiku/SharedBufferHaiku.cpp: Added.
2124         (WebCore::SharedBuffer::createWithContentsOfFile):
2125         * platform/haiku/TemporaryLinkStubs.cpp: Removed unnecessary headers
2126         and functions.
2127         (WebCore::signedPublicKeyAndChallengeString):
2128         (WebCore::getSupportedKeySizes):
2129
2130 2009-08-14  Nate Chapin  <japhet@chromium.org>
2131
2132         Reviewed by Dimitri Glazkov.
2133
2134         Ensure we're getting the right v8 context in the V8 DOMWindowEvent custom getter.
2135
2136         https://bugs.webkit.org/show_bug.cgi?id=28311
2137
2138         This should fix Chromium failing LayoutTests/fast/events/set-event-in-another-frame.html.
2139
2140         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2141         (WebCore::ACCESSOR_GETTER):
2142
2143 2009-08-14  Aaron Boodman  <aa@chromium.org>
2144
2145         Reviewed by Alexey Proskuryakov.
2146
2147         BUG 28134: Move the remaining parts of Access Control from XMLHttpRequest to ThreadableDocumentLoader.
2148         https://bugs.webkit.org/show_bug.cgi?id=28134
2149
2150         No new tests added since Access Control was already well tested and this is a pure refactor.
2151
2152         * loader/DocumentThreadableLoader.cpp: Move a lot of the access control code from XHR in, preserving its
2153         basic strategy. Also, modify the synchronous path to not be a special case, but reuse more of the async
2154         path.
2155
2156         (WebCore::DocumentThreadableLoader::loadResourceSynchronously): Go through the async path and pass additional flags.
2157         (WebCore::DocumentThreadableLoader::create): Group enum params into an options struct.
2158         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Ditto.
2159         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Brought mostly from XHR.
2160         (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight): Ditto.
2161         (WebCore::DocumentThreadableLoader::willSendRequest): Handle preflight case.
2162         (WebCore::DocumentThreadableLoader::didReceiveResponse): Ditto.
2163         (WebCore::DocumentThreadableLoader::didFinishLoading): Ditto.
2164         (WebCore::DocumentThreadableLoader::getShouldUseCredentialStorage): Ditto.
2165         (WebCore::DocumentThreadableLoader::preflightSuccess): Preflight handling.
2166         (WebCore::DocumentThreadableLoader::preflightFailure): Ditto.
2167         (WebCore::DocumentThreadableLoader::loadRequest): Common request function that handles async/sync.
2168         * loader/DocumentThreadableLoader.h: Group enum params into an options struct.
2169         * loader/ThreadableLoader.cpp: Ditto.
2170         (WebCore::ThreadableLoader::create): Ditto.
2171         (WebCore::ThreadableLoader::loadResourceSynchronously): Ditto.
2172         * loader/ThreadableLoader.h: Ditto.
2173         (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions): Ditto.
2174         * loader/WorkerThreadableLoader.cpp: Ditto.
2175         (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):Ditto.
2176         (WebCore::WorkerThreadableLoader::loadResourceSynchronously): Ditto.
2177         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): Ditto.
2178         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader): Ditto.
2179         * loader/WorkerThreadableLoader.h: Ditto.
2180         (WebCore::WorkerThreadableLoader::create): Ditto.
2181         * platform/CrossThreadCopier.h: Allow ThreadableLoaderOptions to be copied across threads.
2182         (WebCore::):
2183         * workers/WorkerScriptLoader.cpp: More enum->struct grouping.
2184         (WebCore::WorkerScriptLoader::loadSynchronously): More enum->struct grouping.
2185         (WebCore::WorkerScriptLoader::loadAsynchronously): More enum->struct grouping.
2186         * xml/XMLHttpRequest.cpp: Remove all the access control code and some supporting state.
2187         (WebCore::XMLHttpRequest::XMLHttpRequest): Ditto.
2188         (WebCore::XMLHttpRequest::createRequest): Ditto.
2189         (WebCore::XMLHttpRequest::didFinishLoading): Ditto.
2190         (WebCore::XMLHttpRequest::didReceiveResponse): Ditto.
2191         (WebCore::XMLHttpRequest::didReceiveData): Ditto.
2192         * xml/XMLHttpRequest.h: Ditto.
2193
2194 2009-08-14  Darin Adler  <darin@apple.com>
2195
2196         Reviewed by Sam Weinig.
2197
2198         Rename the confusing isObject(<class>) to inherits(<class>).
2199         It still works on non-objects, returning false.
2200
2201         * bindings/js/JSEventTarget.cpp:
2202         (WebCore::toEventTarget):
2203         * bindings/js/JSGeolocationCustom.cpp:
2204         (WebCore::createPositionCallback):
2205         (WebCore::createPositionErrorCallback):
2206         * bindings/js/JSNodeFilterCustom.cpp:
2207         (WebCore::toNodeFilter):
2208         * bindings/js/JSXMLHttpRequestCustom.cpp:
2209         (WebCore::JSXMLHttpRequest::send):
2210         * bindings/js/JSXSLTProcessorCustom.cpp:
2211         (WebCore::JSXSLTProcessor::importStylesheet):
2212         (WebCore::JSXSLTProcessor::transformToFragment):
2213         (WebCore::JSXSLTProcessor::transformToDocument):
2214         * bindings/scripts/CodeGeneratorJS.pm:
2215         * bridge/objc/objc_runtime.mm:
2216         (JSC::Bindings::callObjCFallbackObject):
2217         * bridge/runtime_method.cpp:
2218         (JSC::callRuntimeMethod):
2219         Updated to new name, inherits, from old name, isObject.
2220
2221 2009-08-14  Yael Aharon  <yael.aharon@nokia.com>
2222
2223         Reviewed by Simon Hausmann.
2224
2225         Allow Qt API to list and to remove URL schemes that were registered as
2226         local URL schemes.
2227         [Qt] Allow applications to register their own local URL scheme.
2228         https://bugs.webkit.org/show_bug.cgi?id=28240
2229
2230         * page/SecurityOrigin.cpp:
2231         (WebCore::SecurityOrigin::removeURLSchemeRegisteredAsLocal):
2232         (WebCore::SecurityOrigin::localURLSchemes):
2233         * page/SecurityOrigin.h:
2234
2235 2009-08-14  Pavel Feldman  <pfeldman@chromium.org>
2236
2237         Reviewed by Timothy Hatcher.
2238
2239         WebInspector: Wrap console objects late (in the frontend) so that injected
2240         script was already in place.
2241
2242         https://bugs.webkit.org/show_bug.cgi?id=28297
2243
2244         * inspector/ConsoleMessage.cpp:
2245         (WebCore::ConsoleMessage::ConsoleMessage):
2246         * inspector/ConsoleMessage.h:
2247         * inspector/InspectorController.cpp:
2248         (WebCore::InspectorController::addMessageToConsole):
2249         (WebCore::InspectorController::startGroup):
2250         (WebCore::InspectorController::setFrontendProxyObject):
2251         * inspector/InspectorController.h:
2252         * inspector/InspectorFrontend.cpp:
2253         (WebCore::InspectorFrontend::InspectorFrontend):
2254         (WebCore::InspectorFrontend::addMessageToConsole):
2255         * inspector/InspectorFrontend.h:
2256
2257 2009-08-13  Simon Fraser  <simon.fraser@apple.com>
2258
2259         Reviewed by Dan Bernstein.
2260
2261         Fix logic in RenderObject::updateFillImages() that led to incorrect client
2262         counts if an image was used twice in the background-image property.
2263         https://bugs.webkit.org/show_bug.cgi?id=28295
2264
2265         Test: fast/backgrounds/multiple-backgrounds-assert.html
2266
2267         * rendering/RenderObject.cpp:
2268         (WebCore::RenderObject::updateFillImages):
2269         Simplify the logic to call addClient()/removeClient() for every background
2270         image, but go through the new layers first to avoid removing all the
2271         clients of an image.
2272
2273 2009-08-13  Oliver Hunt  <oliver@apple.com>
2274
2275         Reviewed by Maciej Stachowiak.
2276
2277         Devirtualise marking
2278         https://bugs.webkit.org/show_bug.cgi?id=28294
2279
2280         Make sure we override the JSObject createStructure method on those
2281         objects that have custom marking routines.
2282
2283         * bindings/scripts/CodeGeneratorJS.pm:
2284
2285 2009-08-13  Darin Adler  <darin@apple.com>
2286
2287         Reviewed by Mark Rowe.
2288
2289         Follow-up to earlier work to remove dependencies on JavaScriptCore.
2290
2291         * ForwardingHeaders/parser/Parser.h: Removed.
2292         * inspector/JavaScriptDebugServer.cpp: Removed now-unneeded includes
2293         of Parser.h.
2294
2295 2009-08-13  Dan Bernstein  <mitz@apple.com>
2296
2297         Reviewed by Eric Seidel.
2298
2299         'box-orient: block-axis' behaves like 'box-orient: horizontal', causes
2300         an assertion failure in debug builds
2301         https://bugs.webkit.org/show_bug.cgi?id=28279
2302
2303         Test: fast/flexbox/block-axis.html
2304
2305         * css/CSSPrimitiveValueMappings.h:
2306         (WebCore::CSSPrimitiveValue::operator EBoxOrient): Map block-axis to
2307         vertical.
2308
2309 2009-08-13  Simon Fraser  <simon.fraser@apple.com>
2310
2311         Reviewed by Dan Bernstein.
2312
2313         Fix crash when removing reflection on an absolutely-positioned image.
2314         https://bugs.webkit.org/show_bug.cgi?id=28289
2315         
2316         Make sure we clean up the reflection layer when removing the reflection,
2317         so that the RenderLayer tree does not contain pointers to deleted layers.
2318
2319         Test: fast/reflections/reflected-img-crash.html
2320
2321         * rendering/RenderLayer.cpp:
2322         (WebCore::RenderLayer::~RenderLayer):
2323         (WebCore::RenderLayer::styleChanged):
2324         (WebCore::RenderLayer::removeReflection):
2325         * rendering/RenderLayer.h:
2326
2327 2009-08-13  Dan Bernstein  <mitz@apple.com>
2328
2329         Reviewed by Simon Fraser.
2330
2331         misalignment because of float:left of <div> tag
2332         https://bugs.webkit.org/show_bug.cgi?id=15869
2333
2334         One section of http://edgar.sec.gov site draws to the right of the rest
2335         of the content
2336         <rdar://problem/7135951>
2337
2338         Tests: fast/block/float/avoidance-percent-width-compat.html
2339                fast/block/float/avoidance-percent-width-strict.html
2340
2341         * rendering/RenderBlock.cpp:
2342         (WebCore::RenderBlock::getClearDelta): Changed to apply the same float
2343             avoidance logic in strict mode and in compatibility mode, which
2344             matches Firefox and IE. Changed to compute and use the computed
2345             width of the child, instead of ignoring non-fixed widths.
2346
2347 2009-08-13  Steve Block  <steveblock@google.com>
2348
2349         Reviewed by Darin Adler.
2350
2351         Geolocation PositionOptions does not use correct default values.
2352         https://bugs.webkit.org/show_bug.cgi?id=27254
2353
2354         Sets the correct default values for the properties of the PositionOptions object
2355         passed to Geolocation methods. See http://www.w3.org/TR/geolocation-API/.
2356
2357         Also adds checking to throw an exception if arguments of the incorrect type are
2358         passed to Geolocation methods. Adds a layout test to test this. This test should
2359         pass on all platforms where Geolocation is implemented.
2360
2361         Test: fast/dom/Geolocation/argument-types.html
2362
2363         * bindings/js/JSGeolocationCustom.cpp:
2364         (WebCore::createPositionCallback): Added. Creates the callback.
2365         (WebCore::createPositionErrorCallback): Added. Creates the calback.
2366         (WebCore::createPositionOptions): Added. Creates the PositionOptions object, setting defaults where required.
2367         (WebCore::JSGeolocation::getCurrentPosition): Modified. Now uses above helper functions.
2368         (WebCore::JSGeolocation::watchPosition): Modified. Now uses above helper functions.
2369         * page/Geolocation.cpp:
2370         (WebCore::Geolocation::GeoNotifier::GeoNotifier): Modified. Asserts that PositionOptions object is present.
2371         (WebCore::Geolocation::GeoNotifier::startTimer): Modified. Only starts timer if timeout has been set.
2372         * page/PositionOptions.h:
2373         (WebCore::PositionOptions::create): Modified. Creates object with default values.
2374         (WebCore::PositionOptions::timeout): Modified. Uses correct type.
2375         (WebCore::PositionOptions::hasTimeout): Added. Determines whether a timeout has been set.
2376         (WebCore::PositionOptions::setTimeout): Modified. Uses correct type.
2377         (WebCore::PositionOptions::maximumAge): Modified. Uses correct type.
2378         (WebCore::PositionOptions::setMaximumAge): Modified. Uses correct type.
2379         (WebCore::PositionOptions::PositionOptions): Modified. Creates object with default values.
2380
2381 2009-08-13  David Levin  <levin@chromium.org>
2382
2383         Unreviewed chromium build fix.
2384
2385         [Chromium] Let CodeGeneratorV8.pm know that RGBColor is ref-counted.
2386
2387         * bindings/scripts/CodeGeneratorV8.pm:
2388
2389 2009-08-13  Drew Wilson  <atwilson@google.com>
2390
2391         Reviewed by David Levin.
2392
2393         Merge error in SharedWorker code
2394         https://bugs.webkit.org/show_bug.cgi?id=28277
2395
2396         Fixed merge error that prevents WebKit from compiling with SHARED_WORKERS enabled.
2397         No new tests needed.
2398
2399         * workers/DefaultSharedWorkerRepository.cpp:
2400         Removed duplicated functions.
2401
2402 2009-08-13  Kyle Prete  <kylep@chromium.org>
2403
2404         Reviewed by Dave Levin.
2405
2406         Chromium: Show a "Playback Disabled" button on media error.
2407         https://bugs.webkit.org/show_bug.cgi?id=28196
2408         Use a disabled play button when the media file cannot be played.
2409
2410         No new tests needed. Covered by LayoutTests/media/video-empty-source.html
2411
2412         * rendering/RenderThemeChromiumSkia.cpp:
2413         (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):
2414
2415 2009-08-13  Mark Rowe  <mrowe@apple.com>
2416
2417         Try and fix the Qt build.
2418
2419         * bridge/qt/qt_runtime.cpp:
2420
2421 2009-08-13  Zan Dobersek  <zandobersek@gmail.com>
2422
2423         Reviewed by Gustavo Noronha.
2424
2425         [GTK] Drag and drop support
2426         https://bugs.webkit.org/show_bug.cgi?id=23642
2427
2428         Utilizes functions that are being called upon drag and drop actions.
2429         Uses different GTK clipboards that hold different types
2430         of drag data - images, HTML markup, text, URL, URL label.
2431         Also clears each clipboard before setting new data to it.
2432
2433         No new tests - despite some implementations, no new functionality
2434         is added until implementations of the GTK drag and drop protocol
2435         in WebKit part.
2436
2437         * platform/gtk/ClipboardGtk.cpp:
2438         (WebCore::ClipboardGtk::ClipboardGtk):
2439         (WebCore::ClipboardGtk::~ClipboardGtk):
2440         (WebCore::getCachedImage):
2441         (WebCore::ClipboardGtk::declareAndWriteDragImage):
2442         (WebCore::ClipboardGtk::writeURL):
2443         (WebCore::ClipboardGtk::writeRange):
2444         * platform/gtk/ClipboardGtk.h: ClipboardGdk -> ClipboardGtk
2445
2446 2009-08-13  Darin Adler  <darin@apple.com>
2447
2448         Reviewed by David Levin.
2449
2450         JavaScriptCore tweaks to get ready for the parser arena
2451         https://bugs.webkit.org/show_bug.cgi?id=28243
2452
2453         * ForwardingHeaders/runtime/CollectorHeapIterator.h: Removed.
2454
2455         * WebCore.xcodeproj/project.pbxproj: Exposed a couple header
2456         files as Private that are now needed to compile Mac WebKit.
2457
2458         * bindings/js/JSAudioConstructor.cpp:
2459         * bindings/js/JSDOMBinding.cpp:
2460         * bindings/js/JSDOMBinding.h:
2461         * bindings/js/JSDOMWindowCustom.cpp:
2462         * bindings/js/JSHTMLInputElementCustom.cpp:
2463         * bindings/js/JSHistoryCustom.cpp:
2464         * bindings/js/JSImageConstructor.cpp:
2465         * bindings/js/JSLazyEventListener.cpp:
2466         * bindings/js/JSLocationCustom.cpp:
2467         * bindings/js/JSMessageChannelConstructor.cpp:
2468         * bindings/js/JSOptionConstructor.cpp:
2469         * bindings/js/JSWebSocketConstructor.cpp:
2470         * bindings/js/JSWebSocketCustom.cpp:
2471         * bindings/js/JSWorkerConstructor.cpp:
2472         * bindings/js/JSXMLHttpRequestConstructor.cpp:
2473         * bridge/jni/jni_jsobject.mm:
2474         Updated includes.
2475
2476         * inspector/JavaScriptDebugServer.cpp:
2477         (WebCore::JavaScriptDebugServer::sourceParsed):
2478         Change to not assert if this is called with no listeners.
2479         I don't think this was guaranteed before, and we now use
2480         this code path when recompiling. Slightly less efficient,
2481         but this is a one-time cost when turning on the debugger.
2482         (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
2483         Change to call Debugger::recompileAllJSFunctions.
2484
2485 2009-08-13  Brady Eidson  <beidson@apple.com>
2486
2487         Reviewed by Eric Seidel.
2488
2489         <rdar://problem/7138591> and https://bugs.webkit.org/show_bug.cgi?id=28260
2490         onhashchange property cannot be set from javascript.
2491
2492         Test: fast/loader/onhashchange-attribute-listeners.html
2493
2494         * html/HTMLBodyElement.cpp:
2495         (WebCore::HTMLBodyElement::onhashchange):
2496         (WebCore::HTMLBodyElement::setOnhashchange):
2497         * html/HTMLBodyElement.h:
2498         * html/HTMLBodyElement.idl:
2499
2500         * html/HTMLFrameSetElement.cpp:
2501         (WebCore::HTMLFrameSetElement::onhashchange):
2502         (WebCore::HTMLFrameSetElement::setOnhashchange):
2503         * html/HTMLFrameSetElement.h:
2504         * html/HTMLFrameSetElement.idl:
2505
2506         * page/DOMWindow.cpp:
2507         (WebCore::DOMWindow::onhashchange):
2508         (WebCore::DOMWindow::setOnhashchange):
2509         * page/DOMWindow.h:
2510         * page/DOMWindow.idl:
2511
2512 2009-08-13  Mark Rowe  <mrowe@apple.com>
2513
2514         Reviewed by Geoff Garen.
2515
2516         Fix leaks of RGBColor instances from below SVGColor::rgbColor.
2517
2518         * svg/SVGColor.cpp:
2519         (WebCore::SVGColor::rgbColor): Return a PassRefPtr to ensure that the newly-allocated
2520         RGBColor is cleaned up by the caller.
2521         * svg/SVGColor.h:
2522
2523 2009-08-13  Pavel Feldman  <pfeldman@chromium.org>
2524
2525         Reviewed by Timothy Hatcher.
2526
2527         WebInspector: Migrate to DOMAgent (serialized access to DOM).
2528
2529         https://bugs.webkit.org/show_bug.cgi?id=28177
2530
2531         * bindings/js/JSInspectorBackendCustom.cpp:
2532         (WebCore::JSInspectorBackend::highlightDOMNode):
2533         (WebCore::JSInspectorBackend::nodeForId):
2534         (WebCore::JSInspectorBackend::idForNode):
2535         (WebCore::JSInspectorBackend::wrapObject):
2536         (WebCore::JSInspectorBackend::unwrapObject):
2537         (WebCore::JSInspectorBackend::pushNodePathToFrontend):
2538         (WebCore::JSInspectorBackend::selectDatabase):
2539         (WebCore::JSInspectorBackend::selectDOMStorage):
2540         * bindings/js/ScriptObjectQuarantine.cpp:
2541         (WebCore::getQuarantinedScriptObject):
2542         * bindings/js/ScriptObjectQuarantine.h:
2543         * bindings/js/ScriptValue.cpp:
2544         (WebCore::ScriptValue::isObject):
2545         * bindings/js/ScriptValue.h:
2546         * bindings/v8/ScriptObjectQuarantine.cpp:
2547         (WebCore::getQuarantinedScriptObject):
2548         * bindings/v8/ScriptObjectQuarantine.h:
2549         * bindings/v8/ScriptValue.h:
2550         (WebCore::ScriptValue::isObject):
2551         * bindings/v8/custom/V8CustomBinding.h:
2552         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
2553         (WebCore::CALLBACK_FUNC_DECL):
2554         * inspector/ConsoleMessage.cpp:
2555         (WebCore::ConsoleMessage::ConsoleMessage):
2556         * inspector/ConsoleMessage.h:
2557         * inspector/InspectorBackend.cpp:
2558         (WebCore::InspectorBackend::clearMessages):
2559         (WebCore::InspectorBackend::loaded):
2560         (WebCore::InspectorBackend::highlight):
2561         (WebCore::InspectorBackend::nodeForId):
2562         (WebCore::InspectorBackend::idForNode):
2563         (WebCore::InspectorBackend::wrapObject):
2564         (WebCore::InspectorBackend::unwrapObject):
2565         (WebCore::InspectorBackend::pushNodePathToFrontend):
2566         (WebCore::InspectorBackend::addNodesToSearchResult):
2567         (WebCore::InspectorBackend::selectDatabase):
2568         (WebCore::InspectorBackend::selectDOMStorage):
2569         * inspector/InspectorBackend.h:
2570         * inspector/InspectorBackend.idl:
2571         * inspector/InspectorController.cpp:
2572         (WebCore::InspectorController::InspectorController):
2573         (WebCore::InspectorController::focusNode):
2574         (WebCore::InspectorController::addMessageToConsole):
2575         (WebCore::InspectorController::clearConsoleMessages):
2576         (WebCore::InspectorController::startGroup):
2577         (WebCore::InspectorController::scriptObjectReady):
2578         (WebCore::InspectorController::setFrontendProxyObject):
2579         (WebCore::InspectorController::close):
2580         (WebCore::InspectorController::didCommitLoad):
2581         (WebCore::InspectorController::wrapObject):
2582         (WebCore::InspectorController::unwrapObject):
2583         * inspector/InspectorController.h:
2584         * inspector/InspectorDOMAgent.cpp:
2585         (WebCore::InspectorDOMAgent::setDocument):
2586         (WebCore::InspectorDOMAgent::handleEvent):
2587         (WebCore::InspectorDOMAgent::pushDocumentToFrontend):
2588         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
2589         (WebCore::InspectorDOMAgent::nodeForId):
2590         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
2591         (WebCore::InspectorDOMAgent::buildObjectForNode):
2592         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
2593         (WebCore::InspectorDOMAgent::innerParentElement):
2594         * inspector/InspectorDOMAgent.h:
2595         * inspector/InspectorDOMStorageResource.cpp:
2596         (WebCore::InspectorDOMStorageResource::bind):
2597         * inspector/InspectorFrontend.cpp:
2598         (WebCore::InspectorFrontend::clearConsoleMessages):
2599         (WebCore::InspectorFrontend::updateFocusedNode):
2600         (WebCore::InspectorFrontend::setDocument):
2601         (WebCore::InspectorFrontend::selectDatabase):
2602         (WebCore::InspectorFrontend::selectDOMStorage):
2603         (WebCore::InspectorFrontend::addNodesToSearchResult):
2604         * inspector/InspectorFrontend.h:
2605         * inspector/front-end/ConsoleView.js:
2606         (WebInspector.ConsoleView.prototype.clearMessages):
2607         (WebInspector.ConsoleView.prototype.completions):
2608         (WebInspector.ConsoleView.prototype._reportCompletions):
2609         (WebInspector.ConsoleView.prototype._messagesClicked):
2610         (WebInspector.ConsoleView.prototype.doEvalInWindow.evalCallback):
2611         (WebInspector.ConsoleView.prototype.doEvalInWindow):
2612         (WebInspector.ConsoleView.prototype._format):
2613         (WebInspector.ConsoleView.prototype._formatfunction):
2614         (WebInspector.ConsoleView.prototype._formatdate):
2615         (WebInspector.ConsoleView.prototype._formatregexp):
2616         (WebInspector.ConsoleView.prototype._formatnode):
2617         (WebInspector.ConsoleView.prototype._formatobject):
2618         * inspector/front-end/DOMAgent.js:
2619         (WebInspector.DOMNode):
2620         (WebInspector.DOMNode.prototype._renumber):
2621         (WebInspector.DOMDocument):
2622         (WebInspector.DOMAgent):
2623         (WebInspector.DOMAgent.prototype.getChildNodesAsync):
2624         (WebInspector.DOMAgent.prototype.setAttributeAsync):
2625         (WebInspector.DOMAgent.prototype.removeAttributeAsync):
2626         (WebInspector.DOMAgent.prototype.setTextNodeValueAsync):
2627         (WebInspector.DOMAgent.prototype.nodeForId):
2628         (WebInspector.DOMAgent.prototype._setDocument):
2629         (WebInspector.DOMAgent.prototype._setChildNodes):
2630         (WebInspector.DOMAgent.prototype._bindNodes):
2631         (WebInspector.DOMAgent.prototype._childNodeInserted):
2632         (WebInspector.CSSStyleDeclaration):
2633         (WebInspector.CSSStyleDeclaration.parseRule):
2634         (WebInspector.setDocument):
2635         (InspectorController.getStyles):
2636         (InspectorController.getComputedStyle):
2637         (InspectorController.getInlineStyle):
2638         (InspectorController.applyStyleText):
2639         (InspectorController.setStyleText):
2640         (InspectorController.toggleStyleEnabled):
2641         (InspectorController.applyStyleRuleText):
2642         (InspectorController.addStyleSelector):
2643         (InspectorController.setStyleProperty):
2644         (InspectorController.getPrototypes):
2645         (InspectorController.getProperties):
2646         (InspectorController.setPropertyValue):
2647         (InspectorController.evaluate):
2648         (InspectorController.addInspectedNode):
2649         (InspectorController.performSearch):
2650         (InspectorController.searchCanceled):
2651         * inspector/front-end/ElementsPanel.js:
2652         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
2653         (WebInspector.ElementsPanel.prototype.searchCanceled):
2654         (WebInspector.ElementsPanel.prototype.performSearch):
2655         (WebInspector.ElementsPanel.prototype._updateMatchesCount):
2656         (WebInspector.ElementsPanel.prototype._updateMatchesCountSoon):
2657         (WebInspector.ElementsPanel.prototype.addNodesToSearchResult):
2658         * inspector/front-end/ElementsTreeOutline.js:
2659         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode.restoreHighlightToHoveredNode):
2660         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
2661         (WebInspector.ElementsTreeElement.prototype.updateChildren):
2662         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
2663         * inspector/front-end/InjectedScript.js:
2664         (InjectedScript.applyStyleRuleText):
2665         (InjectedScript.addStyleSelector):
2666         (InjectedScript._doesSelectorAffectNode):
2667         (InjectedScript._serializeRule):
2668         (InjectedScript._serializeStyle):
2669         (InjectedScript.getProperties):
2670         (InjectedScript.evaluate):
2671         (InjectedScript.addInspectedNode):
2672         (InjectedScript.performSearch.addNodesToResults):
2673         (InjectedScript.performSearch.matchExactItems):
2674         (InjectedScript.performSearch.matchExactId.addNodesToResults.call):
2675         (InjectedScript.performSearch.matchExactId):
2676         (InjectedScript.performSearch):
2677         (InjectedScript.performSearch.matchExactTagNames):
2678         (InjectedScript.performSearch.matchExactAttributeNames):
2679         (InjectedScript.performSearch.matchPartialTagNames):
2680         (InjectedScript.performSearch.matchStartOfTagNames):
2681         (InjectedScript.performSearch.matchPartialTagNamesAndAttributeValues):
2682         (InjectedScript.performSearch.matchPartialAttributeValues):
2683         (InjectedScript.performSearch.matchStyleSelector):
2684         (InjectedScript.performSearch.matchPlainText):
2685         (InjectedScript.performSearch.matchXPathQuery):
2686         (InjectedScript.performSearch.finishedSearching):
2687         (InjectedScript.performSearch.processChunk):
2688         (InjectedScript.searchCanceled):
2689         (InjectedScript._ensureCommandLineAPIInstalled.inspectObject):
2690         (InjectedScript._ensureCommandLineAPIInstalled):
2691         (InjectedScript._resolveObject):
2692         (InjectedScript._nodeForId):
2693         (InjectedScript._objectForId):
2694         (InjectedScript._createProxyObject):
2695         * inspector/front-end/ObjectPropertiesSection.js:
2696         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
2697         (WebInspector.ObjectPropertyTreeElement.prototype.update):
2698         * inspector/front-end/ObjectProxy.js:
2699         (WebInspector.ObjectProxy):
2700         (WebInspector.ObjectPropertyProxy):
2701         * inspector/front-end/PropertiesSidebarPane.js:
2702         (WebInspector.PropertiesSidebarPane.prototype.update.callback):
2703         (WebInspector.PropertiesSidebarPane.prototype.update):
2704         * inspector/front-end/StylesSidebarPane.js:
2705         (WebInspector.StylesSidebarPane.prototype.update.callback):
2706         (WebInspector.StylesSidebarPane.prototype.update):
2707         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
2708         (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled):
2709         (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted.callback):
2710         (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted):
2711         (WebInspector.StylePropertyTreeElement.prototype):
2712         * inspector/front-end/inspector.js:
2713         (WebInspector._updateHoverHighlight):
2714         (WebInspector.loaded):
2715         (WebInspector.clearConsoleMessages):
2716         (WebInspector.selectDatabase):
2717         (WebInspector.selectDOMStorage):
2718         (WebInspector.updateFocusedNode):
2719         (WebInspector.addNodesToSearchResult):
2720         * inspector/front-end/utilities.js:
2721         (Object.proxyType):
2722         * storage/Storage.h:
2723         (WebCore::Storage::frame):
2724
2725 2009-08-13  Mark Rowe  <mrowe@apple.com>
2726
2727         Reviewed by Geoff Garen.
2728
2729         Fix leaks of RGBColor instances from below CSSPrimitiveValue::getRGBColorValue.
2730
2731         * css/CSSPrimitiveValue.cpp:
2732         (WebCore::CSSPrimitiveValue::getRGBColorValue): Return a PassRefPtr to ensure that the
2733         newly-allocated RGBColor is cleaned up by the caller.
2734         * css/CSSPrimitiveValue.h:
2735
2736 2009-08-13  Eric Seidel  <eric@webkit.org>
2737
2738         Reviewed by David Hyatt.
2739
2740         wrong font size when css font-family includes monospace
2741         https://bugs.webkit.org/show_bug.cgi?id=19161
2742
2743         Firefox only uses fixed-width default size for exactly "font-family: monospace;".
2744         WebKit has historically used fixed-width default size any time a
2745         font-family includes monospace in the fallback list.
2746
2747         This patch corrects WebKit's behavior to match Firefox.
2748         I also had to fix a bug in WebKit's font-family fallback behavior where
2749         child elements would inherit parts of their parents fallback lists.
2750
2751         This patch is mostly just replacing all cases where we used to check for:
2752         fontDescription.genericFontFamily() == MonospaceFamily
2753         with:
2754         fontDescription.useFixedDefaultSize()
2755
2756         Tests: fast/css/getComputedStyle/computed-style-font-family-monospace.html
2757                fast/css/getComputedStyle/font-family-fallback-reset.html
2758
2759         * css/CSSStyleSelector.cpp:
2760         (WebCore::CSSStyleSelector::applyProperty):
2761            Deploy useFixedDefaultSize().  Also fix the bug where child
2762            FontDescriptions would carry part of the parent font-family fallback list.
2763         (WebCore::CSSStyleSelector::checkForGenericFamilyChange):
2764            It's no longer alright to just check genericFontFamily(),
2765            we have to check to make sure the changed style has a matching useFixedDefaultSize().
2766         * platform/graphics/FontDescription.h:
2767         (WebCore::FontDescription::useFixedDefaultSize):
2768            Only use the fixed default size if we have one font family and it is "monospace".
2769            "-webkit-monospace" is the internal representation of the CSS identifier "monospace".
2770
2771 2009-08-13  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
2772
2773         Reviewed by Dimitri Glazkov.
2774
2775         [v8] Fix atomic string externalization crash.
2776         Atomic string externalization assumes that all non-empty strings
2777         can be externalized which is untrue on 64-bit.  This change fixed
2778         that.
2779
2780         https://bugs.webkit.org/show_bug.cgi?id=28215
2781
2782         This bug causes loads of test crashes, no need to add new tests
2783         specifically for this.
2784
2785         * bindings/v8/V8Binding.cpp:
2786         (WebCore::v8StringToAtomicWebCoreString):
2787
2788 2009-08-13  George Staikos  <george.staikos@torchmobile.com>
2789
2790         Rubberstamped by Darin Adler.
2791
2792         Use ASSERT_UNUSED instead of UNUSED_PARAM
2793
2794         * wml/WMLAnchorElement.cpp:
2795         (WebCore::WMLAnchorElement::deregisterTask):
2796         * wml/WMLDoElement.cpp:
2797         (WebCore::WMLDoElement::deregisterTask):
2798
2799 2009-08-13  Steve Block  <steveblock@google.com>
2800
2801         Reviewed by Darin Adler.
2802
2803         Fixes a couple of bugs in SecurityOrigin::createFromDatabaseIdentifier.
2804         https://bugs.webkit.org/show_bug.cgi?id=28262
2805
2806         No new tests possible.
2807
2808         * page/SecurityOrigin.cpp:
2809         (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
2810
2811 2009-08-13  Dirk Schulze  <krit@webkit.org>
2812
2813         Reviewed by Eric Seidel.
2814
2815         [CAIRO] getImageData fails on a given rect bigger than the image rect
2816
2817         The destination image and the source image was mixed up on creating the
2818         imageData.
2819
2820         This is just a clean up and doesn't affect the current behavior. It's not
2821         possible to test this failure in a LayoutTest. Only canvas uses getImageData
2822         at the moment and returns before calling getImageData, if the image rect does
2823         not contain the requested rect.
2824
2825         * platform/graphics/cairo/ImageBufferCairo.cpp:
2826         (WebCore::getImageData):
2827
2828 2009-08-13  Maxime Simon  <simon.maxime@gmail.com>
2829
2830         Reviewed by Eric Seidel.
2831
2832         [Haiku] Adding RenderTheme to WebCore.
2833         https://bugs.webkit.org/show_bug.cgi?id=28258
2834
2835         * platform/haiku/RenderThemeHaiku.cpp: Added.
2836         (WebCore::RenderThemeHaiku::create):
2837         (WebCore::RenderTheme::themeForPage):
2838         (WebCore::RenderThemeHaiku::RenderThemeHaiku):
2839         (WebCore::RenderThemeHaiku::~RenderThemeHaiku):
2840         (WebCore::supportsFocus):
2841         (WebCore::RenderThemeHaiku::supportsFocusRing):
2842         (WebCore::RenderThemeHaiku::platformActiveSelectionBackgroundColor):
2843         (WebCore::RenderThemeHaiku::platformInactiveSelectionBackgroundColor):
2844         (WebCore::RenderThemeHaiku::platformActiveSelectionForegroundColor):
2845         (WebCore::RenderThemeHaiku::platformInactiveSelectionForegroundColor):
2846         (WebCore::RenderThemeHaiku::platformTextSearchHighlightColor):
2847         (WebCore::RenderThemeHaiku::systemFont):
2848         (WebCore::RenderThemeHaiku::paintCheckbox):
2849         (WebCore::RenderThemeHaiku::setCheckboxSize):
2850         (WebCore::RenderThemeHaiku::paintRadio):
2851         (WebCore::RenderThemeHaiku::setRadioSize):
2852         (WebCore::RenderThemeHaiku::adjustMenuListStyle):
2853         (WebCore::RenderThemeHaiku::paintMenuList):
2854         * platform/haiku/RenderThemeHaiku.h: Added.
2855         (WebCore::RenderThemeHaiku::supportsHover):
2856
2857 2009-08-13  Maxime Simon  <simon.maxime@gmail.com>
2858
2859         Reviewed by Eric Seidel.
2860
2861         [Haiku] Remove the "m_point" code from ContextMenuHaiku.cpp
2862         https://bugs.webkit.org/show_bug.cgi?id=28256
2863
2864         * platform/haiku/ContextMenuHaiku.cpp:
2865         (WebCore::ContextMenuReceiver::ContextMenuReceiver):
2866         (WebCore::ContextMenu::ContextMenu):
2867         (WebCore::ContextMenu::appendItem):
2868         (WebCore::ContextMenu::insertItem):
2869
2870 2009-08-13  Joseph Pecoraro  <joepeck02@gmail.com>
2871
2872         Reviewed by Darin Adler.
2873
2874         Inspector: Show Hidden Cookie Data
2875         https://bugs.webkit.org/show_bug.cgi?id=28185
2876
2877           Added new file Cookie.h to the WebCore XCode
2878
2879         * WebCore.xcodeproj/project.pbxproj:
2880
2881           InspectorController.cookies() binding
2882
2883         * bindings/js/JSInspectorBackendCustom.cpp:
2884         (WebCore::JSInspectorBackend::cookies):
2885         * inspector/InspectorBackend.idl:
2886
2887           Struct for static Cookie information
2888           (name, value, path, domain, expires, httpOnly, secure, session)
2889
2890         * platform/Cookie.h: Added.
2891         (WebCore::Cookie::Cookie):
2892         
2893           Getter for the a list of raw Cookies
2894           getRawCookies(., ., out Vector<Cookie>)
2895         
2896         * platform/CookieJar.h:
2897
2898           Implementation of getRawCookies for the mac platform.
2899
2900         * platform/mac/CookieJar.mm:
2901         (WebCore::getRawCookies):
2902
2903           Stub other CookieJar implementations to satisfy the interface.
2904
2905         * platform/haiku/CookieJarHaiku.cpp:
2906         (WebCore::getRawCookies):
2907         * platform/network/chromium/CookieJarChromium.cpp:
2908         (WebCore::getRawCookies):
2909         * platform/network/curl/CookieJarCurl.cpp:
2910         (WebCore::getRawCookies):
2911         * platform/network/soup/CookieJarSoup.cpp:
2912         (WebCore::getRawCookies):
2913         * platform/network/win/CookieJarCFNetWin.cpp:
2914         (WebCore::getRawCookies):
2915         * platform/network/win/CookieJarWin.cpp:
2916         (WebCore::getRawCookies):
2917         * platform/qt/CookieJarQt.cpp:
2918         (WebCore::getRawCookies):
2919
2920 2009-08-13  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
2921
2922         Reviewed by Timothy Hatcher.
2923
2924         Add a new gesture in Web Inspector to remove breakpoints
2925         https://bugs.webkit.org/show_bug.cgi?id=19131
2926         
2927         * inspector/front-end/SourceFrame.js:
2928         (WebInspector.SourceFrame.prototype._documentMouseDown):
2929
2930 2009-08-13  Norbert Leser  <norbert.leser@nokia.com>
2931
2932         Reviewed by Simon Hausmann.
2933
2934         Symbian target components (library and executable files)
2935         require Unique Identifiers (i.e., UID3).
2936         These identifiers are defined in the respective project
2937         file, conditionally for "symbian" platform.
2938
2939         * WebCore.pro:
2940
2941 2009-08-13  Shinichiro Hamaji  <hamaji@chromium.org>
2942
2943         Reviewed by Eric Seidel.
2944
2945         wrong calculation of overflow size for flexbox and table
2946         https://bugs.webkit.org/show_bug.cgi?id=28064
2947
2948         RenderFlexibleBox and RenderTable were using the width of overflow
2949         to update height of overflow, so height became wrong value and
2950         width was not updated. As the corresponding code of RenderBlock
2951         was sane, I factored it out and used from RenderFlexibleBox and
2952         RenderTable.
2953
2954         * rendering/RenderBlock.cpp:
2955         (WebCore::RenderBlock::updateOverflowWithShadowAndReflection): created from code of layoutBlock
2956         (WebCore::RenderBlock::layoutBlock):
2957         * rendering/RenderBlock.h:
2958         * rendering/RenderFlexibleBox.cpp: use updateOverflowWithShadowAndReflection
2959         (WebCore::RenderFlexibleBox::layoutBlock):
2960         * rendering/RenderTable.cpp:
2961         (WebCore::RenderTable::layout): use updateOverflowWithShadowAndReflection
2962
2963 2009-08-13  Mark Rowe  <mrowe@apple.com>
2964
2965         Revert r47185, the fix for <https://bugs.webkit.org/show_bug.cgi?id=28185>, as it broke the
2966         Windows build in a non-obvious manner.
2967
2968         * WebCore.xcodeproj/project.pbxproj:
2969         * bindings/js/JSInspectorBackendCustom.cpp:
2970         * inspector/InspectorBackend.idl:
2971         * platform/Cookie.h: Removed.
2972         * platform/CookieJar.h:
2973         * platform/haiku/CookieJarHaiku.cpp:
2974         (WebCore::setCookies):
2975         (WebCore::cookies):
2976         * platform/mac/CookieJar.mm:
2977         * platform/network/chromium/CookieJarChromium.cpp:
2978         * platform/network/curl/CookieJarCurl.cpp:
2979         * platform/network/soup/CookieJarSoup.cpp:
2980         * platform/network/win/CookieJarCFNetWin.cpp:
2981         * platform/network/win/CookieJarWin.cpp:
2982         * platform/qt/CookieJarQt.cpp:
2983
2984 2009-08-13  Ariya Hidayat  <ariya.hidayat@nokia.com>
2985
2986         Not reviewed: build fix (for r47192), adding new file from
2987         https://bugs.webkit.org/show_bug.cgi?id=28174
2988
2989         * inspector/front-end/StatusBarButton.js: Added.
2990
2991 2009-08-13  Mikhail Naganov  <mnaganov@chromium.org>
2992
2993         Reviewed by Timothy Hatcher.
2994
2995         Introduced StatusBarButton class that encapsulates glyphs support.
2996         Views updated accordingly.
2997
2998         https://bugs.webkit.org/show_bug.cgi?id=28174
2999
3000         * WebCore.gypi:
3001         * WebCore.vcproj/WebCore.vcproj:
3002         * inspector/front-end/CookieItemsView.js:
3003         (WebInspector.CookieItemsView):
3004         (WebInspector.CookieItemsView.prototype.get statusBarItems): Updated to retrieve DOM element from StatusBarButton instance (here and in similar getters below.)
3005         (WebInspector.CookieItemsView.prototype.hide):
3006         (WebInspector.CookieItemsView.prototype.update):
3007         * inspector/front-end/DOMStorageItemsView.js:
3008         (WebInspector.DOMStorageItemsView):
3009         (WebInspector.DOMStorageItemsView.prototype.get statusBarItems):
3010         (WebInspector.DOMStorageItemsView.prototype.hide):
3011         (WebInspector.DOMStorageItemsView.prototype.update):
3012         * inspector/front-end/ElementsPanel.js:
3013         (WebInspector.ElementsPanel):
3014         (WebInspector.ElementsPanel.prototype.get statusBarItems):
3015         (WebInspector.ElementsPanel.prototype.hide):
3016         (WebInspector.ElementsPanel.prototype._nodeSearchButtonClicked):
3017         * inspector/front-end/Panel.js:
3018         * inspector/front-end/ProfileView.js:
3019         (WebInspector.ProfileView):
3020         (WebInspector.ProfileView.prototype.get statusBarItems):
3021         (WebInspector.ProfileView.prototype._updatePercentButton):
3022         (WebInspector.ProfileView.prototype._focusClicked):
3023         (WebInspector.ProfileView.prototype._excludeClicked):
3024         (WebInspector.ProfileView.prototype._resetClicked):
3025         * inspector/front-end/ProfilesPanel.js:
3026         (WebInspector.ProfilesPanel):
3027         (WebInspector.ProfilesPanel.prototype.get statusBarItems):
3028         (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
3029         (WebInspector.ProfilesPanel.prototype._updateInterface):
3030         * inspector/front-end/ResourcesPanel.js:
3031         (WebInspector.ResourcesPanel.prototype.get statusBarItems):
3032         (WebInspector.ResourcesPanel.prototype.reset):
3033         (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
3034         * inspector/front-end/ScriptsPanel.js:
3035         (WebInspector.ScriptsPanel):
3036         (WebInspector.ScriptsPanel.prototype.get statusBarItems):
3037         (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
3038         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
3039         * inspector/front-end/StatusBarButton.js: Added.
3040         (WebInspector.StatusBarButton):
3041         (WebInspector.StatusBarButton.prototype._clicked):
3042         (WebInspector.StatusBarButton.prototype.get disabled):
3043         (WebInspector.StatusBarButton.prototype.set disabled):
3044         (WebInspector.StatusBarButton.prototype.get title):
3045         (WebInspector.StatusBarButton.prototype.set title):
3046         (WebInspector.StatusBarButton.prototype.get toggled):
3047         (WebInspector.StatusBarButton.prototype.set toggled):
3048         (WebInspector.StatusBarButton.prototype.get visible):
3049         (WebInspector.StatusBarButton.prototype.set visible):
3050         * inspector/front-end/WebKit.qrc:
3051         * inspector/front-end/inspector.css: For uniformity, class names are always used to identify status bar buttons. Also, fixed "Reload" button style to use glyphs.
3052         * inspector/front-end/inspector.html:
3053
3054 2009-08-12  Ariya Hidayat  <ariya.hidayat@nokia.com>
3055
3056         Reviewed by Simon Hausmann.
3057
3058         [Qt] Add shadow support in GraphicsContext::fillRect().
3059
3060         * platform/graphics/qt/GraphicsContextQt.cpp:
3061         (WebCore::GraphicsContext::fillRect): Paint shadow if necessary.
3062         (WebCore::GraphicsContext::setPlatformShadow): Inverse y offset.
3063
3064 2009-08-13  David Levin  <levin@chromium.org>
3065
3066         Unreviewed build fix for Chromium Linux.
3067
3068         Rollback r47157 as this broke debug tests of Chromium Linux.
3069
3070         * platform/graphics/skia/PlatformContextSkia.cpp:
3071         (PlatformContextSkia::setupPaintCommon):
3072
3073 2009-08-13  David Levin  <levin@chromium.org>
3074
3075         Unreviewed build fix for chromium.
3076
3077         The chromium build broke due to r47185 which added
3078         a cookies array to inspector/InspectorBackend.idl.
3079
3080         * bindings/v8/custom/V8CustomBinding.h: Added the declaration for the cookies callback.
3081         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
3082         (WebCore::CALLBACK_FUNC_DECL(InspectorBackendCookies)): Stubbed out an implementation
3083          for the cookies callback.
3084
3085 2009-08-12  Joseph Pecoraro  <joepeck02@gmail.com>
3086
3087         Reviewed by Timothy Hatcher.
3088
3089         Inspector: Show Hidden Cookie Data
3090         https://bugs.webkit.org/show_bug.cgi?id=28185
3091
3092           Added new file Cookie.h to the WebCore XCode
3093
3094         * WebCore.xcodeproj/project.pbxproj:
3095
3096           InspectorController.cookies() binding
3097
3098         * bindings/js/JSInspectorBackendCustom.cpp:
3099         (WebCore::JSInspectorBackend::cookies):
3100         * inspector/InspectorBackend.idl:
3101
3102           Struct for static Cookie information
3103           (name, value, path, domain, expires, httpOnly, secure, session)
3104
3105         * platform/Cookie.h: Added.
3106         (WebCore::Cookie::Cookie):
3107         
3108           Getter for the a list of raw Cookies
3109           getRawCookies(., ., out Vector<Cookie>)
3110         
3111         * platform/CookieJar.h:
3112
3113           Implementation of getRawCookies for the mac platform.
3114
3115         * platform/mac/CookieJar.mm:
3116         (WebCore::getRawCookies):
3117
3118           Stub other CookieJar implementations to satisfy the interface.
3119
3120         * platform/haiku/CookieJarHaiku.cpp:
3121         (WebCore::getRawCookies):
3122         * platform/network/chromium/CookieJarChromium.cpp:
3123         (WebCore::getRawCookies):
3124         * platform/network/curl/CookieJarCurl.cpp:
3125         (WebCore::getRawCookies):
3126         * platform/network/soup/CookieJarSoup.cpp:
3127         (WebCore::getRawCookies):
3128         * platform/network/win/CookieJarCFNetWin.cpp:
3129         (WebCore::getRawCookies):
3130         * platform/network/win/CookieJarWin.cpp:
3131         (WebCore::getRawCookies):
3132         * platform/qt/CookieJarQt.cpp:
3133         (WebCore::getRawCookies):
3134
3135 2009-08-08  Joseph Pecoraro  <joepeck02@gmail.com>
3136
3137         Reviewed by Timothy Hatcher.
3138
3139         Inspector: Cookies in Storage Panel
3140         https://bugs.webkit.org/show_bug.cgi?id=27202
3141
3142           Data Structure for a Cookie. Just Key/Value for Now:
3143
3144         * inspector/front-end/Cookie.js: Added.
3145         (WebInspector.Cookie):
3146         (WebInspector.Cookie.prototype.get key):
3147         (WebInspector.Cookie.prototype.set key):
3148         (WebInspector.Cookie.prototype.get value):
3149         (WebInspector.Cookie.prototype.set value):
3150
3151           A Storage View for Cookies.  Allows for Refresh/Delete:
3152
3153         * inspector/front-end/CookieItemsView.js: Added.
3154         (WebInspector.CookieItemsView):
3155         (WebInspector.CookieItemsView.prototype.get statusBarItems): refresh and delete buttons
3156         (WebInspector.CookieItemsView.prototype.show):
3157         (WebInspector.CookieItemsView.prototype.hide):
3158         (WebInspector.CookieItemsView.prototype.update):
3159         (WebInspector.CookieItemsView.prototype.buildCookies): parses the inspected window's document.cookie string
3160         (WebInspector.CookieItemsView.prototype.dataGridForCookies): creates a datagrid for cookies
3161         (WebInspector.CookieItemsView.prototype._deleteButtonClicked): attempt at deleting the cookie (not flawless)
3162         (WebInspector.CookieItemsView.prototype._refreshButtonClicked): rebuild the datagrid
3163
3164           Include a SidebarSection Section in the Databases Panel:
3165
3166         * inspector/front-end/DatabasesPanel.js:
3167         (WebInspector.DatabasesPanel):
3168         (WebInspector.DatabasesPanel.prototype.show): calls populateInterface
3169         (WebInspector.DatabasesPanel.prototype.populateInterface): adds cookies if they don't exist
3170         (WebInspector.DatabasesPanel.prototype.reset): remove cookie specific parts
3171         (WebInspector.DatabasesPanel.prototype.addCookies): add cookies sidebar tree element
3172         (WebInspector.DatabasesPanel.prototype.showCookies): sets the visible view to a CookiesItemView
3173         (WebInspector.CookieSidebarTreeElement):
3174         (WebInspector.CookieSidebarTreeElement.prototype.onselect):
3175         (WebInspector.CookieSidebarTreeElement.prototype.get mainTitle): just "Cookies" at the moment
3176         (WebInspector.CookieSidebarTreeElement.prototype.set mainTitle):
3177         (WebInspector.CookieSidebarTreeElement.prototype.get subtitle): no subtitle yet
3178         (WebInspector.CookieSidebarTreeElement.prototype.set subtitle):
3179
3180           New "Cookies" Image for the Sidebar:
3181
3182         * inspector/front-end/Images/cookie.png: Added.
3183         * inspector/front-end/inspector.css:
3184
3185           Include the Added Files where appropriate:
3186
3187         * inspector/front-end/WebKit.qrc:
3188         * inspector/front-end/inspector.html:
3189
3190 2009-08-12  George Wright  <george.wright@torchmobile.com>
3191
3192         Reviewed by George Staikos.
3193
3194         Add SQLTransactionCoordinator.[h,cpp] to WebCore.pro.
3195
3196         https://bugs.webkit.org/show_bug.cgi?id=28246
3197
3198         * WebCore.pro:
3199
3200 2009-08-12  George Staikos  <george.staikos@torchmobile.com>
3201
3202         Reviewed by Adam Treat.
3203
3204         Mark unused variables to avoid compile failures in -Werror.
3205
3206         * wml/WMLAnchorElement.cpp:
3207         (WebCore::WMLAnchorElement::deregisterTask):
3208         * wml/WMLDoElement.cpp:
3209         (WebCore::WMLDoElement::deregisterTask):
3210
3211 2009-08-12  Charles Wei  <charles.wei@torchmobile.com.cn>
3212
3213         Reviewed by Niko Zimmermann.
3214
3215         This is to add WCSS marquee support , which is defined by OMA and is an extension for CSS2, 
3216         It extends CSS display with "display:-wap-marquee;-wap-marquee-dir:xxx;-wap-marquee-speed:xxx;-wap-marquee-style:xxx"
3217         Minor fixes by Eric Seidel and George Staikos.
3218         https://bugs.webkit.org/show_bug.cgi?id=23727
3219
3220         No new tests, the tests have already been landed at LayoutTests/fast/wcss/
3221
3222         * WebCore.pro:
3223         * css/CSSParser.cpp:
3224         (WebCore::CSSParser::parseValue):
3225         * css/CSSPrimitiveValueMappings.h:
3226         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3227         * css/CSSStyleSelector.cpp:
3228         (WebCore::CSSStyleSelector::applyProperty):
3229         * css/CSSValueKeywords.in:
3230         * css/WCSSPropertyNames.in: Added.
3231         * css/WCSSValueKeywords.in: Added.
3232         * rendering/RenderMarquee.cpp:
3233         (WebCore::RenderMarquee::start):
3234         * rendering/RenderObject.cpp:
3235         (WebCore::RenderObject::createObject):
3236         * rendering/style/RenderStyleConstants.h:
3237         (WebCore::):
3238
3239 2009-08-12  George Wright  <george.wright@torchmobile.com>
3240
3241         Reviewed by David Hyatt.
3242
3243         Update the canvas renderer's intrinsic size with the zoomed
3244         lengths and ensure the intrinsic size is correct when setting
3245         an initial style.
3246
3247         https://bugs.webkit.org/show_bug.cgi?id=26908
3248
3249         Test: fast/canvas/canvas-zoom.html
3250
3251         * rendering/RenderHTMLCanvas.cpp:
3252         (WebCore::RenderHTMLCanvas::canvasSizeChanged):
3253         * rendering/RenderReplaced.cpp:
3254         (WebCore::RenderReplaced::styleDidChange):
3255
3256 2009-08-12  Alpha Lam  <hclam@chromium.org>
3257
3258         Reviewed by Simon Fraser.
3259
3260         Fix regression for dragging the media controller thumb.
3261         https://bugs.webkit.org/show_bug.cgi?id=28211
3262
3263         Modified the conditions for rejecting events on the media controller
3264         to only rejecting mouse events not from the left button.
3265
3266         Test: media/controls-drag-timebar.html
3267
3268         * rendering/MediaControlElements.cpp:
3269         (WebCore::MediaControlTimelineElement::defaultEventHandler):
3270
3271 2009-08-12  Dumitru Daniliuc  <dumi@chromium.org>
3272
3273         Reviewed by Eric Seidel.
3274
3275         Fixing a deadlock caused by two transactions that run on two
3276         different database handles for the same DB. Adding a per-DB thread
3277         transaction coordinator that allows the DB thread to run only one
3278         transaction per DB file at any given time.
3279
3280         Adding a regression test for this bug.
3281
3282         Test: storage/multiple-transactions-on-different-handles.html
3283
3284         https://bugs.webkit.org/show_bug.cgi?id=27966
3285
3286         * GNUmakefile.am:
3287         * WebCore.gypi:
3288         * WebCore.vcproj/WebCore.vcproj:
3289         * WebCore.xcodeproj/project.pbxproj:
3290         * storage/Database.cpp:
3291         (WebCore::Database::transactionCoordinator):
3292         * storage/Database.h:
3293         * storage/DatabaseThread.cpp:
3294         (WebCore::DatabaseThread::DatabaseThread):
3295         * storage/DatabaseThread.h:
3296         (WebCore::DatabaseThread::transactionCoordinator):
3297         * storage/SQLTransaction.cpp:
3298         (WebCore::SQLTransaction::SQLTransaction):
3299         (WebCore::SQLTransaction::debugStepName):
3300         (WebCore::SQLTransaction::performNextStep):
3301         (WebCore::SQLTransaction::aquireLock):
3302         (WebCore::SQLTransaction::lockAquired):
3303         (WebCore::SQLTransaction::cleanupAfterSuccessCallback):
3304         (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
3305         * storage/SQLTransaction.h:
3306         * storage/SQLTransactionCoordinator.cpp: Added.
3307         * storage/SQLTransactionCoordinator.h: Added.
3308
3309 2009-08-12  Darin Adler  <darin@apple.com>
3310
3311         Reviewed by Geoff Garen.
3312
3313         Custom properties on DOM objects are lost after GC (as demonstrated by the gc-9.html test)
3314         https://bugs.webkit.org/show_bug.cgi?id=28194
3315
3316         * GNUmakefile.am: Added the two new source files.
3317         * WebCore.gypi: Ditto.
3318         * WebCore.pro: Ditto.
3319         * WebCore.vcproj/WebCore.vcproj: Ditto.
3320         * WebCore.xcodeproj/project.pbxproj: Ditto.
3321         * WebCoreSources.bkl: Ditto.
3322
3323         * bindings/js/JSCSSRuleListCustom.cpp: Added.
3324         (WebCore::JSCSSRuleList::markChildren): Call markDOMObjectWrapper
3325         on rules in the list.
3326
3327         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3328         (WebCore::JSCSSStyleDeclaration::markChildren): Added. Call
3329         markDOMObjectWrapper on the CSSValue objects that are owned by the
3330         declaration as values of the properties.
3331
3332         * bindings/js/JSDOMBinding.cpp:
3333         (WebCore::isObservableThroughDOM): Added code to handle some
3334         cases where nodes are observable because they own objects that
3335         in turn have custom properties.
3336
3337         * bindings/js/JSDOMBinding.h: Fix a typo in the header.
3338
3339         * bindings/js/JSDocumentCustom.cpp:
3340         (WebCore::JSDocument::markChildren): Added call to markDOMObjectWrapper
3341         for implementation and styleSheets.
3342
3343         * bindings/js/JSElementCustom.cpp:
3344         (WebCore::JSElement::markChildren): Added. Calls markDOMObjectWrapper
3345         for attributes and style.
3346
3347         * bindings/js/JSHTMLCanvasElementCustom.cpp: Added.
3348         (WebCore::JSHTMLCanvasElement::markChildren): Call markDOMObjectWrapper
3349         on the rendering context.
3350
3351         * bindings/js/JSStyleSheetCustom.cpp:
3352         (WebCore::JSStyleSheet::markChildren): Call markDOMObjectWrapper on
3353         items in the stylesheet.
3354
3355         * bindings/js/JSStyleSheetListCustom.cpp:
3356         (WebCore::JSStyleSheetList::markChildren): Added. Calls
3357         markDOMObjectWrapper on stylesheets in the list.
3358
3359         * css/CSSRuleList.idl: Added CustomMarkFunction.
3360         * css/CSSStyleDeclaration.idl: Ditto.
3361         * css/StyleSheetList.idl: Ditto.
3362         * dom/Element.idl: Ditto.
3363         * html/HTMLCanvasElement.idl: Ditto.
3364
3365         * dom/Element.h: Made everything private that could be.
3366         Added access to the attributeMap that does returns
3367         the existing map without doing any of the lazy-updating work. This
3368         is needed to get at the existing attributes during garbage collection
3369         without having side effects.
3370
3371         * html/HTMLCanvasElement.h: Cleaned up the header a bit, making
3372         members private. Added renderingContext2D function for use in
3373         JSHTMLCanvasElement::markChildren.
3374
3375 2009-08-12  Brian Weinstein  <bweinstein@apple.com>
3376
3377         Reviewed by Eric Seidel.
3378
3379         Fixes two bugs about Pan Scrolling - Scrolling with middle mouse button doesn't 
3380         work in Expanded view on reader.google.com, and Can enter auto scroll from a non-scrollable area.
3381         https://bugs.webkit.org/show_bug.cgi?id=28023
3382         https://bugs.webkit.org/show_bug.cgi?id=24794
3383         
3384         Added a new method to RenderBox seeing if the Box can be scrolled and actually has something to
3385         scroll, and use that for pan scrolling.
3386
3387         Test: platform/win/fast/events/panScroll-nested-divs.html
3388
3389         * page/EventHandler.cpp:
3390         (WebCore::EventHandler::handleMouseDraggedEvent):
3391         (WebCore::EventHandler::updateAutoscrollRenderer):
3392         (WebCore::EventHandler::handleMousePressEvent):
3393         * rendering/RenderBox.cpp:
3394         (WebCore::RenderBox::canBeScrolledAndHasScrollableArea):
3395         * rendering/RenderBox.h:
3396         * rendering/RenderLayer.cpp:
3397         (WebCore::RenderLayer::scrollByRecursively):
3398
3399 2009-08-12  Brian Weinstein  <bweinstein@apple.com>
3400
3401         Reviewed by Adam Roben.
3402
3403         Fix of <rdar://6728361> Mouse wheel scrolling on a page with expanded drop down 
3404         list detaches drop down.
3405
3406         Added a function for Windows PopupMenu's to return their class name.
3407
3408          * platform/PopupMenu.h:
3409          * platform/win/PopupMenuWin.cpp:
3410          (WebCore::PopupMenu::popupClassName):
3411
3412 2009-08-12  Shinichiro Hamaji  <hamaji@chromium.org>
3413
3414         Reviewed by Dan Bernstein.
3415
3416         WINCE PORT: Color and Gradient
3417         https://bugs.webkit.org/show_bug.cgi?id=27511
3418
3419         * platform/graphics/wince/ColorWince.cpp: Added.
3420         * platform/graphics/wince/GradientWince.cpp: Added.
3421
3422 2009-08-12  Yong Li  <yong.li@torchmobile.com>
3423
3424         Reviewed by Eric Seidel.
3425
3426         fix a typo in platform/graphics/skia/PlatformContextSkia.cpp
3427         https://bugs.webkit.org/show_bug.cgi?id=28172
3428
3429         No new tests because it's a just typo fix.
3430
3431         * platform/graphics/skia/PlatformContextSkia.cpp:
3432         (PlatformContextSkia::setupPaintCommon):
3433
3434 2009-08-12  Michelangelo De Simone  <micdesim@gmail.com>
3435
3436         Reviewed by Darin Adler.
3437
3438         https://bugs.webkit.org/show_bug.cgi?id=27458
3439         Support for the :default CSS pseudoclass, as per HTML5 spec.
3440         http://www.whatwg.org/specs/web-apps/current-work/multipage/interactive-elements.html#selector-default
3441
3442         Tests: fast/css/pseudo-default-001.html
3443                fast/css/pseudo-default-002.html
3444                fast/css/pseudo-default-003.html
3445                fast/css/pseudo-default-004.html
3446
3447         * css/CSSSelector.cpp:
3448         (WebCore::CSSSelector::extractPseudoType): pseudoDefault
3449         * css/CSSSelector.h:
3450         (WebCore::CSSSelector::):
3451         * css/CSSStyleSelector.cpp:
3452         (WebCore::CSSStyleSelector::canShareStyleWithElement): sharing stuff is
3453         aware that only one default button can be present in a form
3454         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): applies
3455         the :default CSS pseudoclass
3456         * dom/Element.h:
3457         (WebCore::Element::isDefaultButtonForForm): new method to determine
3458         whether a FormControl is a default button for a given form
3459         * html/HTMLFormControlElement.cpp:
3460         (WebCore::HTMLFormControlElement::isDefaultButtonForForm): ditto
3461         * html/HTMLFormControlElement.h:
3462         * html/HTMLFormElement.cpp:
3463         (WebCore::HTMLFormElement::defaultButton): extracts the default button
3464         from the form
3465         * html/HTMLFormElement.h:
3466
3467 2009-08-12  David Levin  <levin@chromium.org>
3468
3469         No review, rolling out r47106.
3470         https://bugs.webkit.org/show_bug.cgi?id=28215
3471
3472         This patch relied on a new version of v8 which is not available
3473         in chromium yet.
3474
3475         * bindings/v8/V8Binding.cpp:
3476         (WebCore::v8StringToAtomicWebCoreString):
3477
3478 2009-08-12  Steve Block  <steveblock@google.com>
3479
3480         Reviewed by Eric Seidel.
3481
3482         Bug 26993 : Geolocation::requestPermission()
3483         https://bugs.webkit.org/show_bug.cgi?id=26993
3484
3485         Second patch to allow the Geolocation permission request to chrome to be asynchronous
3486         or synchronous. Fixes a bug where callbacks were called twice when permissions
3487         are granted synchronously.
3488
3489         No new tests required.
3490
3491         * page/Geolocation.cpp:
3492         (WebCore::Geolocation::setIsAllowed): Modified. Calls makeSuccessCallbacks() rather than geolocationServicePositionChanged().
3493         (WebCore::Geolocation::geolocationServicePositionChanged): Modified. Updated logic to avoid repeated callbacks when permissions are granted synchronously.
3494         (WebCore::Geolocation::makeSuccessCallbacks): Added. Calls success callbacks.
3495         * page/Geolocation.h: Modified. Adds makeSuccessCallbacks().
3496
3497 2009-08-12  Anders Carlsson  <andersca@apple.com>
3498
3499         Reviewed by Sam Weinig.
3500
3501         <rdar://problem/6952336>
3502         CrashTracer: [USER] 3 crashes in Safari at com.apple.WebCore • WebCore::SecurityOrigin::canAccess const + 27
3503
3504         Make sure to set the security origin before calling dispatchWindowObjectAvailable.
3505         
3506         * loader/FrameLoader.cpp:
3507         (WebCore::FrameLoader::begin):
3508
3509 2009-08-12  Xiaomei Ji  <xji@chromium.org>
3510
3511         Reviewed by Eric Seidel.
3512
3513         Fix [Chromium] drop down menu letter selection, skip selections
3514         https://bugs.webkit.org/show_bug.cgi?id=28205
3515
3516         Not auto-testable since it is chromim platform specific code, and it involves sending a keyboard 
3517         event to the popup, which is not possible (eventSender sends the key
3518         events through webview, we want to go through the webwidget).
3519
3520         * manual-tests/keyboard_select_elements_with_same_beginning.html: Added.
3521         * platform/chromium/PopupMenuChromium.cpp:
3522         (WebCore::isCharacterTypeEvent): style change.
3523         (WebCore::PopupListBox::handleKeyEvent): typeAheadFind should be called only when the event is
3524         a character type event to avoid calling twice for English.
3525         (WebCore::PopupListBox::typeAheadFind): remove unnecessary checking of isCharacterTypeEvent() since the whole function is only called under that condition.
3526
3527 2009-08-12  Maxime Simon  <simon.maxime@gmail.com>
3528
3529         Reviewed by Eric Seidel.
3530
3531         [Haiku] Adding GraphicsContext to WebCore/platform/graphics/haiku.
3532         https://bugs.webkit.org/show_bug.cgi?id=28130
3533
3534         * platform/graphics/haiku/GraphicsContextHaiku.cpp: Added.
3535         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
3536         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
3537         (WebCore::GraphicsContext::GraphicsContext):
3538         (WebCore::GraphicsContext::~GraphicsContext):
3539         (WebCore::GraphicsContext::platformContext):
3540         (WebCore::GraphicsContext::savePlatformState):
3541         (WebCore::GraphicsContext::restorePlatformState):
3542         (WebCore::GraphicsContext::drawRect):
3543         (WebCore::GraphicsContext::drawLine):
3544         (WebCore::GraphicsContext::drawEllipse):
3545         (WebCore::GraphicsContext::strokeArc):
3546         (WebCore::GraphicsContext::strokePath):
3547         (WebCore::GraphicsContext::drawConvexPolygon):
3548         (WebCore::GraphicsContext::fillRect):
3549         (WebCore::GraphicsContext::fillRoundedRect):
3550         (WebCore::GraphicsContext::fillPath):
3551         (WebCore::GraphicsContext::beginPath):
3552         (WebCore::GraphicsContext::addPath):
3553         (WebCore::GraphicsContext::clip):
3554         (WebCore::GraphicsContext::drawFocusRing):
3555         (WebCore::GraphicsContext::drawLineForText):
3556         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
3557         (WebCore::GraphicsContext::roundToDevicePixels):
3558         (WebCore::GraphicsContext::beginTransparencyLayer):
3559         (WebCore::GraphicsContext::endTransparencyLayer):
3560         (WebCore::GraphicsContext::clearRect):
3561         (WebCore::GraphicsContext::strokeRect):
3562         (WebCore::GraphicsContext::setLineCap):
3563         (WebCore::GraphicsContext::setLineJoin):
3564         (WebCore::GraphicsContext::setMiterLimit):
3565         (WebCore::GraphicsContext::setAlpha):
3566         (WebCore::GraphicsContext::setCompositeOperation):
3567         (WebCore::GraphicsContext::clipOut):
3568         (WebCore::GraphicsContext::clipToImageBuffer):
3569         (WebCore::GraphicsContext::getCTM):
3570         (WebCore::GraphicsContext::translate):
3571         (WebCore::GraphicsContext::origin):
3572         (WebCore::GraphicsContext::rotate):
3573         (WebCore::GraphicsContext::scale):
3574         (WebCore::GraphicsContext::clipOutEllipseInRect):