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