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