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