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