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