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