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