e21b67793431a9bdb4f4d756fb6fe93fc06405d2
[WebKit-https.git] / WebCore / ChangeLog
1 2009-02-26  Darin Fisher  <darin@chromium.org>
2
3         Reviewed by Eric Seidel.
4
5         Minor cleanup of ChromiumBridge:
6         Removing unused matchesMIMEType method and s/Javascript/JavaScript/
7
8         * platform/chromium/ChromiumBridge.h:
9         * platform/chromium/MimeTypeRegistryChromium.cpp:
10         (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
11         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
12         (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
13
14 2009-02-26  David Hyatt  <hyatt@apple.com>
15
16         Reviewed by Sam Weinig
17
18         Fix text-bottom vertical alignment.  It was incorrectly aligning the bottom of the descent instead of including
19         the line-height below the descent.
20
21         Added fast/inline/vertical-align-text-bottom.html
22
23         * rendering/RenderBoxModelObject.cpp:
24         (WebCore::RenderBoxModelObject::verticalPosition):
25
26 2009-02-26  Dirk Schulze  <krit@webkit.org>
27
28         Reviewed by Eric Seidel.
29
30         Make SVG Masking platform independet with the use of ImageBuffer::getImageData(),
31         ImageBuffer::putImageData() and GraphicsContext::clipToImageBuffer(). Every platform has
32         just to implement this three methods to support SVG Masking now.
33  
34         Make SVG Masking platform aware
35         https://bugs.webkit.org/show_bug.cgi?id=19243
36
37         * GNUmakefile.am:
38         * WebCore.pro:
39         * WebCore.vcproj/WebCore.vcproj:
40         * WebCore.xcodeproj/project.pbxproj:
41         * svg/graphics/SVGResourceMasker.cpp:
42         (WebCore::SVGResourceMasker::applyMask):
43         * svg/graphics/cairo/SVGResourceMaskerCairo.cpp: Removed.
44         * svg/graphics/cg/SVGResourceMaskerCg.cpp: Removed.
45         * svg/graphics/cg/SVGResourceMaskerCg.mm: Removed.
46         * svg/graphics/qt/SVGResourceMaskerQt.cpp: Removed.
47         * svg/graphics/skia/SVGResourceMaskerSkia.cpp: Removed.
48
49 2009-02-26  Yong Li  <yong.li@torchmobile.com>
50
51         Reviewed by Darin Adler, Antti Koivisto and Alexey Proskuryakov.
52
53         Test: http/tests/misc/slow-preload-cancel.html
54
55         https://bugs.webkit.org/show_bug.cgi?id=24133
56         Clear all pending preloads in the DocLoader object when we decide to
57         cancel its all requests.
58
59         * loader/DocLoader.cpp:
60         (WebCore::DocLoader::clearPendingPreloads):
61         * loader/DocLoader.h:
62         * loader/loader.cpp:
63         (WebCore::Loader::cancelRequests):
64
65 2009-02-26  Dimitri Glazkov  <dglazkov@chromium.org>
66
67         Reviewed by Eric Seidel.
68
69         https://bugs.webkit.org/show_bug.cgi?id=24182
70         Add NodeFilter, NodeIterator, and TreeWalker custom V8 bindings.
71
72         * bindings/v8/custom/V8NodeFilterCustom.cpp: Added.
73         (WebCore::CALLBACK_FUNC_DECL):
74         * bindings/v8/custom/V8NodeIteratorCustom.cpp: Added.
75         (WebCore::toV8):
76         (WebCore::CALLBACK_FUNC_DECL):
77         * bindings/v8/custom/V8TreeWalkerCustom.cpp: Added.
78         (WebCore::toV8):
79         (WebCore::CALLBACK_FUNC_DECL):
80
81 2009-02-26  Alexey Proskuryakov  <ap@webkit.org>
82
83         Reviewed by Darin Adler.
84
85         https://bugs.webkit.org/show_bug.cgi?id=23500
86         KURL::parse() incorrectly compares its result to original string
87
88         * platform/KURL.cpp: (WebCore::KURL::parse): Take string length into account.
89
90 2009-02-26  Ojan Vafai  <ojan@chromium.org>
91
92         Reviewed by Kevin McCullough.
93
94         Manual test for inspector node highlighting.
95
96         * manual-tests/inspector/highlight-nodes.html: Added.
97
98 2009-02-16  Anantanarayanan Iyengar  <ananta@chromium.org>
99
100         Reviewed by Darin Fisher.
101
102         https://bugs.webkit.org/show_bug.cgi?id=23973
103         ScrollView::scrollContents can be invoked during view shutdown.  In
104         this scenario the FrameView::hostWindow method can return NULL, which
105         indicates that the frame/page is being destroyed. This causes a crash
106         when we try to dereference a NULL hostWindow pointer.  Fix is to add a
107         NULL check for this.  
108
109         * platform/ScrollView.cpp:
110         (WebCore::ScrollView::scrollContents):
111
112 2009-02-26  Rahul Kuchhal  <kuchhal@chromium.org>
113
114         Reviewed by Dave Hyatt.
115
116         https://bugs.webkit.org/show_bug.cgi?id=24003
117         Fix a crash caused by unsafe type conversion.
118
119         Test: fast/block/positioning/absolute-in-inline-rtl-4.html
120
121         * rendering/RenderBox.cpp:
122         (WebCore::RenderBox::calcAbsoluteHorizontalValues):
123
124 2009-02-26  Ojan Vafai  <ojan@chromium.org>
125
126         Reviewed by Adam Roben.
127
128         https://bugs.webkit.org/show_bug.cgi?id=24202
129         Have drawNodeHighlight clip instead of clearing. This makes it work for
130         both Safari and Chromium since Chromium draws the inspector highlighting
131         in the same buffer as the page.
132
133         * inspector/InspectorController.cpp:
134         (WebCore::quadToPath):
135         (WebCore::drawOutlinedQuad):
136         (WebCore::drawOutlinedQuadWithClip):
137         (WebCore::drawHighlightForBox):
138
139 2009-02-26  David Hyatt  <hyatt@apple.com>
140
141         Reviewed by Dan Bernstein & Darin Adler
142
143         Make sure the border/padding are properly omitted at the start of an inline that is a continuation.
144         
145         Added fast/inline/inline-continuation-borders.html
146
147         * rendering/InlineFlowBox.cpp:
148         (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
149
150 2009-02-26  Simon Fraser  <simon.fraser@apple.com>
151
152         Build fix, no review.
153         
154         Try to fix the wx build after r41218.
155
156         * WebCoreSources.bkl:
157
158 2009-02-26  Alexey Proskuryakov  <ap@webkit.org>
159
160         Reviewed by Darin Adler.
161
162         https://bugs.webkit.org/show_bug.cgi?id=19527
163         ASSERTION FAILED: containerA && containerB
164
165         Test: fast/dom/Range/bug-19527.html
166
167         * dom/Range.cpp:
168         (WebCore::Range::isPointInRange):
169         (WebCore::Range::comparePoint):
170         Bring the behavior in line with current Firefox, making it impossible for these methods
171         to pass a null container to compareBoundaryPoints().
172
173 2009-02-26  Jonathon Jongsma  <jonathon@quotidian.org>
174
175         Reviewed by Holger Freyther.
176
177         https://bugs.webkit.org/show_bug.cgi?id=20358
178
179         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
180         (WebCore::SimpleFontData::smallCapsFontData): the small-caps font data
181         should set the computed size rather than the specified size, otherwise
182         the caps just get rendered normal size.
183
184 2009-02-26  Benjamin Meyer  <benjamin.meyer@torchmobile.com>
185
186         Reviewed by George Staikos.
187
188         https://bugs.webkit.org/show_bug.cgi?id=24062
189         QNetworkCookieJar expects the url and not the policy url.  Sending the
190         policy url will cause QNetworkCookieJar to behave incorrectly.  One
191         example would be a cookie that does not have a path or domain.
192         QNetworkCookieJar will use the url it is given to fill in default values.
193         This allows setting cookies on the url of the main frame from an iFrame
194         when the cookie should be set on the url of the iFrame.
195
196         Originally noticed on http://writer.zoho.com/jsp/home.jsp?serviceurl=/index.do
197
198         * platform/qt/CookieJarQt.cpp:
199         (WebCore::setCookies):
200
201 2009-02-26  Charles Wei  <charles.wei@torchmobile.com.cn>
202
203         Reviewed by George Staikos.
204
205         make WebKit/Qt compile with SVG disabled
206
207         * WebCore.pro:
208         * platform/graphics/qt/FontPlatformDataQt.cpp:
209
210 2009-02-25  Gustavo Noronha Silva  <gns@gnome.org>
211
212         Unreviewed build fix. Add WebCore/workers to the list of paths
213         searched by the bindings generator perl script.
214
215         * GNUmakefile.am:
216
217 2009-02-25  Sam Weinig  <sam@webkit.org>
218
219         Reviewed by Geoffrey Garen.
220
221         Add canvas to the list of RenderObjects that can mark a page as
222         visually not empty.
223
224         * rendering/RenderHTMLCanvas.cpp:
225         (WebCore::RenderHTMLCanvas::RenderHTMLCanvas):
226
227 2009-02-25  Eric Carlson  <eric.carlson@apple.com>
228
229         Reviewed by Dave Hyatt.
230
231         * rendering/RenderBox.cpp:
232         (WebCore::RenderBox::nodeAtPoint): Remove assertion fired when child has layer
233         as RenderMedia with controls always has a layer.
234
235 2009-02-25  Dan Bernstein  <mitz@apple.com>
236
237         Reviewed by Simon Fraser.
238
239         - fix https://bugs.webkit.org/show_bug.cgi?id=24130
240           <rdar://problem/6618196> Paint very slow when horizontally resizing
241
242         Test: fast/gradients/background-clipped.html
243
244         * rendering/RenderBoxModelObject.cpp:
245         (WebCore::RenderBoxModelObject::paintFillLayerExtended): Intersect the
246         destination rectangle passed to drawTiledImage() with the dirty
247         rectangle. This makes it more likely for the destination rect to be
248         contained in a single tile rect, which results in a faster code path
249         being taken down the road (just drawing a single tile instead of
250         tiling).
251
252 2009-02-25  Ojan Vafai  <ojan@chromium.org>
253
254         Reviewed by Eric Seidel.
255
256         Fix test regressions from positionForCoordinates patch.
257         https://bugs.webkit.org/show_bug.cgi?id=24148
258
259         * rendering/RenderBlock.cpp:
260         (WebCore::positionForPointWithInlineChildren):
261         Remove ASSERT that placeholder text codepath is hitting.
262
263 2009-02-25  Chris Fleizach  <cfleizach@apple.com>
264
265         Reviewed by Beth Dakin.
266
267         Bug 24143: Crash occurs at WebCore::AccessibilityTable::isTableExposableThroughAccessibility() when applying a link in GMail
268         https://bugs.webkit.org/show_bug.cgi?id=24143
269
270         When an AX object is marked dirty, do not create AX elements while going up the parent chain.
271         Do not allow AXRenderObjects to remove their own IDs from the cache, all the cache to do that work
272         Make sure the AXObjectWrapper's have an object before calling them
273         In AXObjectCache, change get -> getOrCreate. Use get() to only retrieve an element if it exists
274
275         Test: platform/mac-snowleopard/accessibility/table-updating.html
276
277         * WebCore.base.exp:
278         * page/AXObjectCache.cpp:
279         (WebCore::AXObjectCache::~AXObjectCache):
280         (WebCore::AXObjectCache::get):
281         (WebCore::AXObjectCache::getOrCreate):
282         (WebCore::AXObjectCache::removeAXID):
283         (WebCore::AXObjectCache::handleActiveDescendantChanged):
284         (WebCore::AXObjectCache::handleAriaRoleChanged):
285         * page/AXObjectCache.h:
286         * page/AccessibilityImageMapLink.cpp:
287         (WebCore::AccessibilityImageMapLink::parentObject):
288         * page/AccessibilityListBox.cpp:
289         (WebCore::AccessibilityListBox::listBoxOptionAccessibilityObject):
290         (WebCore::AccessibilityListBox::doAccessibilityHitTest):
291         * page/AccessibilityListBoxOption.cpp:
292         (WebCore::AccessibilityListBoxOption::elementRect):
293         (WebCore::AccessibilityListBoxOption::parentObject):
294         * page/AccessibilityObject.cpp:
295         (WebCore::AccessibilityObject::detach):
296         (WebCore::AccessibilityObject::parentObjectIfExists):
297         (WebCore::replacedNodeNeedsCharacter):
298         (WebCore::AccessibilityObject::accessibilityObjectForPosition):
299         * page/AccessibilityObject.h:
300         * page/AccessibilityRenderObject.cpp:
301         (WebCore::AccessibilityRenderObject::firstChild):
302         (WebCore::AccessibilityRenderObject::lastChild):
303         (WebCore::AccessibilityRenderObject::previousSibling):
304         (WebCore::AccessibilityRenderObject::nextSibling):
305         (WebCore::AccessibilityRenderObject::parentObjectIfExists):
306         (WebCore::AccessibilityRenderObject::parentObject):
307         (WebCore::AccessibilityRenderObject::isAttachment):
308         (WebCore::AccessibilityRenderObject::headingLevel):
309         (WebCore::AccessibilityRenderObject::anchorElement):
310         (WebCore::AccessibilityRenderObject::menuForMenuButton):
311         (WebCore::AccessibilityRenderObject::menuButtonForMenu):
312         (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
313         (WebCore::AccessibilityRenderObject::internalLinkElement):
314         (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
315         (WebCore::AccessibilityRenderObject::titleUIElement):
316         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
317         (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
318         (WebCore::AccessibilityRenderObject::getDocumentLinks):
319         (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
320         (WebCore::AccessibilityRenderObject::focusedUIElement):
321         (WebCore::AccessibilityRenderObject::activeDescendant):
322         (WebCore::AccessibilityRenderObject::observableObject):
323         (WebCore::AccessibilityRenderObject::childrenChanged):
324         (WebCore::AccessibilityRenderObject::addChildren):
325         * page/AccessibilityRenderObject.h:
326         (WebCore::AccessibilityRenderObject::setRenderObject):
327         * page/AccessibilityTable.cpp:
328         (WebCore::AccessibilityTable::addChildren):
329         (WebCore::AccessibilityTable::headerContainer):
330         (WebCore::AccessibilityTable::cellForColumnAndRow):
331         * page/AccessibilityTableCell.cpp:
332         (WebCore::AccessibilityTableCell::isTableCell):
333         (WebCore::AccessibilityTableCell::titleUIElement):
334         * page/AccessibilityTableColumn.cpp:
335         (WebCore::AccessibilityTableColumn::headerObjectForSection):
336         * page/AccessibilityTableRow.cpp:
337         (WebCore::AccessibilityTableRow::isTableRow):
338         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
339         * page/mac/AXObjectCacheMac.mm:
340         (WebCore::AXObjectCache::postNotification):
341         (WebCore::AXObjectCache::postNotificationToElement):
342         * page/mac/AccessibilityObjectWrapper.mm:
343         (textMarkerForVisiblePosition):
344         (AXLinkElementForNode):
345         (nsStringForReplacedNode):
346         (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
347         (-[AccessibilityObjectWrapper accessibilityActionNames]):
348         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
349         (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]):
350         (-[AccessibilityObjectWrapper accessibilityHitTest:]):
351         (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
352         (-[AccessibilityObjectWrapper accessibilityIsIgnored]):
353         (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
354         (-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
355         (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
356         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
357         (-[AccessibilityObjectWrapper _accessibilityParentForSubview:]):
358         (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
359         (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
360         (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
361
362 2009-02-25  Beth Dakin  <bdakin@apple.com>
363
364         Reviewed by Geoff Garen.
365
366         Re-working of <rdar://problem/6487249> repro crash in 
367         WebCore::CSSParser::parseFillImage copying entire contents of this 
368         page
369         -and corresponding: https://bugs.webkit.org/show_bug.cgi?id=24172
370
371         Fixes a bunch of layout test failures I caused!
372
373         * css/CSSParser.cpp:
374         (WebCore::CSSParser::parseValue):
375         (WebCore::CSSParser::parseContent):
376         (WebCore::CSSParser::parseFillImage):
377         (WebCore::CSSParser::parseFontFaceSrc):
378         (WebCore::CSSParser::parseBorderImage):
379
380 2009-02-25  Dimitri Glazkov  <dglazkov@chromium.org>
381
382         Reviewed by Eric Seidel.
383
384         https://bugs.webkit.org/show_bug.cgi?id=24174
385         Add more V8 custom bindings.
386
387         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: Added.
388         (WebCore::hasCSSPropertyNamePrefix):
389         (WebCore::cssPropertyName):
390         (WebCore::NAMED_PROPERTY_GETTER):
391         (WebCore::NAMED_PROPERTY_SETTER):
392         * bindings/v8/custom/V8DOMStringListCustom.cpp: Added.
393         (WebCore::INDEXED_PROPERTY_GETTER):
394         (WebCore::CALLBACK_FUNC_DECL):
395         * bindings/v8/custom/V8EventCustom.cpp: Added.
396         (WebCore::ACCESSOR_SETTER):
397         (WebCore::ACCESSOR_GETTER):
398         * bindings/v8/custom/V8HTMLDocumentCustom.cpp: Added.
399         (WebCore::NAMED_PROPERTY_DELETER):
400         (WebCore::NAMED_PROPERTY_SETTER):
401         (WebCore::NAMED_PROPERTY_GETTER):
402         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp: Added.
403         (WebCore::NAMED_PROPERTY_GETTER):
404         * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Added.
405         (WebCore::INDEXED_PROPERTY_GETTER):
406         (WebCore::NAMED_PROPERTY_GETTER):
407         * bindings/v8/custom/V8NodeListCustom.cpp: Added.
408         (WebCore::NAMED_PROPERTY_GETTER):
409         * bindings/v8/custom/V8StyleSheetListCustom.cpp: Added.
410         (WebCore::NAMED_PROPERTY_GETTER):
411
412 2009-02-25  Scott Violet  <sky@google.com>
413
414         Reviewed by Dave Hyatt.
415
416         https://bugs.webkit.org/show_bug.cgi?id=24171
417         Provides a RenderTheme method for getting the scroll bar size and
418         changes RenderListBox to use it. RenderTheme returns a size of regular,
419         and Mac's override to return small. Changes ScrollbarThemeChromium to
420         use the scrollbarsize of the scrollbar when getting the size
421         instead of passing in no-args.
422
423         * platform/chromium/ScrollbarThemeChromium.cpp:
424         (WebCore::ScrollbarThemeChromium::trackRect):
425         (WebCore::ScrollbarThemeChromium::buttonSize):
426         * rendering/RenderListBox.cpp:
427         (WebCore::RenderListBox::createScrollbar):
428         * rendering/RenderTheme.h:
429         (WebCore::RenderTheme::scrollbarControlSizeForPart):
430         * rendering/RenderThemeChromiumMac.h:
431         (WebCore::RenderThemeChromiumMac::scrollbarControlSizeForPart):
432         * rendering/RenderThemeMac.h:
433         (WebCore::RenderThemeMac::scrollbarControlSizeForPart):
434
435 2009-02-25  Beth Dakin  <bdakin@apple.com>
436
437         Reviewed by Darin Adler.
438
439         Fix for <rdar://problem/6487249> repro crash in 
440         WebCore::CSSParser::parseFillImage copying entire contents of this 
441         page
442         -and corresponding: https://bugs.webkit.org/show_bug.cgi?id=24172
443
444         * css/CSSParser.cpp:
445         (WebCore::CSSParser::parseValue): Null-check m_styleSheet
446
447 2009-02-25  Adam Treat  <adam.treat@torchmobile.com>
448
449         Fix the Qt build.
450
451         * WebCore.pro:
452
453 2009-02-25  Jan Michael Alonzo  <jmalonzo@webkit.org>
454
455         Gtk build fix. Not reviewed.
456
457         Add files to the build per r41218.
458         Rename WebkitPoint.h to WebKitPoint.h in DOMWindow.cpp
459
460         * GNUmakefile.am:
461         * page/DOMWindow.cpp:
462
463 2009-02-25  Zan Dobersek  <zandobersek@gmail.com>
464
465         Reviewed by Alexey Proskuryakov.
466
467         https://bugs.webkit.org/show_bug.cgi?id=24043
468         When faced with URLs with unsupported protocol on Gtk port,
469         report the error through an idle function and return true, so
470         a proper resource handle is created.
471
472         * platform/network/soup/ResourceHandleSoup.cpp:
473         (WebCore::reportUnknownProtocolError):
474         (WebCore::ResourceHandle::start):
475
476 2009-02-25  Steve Falkenburg  <sfalken@apple.com>
477
478         Windows build fix.
479         Use struct to forward declare ResourceRequest.
480
481         * history/HistoryItem.h:
482         * inspector/InspectorController.h:
483         * loader/DocumentThreadableLoader.h:
484         * loader/FrameLoaderClient.h:
485         * loader/MainResourceLoader.h:
486         * loader/SubresourceLoader.h:
487         * loader/SubresourceLoaderClient.h:
488         * loader/ThreadableLoader.h:
489         * loader/WorkerThreadableLoader.h:
490         * platform/CrossThreadCopier.h:
491         * platform/network/ResourceHandle.h:
492         * platform/network/ResourceHandleClient.h:
493         * platform/network/ResourceRequestBase.h:
494         * platform/network/cf/ResourceRequestCFNet.h:
495         * xml/XMLHttpRequest.h:
496
497 2009-02-25  Steve Falkenburg  <sfalken@apple.com>
498
499         Partial Windows build fix.
500         
501         * DerivedSources.cpp:
502         * WebCore.vcproj/WebCore.vcproj:
503
504 2009-02-25  Dirk Schulze  <krit@webkit.org>
505
506         Reviewed by Oliver Hunt.
507
508         Ported arcTo to Qt. Qt has no native support for arcTo. This changes
509         calculate the behavior of arcTo and draws it with lineTo and arc.
510
511         [QT] implement Canvas arcTo
512         https://bugs.webkit.org/show_bug.cgi?id=23873
513
514         * platform/graphics/qt/PathQt.cpp:
515         (WebCore::Path::addArcTo):
516
517 2009-02-25  Simon Fraser  <simon.fraser@apple.com>
518
519         Reviewed by Dan Bernstein
520
521         Remove idl files from Resources, and sort.
522         
523         * WebCore.xcodeproj/project.pbxproj:
524
525 2009-02-25  Chris Marrin  <cmarrin@apple.com>
526
527         Reviewed by Simon Fraser.
528
529         https://bugs.webkit.org/show_bug.cgi?id=23943
530
531         Added webkitConvertPointFromNodeToPage and webkitConvertPointFromPageToNode on
532         the window object. Also added WebKitPoint object, which is passed in and out
533         of these functions.
534
535         Test: fast/dom/Window/webkitConvertPoint.html
536
537         * DerivedSources.make:
538         * WebCore.pro:
539         * WebCore.vcproj/WebCore.vcproj:
540         * WebCore.xcodeproj/project.pbxproj:
541         * WebCoreSources.bkl:
542         * bindings/js/JSDOMWindowBase.cpp:
543         (jsDOMWindowBaseWebKitPoint):
544         (setJSDOMWindowBaseWebKitPoint):
545         * bindings/js/JSWebKitPointConstructor.cpp: Added.
546         (WebCore::):
547         (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
548         (WebCore::constructWebKitPoint):
549         (WebCore::JSWebKitPointConstructor::getConstructData):
550         * bindings/js/JSWebKitPointConstructor.h: Added.
551         (WebCore::JSWebKitPointConstructor::classInfo):
552         * dom/Node.cpp:
553         (WebCore::Node::convertToPage):
554         (WebCore::Node::convertFromPage):
555         * dom/Node.h:
556         * page/DOMWindow.cpp:
557         (WebCore::DOMWindow::webkitConvertPointFromNodeToPage):
558         (WebCore::DOMWindow::webkitConvertPointFromPageToNode):
559         * page/DOMWindow.h:
560         * page/DOMWindow.idl:
561         * page/WebKitPoint.h: Added.
562         (WebCore::WebKitPoint::create):
563         (WebCore::WebKitPoint::x):
564         (WebCore::WebKitPoint::y):
565         (WebCore::WebKitPoint::setX):
566         (WebCore::WebKitPoint::setY):
567         (WebCore::WebKitPoint::WebKitPoint):
568         * page/WebKitPoint.idl: Added.
569
570 2009-02-25  Jian Li  <jianli@chromium.org>
571
572         Reviewed by Alexey Proskuryakov.
573
574         Remove "#if ENABLE(WORKERS)" wrap from CrossThreadCopier files.
575         https://bugs.webkit.org/show_bug.cgi?id=24145
576
577         * platform/CrossThreadCopier.cpp:
578         * platform/CrossThreadCopier.h:
579
580 2009-02-25  David Levin  <levin@chromium.org>
581
582         Reviewed by Alexey Proskuryakov.
583
584         Bug 23688: ThreadableLoader needs a sync implementation for Workers.
585         <https://bugs.webkit.org/show_bug.cgi?id=23688>
586
587         No observable change in behavior, so no test.
588
589         * loader/ThreadableLoader.cpp:
590         (WebCore::ThreadableLoader::loadResourceSynchronously):
591         * loader/ThreadableLoaderClientWrapper.h:
592         (WebCore::ThreadableLoaderClientWrapper::clearClient):
593         (WebCore::ThreadableLoaderClientWrapper::done):
594         (WebCore::ThreadableLoaderClientWrapper::didFinishLoading):
595         (WebCore::ThreadableLoaderClientWrapper::didFail):
596         (WebCore::ThreadableLoaderClientWrapper::didFailRedirectCheck):
597         (WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper):
598         Expose whether the loader is done (based on what callbacks were done).
599
600         * loader/WorkerThreadableLoader.cpp:
601         (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
602         (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
603         Each loader is given its own mode so that only its callbacks get through the run loop.
604
605         The xhr spec says that the readystatechange events are synchronous, so in the case of a
606         nested sync xhr no readystatechange events should be fired for the outer xhr.
607
608         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
609
610         * loader/WorkerThreadableLoader.h:
611         (WebCore::WorkerThreadableLoader::create):
612         (WebCore::WorkerThreadableLoader::done):
613
614         * workers/WorkerRunLoop.cpp:
615         (WebCore::WorkerRunLoop::WorkerRunLoop):
616         * workers/WorkerRunLoop.h:
617         (WebCore::WorkerRunLoop::createUniqueId):
618         Simple method to create a uniqueId on demand with respect to the run loop.
619
620         * workers/WorkerThread.h:
621
622 2009-02-25  David Levin  <levin@chromium.org>
623
624         Reviewed by Alexey Proskuryakov.
625
626         Bug 24089: ThreadableLoader::loadResourceSynchronously should do callbacks like the async code.
627         <https://bugs.webkit.org/show_bug.cgi?id=24089>
628
629         Make threadable loader callbacks to happen during the sync load call.
630
631         Changes the behavior of sync xhr for insecure redirects in two ways:
632         + Sends an error event instead of an abort event (which is the same as async xhr's behavior).
633         + Throws a network exception which is what other browsers do and what the spec
634         says to do (http://www.w3.org/TR/XMLHttpRequest/).
635
636         * loader/DocumentThreadableLoader.cpp:
637         (WebCore::DocumentThreadableLoader::loadResourceSynchronously):
638         * loader/DocumentThreadableLoader.h:
639         * loader/ThreadableLoader.cpp:
640         (WebCore::ThreadableLoader::loadResourceSynchronously):
641         * loader/ThreadableLoader.h:
642         * xml/XMLHttpRequest.cpp:
643         (WebCore::XMLHttpRequest::XMLHttpRequest):
644         (WebCore::XMLHttpRequest::loadRequestSynchronously):
645         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
646         (WebCore::XMLHttpRequest::didFail):
647         (WebCore::XMLHttpRequest::didFailRedirectCheck):
648         * xml/XMLHttpRequest.h:
649
650 2009-02-24  Chris Marrin  <cmarrin@apple.com>
651
652         Reviewed by David Hyatt.
653
654         https://bugs.webkit.org/show_bug.cgi?id=23368
655
656         Added logic to correctly hit test accelerated layers.
657
658         Tests: animations/animation-hit-test-transform.html
659                animations/animation-hit-test.html
660                transitions/transition-hit-test-transform.html
661                transitions/transition-hit-test.html
662
663         * page/animation/KeyframeAnimation.cpp:
664         (WebCore::KeyframeAnimation::animate):
665         * rendering/RenderLayer.cpp:
666         (WebCore::RenderLayer::hitTestLayer):
667         (WebCore::RenderLayer::updateClipRects):
668         * rendering/RenderLayerBacking.cpp:
669         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
670
671 2009-02-25  Alexey Proskuryakov  <ap@webkit.org>
672
673         Reviewed by Darin Adler.
674
675         https://bugs.webkit.org/show_bug.cgi?id=24067
676         REGRESSION: Crash in WebCore::Document::initSecurityContext
677
678         The crash started to happen when we removed a check for frame->document() being null.
679         However, the original document shouldn't be null here, because it is needed to alias
680         security origins. So, this patch fixes the crash by correcting security origin behavior.
681
682         Test: http/tests/security/aboutBlank/window-open-self-about-blank.html
683         This tests for not crashing, and for inheriting the domain from the document being replaced.
684         Preserving the aliasing cannot be tested for automatically, because we'd need a non-trivial
685         domain to remove a prefix from.
686
687         * loader/FrameLoader.cpp: (WebCore::FrameLoader::begin): Create a new document before
688         clearing the frame, so that Document::initSecurityContext() could access the old one.
689
690 2009-02-25  Jay Campan  <jcampan@google.com>
691
692         Reviewed by Darin Fisher.
693
694         https://bugs.webkit.org/show_bug.cgi?id=24066
695
696         Items in drop-downs were not painted correctly.  Makes sure the
697         PopupListBox invalidates in the coordinates of the window as this is
698         FramelessScrollView::invalidateRect paints to.
699
700         * platform/chromium/PopupMenuChromium.cpp:
701         (WebCore::PopupListBox::invalidateRow):
702
703 2009-02-24  Simon Fraser  <simon.fraser@apple.com>
704
705         Reviewed by Anders Carlsson
706
707         https://bugs.webkit.org/show_bug.cgi?id=15081
708         
709         Make display:none work for applet, emebed and object elements
710         by calling rendererIsNeeded() on superclasses.
711
712         Tests: fast/replaced/applet-display-none.html
713                fast/replaced/embed-display-none.html
714                fast/replaced/object-display-none.html
715
716         * html/HTMLAppletElement.cpp:
717         (WebCore::HTMLAppletElement::rendererIsNeeded):
718         * html/HTMLElement.cpp:
719         (WebCore::HTMLElement::rendererIsNeeded):
720         * html/HTMLEmbedElement.cpp:
721         (WebCore::HTMLEmbedElement::rendererIsNeeded):
722         * html/HTMLObjectElement.cpp:
723         (WebCore::HTMLObjectElement::rendererIsNeeded):
724
725 2009-02-24  Simon Fraser  <simon.fraser@apple.com>
726
727         Reviewed by Dave Hyatt
728
729         https://bugs.webkit.org/show_bug.cgi?id=24137
730         
731         Fix localToAbsolute() and absoluteToLocal() to map points through 3d transforms,
732         taking perspective and transform-style: preserve-3d into account.
733         
734         In order to support transform-style: preserve-3d, which keeps elements in a
735         3d space, we have to carry along an accumulated matrix in TransformState.
736         We also need to apply the perspective from the parent, if any, with the
737         appropriate origin.
738
739         * GNUmakefile.am:
740         * WebCore.base.exp:
741         * WebCore.pro:
742         * WebCore.scons:
743         * WebCore.vcproj/WebCore.vcproj:
744         * WebCore.xcodeproj/project.pbxproj:
745         * WebCoreSources.bkl:
746         * css/CSSComputedStyleDeclaration.cpp:
747         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
748         * platform/graphics/transforms/TransformationMatrix.cpp:
749         (WebCore::TransformationMatrix::translate):
750         (WebCore::TransformationMatrix::translate3d):
751         (WebCore::TransformationMatrix::translateRight3d):
752         * platform/graphics/transforms/TransformationMatrix.h:
753         * rendering/RenderBox.cpp:
754         (WebCore::RenderBox::mapLocalToAbsolutePoint):
755         (WebCore::RenderBox::mapAbsoluteToLocalPoint):
756         * rendering/RenderBox.h:
757         * rendering/RenderLayer.cpp:
758         (WebCore::RenderLayer::updateTransform):
759         (WebCore::RenderLayer::perspectiveTransform):
760         (WebCore::RenderLayer::perspectiveOrigin):
761         * rendering/RenderLayer.h:
762         * rendering/RenderLayerBacking.cpp:
763         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
764         * rendering/RenderLayerCompositor.cpp:
765         (WebCore::requiresCompositingLayerForTransform):
766         (WebCore::RenderLayerCompositor::layerHas3DContent):
767         * rendering/RenderObject.cpp:
768         (WebCore::RenderObject::localToAbsolute):
769         (WebCore::RenderObject::absoluteToLocal):
770         (WebCore::RenderObject::mapLocalToAbsolutePoint):
771         (WebCore::RenderObject::mapAbsoluteToLocalPoint):
772         * rendering/RenderObject.h:
773         * rendering/RenderTableCell.cpp:
774         (WebCore::RenderTableCell::mapLocalToAbsolutePoint):
775         (WebCore::RenderTableCell::mapAbsoluteToLocalPoint):
776         * rendering/RenderTableCell.h:
777         * rendering/RenderView.cpp:
778         (WebCore::RenderView::mapLocalToAbsolutePoint):
779         (WebCore::RenderView::mapAbsoluteToLocalPoint):
780         * rendering/RenderView.h:
781         * rendering/TransformState.cpp: Added.
782         (WebCore::TransformState::move):
783         (WebCore::TransformState::applyTransform):
784         (WebCore::TransformState::flatten):
785         * rendering/TransformState.h: Added.
786         (WebCore::TransformState::):
787         (WebCore::TransformState::TransformState):
788         (WebCore::TransformState::move):
789         * rendering/style/RenderStyle.h:
790         (WebCore::InheritedFlags::hasPerspective):
791
792 2009-02-24  Sam Weinig  <sam@webkit.org>
793
794         Reviewed by David Hyatt.
795
796         Fix for https://bugs.webkit.org/show_bug.cgi?id=23990
797         Regression (r40837): JavaScript image popup doesn't work
798
799         Make the getClientRects and getBoundingClientRect methods return rects
800         relative to the viewport.
801
802         Test: fast/dom/getBoundingClientRect-getClientRects-relative-to-viewport.html
803
804         * dom/Element.cpp:
805         (WebCore::Element::getClientRects):
806         (WebCore::Element::getBoundingClientRect):
807
808 2009-02-24  Ojan Vafai  <ojan@chromium.org>
809
810         Reviewed by Eric Seidel.
811
812         SVG pages don't have a body or an html element! 
813         Don't return early if there is no body.
814
815         * editing/VisiblePosition.cpp:
816         (WebCore::VisiblePosition::canonicalPosition):
817
818 2009-02-23  David Hyatt  <hyatt@apple.com>
819
820         Reviewed by Eric Seidel
821
822         https://bugs.webkit.org/show_bug.cgi?id=23740, painting order wrong for normal flow elements with overflow: hidden
823         
824         This patch reworks the painting of overflow.  There is now the concept of a "self-painting layer."  All
825         layers are considered to be self-painting except for overflow layers that are normal flow (and that don't have
826         reflections or masks).
827         
828         If an overflow layer is not self-painting, then it ends up painted by its parent just like any other normal flow object.
829         The only difference is that the clip has to be pushed and popped when painting the object's children.
830         
831         The lightweight clipping scheme used for controls has been extended to cover overflow now in this simplified case.  With
832         the code consolidated into reusable push/pop functions, all of the renderers that use overflow have been patched to
833         use the new functions.
834         
835         Hit testing has also been patched to check the overflow clip rect first before recurring into children.
836         
837         Scrollbar paint has been moved into RenderBlock for now, since none of the table objects support scrollbars
838         yet, and scrollbar hit testing was already there anyway.  Now the two code paths are more symmetrical.
839         
840         Masks are now treated like normal flow layers (just like reflections).
841
842         A couple of test cases have been added to fast/overflow to test the stacking order. 
843
844         * rendering/InlineFlowBox.cpp:
845         (WebCore::InlineFlowBox::nodeAtPoint):
846         (WebCore::InlineFlowBox::paint):
847         * rendering/RenderBlock.cpp:
848         (WebCore::RenderBlock::repaintOverhangingFloats):
849         (WebCore::RenderBlock::paint):
850         (WebCore::RenderBlock::paintChildren):
851         (WebCore::RenderBlock::paintObject):
852         (WebCore::RenderBlock::paintFloats):
853         (WebCore::RenderBlock::insertFloatingObject):
854         (WebCore::RenderBlock::floatRect):
855         (WebCore::RenderBlock::lowestPosition):
856         (WebCore::RenderBlock::rightmostPosition):
857         (WebCore::RenderBlock::leftmostPosition):
858         (WebCore::RenderBlock::addOverhangingFloats):
859         (WebCore::RenderBlock::nodeAtPoint):
860         (WebCore::RenderBlock::hitTestContents):
861         * rendering/RenderBox.cpp:
862         (WebCore::RenderBox::nodeAtPoint):
863         (WebCore::RenderBox::pushContentsClip):
864         (WebCore::RenderBox::popContentsClip):
865         * rendering/RenderBox.h:
866         (WebCore::RenderBox::paintObject):
867         * rendering/RenderBoxModelObject.cpp:
868         (WebCore::RenderBoxModelObject::hasSelfPaintingLayer):
869         * rendering/RenderBoxModelObject.h:
870         * rendering/RenderLayer.cpp:
871         (WebCore::RenderLayer::paintLayer):
872         (WebCore::RenderLayer::hitTestLayer):
873         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
874         (WebCore::RenderLayer::isSelfPaintingLayer):
875         * rendering/RenderLayer.h:
876         * rendering/RenderTable.cpp:
877         (WebCore::RenderTable::paint):
878         (WebCore::RenderTable::paintObject):
879         (WebCore::RenderTable::nodeAtPoint):
880         * rendering/RenderTable.h:
881         * rendering/RenderTableCell.cpp:
882         (WebCore::RenderTableCell::paint):
883         * rendering/RenderTableRow.cpp:
884         (WebCore::RenderTableRow::nodeAtPoint):
885         (WebCore::RenderTableRow::paint):
886         * rendering/RenderTableRow.h:
887         * rendering/RenderTableSection.cpp:
888         (WebCore::RenderTableSection::paint):
889         (WebCore::RenderTableSection::paintObject):
890         (WebCore::RenderTableSection::nodeAtPoint):
891         * rendering/RenderTableSection.h:
892         * rendering/RenderTreeAsText.cpp:
893         (WebCore::write):
894         (WebCore::writeLayers):
895
896 2009-02-24  David Levin  <levin@chromium.org>
897
898         Reviewed by NOBODY (build fix).
899
900         Attempted build fix for wx-mac.
901
902         * WebCoreSources.bkl:
903
904 2009-02-24  David Levin  <levin@chromium.org>
905
906         Reviewed by NOBODY (build fix).
907
908         Attempted build fixes for qt-linux and wx-mac.
909
910         * WebCore.pro:
911         * webcore-base.bkl:
912
913 2009-02-24  Ojan Vafai  <ojan@dhcp-172-31-134-214.sfo.corp.google.com>
914
915         Reviewed by Sam Weinig.
916
917         Fix null pointer error. If the node is the Document, then ownerDocument() 
918         returns null, document() does not.
919
920         * editing/VisiblePosition.cpp:
921         (WebCore::VisiblePosition::canonicalPosition):
922
923 2009-02-24  Jian Li  <jianli@chromium.org>
924
925         Reviewed by NOBODY (attempted build fixes).
926
927         Fix build break for Windows and Linux.
928
929         * GNUmakefile.am:
930         * WebCore.vcproj/WebCore.vcproj:
931
932 2009-02-24  Dimitri Glazkov  <dglazkov@chromium.org>
933
934         Reviewed by Eric Seidel.
935
936         https://bugs.webkit.org/show_bug.cgi?id=24131
937         Fix-up COM/RefCounted dichotomy in Chromium port.
938
939         * page/chromium/AccessibilityObjectWrapper.h:
940         (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper): Added
941         explicit setting of recount.
942
943 2009-02-24  Dimitri Glazkov  <dglazkov@chromium.org>
944
945         Reviewed by Eric Seidel.
946
947         https://bugs.webkit.org/show_bug.cgi?id=24141
948         Add clarity to V8 interceptor helper function.
949
950         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
951         (WebCore::NAMED_PROPERTY_GETTER): Renamed to notHandledByInterceptor.
952         (WebCore::NAMED_PROPERTY_SETTER): Ditto.
953         (WebCore::INDEXED_PROPERTY_GETTER): Ditto.
954         (WebCore::INDEXED_PROPERTY_SETTER): Ditto.
955
956 2009-02-24  Simon Fraser  <simon.fraser@apple.com>
957
958         Reviewed by Eric Seidel
959
960         Minor numeric cleanup: convert float literals to doubles.
961         
962         * platform/graphics/transforms/RotateTransformOperation.cpp:
963         (WebCore::RotateTransformOperation::blend):
964
965 2009-02-24  Mark Mentovai  <mark@chromium.org>
966
967         Reviewed by Eric Seidel.
968
969         https://bugs.webkit.org/show_bug.cgi?id=24139
970         Add missing include.
971
972         * bindings/v8/ScriptInstance.h:
973
974 2009-02-24  Jian Li  <jianli@chromium.org>
975
976         Reviewed by Alexey Proskuryakov.
977
978         Move worker related files from dom directory to worker directory under WebCore.
979         https://bugs.webkit.org/show_bug.cgi?id=24123
980
981         * DerivedSources.make:
982         * GNUmakefile.am:
983         * WebCore.pro:
984         * WebCore.scons:
985         * WebCore.vcproj/MigrateIDLAndScripts:
986         * WebCore.vcproj/WebCore.vcproj:
987         * WebCore.xcodeproj/project.pbxproj:
988         * platform/CrossThreadCopier.cpp: Renamed from WebCore/dom/CrossThreadCopier.cpp.
989         * platform/CrossThreadCopier.h: Renamed from WebCore/dom/CrossThreadCopier.h.
990         * workers/GenericWorkerTask.h: Renamed from WebCore/dom/GenericWorkerTask.h.
991         * workers/Worker.cpp: Renamed from WebCore/dom/Worker.cpp.
992         * workers/Worker.h: Renamed from WebCore/dom/Worker.h.
993         * workers/Worker.idl: Renamed from WebCore/dom/Worker.idl.
994         * workers/WorkerContext.cpp: Renamed from WebCore/dom/WorkerContext.cpp.
995         * workers/WorkerContext.h: Renamed from WebCore/dom/WorkerContext.h.
996         * workers/WorkerContext.idl: Renamed from WebCore/dom/WorkerContext.idl.
997         * workers/WorkerContextProxy.h: Renamed from WebCore/dom/WorkerContextProxy.h.
998         * workers/WorkerLocation.cpp: Renamed from WebCore/dom/WorkerLocation.cpp.
999         * workers/WorkerLocation.h: Renamed from WebCore/dom/WorkerLocation.h.
1000         * workers/WorkerLocation.idl: Renamed from WebCore/dom/WorkerLocation.idl.
1001         * workers/WorkerMessagingProxy.cpp: Renamed from WebCore/dom/WorkerMessagingProxy.cpp.
1002         * workers/WorkerMessagingProxy.h: Renamed from WebCore/dom/WorkerMessagingProxy.h.
1003         * workers/WorkerObjectProxy.h: Renamed from WebCore/dom/WorkerObjectProxy.h.
1004         * workers/WorkerRunLoop.cpp: Renamed from WebCore/dom/WorkerRunLoop.cpp.
1005         * workers/WorkerRunLoop.h: Renamed from WebCore/dom/WorkerRunLoop.h.
1006         * workers/WorkerThread.cpp: Renamed from WebCore/dom/WorkerThread.cpp.
1007         * workers/WorkerThread.h: Renamed from WebCore/dom/WorkerThread.h.
1008
1009 2009-02-05  Ojan Vafai  <ojan@chromium.org> and Eric Seidel <eric@webkit.org>
1010
1011         Reviewed by Dave Hyatt.
1012
1013         Make cursor positions match IE6/IE7/FF3 when clicking in margins/padding
1014         around divs inside editable regions.
1015         https://bugs.webkit.org/show_bug.cgi?id=23605
1016
1017         Fix clicks outside editable regions from focusing the editable region.
1018         https://bugs.webkit.org/show_bug.cgi?id=23607
1019
1020         Removed editing/selection/contenteditable-click-outside.html as it's
1021         not as useful as our new tests.
1022
1023         Clean up RenderBlock::positionForCoordinates to remove dead code,
1024         duplicate code, and generally make it more readable.
1025
1026         Tests: editing/selection/click-in-margins-inside-editable-div.html
1027                editing/selection/click-in-padding-with-multiple-line-boxes.html
1028                editing/selection/click-outside-editable-div.html
1029
1030         * editing/VisiblePosition.cpp:
1031         (WebCore::VisiblePosition::canonicalPosition):
1032         * rendering/RenderBlock.cpp:
1033         (WebCore::positionForPointRespectingEditingBoundaries):
1034         (WebCore::positionForPointWithInlineChildren):
1035         (WebCore::RenderBlock::positionForCoordinates):
1036         (WebCore::RenderBlock::updateFirstLetter):
1037
1038 2009-02-24  Sam Weinig  <sam@webkit.org>
1039
1040         Reviewed by Geoffrey Garen.
1041
1042         Related to <rdar://problem/6590295>
1043         Allow disabling javascript: urls.
1044
1045         * WebCore.base.exp:
1046         * html/HTMLAnchorElement.cpp:
1047         (WebCore::HTMLAnchorElement::parseMappedAttribute):
1048         * loader/FrameLoader.cpp:
1049         (WebCore::FrameLoader::executeIfJavaScriptURL):
1050         * page/Page.cpp:
1051         (WebCore::Page::Page):
1052         (WebCore::Page::setJavaScriptURLsAreAllowed):
1053         (WebCore::Page::javaScriptURLsAreAllowed):
1054         * page/Page.h:
1055
1056 2009-02-24  Simon Fraser  <simon.fraser@apple.com>
1057
1058         Fix build when ACCELERATED_COMPOSITING is turned on
1059         (overflowList() -> normalFlowList()).
1060     
1061         * rendering/RenderLayerBacking.cpp:
1062         (WebCore::RenderLayerBacking::hasNonCompositingContent):
1063         (WebCore::RenderLayerBacking::paintIntoLayer):
1064         * rendering/RenderLayerCompositor.cpp:
1065         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
1066         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
1067         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
1068         (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
1069         (WebCore::RenderLayerCompositor::layerHas3DContent):
1070
1071 2009-02-24  Simon Fraser  <simon.fraser@apple.com>
1072
1073         Reviewed by Darin Adler
1074         
1075         https://bugs.webkit.org/show_bug.cgi?id=24135
1076         
1077         Round the FloatPoint returned by absoluteToLocal(), rather than
1078         truncating it.
1079
1080         * dom/MouseRelatedEvent.cpp:
1081         (WebCore::MouseRelatedEvent::receivedTarget):
1082
1083 2009-02-24  Beth Dakin  <bdakin@apple.com>
1084
1085         Reviewed by Sam Weinig.
1086
1087         Fix for https://bugs.webkit.org/show_bug.cgi?id=24004 REGRESSION: 
1088         Ordered list item marker misaligned when line height is not 1.2 
1089         -and corresponding <rdar://problem/6602506>
1090
1091         This is a regression from http://trac.webkit.org/changeset/40880 
1092         where createInlineBox was taken off of RenderObject and moved to 
1093         RenderBox. The problem was that the RenderBox version still needs 
1094         to be virtual because there is still an existing implementation in 
1095         RenderListMarker. 
1096
1097         * rendering/RenderBox.h:
1098         * rendering/RenderListMarker.cpp:
1099         (WebCore::RenderListMarker::createInlineBox):
1100         * rendering/RenderListMarker.h:
1101
1102 2009-02-24  Dimitri Glazkov  <dglazkov@chromium.org>
1103
1104         Reviewed by Eric Seidel.
1105
1106         https://bugs.webkit.org/show_bug.cgi?id=24128
1107         Upstream more V8 custom bindings: constructors, XSLTProcessor.
1108
1109         * bindings/v8/custom/V8DOMParserConstructor.cpp: Added.
1110         (WebCore::CALLBACK_FUNC_DECL):
1111         * bindings/v8/custom/V8MessageChannelConstructor.cpp: Added.
1112         (WebCore::CALLBACK_FUNC_DECL):
1113         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: Added.
1114         (WebCore::CALLBACK_FUNC_DECL):
1115         * bindings/v8/custom/V8XMLSerializerConstructor.cpp: Added.
1116         (WebCore::CALLBACK_FUNC_DECL):
1117         * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp: Added.
1118         (WebCore::CALLBACK_FUNC_DECL):
1119         * bindings/v8/custom/V8XSLTProcessorCustom.cpp: Added.
1120         (WebCore::CALLBACK_FUNC_DECL):
1121
1122 2009-02-24  David Levin  <levin@chromium.org>
1123
1124         Reviewed by Alexey Proskuryakov.
1125
1126         Bug 24090: WorkerThreadableLoader needs to be able to post tasks for a mode.
1127         <https://bugs.webkit.org/show_bug.cgi?id=24090>
1128
1129         No observable change in behavior, so no test.
1130
1131         * dom/WorkerMessagingProxy.cpp:
1132         (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
1133         (WebCore::WorkerMessagingProxy::postTaskToWorkerContext):
1134         Fixed the bug that m_unconfirmedMessageCount was getting incremented for non-message tasks.
1135
1136         (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerContext):
1137
1138         * dom/WorkerMessagingProxy.h:
1139         * loader/ThreadableLoader.cpp:
1140         (WebCore::ThreadableLoader::create):
1141         * loader/WorkerThreadableLoader.cpp:
1142         (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
1143         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
1144         (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
1145         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
1146         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
1147         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
1148         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
1149         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck):
1150         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
1151         Changed these methods to post task using a mode.
1152
1153         * loader/WorkerThreadableLoader.h:
1154         (WebCore::WorkerThreadableLoader::create):
1155
1156 2009-02-24  Alexey Proskuryakov  <ap@webkit.org>
1157
1158         Reviewed by Darin Adler.
1159
1160         https://bugs.webkit.org/show_bug.cgi?id=24091
1161         <rdar://problem/6468660> Start of redirect chain ends up as master entry in Application Cache
1162
1163         Test: http/tests/appcache/access-via-redirect.php
1164
1165         * loader/appcache/ApplicationCacheGroup.cpp:
1166         (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): Use the URL we ended up with,
1167         not the original one.
1168
1169 2009-02-24  Jian Li  <jianli@chromium.org>
1170
1171         Reviewed by Alexey Proskuryakov.
1172
1173         Change to include WorkerObjectProxy.h instead of WorkerMessagingProxy.h in WorkerContext.cpp and WorkerScriptController.cpp.
1174         https://bugs.webkit.org/show_bug.cgi?id=24112
1175
1176         * bindings/js/WorkerScriptController.cpp:
1177         * dom/WorkerContext.cpp:
1178
1179 2009-02-23  Antti Koivisto  <antti@apple.com>
1180
1181         Reviewed by Oliver Hunt.
1182
1183         <rdar://problem/6613796> Extended text codecs registered on webview creation
1184
1185         Comparing a text encoding with string "GBK" ended up constructing
1186         TextEncoding("GBK") which in turn initialized all extended
1187         text codecs.
1188
1189         * platform/text/TextCodecICU.cpp:
1190         (WebCore::TextCodecICU::decode):
1191
1192 2009-02-23  Sam Weinig  <sam@webkit.org>
1193
1194         Fix Qt build.
1195
1196         * bridge/qt/qt_runtime.cpp:
1197         (JSC::Bindings::valueRealType):
1198
1199 2009-02-23  Julien Chaffraix  <jchaffraix@webkit.org>
1200
1201         Reviewed by Darin Adler.
1202
1203         Bug 23956: Safari crashes when cloneNode fails (cloning a XML element with an invalid nodeName)
1204
1205         The crash occurred because Document::cloneNode would call Document::createElementNS. Unfortunately
1206         element created with createElement could have a wrong nodeName (createElement sets the string as the
1207         localName without checking for a prefix).
1208
1209         The fix is to call Document::createElement(const QualifiedName&, bool) that will not do any checks on the QualifiedName
1210         and will always succeed.
1211         Also rolled-out the HTMLElement specialisation of clonedNode as it was equivalent to what is done now (added an ASSERT
1212         to ensure that).
1213
1214         Test: fast/dom/cloneNode.html
1215
1216         * dom/Element.cpp:
1217         (WebCore::Element::cloneNode): Call createElement(const QualifiedName&, bool) instead of createElementNS as it will
1218         always return an element.
1219
1220         * html/HTMLElement.cpp:
1221         * html/HTMLElement.h: Removed HTMLElement::clonedNode as it is equivalent to what is now done.
1222
1223 2009-02-23  Dimitri Glazkov  <dglazkov@chromium.org>
1224
1225         Reviewed by Eric Seidel.
1226
1227         https://bugs.webkit.org/show_bug.cgi?id=24109
1228         Upstream V8 Script abstractions, all except ScriptController.
1229
1230         * bindings/v8/ScriptCachedFrameData.h: Added.
1231         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
1232         (WebCore::ScriptCachedFrameData::~ScriptCachedFrameData):
1233         (WebCore::ScriptCachedFrameData::restore):
1234         (WebCore::ScriptCachedFrameData::clear):
1235         (WebCore::ScriptCachedFrameData::domWindow):
1236         * bindings/v8/ScriptCallFrame.cpp: Added.
1237         (WebCore::ScriptCallFrame::ScriptCallFrame):
1238         (WebCore::ScriptCallFrame::~ScriptCallFrame):
1239         (WebCore::ScriptCallFrame::argumentAt):
1240         * bindings/v8/ScriptCallFrame.h: Added.
1241         (WebCore::ScriptCallFrame::functionName):
1242         (WebCore::ScriptCallFrame::sourceURL):
1243         (WebCore::ScriptCallFrame::lineNumber):
1244         (WebCore::ScriptCallFrame::argumentCount):
1245         * bindings/v8/ScriptCallStack.cpp: Added.
1246         (WebCore::ScriptCallStack::ScriptCallStack):
1247         (WebCore::ScriptCallStack::~ScriptCallStack):
1248         (WebCore::ScriptCallStack::at):
1249         * bindings/v8/ScriptCallStack.h: Added.
1250         (WebCore::ScriptCallStack::size):
1251         * bindings/v8/ScriptInstance.cpp: Added.
1252         (WebCore::V8ScriptInstance::V8ScriptInstance):
1253         (WebCore::V8ScriptInstance::~V8ScriptInstance):
1254         (WebCore::V8ScriptInstance::instance):
1255         (WebCore::V8ScriptInstance::clear):
1256         (WebCore::V8ScriptInstance::set):
1257         * bindings/v8/ScriptInstance.h: Added.
1258         (WebCore::V8ScriptInstance::create):
1259         * bindings/v8/ScriptSourceCode.h: Added.
1260         (WebCore::ScriptSourceCode::ScriptSourceCode):
1261         (WebCore::ScriptSourceCode::isEmpty):
1262         (WebCore::ScriptSourceCode::source):
1263         (WebCore::ScriptSourceCode::url):
1264         (WebCore::ScriptSourceCode::startLine):
1265         * bindings/v8/ScriptState.h: Added.
1266         (WebCore::ScriptState::hadException):
1267         (WebCore::ScriptState::setException):
1268         (WebCore::ScriptState::exception):
1269         * bindings/v8/ScriptString.h: Added.
1270         (WebCore::ScriptString::ScriptString):
1271         (WebCore::ScriptString::operator String):
1272         (WebCore::ScriptString::isNull):
1273         (WebCore::ScriptString::size):
1274         (WebCore::ScriptString::operator=):
1275         (WebCore::ScriptString::operator+=):
1276         * bindings/v8/ScriptValue.cpp: Added.
1277         (WebCore::ScriptValue::getString):
1278         * bindings/v8/ScriptValue.h: Added.
1279         (WebCore::ScriptValue::ScriptValue):
1280         (WebCore::ScriptValue::operator=):
1281         (WebCore::ScriptValue::operator==):
1282         (WebCore::ScriptValue::operator!=):
1283         (WebCore::ScriptValue::isNull):
1284         (WebCore::ScriptValue::isUndefined):
1285         (WebCore::ScriptValue::clear):
1286         (WebCore::ScriptValue::~ScriptValue):
1287         (WebCore::ScriptValue::v8Value):
1288
1289 2009-02-23  Adam Treat  <adam.treat@torchmobile.com>
1290
1291         Reviewed by Timothy Hatcher.
1292
1293         https://bugs.webkit.org/show_bug.cgi?id=24106
1294         The Qt port is crashing on exit because the tear down procedure involves
1295         the WebCore::InspectorController trying to access the JS execution context
1296         for a page that is being deleted.  This patch amends the inspector so
1297         that it does not try and access the execution context of the WebCore::Page
1298         in the midst of deletion.
1299
1300         * inspector/InspectorController.cpp:
1301         (WebCore::InspectorController::inspectedPageDestroyed):
1302         (WebCore::InspectorController::stopUserInitiatedProfiling):
1303
1304 2009-02-23  David Levin  <levin@chromium.org>
1305
1306         Reviewed by Alexey Proskuryakov.
1307
1308         Bug 24088: ThreadableLoaderClient::didFailWillSendRequestCheck isn't wired up completely for workers and could use a better name.
1309         <https://bugs.webkit.org/show_bug.cgi?id=24088>
1310
1311         No observable change in behavior, so no test.
1312
1313         * loader/DocumentThreadableLoader.cpp:
1314         (WebCore::DocumentThreadableLoader::create):
1315         * loader/ThreadableLoaderClient.h:
1316         (WebCore::ThreadableLoaderClient::didFailRedirectCheck):
1317         * loader/ThreadableLoaderClientWrapper.h:
1318         (WebCore::ThreadableLoaderClientWrapper::didFailRedirectCheck):
1319         * loader/WorkerThreadableLoader.cpp:
1320         (WebCore::workerContextDidFailRedirectCheck):
1321         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck):
1322         * loader/WorkerThreadableLoader.h:
1323         * xml/XMLHttpRequest.cpp:
1324         (WebCore::XMLHttpRequest::didFinishLoading):
1325         * xml/XMLHttpRequest.h:
1326
1327 2009-02-23  David Levin  <levin@chromium.org>
1328
1329         Reviewed by Alexey Proskuryakov.
1330
1331         Bug 24047: Need to simplify nested if's in WorkerRunLoop::runInMode
1332         <https://bugs.webkit.org/show_bug.cgi?id=24047>
1333
1334         Made a nested if inside of WorkerRunLoop::runInMode a lot simpler by
1335         using only MessageQueue::waitForMessageFilteredWithTimeout instead
1336         of three different MessageQueue methods.
1337
1338         No observable change in behavior, so no test.
1339
1340         * dom/WorkerRunLoop.cpp:
1341         (WebCore::ModePredicate::operator()):
1342         Minor clean-up to able to pass a const ref point for ModePredicate into runInMode.
1343         (WebCore::WorkerRunLoop::runInMode):
1344         * dom/WorkerRunLoop.h:
1345
1346 2009-02-23  David Hyatt  <hyatt@apple.com>
1347
1348         In preparation for making layers for multicol objects (so that they can properly split child layers
1349         into multiple columns), rename all of the "overflowOnly" and "overflowList" members and functions
1350         of RenderLayer to use the term "normal flow" instead.
1351
1352         Reviewed by Cameron Zwarich
1353
1354         * rendering/RenderLayer.cpp:
1355         (WebCore::RenderLayer::RenderLayer):
1356         (WebCore::RenderLayer::~RenderLayer):
1357         (WebCore::RenderLayer::setHasVisibleContent):
1358         (WebCore::RenderLayer::enclosingCompositingLayer):
1359         (WebCore::RenderLayer::addChild):
1360         (WebCore::RenderLayer::removeChild):
1361         (WebCore::RenderLayer::paintLayer):
1362         (WebCore::RenderLayer::hitTestLayer):
1363         (WebCore::RenderLayer::dirtyNormalFlowList):
1364         (WebCore::RenderLayer::updateNormalFlowList):
1365         (WebCore::RenderLayer::collectLayers):
1366         (WebCore::RenderLayer::updateLayerListsIfNeeded):
1367         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
1368         (WebCore::RenderLayer::styleChanged):
1369         * rendering/RenderLayer.h:
1370         (WebCore::RenderLayer::isNormalFlowOnly):
1371         (WebCore::RenderLayer::normalFlowList):
1372         * rendering/RenderTreeAsText.cpp:
1373         (WebCore::writeLayers):
1374
1375 2009-02-23  David Hyatt  <hyatt@apple.com>
1376
1377         Fix the stacking order for column rules in multi-column layout.  Column rules should paint as part of the background of an element, just
1378         after all other components of the background have been painted.  This allows negative z-index children to still paint on top of the
1379         column rules (rather than ending up above the background of the box but behind the column rules).
1380
1381         Reviewed by Eric Seidel
1382
1383         Added fast/multicol/column-rules-stacking.html
1384
1385         * rendering/RenderBlock.cpp:
1386         (WebCore::RenderBlock::paintColumnRules):
1387         (WebCore::RenderBlock::paintColumnContents):
1388         (WebCore::RenderBlock::paintObject):
1389         * rendering/RenderBlock.h:
1390
1391 2009-02-23  Adam Treat  <adam.treat@torchmobile.com>
1392
1393         Reviewed by David Hyatt.
1394
1395         No testcases have been added or modified since this patch should not result in
1396         a behavior change for ports that have layout tests enabled.
1397
1398         Currently, the implementation of GraphicsContext::drawLineForText amongst
1399         the various ports differ in that some of them are honoring the context's
1400         strokeStyle when drawing a text-decoration and some of them are not.
1401         For instance, Apple's Mac port *does not* honor the context's strokeStyle(),
1402         but the Cairo implementation does and has an explicit workaround that
1403         sets the strokeStyle() temporarily.
1404
1405         This patch fixes so that all ports are consistent by explicitly making sure
1406         to set the GraphicsContext strokeStyle to SolidStroke whenever
1407         painting the text-decoration of an InlineFlowBox or InlineTextBox as these
1408         should always use a solid stroke.
1409
1410         This patch addresses these bugs:
1411         https://bugs.webkit.org/show_bug.cgi?id=19364
1412         https://bugs.webkit.org/show_bug.cgi?id=15659
1413
1414         * rendering/InlineFlowBox.cpp:
1415         (WebCore::InlineFlowBox::paintTextDecorations):
1416         * rendering/InlineTextBox.cpp:
1417         (WebCore::InlineTextBox::paintDecoration):
1418
1419 2009-02-23  Scott Violet  <sky@google.com>
1420
1421         Reviewed by Eric Seidel.
1422
1423         https://bugs.webkit.org/show_bug.cgi?id=24098
1424         Bugs in ClipboardChromium
1425
1426         Fixes the following bugs in ClipboardChromium:
1427         * It's possible for the extension to be empty, resulting in a bad file
1428           name, for example, 'foo.' or just '.'.
1429         * We weren't restricting the size of the file to MAX_PATH.
1430         * We weren't removing characters that are invalid for file system names.
1431
1432         * platform/chromium/ClipboardChromium.cpp:
1433         (WebCore::writeImageToDataObject):
1434         * platform/chromium/ClipboardChromium.h:
1435         * platform/chromium/ClipboardChromiumLinux.cpp: Added.
1436         (WebCore::ClipboardChromium::validateFileName):
1437         * platform/chromium/ClipboardChromiumMac.cpp: Added.
1438         (WebCore::ClipboardChromium::validateFileName):
1439         * platform/chromium/ClipboardChromiumWin.cpp: Added.
1440         (WebCore::isInvalidFileCharacter):
1441         (WebCore::ClipboardChromium::validateFileName):
1442
1443 2009-02-23  Thiago Macieira  <thiago.macieira@nokia.com>
1444
1445         Reviewed by Simon Hausmann.
1446
1447         Fix the Copyright notices in a few files
1448
1449         * platform/qt/RenderThemeQt.h:
1450
1451 2009-02-23  Xan Lopez  <xan@gnome.org>
1452
1453         Reviewed by Alexey Proskuryakov.
1454
1455         https://bugs.webkit.org/show_bug.cgi?id=22624
1456         [SOUP][GTK] Need API to get SoupSession from WebKit.
1457
1458         Allow to retrieve the Soup session and modify the code to take
1459         into account users changing features on it.
1460
1461         * platform/network/ResourceHandle.h:
1462         * platform/network/soup/CookieJarSoup.cpp:
1463         (WebCore::defaultCookieJar):
1464         (WebCore::setDefaultCookieJar):
1465         * platform/network/soup/CookieJarSoup.h:
1466         * platform/network/soup/ResourceHandleSoup.cpp:
1467         (WebCore::createSoupSession):
1468         (WebCore::ensureSessionIsInitialized):
1469         (WebCore::ResourceHandle::startHttp):
1470         (WebCore::ResourceHandle::cancel):
1471         (WebCore::ResourceHandle::defaultSession):
1472
1473 2009-02-23  Xan Lopez  <xan@gnome.org>
1474
1475         Reviewed by Alexey Proskuryakov.
1476
1477         https://bugs.webkit.org/show_bug.cgi?id=22624
1478         [SOUP][GTK] Need API to get SoupSession from WebKit.
1479
1480         Remove CURL support.
1481
1482         * GNUmakefile.am:
1483
1484 2009-02-23  Alexey Proskuryakov  <ap@webkit.org>
1485
1486         Reviewed by Mark Rowe.
1487
1488         Test: fast/dom/empty-hash-and-search.html
1489
1490         https://bugs.webkit.org/show_bug.cgi?id=21147
1491         hash property returns incorrect value for links w/o hash
1492
1493         Make hash() and search() behavior for empty and missing parts match IE and Firefox.
1494
1495         * platform/KURL.cpp:
1496         (WebCore::KURL::query): Changed to return query without '?', as it is already done for ref().
1497         (WebCore::KURL::prettyURL): Append the query with the question mark.
1498
1499         * page/Location.cpp:
1500         (WebCore::Location::search): Return an empty string if query is empty or missing.
1501         (WebCore::Location::hash): Return an empty string for empty hashes, not only missing ones.
1502
1503         * dom/WorkerLocation.cpp:
1504         (WebCore::WorkerLocation::search):
1505         (WebCore::WorkerLocation::hash):
1506         Match document.location fixes above.
1507
1508         * html/HTMLAnchorElement.cpp:
1509         (WebCore::HTMLAnchorElement::hash):
1510         (WebCore::HTMLAnchorElement::search):
1511         Return an empty string for empty and missing parts.
1512
1513 2009-02-23  Alexey Proskuryakov  <ap@webkit.org>
1514
1515         Reviewed by Darin Adler.
1516
1517         https://bugs.webkit.org/show_bug.cgi?id=20184
1518         SELECT with no name generates invalid query string
1519
1520         Test: fast/forms/select-no-name.html
1521
1522         * html/HTMLSelectElement.cpp:
1523         (WebCore::HTMLSelectElement::appendFormData): Added a check for empty name.
1524
1525 2009-02-23  Alexey Proskuryakov  <ap@webkit.org>
1526
1527         Apply review comments for the previous check-in (forgot to save the file, oops).
1528
1529         * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChildren):
1530
1531 2009-02-23  Alexey Proskuryakov  <ap@webkit.org>
1532
1533         Reviewed by Darin Adler.
1534
1535         https://bugs.webkit.org/show_bug.cgi?id=15707
1536         Crash when manipulating document from within an iframe onload function
1537
1538         Test: fast/dom/onload-open.html
1539
1540         * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChildren): Protect the container and
1541         the current node, because anything can happen when dispatching events.
1542
1543 2009-02-23  Alexey Proskuryakov  <ap@webkit.org>
1544
1545         Reviewed by Darin Adler.
1546
1547         https://bugs.webkit.org/show_bug.cgi?id=18970
1548         Numerically named input fields cause document.forms loop problems
1549
1550         Test: fast/forms/numeric-input-name.html
1551
1552         * bindings/scripts/CodeGeneratorJS.pm: Try index getter before name getter, even if the
1553         latter overrides properties.
1554
1555 2009-02-23  Alexey Proskuryakov  <ap@webkit.org>
1556
1557         Reviewed by Sam Weinig.
1558
1559         https://bugs.webkit.org/show_bug.cgi?id=24059
1560         Tokenizer::write() return value is never used
1561
1562         * dom/Tokenizer.h:
1563         * dom/XMLTokenizer.cpp:
1564         (WebCore::XMLTokenizer::write):
1565         * dom/XMLTokenizer.h:
1566         * html/HTMLTokenizer.cpp:
1567         (WebCore::HTMLTokenizer::write):
1568         * html/HTMLTokenizer.h:
1569         * loader/FTPDirectoryDocument.cpp:
1570         (WebCore::FTPDirectoryTokenizer::write):
1571         * loader/ImageDocument.cpp:
1572         (WebCore::ImageTokenizer::write):
1573         * loader/MediaDocument.cpp:
1574         (WebCore::MediaTokenizer::write):
1575         * loader/PluginDocument.cpp:
1576         (WebCore::PluginTokenizer::write):
1577         * loader/TextDocument.cpp:
1578         (WebCore::TextTokenizer::write):
1579         Made write() return void, not bool.
1580
1581 2009-02-20  Geoffrey Garen  <ggaren@apple.com>
1582
1583         Reviewed by Sam Weinig.
1584
1585         Updated for JavaScriptCore changes to timeout checking.
1586
1587         * bindings/js/JSCustomPositionCallback.cpp:
1588         (WebCore::JSCustomPositionCallback::handleEvent):
1589         * bindings/js/JSCustomPositionErrorCallback.cpp:
1590         (WebCore::JSCustomPositionErrorCallback::handleEvent):
1591         * bindings/js/JSCustomSQLStatementCallback.cpp:
1592         (WebCore::JSCustomSQLStatementCallback::handleEvent):
1593         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1594         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
1595         * bindings/js/JSCustomSQLTransactionCallback.cpp:
1596         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
1597         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
1598         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
1599         * bindings/js/JSCustomVoidCallback.cpp:
1600         (WebCore::JSCustomVoidCallback::handleEvent):
1601         * bindings/js/JSCustomXPathNSResolver.cpp:
1602         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1603         * bindings/js/JSDOMWindowBase.cpp:
1604         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
1605         (WebCore::JSDOMWindowBase::commonJSGlobalData):
1606         * bindings/js/JSEventListener.cpp:
1607         (WebCore::JSAbstractEventListener::handleEvent):
1608         * bindings/js/ScheduledAction.cpp:
1609         (WebCore::ScheduledAction::executeFunctionInContext):
1610         * bindings/js/ScriptController.cpp:
1611         (WebCore::ScriptController::evaluate):
1612         * bindings/js/WorkerScriptController.cpp:
1613         (WebCore::WorkerScriptController::evaluate):
1614         (WebCore::WorkerScriptController::forbidExecution):
1615         * bindings/objc/WebScriptObject.mm:
1616         (-[WebScriptObject callWebScriptMethod:withArguments:]):
1617         (-[WebScriptObject evaluateWebScript:]):
1618         * bridge/NP_jsobject.cpp:
1619         (_NPN_InvokeDefault):
1620         (_NPN_Invoke):
1621         (_NPN_Evaluate):
1622         (_NPN_Construct):
1623         * bridge/jni/jni_jsobject.mm:
1624         (JavaJSObject::call):
1625         (JavaJSObject::eval):
1626
1627 2009-02-21  Hironori Bono  <hbono@chromium.org>
1628
1629         Reviewed by Alexey Proskuryakov.
1630
1631         https://bugs.webkit.org/show_bug.cgi?id=23786
1632         [Chromium] line-break characters in a complex text are treated as zero-width spaces
1633
1634         This change prevents the UniscribeHelper class from treating the line-break characters
1635         as whitespaces.
1636
1637         Tests: fast/text/international/bidi-linebreak-001.html
1638                fast/text/international/bidi-linebreak-002.html
1639                fast/text/international/bidi-linebreak-003.html
1640
1641         * platform/graphics/chromium/UniscribeHelper.cpp:
1642         (WebCore::UniscribeHelper::adjustSpaceAdvances):
1643         Make the UniscribeHelper::adjustSpaceAdvances() function treat all characters in
1644         the treatAsSpace() function (e.g. U+0020, U+000A, U+000D, U+00A0) as whitespaces,
1645         so does when Chromium renders a simple text.
1646
1647 2009-02-20  Julien Chaffraix  <jchaffraix@webkit.org>
1648
1649         Reviewed by Alexey Proskuryakov.
1650
1651         Bug 23940: Use Document::createElement(const QualifiedName&, bool) when creating a known element inside WebCore
1652
1653         Document::createElement(const QualifiedName&, bool) does not check for the prefix as opposed the the one taking an AtomicString
1654         or Document::createElementNS. This is perfectly fine internally because we know the type of element created and the check is
1655         unneeded.
1656
1657         It also removes the use of an ExceptionCode argument which was here only to check that the prefix check was fine. Finally it
1658         enables us to use some generated QualifiedName.
1659
1660         * bindings/js/JSOptionConstructor.cpp:
1661         (WebCore::constructHTMLOptionElement):
1662         * dom/Document.cpp:
1663         (WebCore::Document::setTitle):
1664         * dom/XMLTokenizer.cpp:
1665         (WebCore::createXHTMLParserErrorHeader):
1666         (WebCore::XMLTokenizer::insertErrorMessageBlock):
1667         * editing/CompositeEditCommand.cpp:
1668         (WebCore::createBlockPlaceholderElement):
1669         * editing/htmlediting.cpp:
1670         (WebCore::createTabSpanElement):
1671         * html/HTMLSelectElement.cpp:
1672         (WebCore::HTMLSelectElement::setLength):
1673         * loader/FTPDirectoryDocument.cpp:
1674         (WebCore::FTPDirectoryTokenizer::appendEntry):
1675         (WebCore::FTPDirectoryTokenizer::createTDForFilename):
1676         (WebCore::FTPDirectoryTokenizer::loadDocumentTemplate):
1677         (WebCore::FTPDirectoryTokenizer::createBasicDocument):
1678         * loader/ImageDocument.cpp:
1679         (WebCore::ImageDocument::createDocumentStructure):
1680         * loader/MediaDocument.cpp:
1681         (WebCore::MediaTokenizer::createDocumentStructure):
1682         * loader/PluginDocument.cpp:
1683         (WebCore::PluginTokenizer::createDocumentStructure):
1684         * loader/TextDocument.cpp:
1685         (WebCore::TextTokenizer::write):
1686         * page/Frame.cpp:
1687         (WebCore::Frame::selectionComputedStyle):
1688         (WebCore::Frame::styleForSelectionStart):
1689         Document::createElement(const AtomicString&, ...) to Document::createElement(const QualifiedName&, ...) switch.
1690
1691         * xml/XPathFunctions.cpp:
1692         (WebCore::XPath::FunLang::evaluate): Re-use langAttr instead of creating a new attribute.
1693         * page/DragController.cpp:
1694         (WebCore::documentFragmentFromDragData): Use the HTMLAnchorElement directly to get rid of the static cast.
1695
1696 2009-02-19  Dimitri Glazkov  <dglazkov@chromium.org>
1697
1698         Reviewed by Eric Seidel.
1699
1700         https://bugs.webkit.org/show_bug.cgi?id=24060
1701         Fix up to accommodate for CanvasPixelArray return.
1702
1703         * platform/graphics/skia/ImageBufferSkia.cpp:
1704         (WebCore::ImageBuffer::getImageData): Added an extra data() to call.
1705         (WebCore::ImageBuffer::putImageData): Ditto.
1706
1707 2009-02-20  Eric Carlson  <eric.carlson@apple.com>
1708
1709         Simon Fraser
1710
1711         https://bugs.webkit.org/show_bug.cgi?id=24042
1712         Bug 24042: MediaPlayer should cache plug-in proxy
1713
1714         The changes in https://bugs.webkit.org/show_bug.cgi?id=23917 assume that
1715         MediaPlayer will always have created the private media player object before
1716         the plug-in is instantiated and calls back with the proxy object. This is not
1717         true on all platforms because of threading latency, so MediaPlayer should
1718         cache the plug-in proxy so it can pass it to the media engine at a later time.
1719
1720         * platform/graphics/MediaPlayer.cpp:
1721         (WebCore::NullMediaPlayerPrivate::setPoster): Null media engine implementation of proxy methods.
1722         (WebCore::NullMediaPlayerPrivate::deliverNotification): Ditto.
1723         (WebCore::NullMediaPlayerPrivate::setMediaPlayerProxy): Ditto.
1724         (WebCore::MediaPlayer::MediaPlayer): Initialize m_playerProxy.
1725         (WebCore::MediaPlayer::load): Pass m_playerProxy to newly created engine.
1726         (WebCore::MediaPlayer::setMediaPlayerProxy): Cache m_playerProxy.
1727         * platform/graphics/MediaPlayer.h: Declare m_playerProxy.
1728
1729 2009-02-20  Eric Carlson  <eric.carlson@apple.com>
1730
1731         Simon Fraser.
1732
1733         https://bugs.webkit.org/show_bug.cgi?id=24063
1734         Make it possible for a port to require a user gesture to play/pause an <audio> or <video> element
1735
1736         * html/HTMLMediaElement.cpp:
1737         (WebCore::HTMLMediaElement::HTMLMediaElement):  Rename m_loadRestrictions to m_Restrictions.
1738         Initialize m_internalCall.
1739         (WebCore::HTMLMediaElement::loadTimerFired): Increment m_internalCall around call to load().
1740         (WebCore::HTMLMediaElement::load): Call loadInternal if restrictions check out.
1741         (WebCore::HTMLMediaElement::loadInternal): New, guts of old load()
1742         (WebCore::HTMLMediaElement::setNetworkState): Fix bug introduced in r40943
1743         (WebCore::HTMLMediaElement::play): Call playInternal if restrictions check out.
1744         (WebCore::HTMLMediaElement::playInternal): New, guts of old play()
1745         (WebCore::HTMLMediaElement::pause): Call pauseInternal if restrictions check out.
1746         (WebCore::HTMLMediaElement::pauseInternal): New, guts of old pause()
1747         (WebCore::HTMLMediaElement::togglePlayState): Call playInternal/pauseInternal
1748         (WebCore::HTMLMediaElement::deliverNotification): Remove unnecessary white space.
1749         * html/HTMLMediaElement.h: Rename m_loadRestrictions to m_Restrictions, add m_internalCall,
1750         add RequireUserGestureRateChangeRestriction.
1751
1752 2009-02-20  Darin Fisher  <darin@chromium.org>
1753
1754         Fix build bustage in FileSystemWin.cpp.
1755
1756         Need to return CString() instead of 0 since there are now two CString
1757         constructors that take a pointer type.
1758
1759         * platform/win/FileSystemWin.cpp:
1760         (WebCore::openTemporaryFile):
1761
1762 2009-02-20  Dimitri Glazkov  <dglazkov@chromium.org>
1763
1764         Reviewed by Sam Weinig.
1765
1766         https://bugs.webkit.org/show_bug.cgi?id=23999
1767         Change license headers to accurately reflect code history.
1768
1769         * platform/ContentType.cpp:
1770         * platform/ContentType.h:
1771
1772 2009-02-18  Dimitri Glazkov  <dglazkov@chromium.org>
1773
1774         Reviewed by Antti Koivisto.
1775
1776         https://bugs.webkit.org/show_bug.cgi?id=23999
1777         Split off MIME type parsing into its own class.
1778
1779         * GNUmakefile.am: Added ContentType sources.
1780         * WebCore.pro: Ditto.
1781         * WebCore.scons: Ditto.
1782         * WebCore.vcproj/WebCore.vcproj: Ditto.
1783         * WebCore.xcodeproj/project.pbxproj: Ditto.
1784         * WebCoreSources.bkl: Ditto.
1785         * html/HTMLMediaElement.cpp: Changed to use ContentType.
1786         (WebCore::HTMLMediaElement::selectMediaURL):
1787         * platform/ContentType.cpp: Added.
1788         (WebCore::ContentType::ContentType):
1789         (WebCore::ContentType::parameter):
1790         (WebCore::ContentType::type):
1791         * platform/ContentType.h: Added.
1792         (WebCore::ContentType::raw):
1793         * platform/MIMETypeRegistry.cpp:
1794         * platform/MIMETypeRegistry.h:
1795         * platform/graphics/MediaPlayer.cpp:
1796         (WebCore::MediaPlayer::load):
1797         * rendering/style/ContentData.h: Renamed ContentType to StyleContentType.
1798         * rendering/style/RenderStyleConstants.h: Ditto.
1799         (WebCore::):
1800
1801 2009-02-20  Holger Hans Peter Freyther  <zecke@selfish.org>
1802
1803         Unreviewed build fix.
1804
1805         Use CString() instead of 0.
1806
1807         * platform/gtk/FileSystemGtk.cpp:
1808         (WebCore::openTemporaryFile):
1809         * platform/qt/FileSystemQt.cpp:
1810         (WebCore::openTemporaryFile):
1811
1812 2009-02-20  Gustavo Noronha Silva  <gns@gnome.org>
1813
1814         Reviewed by Holger Freyther.
1815
1816         When dealing with local files, use a path instead of an URI. GFile
1817         has problems decoding URIs with percent signs on them.
1818
1819         * platform/network/soup/ResourceHandleSoup.cpp:
1820         (WebCore::ResourceHandle::startGio):
1821
1822 2009-02-20  Gustavo Noronha Silva  <gns@gnome.org>
1823
1824         Reviewed by Holger Freyther.
1825
1826         Protect the ResourceHandle instance from being destroyed by
1827         didReceiveData inside the GIO readCallback call, so that
1828         cancelling caused by scripts is handled correctly.
1829
1830         * platform/network/soup/ResourceHandleSoup.cpp:
1831         (WebCore::readCallback):
1832
1833 2009-02-20  David Kilzer  <ddkilzer@apple.com>
1834
1835         Make IconDatabaseNone.cpp compile with -Wunused and pass check-for-exit-time-destructors
1836
1837         Reviewed by Sam Weinig.
1838
1839         * loader/icon/IconDatabaseNone.cpp:
1840         (WebCore::IconDatabase::defaultDatabaseFilename): Use DEFINE_STATIC_LOCAL().
1841         (WebCore::IconDatabase::open): Commented out unused parameter.
1842         (WebCore::IconDatabase::setPrivateBrowsingEnabled): Ditto.
1843         (WebCore::IconDatabase::iconForPageURL): Ditto.
1844         (WebCore::IconDatabase::iconURLForPageURL): Ditto.
1845         (WebCore::IconDatabase::defaultIcon): Ditto.
1846         (WebCore::IconDatabase::retainIconForPageURL): Ditto.
1847         (WebCore::IconDatabase::releaseIconForPageURL): Ditto.
1848         (WebCore::IconDatabase::setIconDataForIconURL): Ditto.
1849         (WebCore::IconDatabase::setIconURLForPageURL): Ditto.
1850         (WebCore::IconDatabase::setEnabled): Ditto.
1851         (WebCore::IconDatabase::pageURLMappingCount): Added stub.
1852         (WebCore::IconDatabase::retainedPageURLCount): Ditto.
1853         (WebCore::IconDatabase::iconRecordCount): Ditto.
1854         (WebCore::IconDatabase::iconRecordCountWithData): Ditto.
1855
1856 2009-02-20  David Kilzer  <ddkilzer@apple.com>
1857
1858         Add comment to generated code when shadowing a built-in object
1859
1860         Reviewed by Sam Weinig.
1861
1862         * bindings/scripts/CodeGeneratorJS.pm: Added comment to
1863         generated code output.
1864
1865 2009-02-20  Avi Drissman  <avi@chromium.org>
1866
1867         Reviewed by Eric Seidel.
1868
1869         https://bugs.webkit.org/show_bug.cgi?id=24036
1870         Keyboard events need disambiguation on the Linux platform too.
1871
1872         * platform/chromium/PlatformKeyboardEventChromium.cpp:
1873         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
1874
1875 2009-02-19  Darin Fisher  <darin@chromium.org>
1876
1877         Reviewed by Eric Seidel.
1878
1879         https://bugs.webkit.org/show_bug.cgi?id=24046
1880
1881         Several improvements to CString:
1882         1- Make it possible to initialize a CString from a CStringBuffer
1883         2- Make it possible to get a CStringBuffer from a CString
1884         3- Change CStringBuffer::data() to return a const pointer to ward off mutation
1885         4- Remove unused releaseBuffer() methods.
1886         5- Make CStringBuffer::create() private to force consumers to get a CStringBuffer from a CString.
1887
1888         * platform/text/CString.cpp:
1889         (WebCore::CString::init):
1890         (WebCore::CString::mutableData):
1891         (WebCore::CString::newUninitialized):
1892         (WebCore::CString::copyBufferIfNeeded):
1893         * platform/text/CString.h:
1894         (WebCore::CStringBuffer::data):
1895         (WebCore::CStringBuffer::length):
1896         (WebCore::CStringBuffer::create):
1897         (WebCore::CStringBuffer::mutableData):
1898         (WebCore::CString::CString):
1899         (WebCore::CString::buffer):
1900
1901 2009-02-19  Dmitry Titov  <dimich@chromium.org>
1902
1903         Reviewed by Alexey Proskuryakov.
1904
1905         https://bugs.webkit.org/show_bug.cgi?id=24017
1906         Remove some usage of Document in Worker.
1907
1908         * dom/WorkerContext.h:
1909         (WebCore::WorkerContext::userAgent):
1910         * dom/Document.cpp:
1911         (WebCore::Document::userAgent):
1912         * dom/Document.h:
1913         * dom/ScriptExecutionContext.h:
1914         Added virtual ScriptExecutionContext::userAgent(const KURL&).
1915         Document implementation uses FrameLoader::userAgent and
1916         WorkerContext receives the string on creation and stores it in a member.
1917
1918         * dom/Worker.cpp:
1919         (WebCore::Worker::Worker):
1920         (WebCore::Worker::notifyFinished):
1921         * dom/Worker.h:
1922         (WebCore::Worker::create):
1923         Instead of Document the Worker constructor now gets a ScriptExecutionContext.
1924         Start using some methods on SEC (like completeURL() and userAgent()).
1925         For others, explicitly case to Document and add a FIXME.
1926         Remove Worker::document() too.
1927
1928 2009-02-20  Gustavo Noronha Silva  <gns@gnome.org>
1929
1930         Rubber-stamped by Holger Freyther.
1931
1932         Do not set httpStatus to SOUP_STATUS_OK when serving local files
1933         to match other ports' behavior, fixing xmlhttprequest test
1934         regressions.
1935
1936         * platform/network/soup/ResourceHandleSoup.cpp:
1937         (WebCore::queryInfoCallback):
1938
1939 2009-02-19  Dan Bernstein  <mitz@apple.com>
1940
1941         Reviewed by Sam Weinig.
1942
1943         - WebCore part of fixing https://bugs.webkit.org/show_bug.cgi?id=24027
1944           Do not send loader callbacks during CSS styling
1945
1946         Undo the iChat-specific quirk added in
1947         <http://trac.webkit.org/changeset/41071>. Instead, always suspend memory
1948         cache client callbacks during attach() and recalcStyle().
1949
1950         * WebCore.base.exp: Removed
1951         Settings::setNeedsIChatMemoryCacheCallsQuirk().
1952         * dom/ContainerNode.cpp:
1953         (WebCore::ContainerNode::suspendPostAttachCallbacks): Disable memory
1954         cache client callbacks and remember to enable them afterwards if needed.
1955         (WebCore::ContainerNode::resumePostAttachCallbacks): Re-enable memory
1956         cache client callbacks if they were disabled in
1957         suspendPostAttachCallbacks().
1958         (WebCore::ContainerNode::attach): Use suspendPostAttachCallbacks() and
1959         resumePostAttachCallbacks().
1960         * dom/ContainerNode.h: Made suspendPostAttachCallbacks()
1961         and resumePostAttachCallbacks() non-static.
1962         * dom/Document.cpp:
1963         (WebCore::Document::dispatchImageLoadEventsNow): Reverted iChat-specific
1964         workaround.
1965         * page/Settings.cpp: Removed m_needsIChatMemoryCacheCallsQuirk and
1966         related code.
1967         (WebCore::Settings::Settings):
1968         * page/Settings.h:
1969
1970 2009-02-19  Holger Hans Peter Freyther  <zecke@selfish.org>
1971
1972         Unreviewed build fix.
1973
1974         Build fix after r41092. Make the memoryUsage method
1975         public. It will be shadowed by cf/mac and for curl/soup/qt
1976         the implementation from ResourceResponseBase will be used.
1977
1978         * platform/network/ResourceResponseBase.h:
1979         (WebCore::ResourceResponseBase::memoryUsage):
1980
1981 2009-02-19  Beth Dakin  <bdakin@apple.com>
1982
1983         Reviewed by Dave Hyatt.
1984
1985         Fix for <rdar://problem/6077775> Should be able to specify
1986         inactive ::selection color
1987
1988         This patch makes the ::selction pseudo-element work with
1989         the :window-inactive pseudo type. This was, a user can specify a
1990         different ::selection style when a window is inactive.
1991
1992         * css/CSSStyleSelector.cpp:
1993         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
1994         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1995         * rendering/RenderObject.cpp:
1996         (WebCore::RenderObject::selectionBackgroundColor):
1997         (WebCore::RenderObject::selectionForegroundColor):
1998
1999 2009-02-19  Sam Weinig  <sam@webkit.org>
2000
2001         Reviewed by Beth Dakin.
2002
2003         Patch for https://bugs.webkit.org/show_bug.cgi?id=24044
2004         Update querySelector/querySelectorAll to match the latest spec
2005
2006         Update querySelector and querySelectorAll to match the latest version
2007         of the Selectors API spec.  We now stringify null and undefined to "null"
2008         and "undefined" respectively instead of to "".
2009
2010         Test: fast/dom/SelectorAPI/undefined-null-stringify.html
2011
2012         * dom/Document.idl:
2013         * dom/DocumentFragment.idl:
2014         * dom/Element.idl:
2015
2016 2009-02-19  Dimitri Glazkov  <dglazkov@chromium.org>
2017
2018         Reviewed by Geoffrey Garen.
2019
2020         https://bugs.webkit.org/show_bug.cgi?id=23732
2021         Rework CachedResource overhead accounting to allow platforms to diverge
2022         in numbers.
2023
2024         * loader/CachedResource.cpp:
2025         (WebCore::CachedResource::overheadSize): Changed to ask ResourceResponse
2026         for its size and to use actual URL size.
2027         * platform/network/ResourceResponseBase.h:
2028         (WebCore::ResourceResponseBase::size): Added default size method.
2029         * platform/network/cf/ResourceResponse.h:
2030         (WebCore::ResourceResponse::size): Added Win/CF size method
2031         * platform/network/mac/ResourceResponse.h:
2032         (WebCore::ResourceResponse::size): Added Mac size method.
2033
2034 2009-02-19  Anders Carlsson  <andersca@apple.com>
2035
2036         Reviewed by Kevin Decker.
2037
2038         - Fix for <rdar://problem/6604968>
2039
2040         On Tiger, create an autorelease pool before creating the NSGraphicsContext and drain it immediately
2041         after the call to -[NSView displayRectIgnoringOpacity:inContext:].
2042
2043         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2044         (WebCore::MediaPlayerPrivate::paint):
2045
2046 2009-02-19  David Hyatt  <hyatt@apple.com>
2047
2048         Fix a bug where reflections didn't work properly if opacity was < 1.  Make sure that replaced elements
2049         also consider reflections to be part of their visual overflow.  This had already been done for blocks
2050         and lines, but it wasn't being done yet for replaced elements.
2051
2052         Also make sure that when the object being reflected has opacity < 1 that we don't end up popping the outer
2053         transparency layer early.  Since the reflected object paints twice, we don't want to end the transparency
2054         layer it pushed until we're done painting the real object (rather than the reflection).
2055
2056         Reviewed by Dan Bernstein
2057
2058         Added fast/reflections/reflection-masks-opacity.html
2059
2060         * rendering/RenderLayer.cpp:
2061         (WebCore::RenderLayer::paintLayer):
2062         * rendering/RenderPartObject.cpp:
2063         (WebCore::RenderPartObject::layout):
2064         * rendering/RenderReplaced.cpp:
2065         (WebCore::RenderReplaced::layout):
2066         (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect):
2067         * rendering/RenderReplaced.h:
2068
2069 2009-02-19  David Levin  <levin@chromium.org>
2070
2071         Reviewed by Alexey Proskuryakov.
2072
2073         Bug 23980: WorkerRunLoop needs a way to run in a given mode similar to CFRunLoopInMode.
2074         <https://bugs.webkit.org/show_bug.cgi?id=23980>
2075
2076         WorkerRunLoop has the ability to run in a mode which filters the tasks to be run.
2077         * When WorkerRunLoop::runInMode is called, only task for that mode will run.
2078         * When WorkerRunLoop::run is called (or the default mode is used), then all tasks
2079           will run regardless of their posted mode.
2080
2081         Here's a demonstration of the api:
2082
2083             RefPtr<NameResolution> nameResolution = NameResolution::create(workerRunLoop);
2084
2085             //  Internally nameResolution will do workerRunLoop.postTaskForMode(task, "MyCoolMode")
2086             //  for any tasks that need to be run during this loop.
2087             nameResolution->setTaskMode("MyCoolMode");
2088
2089             nameResolution->start();
2090             while (!nameResolution->done()) {
2091                 // Only tasks which are posted for "MyCoolMode" will run.
2092                 workerRunLoop.runInMode(context, "MyCoolMode");
2093             }
2094
2095         No observable change in behavior, so no test.
2096
2097         * dom/WorkerRunLoop.cpp:
2098         (WebCore::ModePredicate::ModePredicate):
2099         (WebCore::ModePredicate::operator()):
2100         (WebCore::WorkerRunLoop::WorkerRunLoop):
2101         (WebCore::WorkerRunLoop::~WorkerRunLoop):
2102         (WebCore::WorkerRunLoop::setSharedTimer):
2103         (WebCore::WorkerRunLoop::resetSharedTimer):
2104         (WebCore::WorkerRunLoop::run):
2105         (WebCore::WorkerRunLoop::runInMode):
2106         (WebCore::WorkerRunLoop::postTask):
2107         (WebCore::WorkerRunLoop::postTaskForMode):
2108         * dom/WorkerRunLoop.h:
2109         (WebCore::WorkerRunLoop::Task::create):
2110         (WebCore::WorkerRunLoop::Task::mode):
2111         (WebCore::WorkerRunLoop::Task::performTask):
2112         (WebCore::WorkerRunLoop::Task::Task):
2113
2114 2009-02-19  Dimitri Glazkov  <dglazkov@chromium.org>
2115
2116         Reviewed by Eric Seidel.
2117
2118         https://bugs.webkit.org/show_bug.cgi?id=24034
2119         Fix up Selection->VisibleSelection change.
2120
2121         * page/chromium/EventHandlerChromium.cpp:
2122         (WebCore::EventHandler::passMousePressEventToSubframe): Renamed Selection
2123         to VisibleSelection.
2124
2125 2009-02-19  Dimitri Glazkov  <dglazkov@chromium.org>
2126
2127         Reviewed by Eric Seidel.
2128
2129         https://bugs.webkit.org/show_bug.cgi?id=24041
2130         Correct Skia type conversion issues, fix Chromium Linux build.
2131
2132         * platform/graphics/chromium/FontLinux.cpp:
2133         (WebCore::Font::drawGlyphs): changed parameters to RGBA32, not WebCore::Color.
2134
2135 2009-02-19  Jungshik Shin <jshin@chromium.org>
2136
2137         Reviewed by Eric Seidel.
2138
2139         https://bugs.webkit.org/show_bug.cgi?id=20531
2140         Chromium-part follow-up to the patch landed in r40636
2141         for bug 20531.
2142         Remove a static member function alternateFamilyName
2143         from Chromium's Win/Linux ports of FontCache. In r40636,
2144         alternateFamilyName was customized using #ifdef PLATFORM(WIN_OS).
2145         So, there's no more need for the static member function per
2146         platform.
2147
2148         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2149         * platform/graphics/chromium/FontCacheLinux.cpp:
2150
2151 2009-02-19  Simon Fraser  <simon.fraser@apple.com>
2152
2153         Reviewed by Adele Peterson.
2154
2155         Call documentWillBecomeInactive() from Document::detach to ensure that
2156         media elements are shut down, because they may be kept alive by references
2157         from JS past document teardown.
2158
2159         documentWillBecomeInactive() calls  renderView()->willMoveOffscreen(), so no
2160         need to do that in detach() as well.
2161
2162         We no longer need to call documentWillBecomeInactive() from ~Page() (which
2163         was added for <https://bugs.webkit.org/show_bug.cgi?id=21116>), since this
2164         supersedes that change.
2165
2166         * dom/Document.cpp:
2167         (WebCore::Document::detach):
2168         * page/Page.cpp:
2169         (WebCore::Page::~Page):
2170
2171 2009-02-19  Dimitri Glazkov  <dglazkov@chromium.org>
2172
2173         Reviewed by Eric Seidel.
2174
2175         https://bugs.webkit.org/show_bug.cgi?id=24028
2176         Fix up Skia path changes.
2177
2178         * platform/graphics/skia/GraphicsContextSkia.cpp:
2179         (WebCore::GraphicsContext::strokePath): Removed illegal indirection.
2180         * platform/graphics/skia/PathSkia.cpp:
2181         (WebCore::boundingBoxForCurrentStroke): Changed call name.
2182
2183 2009-02-19  Gustavo Noronha Silva  <gns@gnome.org>
2184
2185         Reviewed by Alexey Proskuryakov.
2186
2187         Ignore ports on local URLs. This fixes a regression in
2188         fast/loader/file-URL-with-port-number.html
2189
2190         * platform/network/soup/ResourceHandleSoup.cpp:
2191         (WebCore::ResourceHandle::startGio):
2192
2193 2009-02-19  Gustavo Noronha Silva  <gns@gnome.org>
2194
2195         Reviewed by Alexey Proskuryakov.
2196
2197         https://bugs.webkit.org/show_bug.cgi?id=24011
2198         KURL's setPort doesn't unset port if 0 is given
2199
2200         Make setPort remove port if 0 is given to it, as promised by the
2201         comment in KURL's header.
2202
2203         * platform/KURL.cpp:
2204         (WebCore::KURL::setPort):
2205
2206 2009-02-18  Dan Bernstein  <mitz@apple.com>
2207
2208         Reviewed by Brady Eidson.
2209
2210         - WebCore part of fixing <rdar://problem/6507512> Crash in iChat at CSSStyleSelector::adjustRenderStyle
2211
2212         The crash results from re-entry into
2213         CSSMutableStyleDeclaration::setCssText, which in turn is caused by
2214         the first style change causing a cached image to load from the memory
2215         cache, causing load delegate dispatch, and iChat's delegate method
2216         calling back into WebKit.
2217
2218         The workaround is to use defer delegate callbacks for memory cache. In
2219         this case, deferring callbacks during image load event dispatch was
2220         found to be sufficient.
2221
2222         The crash is a regression. See also the discussion in
2223         <https://bugs.webkit.org/show_bug.cgi?id=22521>.
2224
2225         * WebCore.base.exp: Added
2226         Settings::setNeedsIChatMemoryCacheCallsQuirk().
2227         * dom/Document.cpp:
2228         (WebCore::Document::dispatchImageLoadEventsNow): If the quirk is
2229         enabled, defer memory cache callbacks during image load event dispatch.
2230         * page/Settings.cpp:
2231         (WebCore::Settings::Settings): Initialize
2232         m_needsIChatMemoryCacheCallsQuirk.
2233         (WebCore::Settings::setNeedsIChatMemoryCacheCallsQuirk): Added this
2234         setter.
2235         * page/Settings.h:
2236         (WebCore::Settings::needsIChatMemoryCacheCallsQuirk): Added this getter.
2237
2238 2009-02-18  Adam Roben  <aroben@apple.com>
2239
2240         Export WebCore::handCursor and Cursor.h
2241
2242         Reviewed by John Sullivan.
2243
2244         * WebCore.base.exp: Added WebCore::handCursor.
2245         * WebCore.xcodeproj/project.pbxproj: Made Cursor.h private.
2246
2247 2009-02-18  Ojan Vafai  <ojan@chromium.org>
2248
2249         Reviewed by Alexey Proskuryakov.
2250
2251         https://bugs.webkit.org/show_bug.cgi?id=23992
2252         REGRESSION: crash on windows loading http://www.stickam.com/liveStreams.do
2253
2254         Unable to reduce to a layout test.
2255
2256         * page/Frame.cpp:
2257         (WebCore::Frame::contentRenderer):
2258
2259 2009-02-18  Evan Stade  <estade@chromium.org>
2260
2261         Reviewed by Eric Seidel.
2262
2263         https://bugs.webkit.org/show_bug.cgi?id=23861
2264         Stroke font outlines on chromium linux
2265
2266         TEST=LayoutTests/svg/custom/pointer-events-text.svg
2267
2268         * platform/graphics/chromium/FontLinux.cpp:
2269         (WebCore::Font::drawGlyphs):
2270
2271 2009-02-18  Evan Stade  <estade@chromium.org>
2272
2273         Reviewed by Eric Seidel.
2274
2275         https://bugs.webkit.org/show_bug.cgi?id=23860
2276         Resync some graphics/skia files with their chromium counterparts
2277
2278         This comes from chromium patches <http://codereview.chromium.org/17633>
2279         and <http://codereview.chromium.org/17454>
2280
2281         * platform/graphics/skia/GraphicsContextSkia.cpp:
2282         (WebCore::GraphicsContext::clipPath):
2283         (WebCore::GraphicsContext::fillPath):
2284         * platform/graphics/skia/PlatformContextSkia.cpp:
2285         (PlatformContextSkia::addPath):
2286         (PlatformContextSkia::currentPath):
2287         * platform/graphics/skia/PlatformContextSkia.h:
2288
2289 2009-02-18  Gustavo Noronha Silva  <gns@gnome.org>
2290
2291         Unreviewed.
2292
2293         Build fix after r41060.
2294
2295         * GNUmakefile.am:
2296
2297 2009-02-18  Dimitri Glazkov  <dglazkov@chromium.org>
2298
2299         Reviewed by Eric Seidel.
2300
2301         https://bugs.webkit.org/show_bug.cgi?id=24005
2302         Add an include to fix Chromium build.
2303
2304         * page/animation/AnimationController.cpp: Add UnusedParam.h include.
2305
2306 2009-02-18  Gustavo Noronha Silva  <gns@gnome.org>
2307
2308         Reviewed by Holger Freyther.
2309
2310         Fix symbols.filter location, and add other missing files to the
2311         autotools build, so that make dist works.
2312
2313         * GNUmakefile.am:
2314
2315 2009-02-18  Zan Dobersek  <zandobersek@gmail.com>
2316
2317         Rubber-stamped by Holger Hans Peter Freyther.
2318
2319         Allow POST method for local requests.
2320
2321         * platform/network/soup/ResourceHandleSoup.cpp:
2322         (WebCore::ResourceHandle::startGio):
2323
2324 2009-02-18  Gustavo Noronha Silva  <gns@gnome.org>
2325
2326         Reviewed by Holger Hans Peter Freyther.
2327
2328         Use KURL in startGio instead of passing a string with the URL, so
2329         that we can handle removing refs and queries more elegantly. This
2330         is fixing more regressions that came from the curl->soup switch.
2331
2332         Original work by Zan Dobersek.
2333
2334         * platform/network/ResourceHandle.h:
2335         * platform/network/soup/ResourceHandleSoup.cpp:
2336         (WebCore::ResourceHandle::start):
2337         (WebCore::ResourceHandle::startGio):
2338
2339 2009-02-18  Holger Hans Peter Freyther  <zecke@selfish.org>
2340
2341         Reviewed by Alexey Proskuryakov.
2342
2343         Implement ResourceHandle::loadResourceSynchronously in ResourceHandleSoup.cpp
2344
2345         The implementation is needed to have synchronous loading, e.g. for
2346         JavaScript interaction. This is fixing various regressions that
2347         came from the curl->soup switch.
2348
2349         * platform/network/soup/ResourceHandleSoup.cpp:
2350         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
2351         (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader):
2352         (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
2353         (WebCore::WebCoreSynchronousLoader::didReceiveData):
2354         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
2355         (WebCore::WebCoreSynchronousLoader::didFail):
2356         (WebCore::WebCoreSynchronousLoader::run):
2357         (WebCore::ResourceHandle::loadResourceSynchronously):
2358
2359 2009-02-18  Xan Lopez  <xan@gnome.org>
2360
2361         Reviewed by Mark Rowe.
2362
2363         https://bugs.webkit.org/show_bug.cgi?id=23989
2364
2365         Based on a patch by Bo Yang  <techrazy.yang@gmail.com>
2366
2367         Make the cursor cache global, that's all we really need and
2368         otherwise we can miss cursor transitions in some situations (see
2369         the bug for one testcase). Also remove some now useless code.
2370
2371         * platform/Widget.h:
2372         * platform/gtk/WidgetGtk.cpp:
2373         (WebCore::Widget::Widget):
2374         (WebCore::Widget::~Widget):
2375         (WebCore::Widget::setCursor):
2376
2377 2009-02-17  Adam Roben  <aroben@apple.com>
2378
2379         Windows build fix
2380
2381         * loader/FrameLoader.cpp:
2382         (WebCore::toPlugInElement): Don't rely on #if being processed before
2383         ASSERT.
2384
2385 2009-02-17  David Levin  <levin@chromium.org>
2386
2387         Reviewed by Alexey Proskuryakov.
2388
2389         Bug 23977: Unnecessary timer related headers in files.
2390         <https://bugs.webkit.org/show_bug.cgi?id=23977>
2391
2392         No observable change in behavior, so no test.
2393
2394         * dom/Document.cpp:
2395         * dom/WorkerRunLoop.cpp:
2396         * dom/WorkerRunLoop.h:
2397
2398 2009-02-17  Peter Abrahamsen  <rainhead@gmail.com>
2399
2400         Reviewed by Sam Weinig.
2401
2402         https://bugs.webkit.org/show_bug.cgi?id=23958
2403         <rdar://problem/6587815>
2404
2405         Updated XMLHttpRequest with new header names from the latest Access
2406         Control draft: http://www.w3.org/TR/access-control/
2407         - Access-Control-Origin becomes Access-Control-Allow-Origin
2408         - Access-Control-Credentials becomes Access-Control-Allow-Credentials
2409
2410         * xml/XMLHttpRequest.cpp:
2411         (WebCore::XMLHttpRequest::accessControlCheck):
2412
2413 2009-02-17  Kevin Ollivier  <kevino@theolliviers.com>
2414
2415         wx build fix. Add missing constructor used for empty values.
2416
2417         * platform/graphics/wx/FontPlatformData.h:
2418         (WebCore::FontPlatformData::FontPlatformData):
2419
2420 2009-02-17  Antti Koivisto  <antti@apple.com>
2421
2422         Reviewed by Dave Kilzer.
2423
2424         <rdar://problem/6592446> dynamically updating page doesn't seem to draw when updated
2425
2426         Need update after callback.
2427
2428         * bindings/js/JSCustomPositionCallback.cpp:
2429         (WebCore::JSCustomPositionCallback::handleEvent):
2430         * bindings/js/JSCustomPositionErrorCallback.cpp:
2431         (WebCore::JSCustomPositionErrorCallback::handleEvent):
2432
2433 2009-02-17  Eric Carlson  <eric.carlson@apple.com>
2434
2435         Reviewed by Antti Koivisto.
2436
2437         https://bugs.webkit.org/show_bug.cgi?id=23917
2438         Allow a WebKit plug-in to act as a proxy for the <audio> and <video>
2439         element.
2440
2441         * DerivedSources.make: add media element proxy exports to .exp file when feature is defined.
2442
2443         * WebCore.VideoProxy.exp: New, define the informal protocol exported by a media element proxy.
2444
2445         * WebCore.xcodeproj/project.pbxproj: Add MediaPlayerProxy.h.
2446
2447         * html/HTMLMediaElement.cpp:
2448         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_needWidgetUpdate.
2449         (WebCore::HTMLMediaElement::attributeChanged): Don't detach+attach when PLUGIN_PROXY_FOR_VIDEO, the
2450         proxy plug-in handles the poster frame.
2451         (WebCore::HTMLMediaElement::rendererIsNeeded): New logic for PLUGIN_PROXY_FOR_VIDEO.
2452         (WebCore::HTMLMediaElement::createRenderer): Create RenderPartObject when PLUGIN_PROXY_FOR_VIDEO.
2453         (WebCore::HTMLMediaElement::attach): Set m_needWidgetUpdate when PLUGIN_PROXY_FOR_VIDEO
2454         (WebCore::HTMLMediaElement::load): Don't reallocate MediaPlayer when PLUGIN_PROXY_FOR_VIDEO, we keep the
2455         same plug-in for the life of the element.
2456         (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): update m_networkState when media player
2457         network state changes to EMPTY, otherwise we can get out of sync with engine.
2458         (WebCore::HTMLMediaElement::defaultEventHandler): pass event to widget when PLUGIN_PROXY_FOR_VIDEO
2459         (WebCore::HTMLMediaElement::deliverNotification): New, deliver notification from proxy plug-in to
2460         media player.
2461         (WebCore::HTMLMediaElement::setMediaPlayerProxy): New, pass proxy object to media player.
2462         (WebCore::HTMLMediaElement::initialURL): New, return the url from the "src" attr or the appropriate
2463         <source> element to be used as the initial url for the proxy.
2464         (WebCore::HTMLMediaElement::finishParsingChildren): New, allocate MediaPlayer and update widget.
2465         * html/HTMLMediaElement.h: Declare new methods for proxy, add m_needWidgetUpdate.
2466         (WebCore::HTMLMediaElement::setNeedWidgetUpdate):
2467
2468         * html/HTMLVideoElement.cpp:
2469         (WebCore::HTMLVideoElement::attach): Poster image is handled by proxy when PLUGIN_PROXY_FOR_VIDEO.
2470         (WebCore::HTMLVideoElement::parseMappedAttribute): Ditto.
2471         * html/HTMLVideoElement.h:
2472
2473         * loader/FrameLoader.cpp:
2474         (WebCore::toPlugInElement): Allow cast if element is <video> or <audio>
2475
2476         * platform/graphics/MediaPlayer.cpp:
2477         (WebCore::MediaPlayer::MediaPlayer): Remove white space.
2478         (WebCore::MediaPlayer::setPoster): New, forward call to private player.
2479         (WebCore::MediaPlayer::deliverNotification): Ditto.
2480         (WebCore::MediaPlayer::setMediaPlayerProxy): Ditto.
2481         * platform/graphics/MediaPlayer.h:
2482         (WebCore::MediaPlayer::mediaPlayerClient):
2483
2484         * platform/graphics/mac/MediaPlayerProxy.h: New, defines media player proxy interface.
2485
2486         * rendering/RenderPart.cpp:
2487         (WebCore::RenderPart::RenderPart): Change constructor to take Element* instead of Node* as a
2488         non-element node doesn't need a renderer
2489         * rendering/RenderPart.h: Ditto.
2490
2491         * rendering/RenderPartObject.cpp:
2492         (WebCore::RenderPartObject::RenderPartObject): Ditto.
2493         (WebCore::RenderPartObject::updateWidget): Package params for proxy plug-in when element is
2494         <video> or <audio>.
2495         * rendering/RenderPartObject.h:
2496
2497 2009-02-17  David Hyatt  <hyatt@apple.com>
2498
2499         Reviewed by Eric Seidel
2500
2501         Fix for https://bugs.webkit.org/show_bug.cgi?id=23985
2502
2503         Don't allow legends to be anything but display:block.
2504
2505         Added fast/forms/inline-ignored-on-legend.html
2506
2507         * GNUmakefile.am:
2508         * WebCore.pro:
2509         * WebCore.vcproj/WebCore.vcproj:
2510         * WebCore.xcodeproj/project.pbxproj:
2511         * WebCoreSources.bkl:
2512         * css/html4.css:
2513         * html/HTMLLegendElement.cpp:
2514         * html/HTMLLegendElement.h:
2515         * rendering/RenderLegend.cpp: Removed.
2516         * rendering/RenderLegend.h: Removed.
2517         * wml/WMLInsertedLegendElement.cpp:
2518         * wml/WMLInsertedLegendElement.h:
2519
2520 2009-02-13  Brett Wilson  <brettw@dhcp-172-22-71-167.mtv.corp.google.com>
2521
2522         Reviewed by Simon Fraser.
2523
2524         https://bugs.webkit.org/attachment.cgi?id=27666
2525         Fix Chromium build build: forgotten include in RenderObject, sync
2526         RenderTheme to the recent changes in RenderObject.
2527
2528         * rendering/RenderObject.cpp:
2529         * rendering/RenderThemeChromiumMac.mm:
2530         (WebCore::RenderThemeChromiumMac::updatePressedState):
2531
2532 2009-02-17  Gustavo Noronha Silva  <gns@gnome.org>
2533
2534         Reviewed by Darin Adler.
2535
2536         https://bugs.webkit.org/show_bug.cgi?id=22966
2537         crash when destroying a webview that opened a page containing <script>
2538         tags
2539
2540         Fix m_group being set to 0 instead of to m_singlePageGroup when
2541         GroupName is set to empty
2542
2543         * page/Page.cpp:
2544         (WebCore::Page::setGroupName):
2545
2546 2009-02-16  Beth Dakin  <bdakin@apple.com>
2547
2548         Reviewed by Sam Weinig.
2549
2550         Fix for <rdar://problem/6386623>
2551
2552         I made m_numParsedProperties and m_maxParsedProperties unsigned
2553         instead of int, and then added an early return from addPropery() if
2554         m_maxParsedProperties exceeds the max value.
2555
2556         * css/CSSParser.cpp:
2557         (WebCore::CSSParser::addProperty):
2558         (WebCore::CSSParser::rollbackLastProperties):
2559         (WebCore::CSSParser::clearProperties):
2560         (WebCore::CSSParser::createFontFaceRule):
2561         (WebCore::CSSParser::deleteFontFaceOnlyValues):
2562         * css/CSSParser.h:
2563
2564 2009-02-16  Justin Garcia  <justin.garcia@apple.com>
2565
2566         Reviewed by Mark Rowe.
2567
2568         https://bugs.webkit.org/show_bug.cgi?id=16309
2569         HTML5: The third execCommand argument for insert{un}orderedlist should be ignored
2570
2571         When we originally implemented this command, MSDN documentation said that IE set the
2572         id attribute of inserted lists to the third argument to execCommand, but IE doesn't
2573         do this nor do any other browsers.
2574
2575         * editing/EditorCommand.cpp:
2576         (WebCore::executeInsertOrderedList):
2577         (WebCore::executeInsertUnorderedList):
2578         * editing/IndentOutdentCommand.cpp:
2579         (WebCore::IndentOutdentCommand::outdentParagraph):
2580         * editing/InsertListCommand.cpp:
2581         (WebCore::InsertListCommand::insertList):
2582         (WebCore::InsertListCommand::InsertListCommand):
2583         (WebCore::InsertListCommand::doApply):
2584         * editing/InsertListCommand.h:
2585         (WebCore::InsertListCommand::create):
2586
2587 2009-02-16  Dan Bernstein  <mitz@apple.com>
2588
2589         Reviewed by Geoffrey Garen.
2590
2591         - fix <rdar://problem/6561077> REGRESSION (r39634): Unable to select an item in stocks widget with the mouse
2592
2593         Test: platform/mac/fast/events/pointer-events-dashboard.html
2594
2595         * css/CSSStyleSelector.cpp:
2596         (WebCore::CSSStyleSelector::applyProperty): Do not apply the
2597         pointer-events property in Dashboard backwards compatibility mode,
2598         in order to work around misuse of that property by the Stocks widget.
2599
2600 2009-02-16  Justin Garcia  <justin.garcia@apple.com>
2601
2602         Reviewed by Eric Seidel.
2603
2604         https://bugs.webkit.org/show_bug.cgi?id=15381
2605         execCommand justify modifies the contentEditable node
2606
2607         * editing/CompositeEditCommand.cpp:
2608         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Avoid modifying not just
2609         the body element, but any root editable element.
2610
2611 2009-02-16  Chris Fleizach  <cfleizach@apple.com>
2612
2613         Reviewed by Adele Peterson.
2614
2615         Bug 23979: AX: alt tag not returned for <input type="image">
2616         https://bugs.webkit.org/show_bug.cgi?id=23979
2617
2618         Test: accessibility/input-image-alt.html
2619
2620         * page/AccessibilityRenderObject.cpp:
2621         (WebCore::AccessibilityRenderObject::accessibilityDescription):
2622
2623 2009-02-16  Kevin Watters  <kevinwatters@gmail.com>
2624
2625         Reviewed by Kevin Ollivier.
2626
2627         The ref data is not properly set unless we use the CreateMatrix function.
2628
2629         https://bugs.webkit.org/show_bug.cgi?id=23978
2630
2631         * platform/graphics/wx/TransformationMatrixWx.cpp:
2632         (WebCore::TransformationMatrix::operator wxGraphicsMatrix):
2633
2634 2009-02-16  Dan Bernstein  <mitz@apple.com>
2635
2636         Reviewed by John Sullivan.
2637
2638         - fix <rdar://problem/6516829> FontPlatformData constructor passes NULL to CTFontCopyGraphicsFont and CTFontGetPlatformFont
2639
2640         * platform/graphics/FontCache.cpp:
2641         (WebCore::FontDataCacheKeyTraits::emptyValue): Changed to use the
2642         FontPlatformData(float, bool, bool) constructor.
2643         * platform/graphics/mac/FontCacheMac.mm:
2644         (WebCore::FontCache::createFontPlatformData): Changed to pass a valid
2645         NSFont to the FontPlatformData constructor, instead of implicitly
2646         passing 0 and then calling setFont().
2647         * platform/graphics/mac/FontPlatformData.h: Made the NSFont parameter
2648         of the constructor mandatory.
2649
2650 2009-02-15  David Kilzer  <ddkilzer@apple.com>
2651
2652         Move duplicate caretWidth constants to RenderObject.h
2653
2654         Reviewed by Dan Bernstein.
2655
2656         No test since no change in behavior.
2657
2658         * rendering/RenderBlock.cpp:
2659         (WebCore::RenderBlock::localCaretRect): Removed caretWidth.
2660         * rendering/RenderBox.cpp:
2661         (WebCore::RenderBox::localCaretRect): Ditto.
2662         * rendering/RenderObject.h: Added caretWidth definition.
2663         * rendering/RenderText.cpp:
2664         (WebCore::RenderText::localCaretRect): Removed caretWidth.
2665
2666 2009-02-13  Dimitri Glazkov  <dglazkov@chromium.org>
2667
2668         Reviewed by Eric Seidel.
2669
2670         https://bugs.webkit.org/show_bug.cgi?id=23955
2671         V8HTMLPlugInCustom returns undefined, which fools interceptors.
2672
2673         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
2674         (WebCore::NAMED_PROPERTY_GETTER): Use deferToInterceptor() return value.
2675         (WebCore::NAMED_PROPERTY_SETTER): Ditto.
2676         (WebCore::INDEXED_PROPERTY_GETTER): Ditto.
2677         (WebCore::INDEXED_PROPERTY_SETTER): Ditto.
2678
2679 2009-02-13  Dimitri Glazkov  <dglazkov@chromium.org>
2680
2681         Reviewed by Eric Seidel.
2682
2683         https://bugs.webkit.org/show_bug.cgi?id=23954
2684         Add V8 custom bindings for CanvasRenderingContext2D.
2685
2686         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: Added.
2687         (WebCore::toV8):
2688         (WebCore::toCanvasStyle):
2689         (WebCore::ACCESSOR_GETTER):
2690         (WebCore::ACCESSOR_SETTER):
2691
2692 2009-02-13  Anders Carlsson  <andersca@apple.com>
2693
2694         Reviewed by Darin Adler and Dan Bernstein.
2695
2696         <rdar://problem/6583187>
2697
2698         * page/NavigatorBase.cpp:
2699         Handle PPC64 and X86_64 as well.
2700
2701 2009-02-13  Darin Adler  <darin@apple.com>
2702
2703         Reviewed by Mark Rowe.
2704
2705         Fix broken tokenizer regression test that reflected a lifetime bug
2706         in the document.write optimization. The test failure was trivial to
2707         reproduce in COLLECT_ON_EVERY_ALLOCATION mode.
2708
2709         * bindings/js/JSHTMLDocumentCustom.cpp:
2710         (WebCore::documentWrite): Convert strings to String rather than passing
2711         the pointer and length to SegmentedString. The optimization is thus
2712         mostly gone. However, there are two ways to bring it back: 1) Apply
2713         the patch that makes UString and String share the same buffers.
2714         2) Add a UString feature to SegmentedString; simple to do but might
2715         risk slowing down normal document parsing.
2716
2717 2009-02-13  Adam Treat  <adam.treat@torchmobile.com>
2718
2719         Caught by Darin Adler.
2720
2721         No reason to check m_tokenizer twice for 0 in a row.
2722
2723         * dom/Document.cpp:
2724         (WebCore::Document::write):
2725
2726 2009-02-13  Lyon Chen  <lyon.chen@torchmobile.com>
2727
2728         Reviewed by Dave Hyatt.
2729
2730         Take into account y() + height() when calculating getLowerRightCorner.
2731
2732         * dom/ContainerNode.cpp:
2733         (WebCore::ContainerNode::getLowerRightCorner):
2734
2735 2009-02-13  Antti Koivisto  <antti@apple.com>
2736
2737         Reviewed by Dave Hyatt.
2738
2739         Most of this code was in RenderBox, restore the copyright lines.
2740
2741         * rendering/RenderBoxModelObject.cpp:
2742         * rendering/RenderBoxModelObject.h:
2743
2744 2009-02-13  David Hyatt  <hyatt@apple.com>
2745
2746         Get rid of printBoxDecorations, since it is dead code.
2747
2748         Reviewed by Dan Bernstein
2749
2750         * rendering/RenderObject.h:
2751
2752 2009-02-13  Adam Treat  <adam.treat@torchmobile.com>
2753
2754         Reviewed by Darin Adler.
2755
2756         https://bugs.webkit.org/show_bug.cgi?id=23952
2757         Add Document::write overload which takes a SegmentedString since this
2758         is what the tokenizer expects anyway.  Modified JSHTMLDocument so it once
2759         again calls Document::write instead of injecting the string directly into
2760         the tokenizer.  This ensures that all document.write's are funneled through
2761         one method again, but should still be just as fast for JSHTMLDocumentCustom.
2762
2763         * bindings/js/JSHTMLDocumentCustom.cpp:
2764         (WebCore::documentWrite):
2765         * dom/Document.cpp:
2766         (WebCore::Document::write):
2767         * dom/Document.h:
2768
2769 2009-02-13  David Hyatt  <hyatt@apple.com>
2770
2771         Reviewed by Simon Fraser
2772
2773         Remove updateWidgetPosition on RenderObject.  Change RenderView's set of widgets
2774         to have a tighter type: RenderWidget instead of RenderObject.  Devirtualize
2775         updateWidgetPosition, since all RenderWidgets (except for applets) are now
2776         RenderParts also.
2777
2778         * rendering/RenderObject.cpp:
2779         * rendering/RenderObject.h:
2780         * rendering/RenderPart.cpp:
2781         * rendering/RenderPart.h:
2782         * rendering/RenderView.cpp:
2783         (WebCore::RenderView::updateWidgetPositions):
2784         (WebCore::RenderView::addWidget):
2785         (WebCore::RenderView::removeWidget):
2786         * rendering/RenderView.h:
2787         * rendering/RenderWidget.cpp:
2788         (WebCore::RenderWidget::updateWidgetPosition):
2789         * rendering/RenderWidget.h:
2790
2791 2009-02-13  David Hyatt  <hyatt@apple.com>
2792
2793         Reviewed by Eric Seidel
2794
2795         Remove isEditable() on RenderObject.  It is dead code.
2796
2797         * rendering/RenderObject.cpp:
2798         * rendering/RenderObject.h:
2799
2800 2009-02-13  David Hyatt  <hyatt@apple.com>
2801
2802         Reviewed by Eric Seidel
2803
2804         Add isTextControl() to RenderObject.  Patch call sites thats asked isTextField() || isTextArea() to just use
2805         isTextControl() instead.
2806
2807         Add a toRenderTextControl converter for doing checked casting to RenderTextControls.
2808
2809         * dom/Document.cpp:
2810         (WebCore::Document::setFocusedNode):
2811         * dom/InputElement.cpp:
2812         (WebCore::InputElement::updateSelectionRange):
2813         * editing/ReplaceSelectionCommand.cpp:
2814         (WebCore::ReplacementFragment::ReplacementFragment):
2815         * editing/TextIterator.cpp:
2816         (WebCore::TextIterator::handleReplacedElement):
2817         * html/HTMLInputElement.cpp:
2818         (WebCore::HTMLInputElement::selectionStart):
2819         (WebCore::HTMLInputElement::selectionEnd):
2820         (WebCore::HTMLInputElement::setSelectionStart):
2821         (WebCore::HTMLInputElement::setSelectionEnd):
2822         (WebCore::HTMLInputElement::select):
2823         (WebCore::HTMLInputElement::defaultEventHandler):
2824         (WebCore::HTMLInputElement::selection):
2825         * html/HTMLTextAreaElement.cpp:
2826         (WebCore::HTMLTextAreaElement::selectionStart):
2827         (WebCore::HTMLTextAreaElement::selectionEnd):
2828         (WebCore::HTMLTextAreaElement::setSelectionStart):
2829         (WebCore::HTMLTextAreaElement::setSelectionEnd):
2830         (WebCore::HTMLTextAreaElement::select):
2831         (WebCore::HTMLTextAreaElement::setSelectionRange):
2832         (WebCore::HTMLTextAreaElement::appendFormData):
2833         (WebCore::HTMLTextAreaElement::updateValue):
2834         (WebCore::HTMLTextAreaElement::selection):
2835         * page/AccessibilityRenderObject.cpp:
2836         (WebCore::AccessibilityRenderObject::isNativeTextControl):
2837         (WebCore::AccessibilityRenderObject::text):
2838         (WebCore::AccessibilityRenderObject::selectedText):
2839         (WebCore::AccessibilityRenderObject::selectedTextRange):
2840         (WebCore::AccessibilityRenderObject::setSelectedTextRange):
2841         (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
2842         (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
2843         (WebCore::AccessibilityRenderObject::observableObject):
2844         * page/Frame.cpp:
2845         (WebCore::Frame::notifyRendererOfSelectionChange):
2846         * rendering/RenderObject.h:
2847         (WebCore::RenderObject::isTextControl):
2848         (WebCore::objectIsRelayoutBoundary):
2849         * rendering/RenderTextControl.h:
2850         (WebCore::RenderTextControl::isTextControl):
2851         (WebCore::toRenderTextControl):
2852         * rendering/TextControlInnerElements.cpp:
2853         (WebCore::TextControlInnerTextElement::defaultEventHandler):
2854         * wml/WMLInputElement.cpp:
2855         (WebCore::WMLInputElement::select):
2856         (WebCore::WMLInputElement::defaultEventHandler):
2857         (WebCore::WMLInputElement::isConformedToInputMask):
2858
2859 2009-02-13  David Hyatt  <hyatt@apple.com>
2860
2861         Get rid of isEdited/setEdited on RenderObject.  Devirtualize isEdited/setEdited on RenderTextControl.
2862         Callers were already asking if the renderer was a text field (or a text area), so it was especially
2863         pointless to waste a second virtual function call after making one just to determine the object type.
2864
2865         Reviewed by Simon Fraser
2866
2867         * dom/Document.cpp:
2868         (WebCore::Document::setFocusedNode):
2869         * html/HTMLInputElement.cpp:
2870         (WebCore::HTMLInputElement::defaultEventHandler):
2871         * rendering/RenderObject.h:
2872         * rendering/RenderTextControl.h:
2873         (WebCore::RenderTextControl::isEdited):
2874         (WebCore::RenderTextControl::setEdited):
2875
2876 2009-02-13  Scott Violet  <sky@google.com>
2877
2878         Reviewed by Eric Seidel.
2879
2880         https://bugs.webkit.org/show_bug.cgi?id=23934
2881         Skia platform doesn't render text decoration shadows.
2882
2883         Makes Skia render text decoration shadows correctly. We weren't
2884         preparing the SkPaint correctly and didn't have a couple of checks
2885         CG has. Additionally makes the fillColor/strokeColor methods
2886         consistent.
2887
2888         This behavior is covered by existing layout tests (see bug for list).
2889
2890         * platform/graphics/chromium/FontChromiumWin.cpp:
2891         (WebCore::Font::drawGlyphs):
2892         (WebCore::Font::drawComplexText):
2893         * platform/graphics/skia/GraphicsContextSkia.cpp:
2894         (WebCore::GraphicsContext::drawLineForText):
2895         * platform/graphics/skia/PlatformContextSkia.cpp:
2896         (PlatformContextSkia::effectiveFillColor):
2897         (PlatformContextSkia::effectiveStrokeColor):
2898         * platform/graphics/skia/PlatformContextSkia.h:
2899
2900 2009-02-12  Darin Fisher  <darin@chromium.org>
2901
2902         Reviewed by Eric Seidel.
2903
2904         https://bugs.webkit.org/show_bug.cgi?id=23944
2905         KURLGoogle's pre-parsed canonicalSpec constructor should take a CString
2906
2907         * platform/KURL.h:
2908         * platform/KURLGoogle.cpp:
2909         (WebCore::KURLGooglePrivate::setUtf8):
2910         (WebCore::KURLGooglePrivate::setAscii):
2911         (WebCore::KURLGooglePrivate::init):
2912         (WebCore::KURLGooglePrivate::replaceComponents):
2913         (WebCore::KURL::KURL):
2914         * platform/KURLGooglePrivate.h:
2915
2916 2009-02-13  David Hyatt  <hyatt@apple.com>
2917
2918         Remove leftmost/rightmost/lowestPosition from RenderObject.  They only need to be called on boxes.
2919
2920         Reviewed by Dan Bernstein
2921
2922         * rendering/RenderBlock.cpp:
2923         (WebCore::RenderBlock::lowestPosition):
2924         (WebCore::RenderBlock::rightmostPosition):
2925         (WebCore::RenderBlock::leftmostPosition):
2926         * rendering/RenderLayer.cpp:
2927         (WebCore::RenderLayer::computeScrollDimensions):
2928         * rendering/RenderMedia.cpp:
2929         (WebCore::RenderMedia::lowestPosition):
2930         (WebCore::RenderMedia::rightmostPosition):
2931         (WebCore::RenderMedia::leftmostPosition):
2932         * rendering/RenderObject.h:
2933         * rendering/RenderTableSection.cpp:
2934         (WebCore::RenderTableSection::lowestPosition):
2935         (WebCore::RenderTableSection::rightmostPosition):
2936         (WebCore::RenderTableSection::leftmostPosition):
2937
2938 2009-02-12  Simon Fraser  <simon.fraser@apple.com>
2939
2940         Fix build with ACCELERATED_COMPOSITING turned on.
2941
2942         toRenderBox()->x() asserts for a layer on an inline; use
2943         m_owningLayer->renderBoxX() instead.
2944
2945         * rendering/RenderLayerBacking.cpp:
2946         (WebCore::RenderLayerBacking::paintIntoLayer):
2947
2948 2009-02-12  Darin Adler  <darin@apple.com>
2949
2950         Reviewed by Oliver Hunt.
2951
2952         Speed up document.write a bit.
2953
2954         * bindings/js/JSHTMLDocumentCustom.cpp:
2955         (WebCore::documentWrite): Added. Uses SegmentedString to avoid conversion from
2956         UString to String and to avoid appending strings. Also added code to handle
2957         newlines efficiently.
2958         (WebCore::JSHTMLDocument::write): Changed to use documentWrite.
2959         (WebCore::JSHTMLDocument::writeln): Ditto.
2960
2961         * dom/Document.cpp:
2962         (WebCore::Document::prepareToWrite): Added. Refactored the initialization part
2963         of write into a separate function for use in the JavaScript binding.
2964         (WebCore::Document::write): Changed to call prepareToWrite.
2965
2966         * dom/Document.h: Added declaration for prepareToWrite.
2967
2968 2009-02-13  Prasanth Ullattil  <pullatti@trolltech.com>
2969
2970         Reviewed by Simon Hausmann.
2971
2972         Fixes crash in the Qt port on Windows with comboboxes
2973
2974         The focusWidget in the input context is not reset properly.
2975         The QApplication::setFocusWidget() wont reset the IC if the reason is
2976         PopupFocusReason, this is not ideal. For the time being we are going
2977         to do this from webkit itself.
2978
2979         * platform/qt/QWebPopup.cpp:
2980         (WebCore::QWebPopup::hidePopup):
2981
2982 2009-02-12  Kevin Ollivier  <kevino@theolliviers.com>
2983
2984         wx build fix, typo while tweaking last patch for commit.
2985
2986         * platform/wx/wxcode/gtk/fontprops.cpp:
2987         (GetTextExtent):
2988
2989 2009-02-12  miggilin  <mr.diggilin@gmail.com>
2990
2991         Reviewed by Kevin Ollivier.
2992
2993         Use Cairo/PANGO to fix text measurements and implement proper
2994         non-kerned text drawing on wxGTK.
2995
2996         https://bugs.webkit.org/show_bug.cgi?id=17727
2997
2998         * platform/graphics/GlyphBuffer.h:
2999         * platform/graphics/wx/FontPlatformDataWx.cpp:
3000         (WebCore::fontWeightToWxFontWeight):
3001         * platform/graphics/wx/SimpleFontDataWx.cpp:
3002         (WebCore::SimpleFontData::platformWidthForGlyph):
3003         * platform/wx/wxcode/fontprops.h:
3004         * platform/wx/wxcode/gtk/fontprops.cpp:
3005         (wxFontProperties::wxFontProperties):
3006         (GetTextExtent):
3007         * platform/wx/wxcode/gtk/non-kerned-drawing.cpp:
3008         (WebCore::pangoFontMap):
3009         (WebCore::createPangoFontForFont):
3010         (WebCore::createScaledFontForFont):
3011         (WebCore::pango_font_get_glyph):
3012         (WebCore::drawTextWithSpacing):
3013         * platform/wx/wxcode/non-kerned-drawing.h:
3014
3015 2009-02-12  Chris Marrin  <cmarrin@apple.com>
3016
3017         Reviewed by Simon Fraser
3018
3019         https://bugs.webkit.org/show_bug.cgi?id=23942
3020
3021         Hook up 3D CSS transforms to the accelerated compositor backend.
3022         Not enabled by default.
3023
3024         * page/animation/AnimationBase.cpp:
3025         (WebCore::blendFunc):
3026         (WebCore::ensurePropertyMap):
3027         * page/animation/CompositeAnimation.cpp:
3028         (WebCore::CompositeAnimationPrivate::updateTransitions):
3029         * page/animation/ImplicitAnimation.cpp:
3030         (WebCore::ImplicitAnimation::willNeedService):
3031         * page/animation/KeyframeAnimation.cpp:
3032         (WebCore::KeyframeAnimation::willNeedService):
3033         * platform/graphics/GraphicsLayer.cpp:
3034         (WebCore::GraphicsLayer::TransformValueList::makeFunctionList):
3035         (WebCore::GraphicsLayer::dumpProperties):
3036         * platform/graphics/mac/GraphicsLayerCA.mm:
3037         (WebCore::copyTransform):
3038         (WebCore::getValueFunctionNameForTransformOperation):
3039         (WebCore::GraphicsLayerCA::animateTransform):
3040         * rendering/RenderBox.cpp:
3041         (WebCore::RenderBox::updateBoxModelInfoFromStyle):
3042         * rendering/RenderLayer.cpp:
3043         (WebCore::RenderLayer::updateTransform):
3044         (WebCore::RenderLayer::hasTransformStyle3D):
3045         (WebCore::RenderLayer::hasPerspective):
3046         (WebCore::RenderLayer::perspectiveTransform):
3047         * rendering/RenderLayer.h:
3048         * rendering/RenderLayerBacking.cpp:
3049         (WebCore::RenderLayerBacking::updateGraphicsLayers):
3050         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3051         (WebCore::RenderLayerBacking::computeTransformOrigin):
3052         (WebCore::RenderLayerBacking::computePerspectiveOrigin):
3053         * rendering/RenderLayerBacking.h:
3054         * rendering/RenderLayerCompositor.cpp:
3055         (WebCore::RenderLayerCompositor::has3DContent):
3056         (WebCore::requiresCompositingLayerForTransform):
3057         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
3058         (WebCore::RenderLayerCompositor::layerHas3DContent):
3059         * rendering/RenderLayerCompositor.h:
3060
3061 2009-02-12  David Hyatt  <hyatt@apple.com>
3062
3063         Reviewed by Eric Seidel
3064
3065         Get rid of containingBlockHeight(), since it had only one implementation (despite being virtual) and just returned
3066         containingBlock()->availableHeight().  The latter reads better anyway.  Rename containingBlockWidth() to
3067         containingBlockWidthForContent() and move it to RenderBoxModelObject.
3068
3069         * rendering/RenderBlock.cpp:
3070         (WebCore::RenderBlock::localCaretRect):
3071         * rendering/RenderBox.cpp:
3072         (WebCore::RenderBox::containingBlockWidthForContent):
3073         (WebCore::RenderBox::calcWidth):
3074         (WebCore::RenderBox::calcReplacedWidthUsing):
3075         * rendering/RenderBox.h:
3076         * rendering/RenderBoxModelObject.cpp:
3077         (WebCore::RenderBoxModelObject::relativePositionOffsetX):
3078         (WebCore::RenderBoxModelObject::relativePositionOffsetY):
3079         (WebCore::RenderBoxModelObject::containingBlockWidthForContent):
3080         * rendering/RenderBoxModelObject.h:
3081         * rendering/RenderInline.cpp:
3082         (WebCore::RenderInline::marginLeft):
3083         (WebCore::RenderInline::marginRight):
3084         * rendering/RenderObject.cpp:
3085         * rendering/RenderObject.h:
3086         * rendering/RenderSVGContainer.cpp:
3087         (WebCore::RenderSVGContainer::calcReplacedWidth):
3088
3089 2009-02-12  Simon Fraser  <simon.fraser@apple.com>
3090
3091         Fix non-Mac builds by adding Matrix3DTransformOperation.* and
3092         PerspectiveTransformOperation.*. Cleaned out some cruft in
3093         the WebCore.vcproj fle.
3094
3095         * GNUmakefile.am:
3096         * WebCore.pro:
3097         * WebCore.scons:
3098         * WebCore.vcproj/WebCore.vcproj:
3099
3100 2009-02-12  David Smith  <catfish.man@gmail.com>
3101
3102         Reviewed by Dave Hyatt.
3103
3104         Fix https://bugs.webkit.org/show_bug.cgi?id=23935
3105         Nested :not() and non-simple selectors in :not() should be invalid
3106
3107         * css/CSSGrammar.y: Reject nested :not()
3108         * css/CSSStyleSelector.cpp:
3109         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ASSERT() rather than checking, since the parser enforces it now
3110
3111 2009-02-12  Kevin Ollivier  <kevino@theolliviers.com>
3112
3113         wx build fixes.
3114
3115         * WebCoreSources.bkl:
3116
3117 2009-02-12  Simon Fraser  <simon.fraser@apple.com>
3118
3119         Fix build with ACCELERATED_COMPOSITING turned on.
3120
3121         Need to cast toRenderBox() in order to call overflowClipRect().
3122
3123         * rendering/RenderLayerBacking.cpp:
3124         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3125
3126 2009-02-12  Oliver Hunt  <oliver@apple.com>
3127
3128         Reviewed by NOBODY (Build fix).
3129
3130         Fix windows build.
3131
3132         * css/CSSParser.h:
3133
3134 2009-02-12  David Hyatt  <hyatt@apple.com>
3135
3136         Rename getOverflowClipRect and getClipRect to overflowClipRect and clipRect.  Move them to RenderBox, since these methods
3137         only apply to boxes.  Devirtualize clipRect, since it was not subclassed.  Move controlClip stuff to RenderBox also.
3138
3139         Reviewed by Simon Fraser
3140
3141         * editing/Editor.cpp:
3142         (WebCore::Editor::insideVisibleArea):
3143         * rendering/RenderBox.cpp:
3144         (WebCore::RenderBox::overflowClipRect):
3145         (WebCore::RenderBox::clipRect):
3146         * rendering/RenderBox.h:
3147         (WebCore::RenderBox::hasControlClip):
3148         (WebCore::RenderBox::controlClipRect):
3149         * rendering/RenderForeignObject.cpp:
3150         (WebCore::RenderForeignObject::paint):
3151         * rendering/RenderLayer.cpp:
3152         (WebCore::RenderLayer::calculateClipRects):
3153         (WebCore::RenderLayer::calculateRects):
3154         * rendering/RenderLayerBacking.cpp:
3155         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3156         * rendering/RenderObject.h:
3157         (WebCore::RenderObject::hasClip):
3158         (WebCore::RenderObject::hasOverflowClip):
3159         * rendering/RenderTable.cpp:
3160         (WebCore::RenderTable::overflowClipRect):
3161         * rendering/RenderTable.h:
3162
3163 2009-02-12  Simon Fraser  <simon.fraser@apple.com>
3164
3165         Fix build with ACCELERATED_COMPOSITING turned on (simple copy/paste error)
3166
3167         * platform/graphics/mac/GraphicsLayerCA.mm:
3168         (WebCore::GraphicsLayerCA::setBasicAnimation):
3169
3170 2009-02-12  Julien Chaffraix  <jchaffraix@webkit.org>
3171
3172         Not reviewed.
3173
3174         Release build fix when VIDEO is disabled (it should also
3175         help the builds with WORKERS or XSLT disabled).
3176
3177         * bindings/js/JSDOMWindowBase.cpp:
3178         (jsDOMWindowBaseAudio): Added an UNUSED_PARAM for exec and slot when
3179         VIDEO is disabled.
3180         (jsDOMWindowBaseWorker): Ditto for WORKERS.
3181         (jsDOMWindowBaseXSLTProcessor): Ditto for XSLT.
3182
3183 2009-02-12  Eric Carlson  <eric.carlson@apple.com>
3184
3185         Reviewed by Simon Fraser.
3186
3187         https://bugs.webkit.org/show_bug.cgi?id=23923
3188         Implement mediaPlayerVolumeChanged so a media engine can report autonomous volume changes.
3189         Supporting this requires that we know when we are processing a media engine callback so
3190         we don't turn around and tell the media player to change the volume when it is reporting
3191         a volume change.
3192
3193         * html/HTMLMediaElement.cpp:
3194         (WebCore::HTMLMediaElement::HTMLMediaElement): initialize m_processingMediaPlayerCallback
3195         (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): call begin/endProcessingMediaPlayerCallback
3196         (WebCore::HTMLMediaElement::setNetworkState): logic split out of mediaPlayerNetworkStateChanged
3197         to make it easier to maintain m_processingMediaPlayerCallback.
3198         (WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged): call begin/endProcessingMediaPlayerCallback
3199         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Ditto.
3200         (WebCore::HTMLMediaElement::mediaPlayerRepaint): Ditto.
3201         (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged): New
3202         (WebCore::HTMLMediaElement::updateVolume): Don't change media engine volume if we are processing
3203         a callback from the engine.
3204         * html/HTMLMediaElement.h:
3205         (WebCore::HTMLMediaElement::processingMediaPlayerCallback): New, return true if (m_processingMediaPlayerCallback>0)
3206         (WebCore::HTMLMediaElement::beginProcessingMediaPlayerCallback): New, increment m_processingMediaPlayerCallback
3207         (WebCore::HTMLMediaElement::endProcessingMediaPlayerCallback): New, decrement m_processingMediaPlayerCallback
3208
3209 2009-02-12  Eric Carlson  <eric.carlson@apple.com>
3210
3211         Reviewed by Simon Fraser.
3212
3213         Support MPEG content on Mac and Windows.
3214         <rdar://problem/5917509>
3215         https://bugs.webkit.org/show_bug.cgi?id=23495
3216
3217         Test: media/audio-mpeg-supported.html
3218
3219         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3220         (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
3221
3222         * platform/graphics/win/QTMovieWin.cpp:
3223         (QTMovieWin::disableUnsupportedTracks):
3224
3225         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: fix typo added in r40925
3226
3227 2009-02-12  David Hyatt  <hyatt@apple.com>
3228
3229         Reviewed by Sam Weinig
3230
3231         Move containsFloats, hasOverhangingFloats, shrinkToAvoidFloats and avoidsFloats down to
3232         RenderBox, since these methods only apply to boxes.
3233
3234         * rendering/RenderBlock.cpp:
3235         (WebCore::RenderBlock::collapseMargins):
3236         (WebCore::RenderBlock::clearFloatsIfNeeded):
3237         (WebCore::RenderBlock::layoutBlockChildren):
3238         (WebCore::RenderBlock::clearFloats):
3239         (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
3240         (WebCore::RenderBlock::calcBlockPrefWidths):
3241         * rendering/RenderBlock.h:
3242         (WebCore::RenderBlock::containsFloats):
3243         (WebCore::RenderBlock::hasOverhangingFloats):
3244         * rendering/RenderBox.cpp:
3245         (WebCore::RenderBox::shrinkToAvoidFloats):
3246         (WebCore::RenderBox::avoidsFloats):
3247         * rendering/RenderBox.h:
3248         * rendering/RenderObject.cpp:
3249         * rendering/RenderObject.h:
3250         (WebCore::RenderObject::isFloatingOrPositioned):
3251         * rendering/RenderView.h:
3252
3253 2009-02-12  Chris Marrin  <cmarrin@apple.com>
3254
3255         Reviewed by Dave Hyatt
3256
3257         https://bugs.webkit.org/show_bug.cgi?id=23908
3258
3259         Added parsing of 3d transform functions and properties
3260         (perspective, perspective-origin, transform-style-3d,
3261         and backface-visibility).
3262
3263         Test: transforms/3d/cssmatrix-3d-interface.xhtml
3264
3265         * css/CSSComputedStyleDeclaration.cpp:
3266         (WebCore::):
3267         (WebCore::computedTransform):
3268         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3269         * css/CSSMutableStyleDeclaration.cpp:
3270         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
3271         * css/CSSParser.cpp:
3272         (WebCore::CSSParser::parseValue):
3273         (WebCore::CSSParser::parseFillProperty):
3274         (WebCore::CSSParser::parseTransformOriginShorthand):
3275         (WebCore::TransformOperationInfo::TransformOperationInfo):
3276         (WebCore::CSSParser::parseTransform):
3277         (WebCore::CSSParser::parseTransformOrigin):
3278         (WebCore::CSSParser::parsePerspectiveOrigin):
3279         * css/CSSParser.h:
3280         * css/CSSPrimitiveValue.h:
3281         (WebCore::CSSPrimitiveValue::isUnitTypeLength):
3282         * css/CSSPropertyNames.in:
3283         * css/CSSStyleSelector.cpp:
3284         (WebCore::CSSStyleSelector::adjustRenderStyle):
3285         (WebCore::convertToLength):
3286         (WebCore::CSSStyleSelector::applyProperty):
3287         (WebCore::CSSStyleSelector::mapFillSize):
3288         (WebCore::CSSStyleSelector::mapFillXPosition):
3289         (WebCore::CSSStyleSelector::mapFillYPosition):
3290         (WebCore::getTransformOperationType):
3291         (WebCore::CSSStyleSelector::createTransformOperations):
3292         * css/CSSValueKeywords.in:
3293         * css/WebKitCSSTransformValue.cpp:
3294         (WebCore::WebKitCSSTransformValue::cssText):
3295         * css/WebKitCSSTransformValue.h:
3296         (WebCore::WebKitCSSTransformValue::):
3297         * css/WebKitCSSTransformValue.idl:
3298         * platform/graphics/transforms/Matrix3DTransformOperation.cpp:
3299         * platform/graphics/transforms/Matrix3DTransformOperation.h:
3300         * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
3301         * platform/graphics/transforms/PerspectiveTransformOperation.h:
3302         * platform/graphics/transforms/RotateTransformOperation.cpp:
3303         (WebCore::RotateTransformOperation::blend):
3304         * platform/graphics/transforms/RotateTransformOperation.h:
3305         (WebCore::RotateTransformOperation::RotateTransformOperation):
3306         * platform/graphics/transforms/ScaleTransformOperation.h:
3307         (WebCore::ScaleTransformOperation::ScaleTransformOperation):
3308         * platform/graphics/transforms/TransformOperation.h:
3309         (WebCore::TransformOperation::is3DOperation):
3310         * platform/graphics/transforms/TransformOperations.h:
3311         (WebCore::TransformOperations::has3DOperation):
3312         * platform/graphics/transforms/TranslateTransformOperation.h:
3313         (WebCore::TranslateTransformOperation::TranslateTransformOperation):
3314
3315 2009-02-12  Kevin Ollivier  <kevino@theolliviers.com>
3316
3317         wx build fix.
3318
3319         * webcore-base.bkl:
3320
3321 2009-02-12  Brady Eidson  <beidson@apple.com>
3322
3323         Reviewed by Darin Adler
3324
3325         Fix potential ref-count or null-deref problems with C++ objects as Obj-C members.
3326
3327         * platform/mac/SharedBufferMac.mm: Change to use RefPtr<> instead of ref()/deref().
3328         (-[WebCoreSharedBufferData dealloc]):
3329         (-[WebCoreSharedBufferData finalize]):
3330         (-[WebCoreSharedBufferData initWithSharedBuffer:]):
3331
3332 2009-02-12  David Hyatt  <hyatt@apple.com>
3333
3334         Remove calcWidth from RenderObject.  Nobody ever called it on RenderObjects.
3335
3336         Reviewed by Sam Weinig
3337
3338         * rendering/RenderObject.h:
3339
3340 2009-02-12  David Hyatt  <hyatt@apple.com>
3341
3342         Reviewed by Mark Rowe
3343
3344         Fix for regression where form controls would paint yellow highlights.  The containsComposition check needs to
3345         null check node() now.
3346
3347         * rendering/InlineTextBox.cpp:
3348         (WebCore::InlineTextBox::paint):
3349
3350 2009-02-12  Simon Fraser  <simon.fraser@apple.com>
3351
3352         Build fix
3353
3354         Change Animation::setDirection() to take the new enum value, and fix
3355         the single caller.
3356
3357         Fix build error in MediaPlayerPrivateQTKit.h.
3358
3359         * css/CSSStyleSelector.cpp:
3360         (WebCore::CSSStyleSelector::mapAnimationDirection):
3361         * platform/animation/Animation.h:
3362         (WebCore::Animation::setDirection):
3363         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
3364
3365 2009-02-12  David Hyatt  <hyatt@apple.com>
3366
3367         Reviewed by Simon Fraser
3368
3369         Remove the overrideSize methods from RenderObject.  Devirtualize all of the accessors on RenderBox.
3370
3371         * rendering/RenderBox.h:
3372         * rendering/RenderObject.h:
3373
3374 2009-02-12  Eric Carlson  <eric.carlson@apple.com>
3375
3376         Darin Adler, Antti Koivisto, Holger Hans Peter Freyther
3377
3378         Bug 23797: A platform should be able to use more than one media engine for <video> and <audio>
3379         https://bugs.webkit.org/show_bug.cgi?id=23797
3380
3381         * WebCore.xcodeproj/project.pbxproj: add MediaPlayerPrivate.h
3382
3383         * html/HTMLMediaElement.cpp:
3384         (WebCore::HTMLMediaElement::load): selectMediaURL now also returns a MIME type, pass it to
3385         MediaPlayer::load so it can choose the right media engine
3386         (WebCore::HTMLMediaElement::selectMediaURL): renamed from pickMedia. use MIMETypeRegistry
3387         functions to strip params from the url and extract the codecs parameter. call
3388         MediaPlayer::supportsType to see if we can open the file since only a media engine can
3389         answer questions about supported type+codecs.
3390         * html/HTMLMediaElement.h:
3391
3392         * platform/MIMETypeRegistry.cpp:
3393         (WebCore::MIMETypeRegistry::getParameterFromMIMEType): New, find and return a MIME type parameter
3394         (WebCore::MIMETypeRegistry::stripParametersFromMIMEType): New, strip all parameters from a MIME type
3395         * platform/MIMETypeRegistry.h:
3396
3397         * platform/graphics/MediaPlayer.cpp:
3398         (WebCore::NullMediaPlayerPrivate::NullMediaPlayerPrivate):
3399         (WebCore::NullMediaPlayerPrivate::load):
3400         (WebCore::NullMediaPlayerPrivate::cancelLoad):
3401         (WebCore::NullMediaPlayerPrivate::play):
3402         (WebCore::NullMediaPlayerPrivate::pause):
3403         (WebCore::NullMediaPlayerPrivate::naturalSize):
3404         (WebCore::NullMediaPlayerPrivate::hasVideo):
3405         (WebCore::NullMediaPlayerPrivate::setVisible):
3406         (WebCore::NullMediaPlayerPrivate::duration):
3407         (WebCore::NullMediaPlayerPrivate::currentTime):
3408         (WebCore::NullMediaPlayerPrivate::seek):
3409         (WebCore::NullMediaPlayerPrivate::seeking):
3410         (WebCore::NullMediaPlayerPrivate::setEndTime):
3411         (WebCore::NullMediaPlayerPrivate::setRate):
3412         (WebCore::NullMediaPlayerPrivate::paused):
3413         (WebCore::NullMediaPlayerPrivate::setVolume):
3414         (WebCore::NullMediaPlayerPrivate::networkState):
3415         (WebCore::NullMediaPlayerPrivate::readyState):
3416         (WebCore::NullMediaPlayerPrivate::maxTimeSeekable):
3417         (WebCore::NullMediaPlayerPrivate::maxTimeBuffered):
3418         (WebCore::NullMediaPlayerPrivate::dataRate):
3419         (WebCore::NullMediaPlayerPrivate::totalBytesKnown):
3420         (WebCore::NullMediaPlayerPrivate::totalBytes):
3421         (WebCore::NullMediaPlayerPrivate::bytesLoaded):
3422         (WebCore::NullMediaPlayerPrivate::setRect):
3423         (WebCore::NullMediaPlayerPrivate::paint):
3424         (WebCore::createNullMediaPlayer):
3425         Do nothing media player so MediaPlayer doesn't have to NULL check before calling current engine.
3426
3427         (WebCore::MediaPlayerFactory::MediaPlayerFactory): New, factory constructor.
3428         (WebCore::installedMediaEngines): New, returns vector of all installed engines.
3429         (WebCore::addMediaEngine): New, add a media engine to the cache.
3430         (WebCore::chooseBestEngineForTypeAndCodecs): New, return an engine that might support a MIME type.
3431         (WebCore::MediaPlayer::MediaPlayer): create NULL media player so we have a default. Initialize m_currentMediaEngine.
3432         (WebCore::MediaPlayer::~MediaPlayer): don't need to delete m_private, it is now an OwnPtr.
3433         (WebCore::MediaPlayer::load): Take MIME type as well as url, since we need it to find the right
3434           media engine. If no MIME type is provided, try to devine one from the url. Choose a media engine
3435           based on the MIME type and codecs parameter.
3436         (WebCore::MediaPlayer::currentTime): Remove excess white space.
3437         (WebCore::MediaPlayer::supportsType): Take codecs param as well as MIME type. Return enum so we can
3438         indicate "maybe" condition.
3439         (WebCore::MediaPlayer::getSupportedTypes): Build up list of MIME types by consulting all engines.
3440         (WebCore::MediaPlayer::isAvailable): return true if any media engine is installed.
3441
3442         * platform/graphics/MediaPlayer.h:
3443         (WebCore::MediaPlayer::):
3444         (WebCore::MediaPlayer::frameView): accessor function.
3445
3446         * platform/graphics/MediaPlayerPrivate.h: New, declares abstract interface for media engines.
3447         (WebCore::MediaPlayerPrivateInterface::~MediaPlayerPrivateInterface):
3448         (WebCore::MediaPlayerPrivateInterface::totalBytesKnown):
3449
3450         * platform/graphics/chromium/MediaPlayerPrivateChromium.h: Add support for engine factory
3451
3452         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3453         (WebCore::MediaPlayerPrivate::create): New, media engine factory function
3454         (WebCore::MediaPlayerPrivate::registerMediaEngine): Register engine with MediaPlayer factory
3455         (WebCore::MediaPlayerPrivate::load): URL is a const String.
3456         (WebCore::MediaPlayerPrivate::duration): Declare const.
3457         (WebCore::MediaPlayerPrivate::naturalSize): Ditto.
3458         (WebCore::MediaPlayerPrivate::hasVideo): Ditto.
3459         (WebCore::MediaPlayerPrivate::networkState): Ditto.
3460         (WebCore::MediaPlayerPrivate::readyState): Ditto.
3461         (WebCore::MediaPlayerPrivate::maxTimeBuffered): Ditto.
3462         (WebCore::MediaPlayerPrivate::maxTimeSeekable): Ditto.
3463         (WebCore::MediaPlayerPrivate::maxTimeLoaded): Ditto.
3464         (WebCore::MediaPlayerPrivate::bytesLoaded): Ditto.
3465         (WebCore::MediaPlayerPrivate::totalBytesKnown): Ditto.
3466         (WebCore::MediaPlayerPrivate::totalBytes): Ditto.
3467         (WebCore::MediaPlayerPrivate::supportsType): Return MediaPlayer::SupportsType enum instead of bool.
3468         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
3469         (WebCore::MediaPlayerPrivate::isAvailable):
3470
3471         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
3472         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3473         (WebCore::MediaPlayerPrivateQTKit::create): New, media engine factory function
3474         (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): Register engine with MediaPlayer factory
3475         (WebCore::MediaPlayerPrivate::createQTMovieView): don't access MediaPlayer->m_frameView directly,
3476         use accessor function.
3477         (WebCore::MediaPlayerPrivate::setUpVideoRendering): Ditto.
3478         (WebCore::MediaPlayerPrivate::paint): Ditto.
3479         (WebCore::mimeTypeCache): New.
3480         (WebCore::MediaPlayerPrivate::getSupportedTypes): New, media engine factory function.
3481         (WebCore::MediaPlayerPrivate::supportsType): return MediaPlayer::SupportsType enum instead of bool
3482         (-[WebCoreMovieObserver initWithCallback:]): fix formatting
3483
3484         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
3485         (WebCore::MediaPlayerPrivate::create):
3486         (WebCore::MediaPlayerPrivate::registerMediaEngine):
3487         (WebCore::MediaPlayerPrivate::supportsType):
3488         (WebCore::MediaPlayerPrivate::load): URL is a const String.
3489         * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
3490         (WebCore::MediaPlayerPrivate::isAvailable):
3491
3492         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
3493         (WebCore::MediaPlayerPrivate::create): New, media engine factory function
3494         (WebCore::MediaPlayerPrivate::registerMediaEngine): New, register engine with MediaPlayer factory
3495         (WebCore::MediaPlayerPrivate::load): URL is a const String.
3496         (WebCore::MediaPlayerPrivate::paint): don't access MediaPlayer->m_frameView directly,
3497         use accessor function.
3498         (WebCore::mimeTypeCache): New.
3499         (WebCore::MediaPlayerPrivateQTWin::getSupportedTypes): New, media engine factory function.
3500         (WebCore::MediaPlayerPrivateQTWin::supportsType): return MediaPlayer::SupportsType enum instead of bool
3501         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
3502
3503 2009-02-12  Julien Chaffraix  <jchaffraix@webkit.org>
3504
3505         Reviewed by Darin Adler.
3506
3507         Test: fast/dom/prefixed-image-tag.xhtml
3508
3509         Bug 23915: Remove setPrefix work-around in Document::createElement(QualifiedName, bool)
3510
3511         Instead we now directly propage the QualifiedName inside the generated Factory.
3512
3513         Test: fast/dom/prefixed-image-tag.xhtml
3514
3515         * dom/Document.cpp:
3516         (WebCore::Document::createElement): Removed the setPrefix work-around
3517         and replaced it with an ASSERT to catch mistakes inside the Factory code.
3518         Remove the unneeded ExceptionCode argument.
3519
3520         (WebCore::Document::createElementNS): Removed ExceptionCode argument.
3521         * dom/Document.h: Updated the signature.
3522         * dom/XMLTokenizerLibxml2.cpp:
3523         (WebCore::XMLTokenizer::startElementNs): Removed ExceptionCode argument.
3524         * dom/XMLTokenizerQt.cpp: Ditto.
3525         (WebCore::XMLTokenizer::parseStartElement): Ditto.
3526
3527         * dom/make_names.pl: Implemented the QualifiedName propogation logic
3528         in the Factory.
3529
3530 2009-02-12  Simon Fraser  <simon.fraser@apple.com>
3531
3532         Reviewed by Dave Hyatt
3533
3534         https://bugs.webkit.org/show_bug.cgi?id=23188
3535
3536         Define enum values for Animation::direction(), and one for
3537         IterationCountInfinite to make the code more self-documenting.
3538
3539         Order the member vars of Animation to optimize packing.
3540
3541         * css/CSSComputedStyleDeclaration.cpp:
3542         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3543         * platform/animation/Animation.cpp:
3544         (WebCore::Animation::Animation):
3545         (WebCore::Animation::operator=):
3546         (WebCore::Animation::animationsMatch):
3547         * platform/animation/Animation.h:
3548         (WebCore::Animation::):
3549         (WebCore::Animation::direction):
3550         (WebCore::Animation::initialAnimationDirection):
3551         * platform/graphics/mac/GraphicsLayerCA.mm:
3552         (WebCore::GraphicsLayerCA::setBasicAnimation):
3553         (WebCore::GraphicsLayerCA::setKeyframeAnimation):
3554
3555 2009-02-12  Christian Dywan  <christian@twotoasts.de>
3556
3557         Reviewed by Holger Freyther.
3558
3559         * platform/network/soup/ResourceHandleSoup.cpp:
3560         (WebCore::ResourceHandle::startHttp): Don't use O_CLOEXEC for now.
3561
3562 2009-02-12  Julien Chaffraix  <jchaffraix@webkit.org>
3563
3564         Reviewed by Darin Adler.
3565
3566         Bug 23826: Potential bug with before/after rule while moving element from one document to another
3567
3568         Moved the document before/after toggle from the constructor to insertedIntoDocument.
3569
3570         Test: fast/css-generated-content/beforeAfter-interdocument.html
3571
3572         * html/HTMLQuoteElement.cpp:
3573         (WebCore::HTMLQuoteElement::HTMLQuoteElement):
3574         (WebCore::HTMLQuoteElement::insertedIntoDocument):
3575         * html/HTMLQuoteElement.h:
3576
3577 2009-02-12  David Hyatt  <hyatt@apple.com>
3578
3579         Reviewed by Simon Fraser
3580
3581         Fix for https://bugs.webkit.org/show_bug.cgi?id=23912
3582
3583         I have no idea why this broke.  As far as I can tell the old code never should have worked in
3584         the first place.  Add code to handleWheelEvent that will find an enclosing renderer for a node
3585         in order to attempt a wheel scroll.
3586
3587         * page/EventHandler.cpp:
3588         (WebCore::EventHandler::handleWheelEvent):
3589
3590 2009-02-12  David Hyatt  <hyatt@apple.com>
3591
3592         Move the functions that paint borders, box shadows and border images into RenderBoxModelObject.  drawBorder and drawBorderArc, because they are used
3593         for outlines as well as borders, need to stay in RenderObject.  Rename them to drawLineForBoxSide and drawArcForBoxSide in order to reflect their
3594         more generic use.  Rename the BorderSide struct to BoxSide, since the concept of "side" is just a rectangle concept and not a border concept.
3595
3596         Reviewed by Simon Fraser
3597
3598         * rendering/InlineFlowBox.cpp:
3599         (WebCore::InlineFlowBox::paintFillLayer):
3600         (WebCore::InlineFlowBox::paintBoxShadow):
3601         (WebCore::InlineFlowBox::paintBoxDecorations):
3602         (WebCore::InlineFlowBox::paintMask):
3603         * rendering/RenderBlock.cpp:
3604         (WebCore::RenderBlock::paintColumns):
3605         * rendering/RenderBoxModelObject.cpp:
3606         (WebCore::RenderBoxModelObject::paintNinePieceImage):
3607         (WebCore::RenderBoxModelObject::paintBorder):
3608         (WebCore::RenderBoxModelObject::paintBoxShadow):
3609         * rendering/RenderBoxModelObject.h:
3610         * rendering/RenderFieldset.cpp:
3611         (WebCore::RenderFieldset::paintBorderMinusLegend):
3612         * rendering/RenderInline.cpp:
3613         (WebCore::RenderInline::paintOutlineForLine):
3614         * rendering/RenderObject.cpp:
3615         (WebCore::RenderObject::drawLineForBoxSide):
3616         (WebCore::RenderObject::drawArcForBoxSide):
3617         (WebCore::RenderObject::paintOutline):
3618         * rendering/RenderObject.h:
3619         (WebCore::):
3620         (WebCore::RenderObject::hasBoxDecorations):
3621         * rendering/RenderTableCell.cpp: