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