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