2009-11-26 Søren Gjesse <sgjesse@chromium.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2009-11-26  Søren Gjesse  <sgjesse@chromium.org>
2
3         Reviewed by Pavel Feldman.
4
5         [V8] Avoid using JavaScript objects as context data
6         https://bugs.webkit.org/show_bug.cgi?id=31873
7
8         Change the context "data" from a JavaScript object holding the two properties type and value to
9         a string holding type and value separated by a comma.
10
11         * bindings/v8/V8Proxy.cpp:
12         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
13         (WebCore::V8Proxy::setContextDebugId):
14         (WebCore::V8Proxy::contextDebugId):
15
16 2009-11-25  Dimitri Glazkov  <dglazkov@chromium.org>
17
18         Reviewed by David Levin.
19
20         [Chromium] Implement canSetValueAttribute in the API, the clean-up part.
21         https://bugs.webkit.org/show_bug.cgi?id=31894
22
23         * accessibility/chromium/AccessibilityObjectWrapper.h: Added RefCounted decl.
24         (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper): Removed mis-refcountingness.
25
26 2009-11-25  Kenneth Russell  <kbr@google.com>
27
28         Reviewed by Oliver Hunt.
29
30         Off-by-one error in index validation for drawElements and drawArrays
31         https://bugs.webkit.org/show_bug.cgi?id=31891
32
33         Fixed computation of number of elements for bound array objects.
34
35         Test: fast/canvas/webgl/index-validation.html
36
37         * html/canvas/WebGLRenderingContext.cpp:
38         (WebCore::WebGLRenderingContext::vertexAttribPointer):
39
40 2009-11-25  Dmitry Titov  <dimich@chromium.org>
41
42         Reviewed by David Levin.
43
44         Update SharedScript to use eventNames() instead of EventNames()
45         https://bugs.webkit.org/show_bug.cgi?id=31890
46
47         * SharedScript/WebKitSharedScript.cpp:
48         (WebCore::LoadEventTask::performTask):
49
50 2009-11-25  Eric Carlson  <eric.carlson@apple.com>
51
52         Reviewed by Simon Fraser.
53
54         <rdar://problem/7409331> Windows: Support closed caption in <video> element
55
56         Enable closed captions in QuickTime/Windows media engine.
57
58         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
59         (WebCore::MediaPlayerPrivate::hasClosedCaptions):
60         (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
61             New, all through to m_qtMovie.
62
63         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
64             Make all but the destructor private since MediaPlayer call through the media
65             engine interface.
66
67         * platform/graphics/win/QTMovieWin.cpp:
68         (QTMovieWin::disableUnsupportedTracks):
69             Use handy new constants for QuickTime track types.
70         (QTMovieWin::hasClosedCaptions):
71         (QTMovieWin::setClosedCaptionsVisible):
72             New, closed caption support.
73         * platform/graphics/win/QTMovieWin.h:
74
75         * rendering/RenderMediaControls.cpp:
76         (WebCore::RenderMediaControls::paintMediaControlsPart):
77             Deal with closed caption buttons.
78
79         * rendering/RenderThemeWin.cpp:
80         (WebCore::RenderThemeWin::shouldRenderMediaControlPart):
81             New, don't ask the media engine if it has closed captions unless the Safari theme will
82             be able to render the button.
83         (WebCore::RenderThemeWin::paintMediaToggleClosedCaptionsButton):
84             New.
85         * rendering/RenderThemeWin.h:
86
87 2009-11-25  Drew Wilson  <atwilson@chromium.org>
88
89         Reviewed by David Levin.
90
91         MessagePorts always look remotely entangled even when closed.
92         https://bugs.webkit.org/show_bug.cgi?id=31698
93
94         Tests: Existing tests suffice, Chromium soak test passes now.
95
96         * bindings/v8/custom/V8CustomBinding.h:
97         Removed kMessagePortEntangledPortIndex which is no longer used.
98         * bindings/v8/V8GCController.cpp:
99         (WebCore::GCPrologueVisitor::visitDOMWrapper):
100         Simplified GC code to reflect the Chromium MessagePort implementation
101         (locallyEntangledPort() always returns false).
102         (WebCore::GCEpilogueVisitor::visitDOMWrapper):
103         Cleaned up epilogue code to handle the case where the port gets closed
104         in mid-GC (due to the parent context being freed).
105         * dom/MessagePort.cpp:
106         (WebCore::MessagePort::MessagePort):
107         (WebCore::MessagePort::close):
108         Now sets the closed flag.
109         (WebCore::MessagePort::disentanglePorts):
110         Updated to use new isCloned() API instead of relying on isEntangled(), which was incorrect.
111         * dom/MessagePort.h:
112         Added a m_closed flag and updated isEntangled() to check it.
113         (WebCore::MessagePort::isEntangled):
114         Now returns false if the port has been closed.
115         (WebCore::MessagePort::isCloned):
116         Added new API to differentiate between cloned and closed ports (closed ports can still be passed to postMessage).
117
118 2009-11-25  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
119
120         Reviewed by Simon Hausmann.
121
122         [Qt] Fix crash of QtWebKit on any page with Flash when compiled with MinGW.
123
124         Fix inline assembly, don't dereference the function pointer twice.
125
126         * plugins/win/PluginViewWin.cpp:
127         (WebCore::PluginView::hookedBeginPaint):
128         (WebCore::PluginView::hookedEndPaint):
129
130 2009-11-22  Jakub Wieczorek  <faw217@gmail.com>
131
132         Reviewed by Adam Barth.
133
134         [Qt] Remove the Referer header when redirecting to a non-secure site
135         https://bugs.webkit.org/show_bug.cgi?id=31785
136
137         This makes Qt pass two tests introduced in r50226.
138
139         * platform/network/qt/QNetworkReplyHandler.cpp:
140         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
141
142 2009-11-25  Andrei Popescu  <andreip@google.com>
143
144         Reviewed by Dimitri Glazkov.
145
146         The select elements do not reflect the actual choice the user makes.
147         https://bugs.webkit.org/show_bug.cgi?id=31831
148
149         Handle the drawing of the listboxes in Android code.
150
151         No new features, just fixing an Android problem. Existing layout tests are sufficient.
152
153         * platform/android/RenderThemeAndroid.cpp:
154         (WebCore::theme):
155         (WebCore::RenderThemeAndroid::platformActiveSelectionBackgroundColor):
156         (WebCore::RenderThemeAndroid::platformActiveListBoxSelectionBackgroundColor):
157         (WebCore::RenderThemeAndroid::platformInactiveListBoxSelectionBackgroundColor):
158         (WebCore::RenderThemeAndroid::platformActiveListBoxSelectionForegroundColor):
159         (WebCore::RenderThemeAndroid::platformInactiveListBoxSelectionForegroundColor):
160         (WebCore::RenderThemeAndroid::adjustButtonStyle):
161         (WebCore::RenderThemeAndroid::paintTextArea):
162         (WebCore::RenderThemeAndroid::adjustListboxStyle):
163         * platform/android/RenderThemeAndroid.h:
164
165 2009-11-25  Alexander Pavlov  <apavlov@chromium.org>
166
167         Reviewed by Pavel Feldman.
168
169         Load InspectorResource mime type from CachedResource for 304 responses
170
171         For network libraries that do not merge cache data into 304 ResourceResponses,
172         the mime type for cached resources is unknown.
173         https://bugs.webkit.org/show_bug.cgi?id=31868
174
175         * inspector/InspectorResource.cpp:
176         (WebCore::InspectorResource::updateResponse):
177         (WebCore::InspectorResource::updateScriptObject):
178         (WebCore::InspectorResource::type):
179
180 2009-11-25  Andrei Popescu  <andreip@google.com>
181
182         Reviewed by Eric Seidel.
183
184         Android is missing implementation of SSL Key generator functions.
185         https://bugs.webkit.org/show_bug.cgi?id=31825
186
187         This change adds the PlatformBridge class to platform/android.
188         PlarformBridge is used to access the embedding layer for things
189         such as key generator, cookies, plugins, etc.
190
191         No new tests required, this is platform code.
192
193         * platform/android/PlatformBridge.h: Added.
194         * platform/android/SSLKeyGeneratorAndroid.cpp: Added.
195         (WebCore::getSupportedKeySizes):
196         (WebCore::signedPublicKeyAndChallengeString):
197
198 2009-11-25  Philippe Normand  <pnormand@igalia.com>
199
200         Reviewed by Eric Seidel.
201
202         [GTK] use gst_init_check() instead of gst_init()
203         https://bugs.webkit.org/show_bug.cgi?id=31864
204
205         Use gst_init_check() instead of gst_init() to prevent eventual
206         unexpected exit of the application.
207
208         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
209         (WebCore::do_gst_init):
210         (WebCore::MediaPlayerPrivate::isAvailable):
211
212 2009-11-25  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
213
214         Reviewed by Xan Lopez.
215
216         Some tests are crashing from time to time
217         https://bugs.webkit.org/show_bug.cgi?id=31866
218
219         Make sure we do not notify the client of a finished load, if the
220         load has been cancelled, or the client is gone.
221
222         * platform/network/soup/ResourceHandleSoup.cpp:
223         (WebCore::):
224
225 2009-11-24  Ben Murdoch  <benm@google.com>
226
227         Reviewed by Eric Seidel.
228
229         [Android] Upstream Android changes to WebCore/bridge/jni
230         https://bugs.webkit.org/show_bug.cgi?id=31824
231
232         No new tests required as no new functionality.
233
234         * bridge/jni/jni_class.cpp:
235         (JavaClass::JavaClass): Add calls to delete allocated references, to avoid potential leaks.
236         * bridge/jni/jni_instance.cpp: Add an Android include path.
237         * bridge/jni/jni_instance.h: Add getter/setter for JObjectWrapper::_instance and make the JavaInstance ctor and member variables protected. Both needed for the Android port, see bug for discussion.
238         (JSC::Bindings::JObjectWrapper::instance): Added.
239         (JSC::Bindings::JObjectWrapper::setInstance): Added.
240         * bridge/jni/jni_runtime.cpp:
241         (JavaMethod::JavaMethod): Delete an allocated reference to avoid a potential leak.
242         * bridge/jni/jni_utility.h:
243         (JSC::Bindings::callJNIMethodV): Delete an allocated reference to avoid a potential leak.
244
245 2009-11-24  Zoltan Horvath  <zoltan@webkit.org>
246
247         Reviewed by Eric Seidel.
248
249         Allow custom memory allocation control for classes of the plugins and rendering directory in WebCore
250         https://bugs.webkit.org/show_bug.cgi?id=31827
251
252         Inherits the following classes from Noncopyable because these are instantiated
253         by 'new' and no need to be copyable:
254
255         class/struct name               - instantiated at: WebCore/'location'
256
257         class PluginRequest             - plugins/PluginView.cpp:521
258         class PluginMainThreadScheduler - plugins/PluginMainThreadScheduler.cpp:34
259         class PluginDatabase            - plugins/PluginDatabase.cpp:50
260         struct MimeClassInfo            - plugins/PluginInfoStore.cpp:50
261         struct PluginInfo               - plugins/PluginInfoStore.cpp:40
262         class RenderArena               - dom/Document.cpp:1401
263         class RenderImageScaleData      - rendering/RenderImage.cpp:149
264         class TableLayout               - (its child class) rendering/RenderTable.cpp:82
265         struct ColumnInfo               - rendering/RenderBlock.cpp:3590
266         struct FloatingObject           - rendering/RenderBlock.cpp:2300
267         struct MaxMargin                - rendering/RenderBlock.cpp:4794
268         class RenderMarquee             - rendering/RenderLayer.cpp:3277
269
270         * plugins/PluginData.h:
271         * plugins/PluginDatabase.h:
272         * plugins/PluginMainThreadScheduler.h:
273         * plugins/PluginView.h:
274         * rendering/RenderArena.h:
275         * rendering/RenderBlock.cpp:
276         * rendering/RenderBlock.h:
277         * rendering/RenderImage.cpp:
278         * rendering/RenderMarquee.h:
279         * rendering/TableLayout.h:
280
281 2009-11-24  Dmitry Titov  <dimich@chromium.org>
282
283         Reviewed by David Levin.
284
285         Initial implementation of WebKitSharedScript and SharedScriptContext
286         https://bugs.webkit.org/show_bug.cgi?id=31569
287
288         No new tests since there are no bindings yet (soon to come).
289
290         * DerivedSources.make: Add WebKitSharedScript and SharedScriptContext to a list of idl files.
291         * WebCore.xcodeproj/project.pbxproj:
292         * dom/Document.cpp:
293         (WebCore::Document::detach): Notify WebKitSharedScriptRepository that document is detaching.
294         * dom/EventTarget.cpp: Add new casting methods, since the new types are EventTargets.
295         (WebCore::EventTarget::toWebKitSharedScript):
296         (WebCore::EventTarget::toSharedScriptContext):
297         * dom/EventTarget.h: Ditto
298         * dom/ScriptExecutionContext.h:
299         (WebCore::ScriptExecutionContext::isSharedScriptContext): New virtual method, since there is a new type of context.
300
301         * SharedScript/SharedScriptContext.cpp: Added. Similar to WorkerContext, but w/o threading.
302         (WebCore::SharedScriptContext::SharedScriptContext):
303         (WebCore::SharedScriptContext::~SharedScriptContext):
304         (WebCore::SharedScriptContext::clearScript):
305         (WebCore::SharedScriptContext::virtualURL):
306         (WebCore::SharedScriptContext::virtualCompleteURL):
307         (WebCore::SharedScriptContext::reportException):
308         (WebCore::SharedScriptContext::addMessage):
309         (WebCore::SharedScriptContext::resourceRetrievedByXMLHttpRequest):
310         (WebCore::SharedScriptContext::scriptImported):
311         (WebCore::SharedScriptContext::matches):
312         (WebCore::SharedScriptContext::addToDocumentsList):
313         (WebCore::SharedScriptContext::destructionTimerFired):
314         (WebCore::SharedScriptContext::removeFromDocumentList):
315         (WebCore::SharedScriptContext::load):
316         (WebCore::SharedScriptContext::postTask):
317         (WebCore::SharedScriptContext::eventTargetData):
318         (WebCore::SharedScriptContext::ensureEventTargetData):
319         (WebCore::SharedScriptContext::scriptExecutionContext):
320         * SharedScript/SharedScriptContext.h: Added.
321         (WebCore::SharedScriptContext::create):
322         (WebCore::SharedScriptContext::isSharedScriptContext):
323         (WebCore::SharedScriptContext::userAgent):
324         (WebCore::SharedScriptContext::toSharedScriptContext):
325         (WebCore::SharedScriptContext::self):
326         (WebCore::SharedScriptContext::script):
327         (WebCore::SharedScriptContext::loaded):
328         (WebCore::SharedScriptContext::name):
329         (WebCore::SharedScriptContext::refEventTarget):
330         (WebCore::SharedScriptContext::derefEventTarget):
331         (WebCore::SharedScriptContext::refScriptExecutionContext):
332         (WebCore::SharedScriptContext::derefScriptExecutionContext):
333         * SharedScript/SharedScriptContext.idl: Added.
334
335         * SharedScript/SharedScriptController.h: 
336         Added. Empty implementation of a ScriptController, will come later as part of bindings. Needed to compile.
337
338         * SharedScript/WebKitSharedScript.cpp: Added. EventTarget-based DOM object.
339         (WebCore::WebKitSharedScript::WebKitSharedScript):
340         (WebCore::WebKitSharedScript::~WebKitSharedScript):
341         (WebCore::WebKitSharedScript::setContext):
342         (WebCore::LoadEventTask::create): Fires asynchronous 'load' event when underlying SharedScriptContext is initialized.
343         (WebCore::LoadEventTask::performTask):
344         (WebCore::LoadEventTask::LoadEventTask):
345         (WebCore::WebKitSharedScript::scheduleLoadEvent):
346         * SharedScript/WebKitSharedScript.h: Added.
347         (WebCore::WebKitSharedScript::create):
348         (WebCore::WebKitSharedScript::scriptExecutionContext):
349         (WebCore::WebKitSharedScript::toWebKitSharedScript):
350         (WebCore::WebKitSharedScript::context):
351         (WebCore::WebKitSharedScript::refEventTarget):
352         (WebCore::WebKitSharedScript::derefEventTarget):
353         (WebCore::WebKitSharedScript::eventTargetData):
354         (WebCore::WebKitSharedScript::ensureEventTargetData):
355         * SharedScript/WebKitSharedScript.idl: Added.
356
357         * SharedScript/WebKitSharedScriptRepository.cpp: Added. Implements a list of running SharedScriptContexts.
358         (WebCore::ScriptLoader::ScriptLoader): The helper class to load an initial script of SharedScriptContext.
359         (WebCore::ScriptLoader::load):
360         (WebCore::ScriptLoader::notifyFinished):
361         (WebCore::WebKitSharedScriptRepository::instance): Repository has a static global instance.
362         (WebCore::WebKitSharedScriptRepository::connect):
363         (WebCore::WebKitSharedScriptRepository::documentDetached): Called from Document::detach().
364         (WebCore::WebKitSharedScriptRepository::removeSharedScriptContext): Called from ~SharedScriptContext().
365         (WebCore::WebKitSharedScriptRepository::connectToSharedScript):
366         (WebCore::WebKitSharedScriptRepository::getSharedScriptContext):
367         * SharedScript/WebKitSharedScriptRepository.h: Added.
368         (WebCore::WebKitSharedScriptRepository::WebKitSharedScriptRepository):
369
370 2009-11-24  Dmitry Titov  <dimich@chromium.org>
371
372         Reviewed by Eric Seidel.
373
374         Add ENABLE_SHARED_SCRIPT feature define and flag for build-webkit
375         https://bugs.webkit.org/show_bug.cgi?id=31444
376
377         * Configurations/FeatureDefines.xcconfig:
378         * GNUmakefile.am:
379         * WebCore.pro:
380
381 2009-11-24  Chris Marrin  <cmarrin@apple.com>
382
383         Reviewed by Simon Fraser.
384
385         Implement accelerated compositing
386         https://bugs.webkit.org/show_bug.cgi?id=27314
387         
388         This part of the checkin adds the Windows specific GraphicsLayer support files.
389         It provides the interface between GraphicsLayer and CACF. It also deals with
390         the compositing loop, and provides the plumbing to pass the root layer up to
391         WebView.
392
393         * WebCore.vcproj/WebCore.vcproj:
394         * WebCore.vcproj/WebCoreCommon.vsprops:
395         * page/FrameView.cpp:
396         (WebCore::FrameView::syncCompositingStateRecursive):
397         * platform/graphics/GraphicsLayer.cpp:
398         (WebCore::GraphicsLayer::GraphicsLayer):
399         * platform/graphics/GraphicsLayer.h:
400         * platform/graphics/win/GraphicsLayerCACF.cpp: Added.
401         * platform/graphics/win/GraphicsLayerCACF.h: Added.
402         * platform/graphics/win/WKCACFContextFlusher.cpp: Added.
403         * platform/graphics/win/WKCACFContextFlusher.h: Added.
404         * platform/graphics/win/WKCACFContextFlusherWin.cpp: Added.
405         * platform/graphics/win/WKCACFLayer.cpp: Added.
406         * platform/graphics/win/WKCACFLayer.h: Added.
407         * platform/graphics/win/WKCACFLayerWindow.cpp: Added.
408         * platform/graphics/win/WKCACFLayerWindow.h: Added.
409
410 2009-11-24  Chris Marrin  <cmarrin@apple.com>
411
412         Reviewed by Eric Seidel.
413
414         Do error checking of parameter to createShader
415         https://bugs.webkit.org/show_bug.cgi?id=31808
416
417         Test: fast/canvas/webgl/invalidPassedParams.html
418
419         * html/canvas/WebGLRenderingContext.cpp:
420         (WebCore::WebGLRenderingContext::createShader):
421         * html/canvas/WebGLRenderingContext.h:
422         * html/canvas/WebGLRenderingContext.idl:
423
424 2009-11-24  Kent Tamura  <tkent@chromium.org>
425
426         Reviewed by Eric Seidel.
427
428         [Chromium] Ignore line-height CSS property specified to a search field on
429         Windows and Linux.
430         https://bugs.webkit.org/show_bug.cgi?id=31820
431
432         LayoutTests/fast/forms/control-restrict-line-height.html checks that the
433         following controls should ignore line-height CSS property.
434          - <select>
435          - <input type=button>
436          - <input type=search>
437         This change addresses the <input type=search> issue with Chromium/Windows
438         and Chromium/Linux.
439
440         * rendering/RenderThemeChromiumSkia.cpp:
441         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldStyle): Implement this to ignore line-height.
442         * rendering/RenderThemeChromiumSkia.h: Declare adjustSearchFieldStyle().
443
444 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
445
446         No review.
447
448         Stylistic fix: indent the member var initialisation.
449
450         * platform/graphics/mac/GraphicsLayerCA.mm:
451         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
452
453 2009-11-24  Gavin Barraclough  <barraclough@apple.com>
454
455         Reviewed by Geoff Garen.
456
457         Bug 31848 - Remove uses of mainThreadCurrentWorld, and of currentWorld using a globalData.
458
459         These methods get the world from the global data rather than from an execstate.
460         If the current world is always read from an exec state then it can be read
461         from the global object, and world entry can become automagical, rather than
462         being explicitly set by an EnterDOMWrapperWorld.
463
464         * bindings/js/JSCSSRuleCustom.cpp:
465         (WebCore::toJS):
466         * bindings/js/JSCSSValueCustom.cpp:
467         (WebCore::toJS):
468         * bindings/js/JSDOMBinding.cpp:
469         (WebCore::currentWorld):
470         (WebCore::DOMObjectWrapperMapFor):
471         (WebCore::hasCachedDOMObjectWrapper):
472         (WebCore::getCachedDOMObjectWrapper):
473         (WebCore::cacheDOMObjectWrapper):
474         (WebCore::hasCachedDOMNodeWrapper):
475         (WebCore::getCachedDOMNodeWrapper):
476         (WebCore::cacheDOMNodeWrapper):
477         * bindings/js/JSDOMBinding.h:
478         (WebCore::createDOMObjectWrapper):
479         (WebCore::getDOMObjectWrapper):
480         (WebCore::createDOMNodeWrapper):
481         (WebCore::getDOMNodeWrapper):
482         * bindings/js/JSDOMWindowCustom.cpp:
483         (WebCore::JSDOMWindow::history):
484         (WebCore::JSDOMWindow::location):
485         * bindings/js/JSDocumentCustom.cpp:
486         (WebCore::JSDocument::location):
487         (WebCore::toJS):
488         * bindings/js/JSElementCustom.cpp:
489         (WebCore::toJSNewlyCreated):
490         * bindings/js/JSEventCustom.cpp:
491         (WebCore::toJS):
492         * bindings/js/JSHTMLCollectionCustom.cpp:
493         (WebCore::toJS):
494         * bindings/js/JSImageDataCustom.cpp:
495         (WebCore::toJS):
496         * bindings/js/JSNodeCustom.cpp:
497         (WebCore::JSNode::markChildren):
498         (WebCore::createWrapper):
499         (WebCore::toJS):
500         * bindings/js/JSSVGPathSegCustom.cpp:
501         (WebCore::toJS):
502         * bindings/js/JSStyleSheetCustom.cpp:
503         (WebCore::toJS):
504         * xml/XMLHttpRequest.cpp:
505         (WebCore::XMLHttpRequest::dropProtection):
506
507 2009-11-24  Alexey Proskuryakov  <ap@apple.com>
508
509         Windows build fix.
510
511         * platform/network/cf/SocketStreamHandleCFNet.cpp: Also, don't include the wrong one!
512
513 2009-11-24  Alexey Proskuryakov  <ap@apple.com>
514
515         Windows build fix.
516
517         * platform/network/cf/SocketStreamHandleCFNet.cpp: Include the proper WKSI header.
518
519 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
520
521         Reviewed by Oliver Hunt.
522
523         SVGUseElement::toClipPath can crash
524         <rdar://problem/7385270>
525
526         Null-test m_shadowTreeRootElement again, because the call to buildPendingResource() may not
527         actually initialize it.
528
529         * svg/SVGUseElement.cpp:
530         (WebCore::SVGUseElement::toClipPath):
531
532 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
533
534         Windows build fix.
535
536         * page/win/FrameCGWin.cpp:
537         (WebCore::imageFromRect):
538         (WebCore::imageFromSelection):
539
540 2009-11-24  Eric Carlson  <eric.carlson@apple.com>
541
542         Not reviewed. Revert r51351 until a new WebKitSupportLibrary is available.
543
544         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
545         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
546         * platform/graphics/win/QTMovieWin.cpp:
547         * platform/graphics/win/QTMovieWin.h:
548         * rendering/RenderMediaControls.cpp:
549         * rendering/RenderThemeWin.cpp:
550         * rendering/RenderThemeWin.h:
551
552 2009-11-24  Alexey Proskuryakov  <ap@apple.com>
553
554         Reviewed by Brady Eidson.
555
556         https://bugs.webkit.org/show_bug.cgi?id=31844
557         SocketStreamHandleCFNet should support CONNECT proxy credentials
558
559         * WebCore.vcproj/WebCore.vcproj:
560         * WebCore.xcodeproj/project.pbxproj:
561         * platform/network/CredentialStorage.h:
562         * platform/network/mac/CredentialStorageMac.mm: Added.
563         (WebCore::CredentialStorage::getFromPersistentStorage):
564         * platform/network/cf/CredentialStorageCFNet.cpp: Added.
565         (WebCore::CredentialStorage::getFromPersistentStorage):
566         Add support for fetching credentials from persistent storage (CFNet version is currently
567         a stub).
568
569         * bindings/js/JSWebSocketCustom.cpp: Removed an unneeded include.
570
571         * platform/network/cf/SocketStreamHandle.h:
572         * platform/network/cf/SocketStreamHandleCFNet.cpp:
573         (WebCore::SocketStreamHandle::SocketStreamHandle):
574         (WebCore::SocketStreamHandle::createStreams):
575         (WebCore::getStoredCONNECTProxyCredentials):
576         (WebCore::authenticationSchemeFromAuthenticationMethod):
577         (WebCore::SocketStreamHandle::addCONNECTCredentials):
578         (WebCore::SocketStreamHandle::readStreamCallback):
579         Check if connection attempt was resulted in 407, and try stored credentials if it did.
580
581         * platform/mac/WebCoreSystemInterface.h:
582         * platform/mac/WebCoreSystemInterface.mm:
583         * WebCore.base.exp:
584         Updated WKSI.
585
586 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
587
588         Reviewed by Dan Bernstein.
589
590         Find highlight is drawn incorrectly on pages with compositing layers
591         <rdar://problem/7413925>
592         
593         Part 2: Add a new bit to the PaintBehavior flags, PaintBehaviorFlattenCompositingLayers,
594         and pass that down when painting into an image.
595         
596         When set, it forces painting of compositing layers to go down a software paint path
597         when all layers are painted, irrespective of compositing status, and where
598         3d transforms are flattened to 2d. When doing this, we also need to use temporary
599         clip rects for layers which are normally composited.
600         
601         * page/FrameView.h:
602         (WebCore::FrameView::paintBehavior):
603         * page/mac/FrameMac.mm:
604         (WebCore::Frame::imageFromRect):
605         * rendering/RenderLayer.cpp:
606         (WebCore::RenderLayer::renderableTransform):
607         (WebCore::expandClipRectForDescendantsAndReflection):
608         (WebCore::transparencyClipBox):
609         (WebCore::RenderLayer::beginTransparencyLayers):
610         (WebCore::RenderLayer::paintLayer):
611         * rendering/RenderLayer.h:
612         (WebCore::RenderLayer::paintsWithTransparency):
613         (WebCore::RenderLayer::paintsWithTransform):
614         * rendering/RenderLayerCompositor.cpp:
615         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
616         * rendering/RenderObject.h:
617
618 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
619
620         Reviewed by Dan Bernstein.
621
622         Find highlight is drawn incorrectly on pages with compositing layers
623         <rdar://problem/7413925>
624         
625         Part 1: Rename PaintRestriction to PaintBehavior, and make it a bitmask, in
626         preparation for adding a new flag related to painting into an image.
627         
628         PaintBehaviorSelectionOnly and PaintBehaviorForceBlackText are now separate flags.
629
630         * page/FrameView.cpp:
631         (WebCore::FrameView::reset):
632         (WebCore::FrameView::paintContents):
633         (WebCore::FrameView::setPaintBehavior):
634         * page/FrameView.h:
635         * page/mac/FrameMac.mm:
636         (WebCore::Frame::selectionImage):
637         * rendering/RenderLayer.cpp:
638         (WebCore::RenderLayer::paint):
639         (WebCore::RenderLayer::paintLayer):
640         * rendering/RenderLayer.h:
641         * rendering/RenderLayerBacking.cpp:
642         (WebCore::RenderLayerBacking::paintIntoLayer):
643         (WebCore::RenderLayerBacking::paintContents):
644         * rendering/RenderLayerBacking.h:
645         * rendering/RenderObject.h:
646         * rendering/RenderReplica.cpp:
647         (WebCore::RenderReplica::paint):
648
649 2009-11-24  Eric Carlson  <eric.carlson@apple.com>
650
651         Reviewed by Simon Fraser.
652
653         <rdar://problem/7409331> Windows: Support closed caption in <video> element
654
655         Enable closed captions in QuickTime/Windows media engine.
656
657         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
658         (WebCore::MediaPlayerPrivate::hasClosedCaptions):
659         (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
660         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
661         * platform/graphics/win/QTMovieWin.cpp:
662         (QTMovieWin::hasClosedCaptions):
663         (QTMovieWin::setClosedCaptionsVisible):
664         * platform/graphics/win/QTMovieWin.h:
665         * rendering/RenderMediaControls.cpp:
666         (WebCore::RenderMediaControls::paintMediaControlsPart):
667         * rendering/RenderThemeWin.cpp:
668         (WebCore::RenderThemeWin::paintMediaToggleClosedCaptionsButton):
669         * rendering/RenderThemeWin.h:
670
671 2009-11-24  Darin Fisher  <darin@chromium.org>
672
673         Reviewed by Adam Barth.
674
675         [Chromium] Renderer hang when using www.expedia.com
676         https://bugs.webkit.org/show_bug.cgi?id=31822
677
678         Test: http/tests/cache/subresource-failover-to-network.html
679
680         * loader/FrameLoader.cpp:
681         (WebCore::FrameLoader::loadResourceSynchronously): Use the originalRequest
682         when inheriting cache policy.  This matches SubresourceLoader::create.
683
684 2009-11-23  Kenneth Russell  <kbr@google.com>
685
686         Reviewed by Oliver Hunt.
687
688         Change get... calls to latest spec
689         https://bugs.webkit.org/show_bug.cgi?id=30091
690
691         Removed old versions of get calls on WebGLRenderingContext and
692         added new ones per spec returning "any". New code simplifies
693         GraphicsContext3D and fixes previously unimplemented routines.
694         Added custom JS and V8 bindings. Added exhaustive test case
695         exercising all new code paths. Updated preexisting test cases for
696         new APIs. Fixed preexisting bugs in WebKit's and Chrome's WebGL
697         implementations.
698
699         Ran WebGL layout tests in WebKit (clean) and Chrome (couple of
700         preexisting known failures) and manual WebGL tests in both
701         browsers.
702
703         Test: fast/canvas/webgl/gl-object-get-calls.html
704
705         * WebCore.gypi:
706         * WebCore.xcodeproj/project.pbxproj:
707         * bindings/js/JSWebGLRenderingContextCustom.cpp:
708         (WebCore::toJS):
709         (WebCore::):
710         (WebCore::getObjectParameter):
711         (WebCore::getProgramParameterHelper):
712         (WebCore::JSWebGLRenderingContext::getBufferParameter):
713         (WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
714         (WebCore::JSWebGLRenderingContext::getParameter):
715         (WebCore::JSWebGLRenderingContext::getProgramParameter):
716         (WebCore::JSWebGLRenderingContext::getRenderbufferParameter):
717         (WebCore::JSWebGLRenderingContext::getShaderParameter):
718         (WebCore::JSWebGLRenderingContext::getTexParameter):
719         (WebCore::JSWebGLRenderingContext::getUniform):
720         (WebCore::JSWebGLRenderingContext::getVertexAttrib):
721         * bindings/v8/custom/V8CustomBinding.h:
722         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
723         (WebCore::toV8):
724         (WebCore::):
725         (WebCore::getObjectParameter):
726         (WebCore::getProgramParameter):
727         (WebCore::CALLBACK_FUNC_DECL):
728         * html/canvas/CanvasObject.cpp:
729         (WebCore::CanvasObject::CanvasObject):
730         (WebCore::CanvasObject::setObject):
731         (WebCore::CanvasObject::deleteObject):
732         * html/canvas/CanvasObject.h:
733         * html/canvas/WebGLBuffer.cpp:
734         (WebCore::WebGLBuffer::create):
735         (WebCore::WebGLBuffer::WebGLBuffer):
736         * html/canvas/WebGLBuffer.h:
737         * html/canvas/WebGLGetInfo.cpp: Added.
738         (WebCore::WebGLGetInfo::WebGLGetInfo):
739         (WebCore::WebGLGetInfo::~WebGLGetInfo):
740         (WebCore::WebGLGetInfo::getType):
741         (WebCore::WebGLGetInfo::getBool):
742         (WebCore::WebGLGetInfo::getFloat):
743         (WebCore::WebGLGetInfo::getLong):
744         (WebCore::WebGLGetInfo::getString):
745         (WebCore::WebGLGetInfo::getUnsignedLong):
746         (WebCore::WebGLGetInfo::getWebGLBuffer):
747         (WebCore::WebGLGetInfo::getWebGLFloatArray):
748         (WebCore::WebGLGetInfo::getWebGLFramebuffer):
749         (WebCore::WebGLGetInfo::getWebGLIntArray):
750         (WebCore::WebGLGetInfo::getWebGLProgram):
751         (WebCore::WebGLGetInfo::getWebGLRenderbuffer):
752         (WebCore::WebGLGetInfo::getWebGLTexture):
753         (WebCore::WebGLGetInfo::getWebGLUnsignedByteArray):
754         * html/canvas/WebGLGetInfo.h: Added.
755         (WebCore::WebGLGetInfo::):
756         * html/canvas/WebGLRenderbuffer.cpp:
757         (WebCore::WebGLRenderbuffer::create):
758         (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
759         * html/canvas/WebGLRenderbuffer.h:
760         * html/canvas/WebGLRenderingContext.cpp:
761         (WebCore::WebGLStateRestorer::WebGLStateRestorer):
762         (WebCore::WebGLStateRestorer::~WebGLStateRestorer):
763         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
764         (WebCore::WebGLRenderingContext::activeTexture):
765         (WebCore::WebGLRenderingContext::bindBuffer):
766         (WebCore::WebGLRenderingContext::bindFramebuffer):
767         (WebCore::WebGLRenderingContext::bindRenderbuffer):
768         (WebCore::WebGLRenderingContext::bindTexture):
769         (WebCore::WebGLRenderingContext::getBufferParameter):
770         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
771         (WebCore::WebGLRenderingContext::getParameter):
772         (WebCore::WebGLRenderingContext::getProgramParameter):
773         (WebCore::WebGLRenderingContext::getProgramInfoLog):
774         (WebCore::WebGLRenderingContext::getRenderbufferParameter):
775         (WebCore::WebGLRenderingContext::getShaderParameter):
776         (WebCore::WebGLRenderingContext::getShaderInfoLog):
777         (WebCore::WebGLRenderingContext::getShaderSource):
778         (WebCore::WebGLRenderingContext::getString):
779         (WebCore::WebGLRenderingContext::getTexParameter):
780         (WebCore::WebGLRenderingContext::getUniform):
781         (WebCore::WebGLRenderingContext::getVertexAttrib):
782         (WebCore::WebGLRenderingContext::useProgram):
783         (WebCore::WebGLRenderingContext::getBooleanParameter):
784         (WebCore::WebGLRenderingContext::getFloatParameter):
785         (WebCore::WebGLRenderingContext::getIntParameter):
786         (WebCore::WebGLRenderingContext::getLongParameter):
787         (WebCore::WebGLRenderingContext::getUnsignedLongParameter):
788         (WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter):
789         (WebCore::WebGLRenderingContext::getWebGLIntArrayParameter):
790         (WebCore::WebGLRenderingContext::getWebGLUnsignedByteArrayParameter):
791         * html/canvas/WebGLRenderingContext.h:
792         * html/canvas/WebGLRenderingContext.idl:
793         * html/canvas/WebGLTexture.cpp:
794         (WebCore::WebGLTexture::create):
795         (WebCore::WebGLTexture::WebGLTexture):
796         * html/canvas/WebGLTexture.h:
797         * manual-tests/webgl/resources/utils3d.js:
798         (initWebGL):
799         (loadShader):
800         (Framerate.prototype.snapshot):
801         * platform/graphics/GraphicsContext3D.h:
802         * platform/graphics/mac/GraphicsContext3DMac.cpp:
803         (WebCore::GraphicsContext3D::bindRenderbuffer):
804         (WebCore::GraphicsContext3D::getBooleanv):
805         (WebCore::GraphicsContext3D::getBufferParameteriv):
806         (WebCore::GraphicsContext3D::getFloatv):
807         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
808         (WebCore::GraphicsContext3D::getIntegerv):
809         (WebCore::GraphicsContext3D::getProgramiv):
810         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
811         (WebCore::GraphicsContext3D::getShaderiv):
812         (WebCore::GraphicsContext3D::getTexParameterfv):
813         (WebCore::GraphicsContext3D::getTexParameteriv):
814         (WebCore::GraphicsContext3D::getUniformfv):
815         (WebCore::GraphicsContext3D::getUniformiv):
816         (WebCore::GraphicsContext3D::getVertexAttribfv):
817         (WebCore::GraphicsContext3D::getVertexAttribiv):
818
819 2009-11-24  Steve Falkenburg  <sfalken@apple.com>
820
821         Windows build fix.
822
823         * WebCore.vcproj/QTMovieWin.vcproj: Add additional search path for QuickTime SDK.
824
825 2009-11-24  Philippe Normand  <pnormand@igalia.com>
826
827         Reviewed by Gustavo Noronha Silva.
828
829         [Gtk] GStreamer-CRITICAL's (and other warnings) on <video>
830         https://bugs.webkit.org/show_bug.cgi?id=26354
831
832         Implemented MediaPlayerPrivate::isAvailable by checking the
833         presence of the playbin2 GStreamer element.
834
835         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
836         (WebCore::MediaPlayerPrivate::isAvailable):
837         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
838
839 2009-11-24  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
840
841         Reviewed by Xan Lopez.
842
843         https://bugs.webkit.org/show_bug.cgi?id=25415
844         [GTK][ATK] Please implement support for get_text_at_offset
845
846         When building up the pango layout from text boxes, only append a
847         newline char after verifying there are no more boxes on this line.
848
849         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
850         (getPangoLayoutForAtk):
851
852 2009-11-24  Joseph Pecoraro  <joepeck@webkit.org>
853
854         Reviewed by Pavel Feldman.
855
856         Web Inspector: Keyboard Shortcut to Clear Console Messages
857         https://bugs.webkit.org/show_bug.cgi?id=31780
858
859         All Platforms:  Ctrl+L  = Clear Console Messages
860         Mac Only:       Cmd+K   = Clear Console Messages
861
862         * inspector/front-end/ConsoleView.js:
863         (WebInspector.ConsoleView): create shortcuts
864         (WebInspector.ConsoleView.prototype._promptKeyDown): handle shortcuts
865         * inspector/front-end/KeyboardShortcut.js:
866         (WebInspector.KeyboardShortcut.makeKey): convenience conversion of "a-z" character to keyCode
867         * inspector/front-end/ScriptsPanel.js:
868         (WebInspector.ScriptsPanel): style fixes for keyboard shortcuts
869
870 2009-11-24  Pavel Feldman  <pfeldman@chromium.org>
871
872         Not reviewed: touch inspector controller in order to
873         kick win bot inspector deploy. rs=aroben.
874
875         * inspector/InspectorController.cpp:
876
877 2009-11-23  Pavel Feldman  <pfeldman@chromium.org>
878
879         Reviewed by Timothy Hatcher.
880
881         Web Inspector: Implement expandable compartments on timeline panel.
882
883         https://bugs.webkit.org/show_bug.cgi?id=31796
884
885         * inspector/front-end/TimelineOverviewPane.js:
886         (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
887         * inspector/front-end/TimelinePanel.js:
888         (WebInspector.TimelinePanel):
889         (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
890         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
891         (WebInspector.TimelinePanel.prototype._formatRecord):
892         (WebInspector.TimelinePanel.prototype._refreshRecords):
893         (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
894         (WebInspector.TimelineRecordListRow):
895         (WebInspector.TimelineRecordListRow.prototype.update):
896         (WebInspector.TimelineRecordListRow.prototype.dispose):
897         (WebInspector.TimelineRecordGraphRow):
898         (WebInspector.TimelineRecordGraphRow.prototype.update):
899         (WebInspector.TimelineRecordGraphRow.prototype._onClick):
900         (WebInspector.TimelineRecordGraphRow.prototype.dispose):
901         * inspector/front-end/inspector.css:
902
903 2009-11-24  Mark Rowe  <mrowe@apple.com>
904
905         Fix production builds where the source tree may be read-only.
906
907         * WebCore.xcodeproj/project.pbxproj:
908
909 2009-11-23  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
910
911         Reviewed by Kenneth Rohde Christiansen.
912
913         Include "config.h" to meet Coding Style Guidelines
914         https://bugs.webkit.org/show_bug.cgi?id=31792
915
916         No new tests as there is no new functionality.
917
918         * platform/graphics/win/IntPointWin.cpp:
919         * platform/graphics/win/IntRectWin.cpp:
920         * platform/graphics/win/IntSizeWin.cpp:
921         * platform/network/chromium/ResourceRequest.cpp:
922         * platform/win/PlatformMouseEventWin.cpp:
923
924 2009-11-23  Jian Li  <jianli@chromium.org>
925
926         Reviewed by NOBODY (Chromium build fix).
927
928         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
929         (WebCore::CALLBACK_FUNC_DECL):
930         * platform/graphics/GraphicsContext3D.h:
931
932 2009-11-23  Aaron Golden  <agolden@apple.com>
933
934         Reviewed by Alexey Proskuryakov.
935
936         Prevent ResourceHandleMac's version of ResourceHandle::receivedCredential from stripping
937         identity and certificate information from a WebCore::Credential when receivedCredential
938         needs to modify the credential's persistence.
939
940         Adding a new constructor Credential(const Credential& original, CredentialPersistence)
941         that copies every field from original except for persistence.
942
943         * platform/network/Credential.cpp:
944         (WebCore::Credential::Credential):
945         * platform/network/Credential.h:
946         * platform/network/mac/ResourceHandleMac.mm:
947         (WebCore::ResourceHandle::receivedCredential):
948
949 2009-11-23  Gavin Barraclough  <barraclough@apple.com>
950
951         Reviewed by Geoff Garen.
952
953         Part 2/3 of <rdar://problem/7377477> REGRESSION: Many web pages fail to render after interesting script runs in isolated world
954
955         Some clients of the JavaScriptCore API expect to be able to make callbacks over the JSC API,
956         and for this to automagically cause execution to take place in the world associated with the
957         global object associated with the ExecState (JSContextRef) passed.  However this is not how
958         things work - the world must be explicitly set within WebCore.
959
960         Making this work just for API calls to evaluate & call will be a far from perfect solution,
961         since direct (non-API) use of JSC still relies on WebCore setting the current world correctly.
962         A better solution would be to make this all work automagically all throughout WebCore, but this
963         will require more refactoring.
964
965         Add references from the JSDOMWindowShell and the JSDOMGlobalObject to the world that owns them,
966         so that we can get to the world from the lexical global object of an ExecState.  In the long-term
967         we should switch over to using this approach for all cases we want to get a world from an exec state.
968
969         * bindings/js/JSDOMBinding.cpp:
970         (WebCore::WebCoreJSClientData::beginningExecution):
971         (WebCore::WebCoreJSClientData::completedExecution):
972         * bindings/js/JSDOMBinding.h:
973         * bindings/js/JSDOMGlobalObject.h:
974         (WebCore::JSDOMGlobalObject::world):
975         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
976         * bindings/js/JSDOMWindowBase.cpp:
977         (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
978         * bindings/js/JSDOMWindowBase.h:
979         * bindings/js/JSDOMWindowShell.cpp:
980         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
981         * bindings/js/JSDOMWindowShell.h:
982         (WebCore::JSDOMWindowShell::world):
983         * bindings/js/JSWorkerContextBase.cpp:
984         (WebCore::JSWorkerContextBase::JSWorkerContextBase):
985         * bindings/js/ScriptController.cpp:
986         (WebCore::ScriptController::initScript):
987
988 2009-11-23  Chris Marrin  <cmarrin@apple.com>
989
990         Reviewed by Oliver Hunt.
991
992         Add range checks to rendering calls in WebGL
993         https://bugs.webkit.org/show_bug.cgi?id=31239
994
995         I am now tracking the size of the data in each CanvasBuffer object
996         and keeping track of the buffer size of each active vertex attrib.
997         In drawArrays and drawElements I make sure no attempt is made to
998         access elements outside the valid buffer ranges. The test at:
999
1000             http://cs.helsinki.fi/u/ilmarihe/c3d/functions/drawArraysOutOfBounds.html
1001
1002         no longer crashes.
1003
1004         I also added all the WebGL enumerations to GraphicsContext3D to use them in the validation checks
1005
1006         Tests: fast/canvas/webgl/drawArraysOutOfBounds.html
1007                fast/canvas/webgl/drawElementssOutOfBounds.html
1008
1009         * bindings/js/JSWebGLArrayCustom.cpp:
1010         (WebCore::toJS):
1011         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1012         (WebCore::JSWebGLRenderingContext::bufferData):
1013         (WebCore::JSWebGLRenderingContext::bufferSubData):
1014         (WebCore::JSWebGLRenderingContext::texSubImage2D):
1015         * html/canvas/WebGLArrayBuffer.cpp:
1016         (WebCore::WebGLArrayBuffer::create):
1017         (WebCore::WebGLArrayBuffer::data):
1018         * html/canvas/WebGLArrayBuffer.h:
1019         * html/canvas/WebGLBuffer.cpp:
1020         (WebCore::WebGLBuffer::WebGLBuffer):
1021         (WebCore::WebGLBuffer::associateBufferData):
1022         (WebCore::WebGLBuffer::associateBufferSubData):
1023         (WebCore::WebGLBuffer::byteLength):
1024         * html/canvas/WebGLBuffer.h:
1025         (WebCore::WebGLBuffer::elementArrayBuffer):
1026         * html/canvas/WebGLRenderingContext.cpp:
1027         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
1028         (WebCore::WebGLRenderingContext::sizeInBytes):
1029         (WebCore::WebGLRenderingContext::bindBuffer):
1030         (WebCore::WebGLRenderingContext::bufferData):
1031         (WebCore::WebGLRenderingContext::bufferSubData):
1032         (WebCore::WebGLRenderingContext::createShader):
1033         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
1034         (WebCore::WebGLRenderingContext::validateIndexArray):
1035         (WebCore::WebGLRenderingContext::validateRenderingState):
1036         (WebCore::WebGLRenderingContext::drawArrays):
1037         (WebCore::WebGLRenderingContext::drawElements):
1038         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
1039         (WebCore::WebGLRenderingContext::isFramebuffer):
1040         (WebCore::WebGLRenderingContext::isProgram):
1041         (WebCore::WebGLRenderingContext::isRenderbuffer):
1042         (WebCore::WebGLRenderingContext::isShader):
1043         (WebCore::WebGLRenderingContext::isTexture):
1044         (WebCore::WebGLRenderingContext::useProgram):
1045         (WebCore::WebGLRenderingContext::validateProgram):
1046         (WebCore::WebGLRenderingContext::vertexAttribPointer):
1047         (WebCore::WebGLRenderingContext::detachAndRemoveAllObjects):
1048         * html/canvas/WebGLRenderingContext.h:
1049         (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState):
1050         * html/canvas/WebGLRenderingContext.idl:
1051         * html/canvas/WebGLShader.cpp:
1052         (WebCore::WebGLShader::create):
1053         (WebCore::WebGLShader::WebGLShader):
1054         * html/canvas/WebGLShader.h:
1055         * platform/graphics/GraphicsContext3D.h:
1056         (WebCore::GraphicsContext3D::):
1057         * platform/graphics/mac/GraphicsContext3DMac.cpp:
1058         (WebCore::GraphicsContext3D::createShader):
1059
1060 2009-11-23  Erik Arvidsson  <arv@chromium.org>
1061
1062         Reviewed by Eric Seidel.
1063
1064         JSC bindings for HasIndexGetter generates incorrect code (affects
1065         MediaList and CSSStyleDeclaration).
1066         This cleans up the edge cases for indexing out of range for style and
1067         computed style objects to return an empty string according to the spec.
1068         MediaList now returns null when indexed out of range.
1069         https://bugs.webkit.org/show_bug.cgi?id=31683
1070
1071         Tests: fast/dom/CSSStyleDeclaration/css-computed-style-item.html
1072                fast/dom/CSSStyleDeclaration/css-style-item.html
1073                fast/dom/StyleSheet/css-medialist-item.html
1074
1075         * bindings/scripts/CodeGeneratorJS.pm: If IndexGetterReturnsString then
1076                 we do not check the length before calling the item function.
1077         * css/CSSComputedStyleDeclaration.cpp:
1078         (WebCore::CSSComputedStyleDeclaration::item):
1079         * css/CSSMutableStyleDeclaration.cpp:
1080         (WebCore::CSSMutableStyleDeclaration::item):
1081         * css/CSSStyleDeclaration.idl:
1082
1083 2009-11-23  Simon Fraser  <simon.fraser@apple.com>
1084
1085         Reviewed by Dan Bernstein.
1086
1087         DocumentMarkers need to be educated about transforms
1088         https://bugs.webkit.org/show_bug.cgi?id=31751
1089         
1090         Find highlight is incorrect with transforms
1091         <rdar://problem/6358394>
1092
1093         Allow callers to specify that Frame::selectionTextRects() takes transforms into account
1094         when computing the set of rects that encompass a selection. For transformed elemenets, the
1095         selection rect will be the bounding box of the selected content.
1096         
1097         Fix DocumentMarkers to cache rects in absolute coordinates, rather than painting coordinates.
1098         
1099         Test: editing/selection/transformed-selection-rects.html
1100         
1101         * WebCore.base.exp:
1102         Frame::selectionTextRects() has a new parameter.
1103         
1104         * dom/Document.cpp:
1105         (WebCore::Document::setRenderedRectForMarker):
1106         * dom/Document.h:
1107         Pass the marker as a const reference.
1108         
1109         * dom/Range.h:
1110         * dom/Range.cpp:
1111         (WebCore::Range::textQuads):
1112         Add a new method, textQuads(), which returns a list of quads, respecting transforms.
1113         
1114         * page/Frame.h:
1115         * page/Frame.cpp:
1116         (WebCore::Frame::selectionTextRects):
1117         Add a new parameter, respectTransforms, and when that is RespectTransforms, use the quad
1118         method to get quads for ranges, and then take their bounding boxes.
1119
1120         * rendering/InlineTextBox.h:
1121         * rendering/InlineTextBox.cpp:
1122         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
1123         (WebCore::InlineTextBox::paintTextMatchMarker):
1124         (WebCore::InlineTextBox::computeRectForReplacementMarker):
1125         (WebCore::InlineTextBox::paintDocumentMarkers):
1126         (WebCore::InlineTextBox::textPos):
1127         (WebCore::InlineTextBox::offsetForPosition):
1128         
1129         Pass DocumentMarkers as a const references.
1130         Convert the argument to setRenderedRectForMarker() into absolute coordinates.
1131         
1132         * rendering/RenderView.cpp:
1133         (WebCore::RenderView::selectionBounds):
1134
1135 2009-11-23  Dirk Schulze  <krit@webkit.org>
1136
1137         Reviewed by Oliver Hunt.
1138
1139         [Cairo] support blurred test-shadow
1140         [https://bugs.webkit.org/show_bug.cgi?id=31797]
1141
1142         Support for blurred text-shadows on Cairo. This patch
1143         reuses the code of blurred box-shadows, introduced in
1144         bug 26102. For a full textshadow support, a filters enabled
1145         build is needed.
1146
1147         * platform/graphics/cairo/FontCairo.cpp:
1148         (WebCore::Font::drawGlyphs):
1149
1150 2009-11-23  Jens Alfke  <snej@chromium.org>
1151
1152         Reviewed by Geoffrey Garen.
1153
1154         Change incorrect calls to the constructor "EventNames()" to the correct accessor
1155         "eventNames()". This saves ~100 AtomicString lookups each time.
1156         https://bugs.webkit.org/show_bug.cgi?id=31811
1157
1158         * dom/EventNames.h:  Make constructor private to prevent this from happening again.
1159         * history/CachedFrame.cpp:
1160         (WebCore::CachedFrameBase::restore):  EventNames() --> eventNames()
1161         * html/HTMLFormControlElement.cpp:
1162         (WebCore::HTMLFormControlElement::checkValidity):  EventNames() --> eventNames()
1163         * loader/FrameLoader.cpp:
1164         (WebCore::FrameLoader::stopLoading):  EventNames() --> eventNames()
1165         (WebCore::FrameLoader::pageHidden):  EventNames() --> eventNames()
1166         * page/DOMWindow.cpp:
1167         (WebCore::DOMWindow::dispatchAllPendingUnloadEvents):  EventNames() --> eventNames()
1168
1169 2009-11-23  Adam Langley  <agl@google.com>
1170
1171         Reviewed by Dmitry Titov.
1172
1173         Chromium Linux: Limit the stroke width and mitre limit.
1174
1175         Limit the stroke width and mitre limit that we'll pass into Skia to
1176         avoid overflowing Skia's uint16_t glyph widths.
1177
1178         http://code.google.com/p/chromium/issues/detail?id=28250
1179         https://bugs.webkit.org/show_bug.cgi?id=31747
1180
1181         * platform/graphics/skia/PlatformContextSkia.cpp:
1182         (scalarBound):
1183         (PlatformContextSkia::setupPaintForStroking):
1184
1185 2009-11-23  Alexey Proskuryakov  <ap@apple.com>
1186
1187         Reviewed by Oliver Hunt.
1188
1189         https://bugs.webkit.org/show_bug.cgi?id=31812
1190         WebSocket code uses RefPtr::get() where it shouldn't
1191
1192         No change in funcitonality, just coding style correction.
1193
1194         * websockets/WebSocket.cpp:
1195         (WebCore::WebSocket::~WebSocket):
1196         * websockets/WebSocketChannel.cpp:
1197         (WebCore::WebSocketChannel::connect):
1198         (WebCore::WebSocketChannel::send):
1199         (WebCore::WebSocketChannel::bufferedAmount):
1200         (WebCore::WebSocketChannel::close):
1201         (WebCore::WebSocketChannel::disconnect):
1202         (WebCore::WebSocketChannel::didOpen):
1203         (WebCore::WebSocketChannel::didClose):
1204         (WebCore::WebSocketChannel::didReceiveData):
1205         (WebCore::WebSocketChannel::didFail):
1206
1207 2009-11-23  Alexey Proskuryakov  <ap@apple.com>
1208
1209         Build fix.
1210
1211         * platform/network/cf/SocketStreamHandleCFNet.cpp:
1212         (WebCore::SocketStreamHandle::pacExecutionCallbackMainThread): pacExecutionCallbackMainThread
1213         is static, so it can't use member variables directly.
1214
1215 2009-11-23  Alexey Proskuryakov  <ap@apple.com>
1216
1217         Reviewed by Brady Eidson.
1218
1219         https://bugs.webkit.org/show_bug.cgi?id=31748
1220         Make WebSocketHandleCFNet respect proxy auto-configuration files via CFProxySupport
1221
1222         * platform/network/cf/SocketStreamHandle.h: Removed names from some void* arguments, since
1223         they didn't carry useful information.
1224
1225         * platform/network/cf/SocketStreamHandleCFNet.cpp:
1226         (WebCore::SocketStreamHandle::SocketStreamHandle): When we need an http-style URL, we actually
1227         always need https.
1228         (WebCore::SocketStreamHandle::scheduleStreams): Factored out from constructor, since streams
1229         only get scheduled after PAC is fetched and executed asynchronously.
1230         (WebCore::SocketStreamHandle::copyPACExecutionDescription): Return a description for event
1231         source.
1232         (WebCore::MainThreadPACCallbackInfo::MainThreadPACCallbackInfo): Forward callback to main thread.
1233         (WebCore::SocketStreamHandle::pacExecutionCallback): Ditto.
1234         (WebCore::SocketStreamHandle::pacExecutionCallbackMainThread): Ditto. To avoid code duplication,
1235         we make the call even on Mac.
1236         (WebCore::SocketStreamHandle::executePACFileURL): Make an async call to CFNetworkExecuteProxyAutoConfigurationURL.
1237         (WebCore::SocketStreamHandle::removePACRunLoopSource): Once PAC execution is done or aborted,
1238         we need to get rid of the event source.
1239         (WebCore::SocketStreamHandle::chooseProxy): Use stored m_httpsURL.get.
1240         (WebCore::SocketStreamHandle::chooseProxyFromArray): Factored out from chooseProxy - the
1241         array may come directly from system configuration, or from PAC.
1242         (WebCore::SocketStreamHandle::chooseProxy): Tiger version of this function is now completely
1243         separate.
1244         (WebCore::SocketStreamHandle::~SocketStreamHandle): Run loop source should be destroyed
1245         before we get to the destructor.
1246         (WebCore::SocketStreamHandle::platformClose): Destroy the run loop source, if PAC execution
1247         is still in progress.
1248
1249 2009-11-23  Oliver Hunt  <oliver@apple.com>
1250
1251         Reviewed by Geoff Garen.
1252
1253         Don't leak the CGImage we create when drawing a sub image.
1254
1255         * platform/graphics/cg/ImageCG.cpp:
1256         (WebCore::BitmapImage::draw):
1257
1258 2009-11-23  Adam Barth  <abarth@webkit.org>
1259
1260         Reviewed by Dimitri Glazkov.
1261
1262         [V8] Don't crash when OOM in creating isolated world
1263         https://bugs.webkit.org/show_bug.cgi?id=31805
1264
1265         We need to add some more null checks to avoid crashing.  No new tests
1266         because we don't have a good way to test out-of-memory bugs.
1267
1268         * bindings/v8/V8Proxy.cpp:
1269         (WebCore::V8Proxy::evaluateInIsolatedWorld):
1270         (WebCore::V8Proxy::evaluateInNewContext):
1271         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
1272         * bindings/v8/V8Proxy.h:
1273
1274 2009-11-23  Dirk Schulze  <krit@webkit.org>
1275
1276         Reviewed by Nikolas Zimmermann.
1277
1278         This is the implementation of the filterRes attribute. It
1279         helps the SVG developer to set the quality of a filter by
1280         giving the width or height of filter.
1281         This patch also sets the filter resolution to lower values
1282         if a intermediate ImageBuffer size is bigger than the given
1283         maximal size.
1284         The maximal size is set to 5000x5000 by default. This is a
1285         subjectiv decission. Everthing greater than this values gets
1286         sensible slower. Values of 10000x10000 crashed on WebKitGtk.
1287         For mobil devices a maximum size of 100x100 or 200x200 seems
1288         to be reasonable.
1289         The important fact on filter resolution is, that the output
1290         size is still the size given by the <filter> element.
1291
1292         Tests: svg/filters/big-sized-filter-2.svg
1293                svg/filters/big-sized-filter.svg
1294                svg/filters/filterRes.svg
1295
1296         * platform/graphics/FloatRect.cpp:
1297         (WebCore::FloatRect::scale): Add the abbility to scale a rect by x and y.
1298         * platform/graphics/FloatRect.h:
1299         (WebCore::FloatRect::scale): Add the abbility to scale a rect by x and y.
1300         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1301         (WebCore::GraphicsContext::createPlatformShadow): Use scaledSubRegion for
1302         calculation.
1303         * platform/graphics/filters/FEBlend.cpp:
1304         (WebCore::FEBlend::apply): Use scaledSubRegion for effect intern calculations.
1305         * platform/graphics/filters/FEColorMatrix.cpp:
1306         (WebCore::FEColorMatrix::apply): Use scaledSubRegion for effect intern calculations.
1307         * platform/graphics/filters/FEComponentTransfer.cpp:
1308         (WebCore::FEComponentTransfer::apply): Use scaledSubRegion for effect intern
1309         calculations.
1310         * platform/graphics/filters/FEComposite.cpp:
1311         (WebCore::FEComposite::apply): Use scaledSubRegion for effect intern calculations.
1312         * platform/graphics/filters/FEGaussianBlur.cpp:
1313         (WebCore::FEGaussianBlur::apply): Use scaledSubRegion for effect intern calculations.
1314         * platform/graphics/filters/Filter.h: Add the abbility to change the quality
1315         of a filter output.
1316         (WebCore::Filter::filterResolution):
1317         (WebCore::Filter::setFilterResolution):
1318         (WebCore::Filter::calculateEffectSubRegion): Calculates the correct subRegion
1319         as well as the scaledSubRegion. It also searches for the biggest effect size.
1320         We have to change the filter resolution, if one intermediate ImageBuffer size
1321         doesn't fit in the maximal image size.
1322         * platform/graphics/filters/FilterEffect.cpp:
1323         (WebCore::FilterEffect::calculateDrawingIntRect): Use scaledSubRegion to get
1324         the right part of a previous effect result.
1325         (WebCore::FilterEffect::calculateDrawingRect): Use scaledSubRegion to get
1326         the right part of a previous effect result.
1327         (WebCore::FilterEffect::getEffectContext): Use scaledSubRegion to create
1328         a new intermediate ImageBuffer for the result of the current effect.
1329         * platform/graphics/filters/FilterEffect.h:
1330         (WebCore::FilterEffect::scaledSubRegion): The scaled subRegion of a the
1331         filter effect.
1332         (WebCore::FilterEffect::setScaledSubRegion):
1333         (WebCore::FilterEffect::effectBoundaries): The original values of the
1334         EffectElement for a second subRegion calculation.
1335         (WebCore::FilterEffect::setEffectBoundaries):
1336         * platform/graphics/filters/ImageBufferFilter.cpp:
1337         (WebCore::ImageBufferFilter::ImageBufferFilter): Set the scale factor to one.
1338         * platform/graphics/filters/ImageBufferFilter.h:
1339         (WebCore::ImageBufferFilter::maxImageSize):
1340         (WebCore::ImageBufferFilter::calculateEffectSubRegion):
1341         * platform/graphics/filters/SourceAlpha.cpp:
1342         (WebCore::SourceAlpha::calculateEffectRect): Use scaledSubRegion for effect
1343         intern calculations.
1344         * platform/graphics/filters/SourceGraphic.cpp:
1345         (WebCore::SourceGraphic::calculateEffectRect): Use scaledSubRegion for effect
1346         intern calculations.
1347         * svg/SVGFilterElement.cpp:
1348         (WebCore::SVGFilterElement::parseMappedAttribute): Parse filterRes attribute.
1349         (WebCore::SVGFilterElement::buildFilter): Give SVGResourceFilter the current
1350         filterResolution.
1351         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1352         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes): Save
1353         values to effectBoundaries of the filter effect
1354         * svg/graphics/SVGResourceFilter.cpp:
1355         (WebCore::SVGResourceFilter::SVGResourceFilter):
1356         (WebCore::shouldProcessFilter): Return signal if a neccessary value is zero.
1357         (WebCore::SVGResourceFilter::fitsInMaximumImageSize): Checks if the given size
1358         fits into the maximal image size, modifys scale factors if not and return a
1359         bool: fits.
1360         (WebCore::SVGResourceFilter::prepareFilter): Scale the SourceImage to
1361         filterResolution (given by FilterElement or calculated on to big image sizes).
1362         Set the scale level to SVGFilter.
1363         (WebCore::SVGResourceFilter::applyFilter): Don't apply filters if shouldProcessFilter
1364         is wrong.
1365         * svg/graphics/SVGResourceFilter.h:
1366         (WebCore::SVGResourceFilter::setFilterResolution): FilterResolution of FilterElement.
1367         (WebCore::SVGResourceFilter::setHasFilterResolution): Does FilterElement provides
1368         a FilterResolution?
1369         (WebCore::SVGResourceFilter::scaleX): Current scale factor for horizontal.
1370         (WebCore::SVGResourceFilter::scaleY): Current scale factor for vertical.
1371         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
1372         (WebCore::FEDisplacementMap::apply): Use scaledSubRegion for effect intern calculations.
1373         Kernel values are scaled to current filter resolution too.
1374         * svg/graphics/filters/SVGFEFlood.cpp:
1375         (WebCore::FEFlood::apply): Use scaledSubRegion for effect intern calculations.
1376         * svg/graphics/filters/SVGFEMerge.cpp:
1377         (WebCore::FEMerge::apply): Use scaledSubRegion for effect intern calculations.
1378         Kernel values are scaled to current filter resolution too.
1379         * svg/graphics/filters/SVGFEMorphology.cpp:
1380         (WebCore::FEMorphology::apply): Use scaledSubRegion for effect intern calculations.
1381         Kernel values are scaled to current filter resolution too.
1382         * svg/graphics/filters/SVGFEOffset.cpp:
1383         (WebCore::FEOffset::apply): Use scaledSubRegion for effect intern calculations.
1384         * svg/graphics/filters/SVGFETile.cpp:
1385         (WebCore::FETile::apply): Use scaledSubRegion for effect intern calculations.
1386         * svg/graphics/filters/SVGFilter.cpp:
1387         (WebCore::SVGFilter::calculateEffectSubRegion): Calculate subRegion for LayoutTests,
1388         scaledSubRegion according to the current filterResolution and get the maximal image size.
1389         * svg/graphics/filters/SVGFilter.h:
1390         (WebCore::SVGFilter::effectBoundingBoxMode): Original values of the FilterElement. 
1391         (WebCore::SVGFilter::filterRegion): Use virtual for clarification.
1392         (WebCore::SVGFilter::sourceImageRect): Use virtual for clarification.
1393         (WebCore::SVGFilter::maxImageSize): Get the maximal image size.
1394
1395 2009-11-23  Simon Hausmann  <simon.hausmann@nokia.com>
1396
1397         Reviewed by Kenneth Rohde Christiansen.
1398
1399         [Qt] Wrong runtime instance objects of wrapped QObjects may be used if
1400         the wrapped object died before the gc removed the instance.
1401
1402         https://bugs.webkit.org/show_bug.cgi?id=31681
1403
1404         Before using a cached instance, verify that its wrapped QObject is
1405         still alive.
1406
1407         * bridge/qt/qt_instance.cpp:
1408         (JSC::Bindings::QtInstance::getQtInstance):
1409         * bridge/qt/qt_instance.h:
1410         (JSC::Bindings::QtInstance::hashKey):
1411
1412 2009-11-22  Chris Fleizach  <cfleizach@apple.com>
1413
1414         Reviewed by Oliver Hunt.
1415
1416         ARIA: support aria-flowto
1417         https://bugs.webkit.org/show_bug.cgi?id=31762
1418
1419         Test: platform/mac/accessibility/aria-flowto.html
1420
1421         * accessibility/AccessibilityObject.h:
1422         (WebCore::AccessibilityObject::ariaOwnsElements):
1423         (WebCore::AccessibilityObject::supportsARIAFlowTo):
1424         (WebCore::AccessibilityObject::ariaFlowToElements):
1425         * accessibility/AccessibilityRenderObject.cpp:
1426         (WebCore::AccessibilityRenderObject::linkedUIElements):
1427         (WebCore::AccessibilityRenderObject::supportsARIAFlowTo):
1428         (WebCore::AccessibilityRenderObject::ariaFlowToElements):
1429         * accessibility/AccessibilityRenderObject.h:
1430         * html/HTMLAttributeNames.in:
1431
1432 2009-11-22  Nikolas Zimmermann  <nzimmermann@rim.com>
1433
1434         Not reviewed. Build fix for WML enabled builds.
1435         Adopt WebCore API changes.
1436
1437         * wml/WMLAElement.cpp:
1438         (WebCore::WMLAElement::defaultEventHandler):
1439         * wml/WMLInputElement.cpp:
1440         (WebCore::WMLInputElement::defaultEventHandler):
1441
1442 2009-11-22  Pavel Feldman  <pfeldman@chromium.org>
1443
1444         Reviewed by Timothy Hatcher.
1445
1446         Web Inspector: Introduce sidebar background on timeline panel in order
1447         to prevent it from flickering on scroll.
1448
1449         https://bugs.webkit.org/show_bug.cgi?id=31789
1450
1451         * inspector/front-end/TimelinePanel.js:
1452         (WebInspector.TimelinePanel):
1453         (WebInspector.TimelinePanel.prototype.setSidebarWidth):
1454         (WebInspector.TimelinePanel.prototype._onScroll):
1455         (WebInspector.TimelinePanel.prototype._scheduleRefresh):
1456         * inspector/front-end/inspector.css:
1457
1458 2009-11-22  Pavel Feldman  <pfeldman@chromium.org>
1459
1460         Reviewed by Timothy Hatcher.
1461
1462         Web Inspector: Reimplement TimelinePanel to make it fast:
1463         - Extract grid and overview into separate files
1464         - Make timeline create only divs for visible rows
1465
1466         https://bugs.webkit.org/show_bug.cgi?id=31784
1467
1468         * WebCore.gypi:
1469         * WebCore.vcproj/WebCore.vcproj:
1470         * inspector/front-end/AbstractTimelinePanel.js:
1471         (WebInspector.AbstractTimelinePanel.prototype.createInterface):
1472         (WebInspector.AbstractTimelinePanel.prototype.refresh):
1473         (WebInspector.AbstractTimelinePanel.prototype.set calculator):
1474         * inspector/front-end/TimelineGrid.js: Added.
1475         (WebInspector.TimelineGrid):
1476         (WebInspector.TimelineGrid.prototype.get itemsGraphsElement):
1477         (WebInspector.TimelineGrid.prototype.updateDividers):
1478         (WebInspector.TimelineGrid.prototype.addEventDivider):
1479         (WebInspector.TimelineGrid.prototype.setScrollAndDividerTop):
1480         * inspector/front-end/TimelineOverviewPane.js: Added.
1481         (WebInspector.TimelineOverviewPane):
1482         (WebInspector.TimelineOverviewPane.prototype._onCheckboxClicked):
1483         (WebInspector.TimelineOverviewPane.prototype.update):
1484         (WebInspector.TimelineOverviewPane.prototype.setSidebarWidth):
1485         (WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):
1486         (WebInspector.TimelineOverviewPane.prototype.reset):
1487         (WebInspector.TimelineOverviewPane.prototype._resizeWindow):
1488         (WebInspector.TimelineOverviewPane.prototype._windowResizeDragging):
1489         (WebInspector.TimelineOverviewPane.prototype._dragWindow):
1490         (WebInspector.TimelineOverviewPane.prototype._windowDragging):
1491         (WebInspector.TimelineOverviewPane.prototype._resizeWindowLeft):
1492         (WebInspector.TimelineOverviewPane.prototype._resizeWindowRight):
1493         (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
1494         (WebInspector.TimelineOverviewPane.prototype._endWindowDragging):
1495         (WebInspector.TimelineOverviewCalculator):
1496         (WebInspector.TimelineOverviewCalculator.prototype.computeBarGraphPercentages):
1497         (WebInspector.TimelineOverviewCalculator.prototype.reset):
1498         (WebInspector.TimelineOverviewCalculator.prototype.updateBoundaries):
1499         (WebInspector.TimelineOverviewCalculator.prototype.get boundarySpan):
1500         (WebInspector.TimelineOverviewCalculator.prototype.formatValue):
1501         (WebInspector.TimelineCategoryTreeElement):
1502         (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
1503         (WebInspector.TimelineCategoryGraph):
1504         (WebInspector.TimelineCategoryGraph.prototype.get graphElement):
1505         (WebInspector.TimelineCategoryGraph.prototype.addChunk):
1506         (WebInspector.TimelineCategoryGraph.prototype.clearChunks):
1507         (WebInspector.TimelineCategoryGraph.prototype.set dimmed):
1508         * inspector/front-end/TimelinePanel.js:
1509         (WebInspector.TimelinePanel):
1510         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
1511         (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
1512         (WebInspector.TimelinePanel.prototype._formatRecord):
1513         (WebInspector.TimelinePanel.prototype.setSidebarWidth):
1514         (WebInspector.TimelinePanel.prototype.updateMainViewWidth):
1515         (WebInspector.TimelinePanel.prototype.resize):
1516         (WebInspector.TimelinePanel.prototype.reset):
1517         (WebInspector.TimelinePanel.prototype.show):
1518         (WebInspector.TimelinePanel.prototype._onScroll):
1519         (WebInspector.TimelinePanel.prototype._scheduleRefresh):
1520         (WebInspector.TimelinePanel.prototype._refresh):
1521         (WebInspector.TimelinePanel.prototype._refreshRecords):
1522         (WebInspector.TimelinePanel.prototype._adjustScrollPosition):
1523         (WebInspector.TimelineCategory):
1524         (WebInspector.TimelineCalculator):
1525         (WebInspector.TimelineCalculator.prototype.get boundarySpan):
1526         (WebInspector.TimelineRecordListRow):
1527         (WebInspector.TimelineRecordListRow.prototype.update):
1528         (WebInspector.TimelineRecordGraphRow):
1529         (WebInspector.TimelineRecordGraphRow.prototype.update):
1530         * inspector/front-end/WebKit.qrc:
1531         * inspector/front-end/inspector.css:
1532         * inspector/front-end/inspector.html:
1533
1534 2009-11-22  Chris Evans  <cevans@chromium.org>
1535
1536         Reviewed by Adam Barth.
1537
1538         Disable access to file:/// directory listings
1539         https://bugs.webkit.org/show_bug.cgi?id=31329
1540
1541         Deny access to directory listings. This needs doing in WebKit for
1542         WebKit clients that do permit top-level navigation to file:///dir.
1543         This matches Firefox, plus the existing Safari implementation (which
1544         does not support any directory access at all). It will fix the
1545         LayoutTest named below for Chromium.
1546
1547         Test: fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html
1548
1549         * page/SecurityOrigin.cpp: Deny access to directory listings.
1550         (WebCore::SecurityOrigin::SecurityOrigin):
1551         (WebCore::SecurityOrigin::canRequest):
1552
1553 2009-11-20  Joseph Pecoraro  <joepeck@webkit.org>
1554
1555         Reviewed by Timothy Hatcher.
1556
1557         Web Inspector: Support Ctrl+P and Ctrl+N, Readline keyboard shortcuts in the Console
1558         https://bugs.webkit.org/show_bug.cgi?id=31400
1559
1560         Handle the following when on a Mac:
1561
1562           Ctrl+P = Previous (like Up arrow)
1563           Ctrl+N = Next (like Down arrow)
1564
1565         No longer rerun autocompletion when just pushing a modifier key
1566         like Control, Alt, Shift, or Meta.
1567
1568         Improved arrow key behavior with Multiline code in the Console, with the following behavior:
1569
1570           Up   = Previous Command if on First Line (caret moves to the end of the first line)
1571                  otherwise default caret movement in text.
1572           Down = Next Command if on Last Line (caret naturally moves to the end)
1573                  otherwise default caret movement in text.
1574
1575         * inspector/front-end/TextPrompt.js:
1576         (WebInspector.TextPrompt.prototype.handleKeyEvent): handle new keyboard shortcuts
1577         (WebInspector.TextPrompt.prototype.isCaretOnFirstLine): check if the caret is on the top line
1578         (WebInspector.TextPrompt.prototype.isCaretOnLastLine): check if the caret is on the bottom line
1579         (WebInspector.TextPrompt.prototype._upKeyPressed):
1580         (WebInspector.TextPrompt.prototype._downKeyPressed):
1581         (WebInspector.TextPrompt.prototype._moveBackInHistory):
1582         (WebInspector.TextPrompt.prototype._moveForwardInHistory):
1583
1584 2009-11-21  Jessie Berlin  <jberlin@webkit.org>
1585
1586         Reviewed by Timothy Hatcher.
1587
1588         Adds a tooltip containing the full url of the resource to each element
1589         in the Resources panel so that it is possible to quickly see the query
1590         parameters.
1591         https://bugs.webkit.org/show_bug.cgi?id=19103
1592
1593         * inspector/front-end/ResourcesPanel.js:
1594         (WebInspector.ResourceSidebarTreeElement.prototype.refresh):
1595         Set the tooltip to be the resource's url.
1596
1597 2009-11-21  Simon Fraser  <simon.fraser@apple.com>
1598
1599         Reviewed by Dan Bernstein.
1600
1601         CSSKeyframesRule::findRule() and deleteRule() should accept 'from' and 'to' as well as percentages
1602         https://bugs.webkit.org/show_bug.cgi?id=31588
1603         
1604         In WebKitCSSKeyframesRule::findRuleIndex(), map 'from' to 0% an 'to' to 100%
1605         so that findRule() and deleteRule() work with these keywords.
1606
1607         * css/WebKitCSSKeyframesRule.cpp:
1608         (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
1609
1610 2009-11-21  Daniel Bates  <dbates@webkit.org>
1611
1612         Reviewed by Eric Seidel.
1613
1614         https://bugs.webkit.org/show_bug.cgi?id=31647
1615
1616         Changed KeyboardEvent::m_keyEvent from a raw pointer to an OwnPtr.
1617
1618         No functionality was changed. So, no new tests.
1619
1620         * dom/KeyboardEvent.cpp:
1621         (WebCore::KeyboardEvent::~KeyboardEvent):
1622         * dom/KeyboardEvent.h: Changed m_keyEvent to OwnPtr.
1623         (WebCore::KeyboardEvent::keyEvent):
1624
1625 2009-11-20  Chris Fleizach  <cfleizach@apple.com>
1626
1627         Reviewed by Beth Dakin.
1628
1629         WAI-ARIA: add support for aria-owns
1630         https://bugs.webkit.org/show_bug.cgi?id=31702
1631
1632         Re-organized how accessibilityAttributeNames are returned so 
1633         that it's possible for an element to add an attribute based on 
1634         a dynamic value. In this case, we only want to add AXOwn if the 
1635         element actually supports aria-owns.
1636   
1637         Test: platform/mac/accessibility/aria-owns.html
1638
1639         * accessibility/AccessibilityObject.h:
1640         (WebCore::AccessibilityObject::supportsARIAOwns):
1641         (WebCore::AccessibilityObject::ariaOwnsElements):
1642         * accessibility/AccessibilityRenderObject.cpp:
1643         (WebCore::AccessibilityRenderObject::ariaOwnsElements):
1644         (WebCore::AccessibilityRenderObject::supportsARIAOwns):
1645         * accessibility/AccessibilityRenderObject.h:
1646         * accessibility/mac/AccessibilityObjectWrapper.mm:
1647         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
1648         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
1649         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1650         * html/HTMLAttributeNames.in:
1651
1652 2009-11-20  Eric Carlson  <eric.carlson@apple.com>
1653
1654         Reviewed by Simon Fraser.
1655
1656         <rdar://problem/7414396> Leopard & Tiger: Support closed caption in <video> element
1657
1658         * css/mediaControls.css:
1659             Define closed caption toggle button.
1660
1661         * rendering/RenderMedia.cpp:
1662         (WebCore::RenderMedia::updateControls):
1663             Create closed caption toggle button in display order.
1664
1665         * rendering/RenderThemeMac.mm:
1666         (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
1667             Don't require MediaControllerThemeQuickTime theme for captions toggle button.
1668             No need to check if the movie has video, a closed captions track is a video
1669             track.
1670
1671 2009-11-20  Joseph Pecoraro  <joepeck@webkit.org>
1672
1673         Reviewed by Timothy Hatcher.
1674
1675         Web Inspector: Running code in the Console that ends with a
1676         single line comment no longer produces a parse error.
1677
1678         * inspector/front-end/InjectedScript.js:
1679         (InjectedScript._evaluateOn):
1680
1681 2009-11-20  Chris Fleizach  <cfleizach@apple.com>
1682
1683         Reviewed by Beth Dakin.
1684
1685         WAI-ARIA: add support for 'math' role
1686         https://bugs.webkit.org/show_bug.cgi?id=31706
1687
1688         * accessibility/AccessibilityObject.cpp:
1689         * accessibility/AccessibilityObject.h:
1690         * accessibility/mac/AccessibilityObjectWrapper.mm:
1691
1692 2009-11-20  Yael Aharon  <yael.aharon@nokia.com>
1693
1694         Reviewed by Kenneth Rohde Christiansen.
1695
1696         NPN_ReloadPlugins does not reload the page even if reloadPages is true.
1697         https://bugs.webkit.org/show_bug.cgi?id=30460
1698
1699         Replace call to PluginDatabase::installedPlugins()->refresh() with Page::refreshPlugins().
1700         It already refreshes plugins and reloads pages when necessary.
1701
1702         Tests: plugins/reloadplugins-and-pages.html
1703                plugins/reloadplugins-no-pages.html
1704
1705         * plugins/PluginInfoStore.cpp:
1706         (WebCore::refreshPlugins):
1707
1708 2009-11-20  Oliver Hunt  <oliver@apple.com>
1709
1710         Reviewed by Dave Hyatt.
1711
1712         <rdar://7409188> WebKit needs to be able to serialize and deserialize objects.
1713
1714         Expose WebCore object serialization to WebKit.
1715
1716         * WebCore.base.exp:
1717         * bindings/js/SerializedScriptValue.cpp:
1718         (WebCore::SerializedScriptValue::~SerializedScriptValue):
1719         (WebCore::SerializedScriptValue::create):
1720         (WebCore::SerializedScriptValue::deserialize):
1721         * bindings/js/SerializedScriptValue.h:
1722
1723 2009-11-20  Brian Weinstein  <bweinstein@apple.com>
1724
1725         Reviewed by Tim Hatcher.
1726
1727         Fixes <http://webkit.org/b/31741>.
1728         Web Inspector: User Entered Data on the console should show up no matter what filters.
1729         
1730         Always show .console-user-command-result, no matter what the filter say
1731         we should do with the other classes.
1732
1733         * inspector/front-end/inspector.css:
1734
1735 2009-11-20  Brian Weinstein  <bweinstein@apple.com>
1736
1737         Reviewed by Tim Hatcher.
1738
1739         Fixes <http://webkit.org/b/31700>.
1740         Web Inspector: isMac should be in one central location + Cached.
1741         
1742         We should cache the value of isMac, and make the indexOf call in one
1743         single location, because we are calling it from multiple places, and saving
1744         the result can save us time, and make the call sites simpler.
1745
1746         * inspector/front-end/AbstractTimelinePanel.js:
1747         (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
1748         * inspector/front-end/ConsoleView.js:
1749         (WebInspector.ConsoleView.prototype._updateFilter):
1750         * inspector/front-end/ElementsPanel.js:
1751         (WebInspector.ElementsPanel.prototype.handleKeyEvent):
1752         * inspector/front-end/ScriptsPanel.js:
1753         (WebInspector.ScriptsPanel):
1754         * inspector/front-end/SourceFrame.js:
1755         (WebInspector.SourceFrame.prototype._loaded):
1756         * inspector/front-end/inspector.js:
1757         (WebInspector.documentKeyDown):
1758         (WebInspector.isMac):
1759
1760 2009-11-19  Joseph Pecoraro  <joepeck@webkit.org>
1761
1762         Removed .DS_Store accidentally added in last (r51245).
1763
1764 2009-11-19  Joseph Pecoraro  <joepeck@webkit.org>
1765
1766         Reviewed by Timothy Hatcher.
1767
1768         Web Inspector: Add Console Only Layout Mode
1769         https://bugs.webkit.org/show_bug.cgi?id=30282
1770
1771         Adds a Console Panel, which allows for a Full size Console. This
1772         extends the Drawer to the size of a Panel. This also fixes previous
1773         resize issues with the Drawer.
1774
1775         * inspector/front-end/ConsolePanel.js: added.
1776         (WebInspector.ConsolePanel):
1777         (WebInspector.ConsolePanel.prototype.toolbarItemClass.get toolbarItemLabel):
1778         (WebInspector.ConsolePanel.prototype.show):
1779         (WebInspector.ConsolePanel.prototype.hide):
1780         * inspector/front-end/Drawer.js:
1781         (WebInspector.Drawer):
1782         (WebInspector.Drawer.prototype.set visibleView):
1783         (WebInspector.Drawer.prototype.get savedHeight): access the saved height of the variable console.
1784         (WebInspector.Drawer.prototype.show.animationFinished):
1785         (WebInspector.Drawer.prototype.show):
1786         (WebInspector.Drawer.prototype.hide.animationFinished):
1787         (WebInspector.Drawer.prototype.hide):
1788         (WebInspector.Drawer.prototype.resize): resize appropriately if full/non-full
1789         (WebInspector.Drawer.prototype.enterPanelMode):
1790         (WebInspector.Drawer.prototype.exitPanelMode):
1791         (WebInspector.Drawer.prototype.immediatelyExitPanelMode):
1792         (WebInspector.Drawer.prototype._cancelAnimationIfNeeded):
1793         (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
1794         (WebInspector.Drawer.prototype._animateDrawerHeight):
1795         (WebInspector.Drawer.prototype._animationDuration):
1796         (WebInspector.Drawer.prototype._startStatusBarDragging):
1797         (WebInspector.Drawer.prototype._statusBarDragging):
1798         (WebInspector.Drawer.prototype._endStatusBarDragging):
1799
1800         Miscellaneous changes and cleanup.
1801
1802         * English.lproj/localizedStrings.js: "Console" toolbar title.
1803         * inspector/front-end/ConsoleView.js: removed unnecessary element reordering  
1804         * inspector/front-end/Images/consoleIcon.png: added.
1805         * inspector/front-end/inspector.css: added icon.
1806         * inspector/front-end/inspector.html:
1807         * inspector/front-end/inspector.js:
1808         (WebInspector._createPanels): create console panel
1809         (WebInspector.windowResize): resize drawer if necessary
1810         (WebInspector.documentKeyDown): esc should not toggle the console when in panel mode
1811         (WebInspector.animateStyle): start animation interval, returns the interval key
1812         (WebInspector.toggleAttach): resize drawer if necessary
1813         (WebInspector.showConsolePanel): restore the panel when the inspector restarts
1814         (WebInspector.showProfileForURL): style fix
1815
1816         Restore the panel when the inspector restarts.
1817
1818         * inspector/InspectorController.cpp:
1819         (WebCore::InspectorController::setWindowVisible):
1820         (WebCore::InspectorController::specialPanelForJSName):
1821         * inspector/InspectorFrontend.cpp:
1822         (WebCore::InspectorFrontend::showPanel):
1823
1824         Build files.
1825
1826         * WebCore.gypi:
1827         * WebCore.vcproj/WebCore.vcproj:
1828         * inspector/front-end/WebKit.qrc:
1829
1830 2009-11-20  Brian Weinstein  <bweinstein@apple.com>
1831
1832         Reviewed by Tim Hatcher.
1833
1834         Fixes <http://webkit.org/b/31699>.
1835         Web Inspector: Should Cache Values of InspectorController.platform() and port().
1836
1837         Refactor the Inspector to cache the value of InspectorController.platform
1838         and InspectorController.port, because those need to call into C++, they are
1839         being called more and more as we add platform specific keyboard shortcuts, and
1840         they shouldn't change in the lifecycle of the Web Inspector.
1841
1842         * inspector/front-end/AbstractTimelinePanel.js:
1843         (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
1844         * inspector/front-end/ConsoleView.js:
1845         (WebInspector.ConsoleView.prototype._updateFilter):
1846         * inspector/front-end/ElementsPanel.js:
1847         (WebInspector.ElementsPanel.prototype.handleKeyEvent):
1848         * inspector/front-end/ScriptsPanel.js:
1849         (WebInspector.ScriptsPanel):
1850         * inspector/front-end/SourceFrame.js:
1851         (WebInspector.SourceFrame.prototype._loaded):
1852         * inspector/front-end/inspector.js:
1853         (WebInspector.get platform):
1854         (WebInspector.get port):
1855         (WebInspector.loaded):
1856         (WebInspector.documentKeyDown):
1857         (WebInspector.toolbarDragStart):
1858
1859 2009-11-20  Dirk Schulze  <krit@webkit.org>
1860
1861         Unreviewed build fix for filters enabled builds.
1862
1863         * platform/graphics/filters/FEColorMatrix.cpp:
1864         (WebCore::FEColorMatrix::apply):
1865         * platform/graphics/filters/FEComposite.cpp:
1866         (WebCore::FEComposite::apply):
1867         * platform/graphics/filters/SourceGraphic.cpp:
1868         (WebCore::SourceGraphic::apply):
1869         * svg/graphics/SVGResourceFilter.cpp:
1870         (WebCore::SVGResourceFilter::applyFilter):
1871         * svg/graphics/filters/SVGFEMerge.cpp:
1872         (WebCore::FEMerge::apply):
1873         * svg/graphics/filters/SVGFEOffset.cpp:
1874         (WebCore::FEOffset::apply):
1875         * svg/graphics/filters/SVGFETile.cpp:
1876         (WebCore::FETile::apply):
1877
1878 2009-11-20  Eric Carlson  <eric.carlson@apple.com>
1879
1880         Reviewed by Simon Fraser.
1881
1882         <rdar://problem/7389945> QTKit based media engine should not claim to support 
1883         fullscreen on Leopard
1884
1885         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1886         (WebCore::MediaPlayerPrivate::supportsFullscreen):
1887             Only return true on SnowLeopard for now.
1888
1889         * rendering/RenderThemeMac.mm:
1890         (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
1891             No need to special case MediaFullscreenButtonPart as the default implementation 
1892             asks the media engine if it supports fullscreen.
1893
1894 2009-11-18  Girish Ramakrishnan  <girish@forwardbias.in>
1895
1896         Reviewed by Simon Hausmann.
1897
1898         Patch by Yongjun Zhang <yongjun.zhang@nokia.com> and
1899                  Girish Ramakrishnan <girish@forwardbias.in>
1900         
1901         [Qt] Implement support for rendering plugins on Qt/Mac when a page is used
1902         without a QWebView or when inside QGraphicsWebView.
1903         
1904         Currently, the code provides the cgcontext of the PlatformPluginWidget to
1905         the plugin. This approach does not work when we are printing, or using
1906         QWebFrame::render() to render to a QImage/QPixmap since the plugin ends
1907         up drawing on the QWebView (i.e platformPluginWidget's cgcontext) instead
1908         of the QPaintDevice's context.
1909         
1910         To solve all cases and keep the code simple, we render the plugin to an
1911         offscreen pixmap in all cases. This way, the plugin always renders to the
1912         CGContext of the pixmap and we then use QPainter to blit the pixmap into
1913         the QPaintDevice. We also create a fake window and set it's WindowRef in
1914         NPWindow. Only with this WindowRef does Flash paint correctly to the QPixmap.
1915         
1916         Now, that's the theory. In practice, ATM, mouse events do not work when using
1917         the fake window. So, setPlatformPluginWidget() is still called when using QWebView
1918         so that there are no regressions after this patch. Once we get mouse events
1919         working, setPlatformPluginWidget will be removed.
1920         
1921         https://bugs.webkit.org/show_bug.cgi?id=31183
1922
1923         * plugins/PluginView.cpp:
1924         (WebCore::PluginView::PluginView):
1925         * plugins/PluginView.h:
1926         * plugins/mac/PluginViewMac.cpp:
1927         (WebCore::PluginView::platformStart):
1928         (WebCore::PluginView::platformDestroy):
1929         (WebCore::PluginView::setNPWindowIfNeeded):
1930         (WebCore::PluginView::updatePluginWidget):
1931         (WebCore::PluginView::paint):
1932         (WebCore::PluginView::invalidateRect):
1933
1934 2009-11-19  Joseph Pecoraro  <joepeck@webkit.org>
1935
1936         Reviewed by Timothy Hatcher.
1937
1938         Web Inspector: Resync Resources Backend and Frontend
1939         https://bugs.webkit.org/show_bug.cgi?id=31705
1940
1941         * inspector/front-end/Resource.js: resync enum values with backend
1942         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType): return false if all else fails, not true in all cases
1943
1944 2009-11-19  Steve Block  <steveblock@google.com>
1945
1946         Reviewed by Darin Fisher.
1947
1948         Android port lacks configuration in Platform.h and config.h.
1949         https://bugs.webkit.org/show_bug.cgi?id=31671
1950
1951         Build change only. No new tests possible.
1952
1953         * config.h: Modified. Added Android-specific configuration.
1954
1955 2009-11-20  Roland Steiner  <rolandsteiner@chromium.org>
1956
1957         Reviewed by Darin Adler.
1958
1959         Change default stylesheet to reset text indentation for ruby elements by default.
1960         (https://bugs.webkit.org/show_bug.cgi?id=31247)
1961
1962         Test: fast/ruby/ruby-text-indent.html
1963
1964         * css/html.css: reset text-indent on <ruby> and <rt> elements
1965
1966 2009-11-19  Brian Weinstein  <bweinstein@apple.com>
1967
1968         Reviewed by Darin Adler.
1969
1970         Fixes <http://webkit.org/b/22754>.
1971         Web Inspector: Keyboard shortcut for Element finder.
1972
1973         Use Command + Shift + C as a shortcut for Node Search, to 
1974         match the Firebug shortcut to do the same thing.
1975
1976         * inspector/front-end/ElementsPanel.js:
1977         (WebInspector.ElementsPanel.prototype.handleKeyEvent):
1978
1979 2009-11-19  Alexey Proskuryakov  <ap@apple.com>
1980
1981         Reviewed by Darin Adler.
1982
1983         https://bugs.webkit.org/show_bug.cgi?id=31690
1984         Make SocketStreamHandleCFNet work on Windows
1985
1986         * WebCore.vcproj/WebCore.vcproj: Added LoaderRunLoopCF.
1987
1988         * platform/network/ResourceHandle.h: Removed loaderRunLoop().
1989
1990         * platform/network/cf/LoaderRunLoopCF.cpp: Added.
1991         (WebCore::emptyPerform):
1992         (WebCore::runLoaderThread):
1993         (WebCore::loaderRunLoop):
1994         * platform/network/cf/LoaderRunLoopCF.h: Added.
1995         Moved the run loop that we use for CFNetwork from ResourceHandle to its own file, because
1996         it's needed for more than just resource loading.
1997
1998         * platform/network/cf/ResourceHandleCFNet.cpp: Use loaderRunLoop() from its new location.
1999
2000         * platform/network/cf/DNSCFNet.cpp: (WebCore::DNSResolveQueue::resolve): Ditto.
2001
2002         * platform/network/cf/SocketStreamHandle.h: Added static callbacks for forwarding events to
2003         main thread.
2004         * platform/network/cf/SocketStreamHandleCFNet.cpp:
2005         (WebCore::SocketStreamHandle::SocketStreamHandle): Use loaderRunLoop() on Windows instead of
2006         inoperable main run loop.
2007
2008         (WebCore::MainThreadEventCallbackInfo::MainThreadEventCallbackInfo): 
2009         (WebCore::SocketStreamHandle::readStreamCallback):
2010         (WebCore::SocketStreamHandle::writeStreamCallback):
2011         (WebCore::SocketStreamHandle::readStreamCallbackMainThread):
2012         (WebCore::SocketStreamHandle::writeStreamCallbackMainThread):
2013         Forward stream events to main thread on Windows.
2014
2015 2009-11-19  Avi Drissman  <avi@chromium.org>
2016
2017         Reviewed by Darin Adler.
2018
2019         Quick style fix.
2020         https://bugs.webkit.org/show_bug.cgi?id=27777
2021
2022         * platform/graphics/cg/PDFDocumentImage.cpp:
2023
2024 2009-11-19  Beth Dakin  <bdakin@apple.com>
2025
2026        Build fix. No review needed.
2027
2028         * platform/chromium/ScrollbarThemeChromium.cpp:
2029         (WebCore::ScrollbarThemeChromium::paintTickmarks):
2030         * rendering/RenderMediaControlsChromium.cpp:
2031         (WebCore::paintMediaButton):
2032
2033 2009-11-19  Beth Dakin  <bdakin@apple.com>
2034       
2035        Build fix. No review needed.
2036
2037         * rendering/RenderThemeChromiumSkia.cpp:
2038         (WebCore::RenderThemeChromiumSkia::paintCheckbox):
2039         (WebCore::RenderThemeChromiumSkia::paintRadio):
2040         (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
2041         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
2042         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
2043
2044 2009-11-19  Beth Dakin  <bdakin@apple.com>
2045
2046        Build fix. No review needed.
2047
2048         * platform/graphics/qt/StillImageQt.cpp:
2049         (WebCore::StillImage::draw):
2050         * platform/graphics/qt/StillImageQt.h:
2051
2052 2009-11-19  Beth Dakin  <bdakin@apple.com>
2053
2054        Build fix. No review needed.
2055
2056         * rendering/RenderThemeWin.cpp:
2057         (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
2058         (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
2059         (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
2060
2061 2009-11-19  Beth Dakin  <bdakin@apple.com>
2062
2063        Build fix. No review needed.
2064
2065         * plugins/PluginView.cpp:
2066         (WebCore::PluginView::paintMissingPluginIcon):
2067
2068 2009-11-19  Beth Dakin  <bdakin@apple.com>
2069
2070         Build fix. No review needed.
2071
2072         * platform/graphics/win/ImageCGWin.cpp:
2073         (WebCore::BitmapImage::getHBITMAPOfSize):
2074         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
2075
2076 2009-11-19  Beth Dakin  <bdakin@apple.com>
2077
2078         Reviewed by Darin Adler.
2079
2080         Fix for https://bugs.webkit.org/show_bug.cgi?id=31321 Make -webkit-
2081         color-correction work with untagged images
2082
2083         Image's draw(), drawPattern(), and fillWithSolidColor() functions 
2084         now take a ColorSpace. A bunch of classes inherit from Image, so 
2085         draw() and drawPattern() functions there must also take a 
2086         ColorSpace.
2087         * platform/graphics/Image.cpp:
2088         (WebCore::Image::fillWithSolidColor):
2089         (WebCore::Image::drawTiled):
2090         * platform/graphics/Image.h:
2091         * platform/graphics/BitmapImage.h:
2092         * platform/graphics/GeneratedImage.cpp:
2093         (WebCore::GeneratedImage::draw):
2094         (WebCore::GeneratedImage::drawPattern):
2095         * platform/graphics/GeneratedImage.h:
2096         * platform/graphics/cg/PDFDocumentImage.cpp:
2097         (WebCore::PDFDocumentImage::draw):
2098         * platform/graphics/cg/PDFDocumentImage.h:
2099         * svg/graphics/SVGImage.cpp:
2100         (WebCore::SVGImage::draw):
2101         * svg/graphics/SVGImage.h:
2102
2103         All of the drawImage() functions and drawTiled() functions of 
2104         GraphicsContext now take a ColorSpace.
2105         * platform/graphics/GraphicsContext.cpp:
2106         (WebCore::GraphicsContext::drawImage):
2107         (WebCore::GraphicsContext::drawTiledImage):
2108         * platform/graphics/GraphicsContext.h:
2109
2110         This is where the actual work is done.
2111         * platform/graphics/cg/ImageCG.cpp:
2112         (WebCore::imageWithColorSpace): New static function that returns a 
2113         copy of the given image in the given ColorSpace *IF* we should use 
2114         the given ColorSpace. We will ignore the color space if the image 
2115         is tagged and return 0. 
2116         (WebCore::BitmapImage::draw): Now takes a ColorSpace and uses it to 
2117         call imageWithColorSpace(). 
2118         (WebCore::Image::drawPattern): Same.
2119
2120         Attempt to keep all ports building. 
2121         * platform/graphics/cairo/ImageCairo.cpp:
2122         (WebCore::BitmapImage::draw):
2123         (WebCore::Image::drawPattern):
2124         * platform/graphics/haiku/ImageHaiku.cpp:
2125         (WebCore::BitmapImage::draw):
2126         (WebCore::Image::drawPattern):
2127         * platform/graphics/qt/ImageQt.cpp:
2128         (WebCore::Image::drawPattern):
2129         (WebCore::BitmapImage::draw):
2130         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
2131         * platform/graphics/skia/ImageSkia.cpp:
2132         (WebCore::Image::drawPattern):
2133         (WebCore::BitmapImage::draw):
2134         (WebCore::BitmapImageSingleFrameSkia::draw):
2135         * platform/graphics/wx/ImageWx.cpp:
2136         (WebCore::BitmapImage::draw):
2137         (WebCore::BitmapImage::drawPattern):
2138
2139         Callers of GraphicsContext's drawImage() and drawTiled() functions 
2140         now need to send a ColorSpace.
2141         * html/HTMLCanvasElement.cpp:
2142         (WebCore::HTMLCanvasElement::paint):
2143         * html/canvas/CanvasRenderingContext2D.cpp:
2144         (WebCore::CanvasRenderingContext2D::drawImage):
2145         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
2146         * platform/ScrollView.cpp:
2147         (WebCore::ScrollView::wheelEvent):
2148         * platform/graphics/filters/FEColorMatrix.cpp:
2149         (WebCore::FEColorMatrix::apply):
2150         * platform/graphics/filters/FEComposite.cpp:
2151         (WebCore::FEComposite::apply):
2152         * platform/graphics/filters/SourceGraphic.cpp:
2153         (WebCore::SourceGraphic::apply):
2154         * platform/mac/ScrollbarThemeMac.mm:
2155         (WebCore::ScrollbarThemeMac::paint):
2156         * rendering/RenderBoxModelObject.cpp:
2157         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2158         (WebCore::RenderBoxModelObject::paintNinePieceImage):
2159         * rendering/RenderImage.cpp:
2160         (WebCore::RenderImage::paintReplaced):
2161         * rendering/RenderLayer.cpp:
2162         (WebCore::RenderLayer::paintResizer):
2163         * rendering/RenderListMarker.cpp:
2164         (WebCore::RenderListMarker::paint):
2165         * rendering/RenderSVGImage.cpp:
2166         (WebCore::RenderSVGImage::paint):
2167         * rendering/RenderWidget.cpp:
2168         (WebCore::RenderWidget::paint):
2169         * svg/graphics/SVGPaintServerPattern.cpp:
2170         (WebCore::SVGPaintServerPattern::setup):
2171         * svg/graphics/SVGResourceFilter.cpp:
2172         (WebCore::SVGResourceFilter::applyFilter):
2173         * svg/graphics/filters/SVGFEMerge.cpp:
2174         (WebCore::FEMerge::apply):
2175         * svg/graphics/filters/SVGFEOffset.cpp:
2176         (WebCore::FEOffset::apply):
2177         * svg/graphics/filters/SVGFETile.cpp:
2178         (WebCore::FETile::apply):
2179
2180 2009-11-19  Avi Drissman  <avi@chromium.org>
2181
2182         Reviewed by Darin Adler.
2183
2184         Properly create a CGImageRef on non-PLATFORM(MAC).
2185         https://bugs.webkit.org/show_bug.cgi?id=27777
2186
2187         * platform/graphics/cg/ImageSourceCG.cpp:
2188         (WebCore::sharedBufferGetBytesAtPosition):
2189         (WebCore::sharedBufferRelease):
2190         (WebCore::ImageSource::setData):
2191         * platform/graphics/cg/ImageSourceCG.h:
2192         * platform/graphics/cg/PDFDocumentImage.cpp:
2193         (WebCore::PDFDocumentImage::dataChanged):
2194
2195 2009-11-19  Oliver Hunt  <oliver@apple.com>
2196
2197         Reviewed by Dave Hyatt.
2198
2199         -webkit-user-drag: element Drag images include overflow decorations from incorrect nodes
2200         https://bugs.webkit.org/show_bug.cgi?id=31656
2201
2202         Make sure we're a child of the painting root before drawing overflow features.
2203
2204         * manual-tests/user-drag-with-decorations.html: Added.
2205         * rendering/RenderBlock.cpp:
2206         (WebCore::RenderBlock::paint):
2207
2208 2009-11-19  Dmitry Titov  <dimich@chromium.org>
2209
2210         Not reviewed, attempt to fix Chromium build.
2211
2212         * rendering/RenderMediaControlsChromium.cpp:
2213         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): Add new enum values for Show/HideClosedCaptionButton to make it compile.
2214
2215 2009-11-19  Rahul Kuchhal  <kuchhal@chromium.org>
2216
2217         Reviewed by Darin Adler.
2218
2219         Do not assert when a high number is used for roman numerals in lists.
2220         https://bugs.webkit.org/show_bug.cgi?id=31652
2221
2222         Test: fast/lists/ol-start-roman.html
2223
2224         * rendering/RenderListMarker.cpp:
2225         (WebCore::toRoman): Increase the char array size.
2226
2227 2009-11-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2228
2229         Rubber-stamped by Oliver Hunt.
2230
2231         Add translatable strings to cover validationMessage, after
2232         r51172. Already covered by existing test.
2233
2234         * platform/gtk/LocalizedStringsGtk.cpp:
2235         (WebCore::validationMessageValueMissingText):
2236         (WebCore::validationMessageTypeMismatchText):
2237         (WebCore::validationMessagePatternMismatchText):
2238         (WebCore::validationMessageTooLongText):
2239         (WebCore::validationMessageRangeUnderflowText):
2240         (WebCore::validationMessageRangeOverflowText):
2241         (WebCore::validationMessageStepMismatchText):
2242
2243 2009-11-19  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2244
2245         Reviewed by Darin Adler.
2246
2247         Remove HAVE(FLOAT_H) guard
2248         https://bugs.webkit.org/show_bug.cgi?id=31661
2249
2250         WebCore has a dependency on float.h, there is
2251         no need to guard float.h.
2252
2253         No new tests as there is no functional change.
2254
2255         * html/HTMLInputElement.cpp: Remove include directive
2256         for float.h as it is included in MathExtras.h already.
2257
2258 2009-11-19  Simon Fraser  <simon.fraser@apple.com>
2259
2260         Reviewed by Pavel Feldman.
2261
2262         Instrumentation should account for painting in compositing layers
2263         https://bugs.webkit.org/show_bug.cgi?id=31674
2264
2265         Add calls to InspectorTimelineAgent for painting into compositing layers,
2266         which is not accounted for in FrameView::paintContents().
2267
2268         * rendering/RenderLayerBacking.cpp:
2269         (WebCore::RenderLayerBacking::paintIntoLayer):
2270         Avoid fetching the FrameView multiple times.
2271         
2272         (WebCore::inspectorTimelineAgent):
2273         (WebCore::RenderLayerBacking::paintContents):
2274
2275 2009-11-19  Eric Carlson  <eric.carlson@apple.com>
2276
2277         Reviewed by Dan Bernstein.
2278
2279         <rdar://problem/7035231>
2280         Support closed caption in <video> element
2281
2282         Test: media/media-captions.html
2283
2284         * WebCore.base.exp:
2285         * accessibility/AccessibilityMediaControls.cpp:
2286         (WebCore::AccessibilityMediaControl::controlTypeName):
2287             Define ShowClosedCaptionsButton and HideClosedCaptionsButton.
2288
2289         * css/CSSPrimitiveValueMappings.h:
2290         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2291             Add MediaToggleClosedCaptionsButtonPart.
2292
2293         * css/CSSSelector.cpp:
2294         (WebCore::CSSSelector::extractPseudoType):
2295             Define and match mediaControlsToggleClosedCaptionsButton.
2296
2297         * css/CSSSelector.h:
2298         (WebCore::CSSSelector::):
2299         * css/CSSStyleSelector.cpp:
2300         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2301             Define and match PseudoMediaControlsToggleClosedCaptions.
2302
2303         * css/CSSValueKeywords.in:
2304             Define and use media-toggle-closed-captions-button.
2305
2306         * css/mediaControls.css:
2307         * css/mediaControlsQuickTime.css:
2308             Add webkit-media-controls-toggle-closed-captions-button.
2309
2310         * html/HTMLMediaElement.cpp:
2311         (WebCore::HTMLMediaElement::HTMLMediaElement): 
2312             Initialize m_closedCaptionsVisible.
2313         (WebCore::HTMLMediaElement::loadInternal): 
2314             Set m_closedCaptionsVisible to false.
2315         (WebCore::HTMLMediaElement::hasClosedCaptions): 
2316         (WebCore::HTMLMediaElement::closedCaptionsVisible): 
2317         (WebCore::HTMLMediaElement::setClosedCaptionsVisible): 
2318             New, captions internal methods.
2319         (WebCore::HTMLMediaElement::setWebkitClosedCaptionsVisible): 
2320         (WebCore::HTMLMediaElement::webkitClosedCaptionsVisible): 
2321         (WebCore::HTMLMediaElement::webkitHasClosedCaptions): 
2322             New, captions DOM API.
2323
2324         * html/HTMLMediaElement.h:
2325         * html/HTMLMediaElement.idl:
2326             Declare methods needed for captions API.
2327
2328         * platform/ThemeTypes.h:
2329             Add MediaToggleClosedCaptionsButtonPart.
2330
2331         * platform/android/LocalizedStringsAndroid.cpp:
2332         (WebCore::localizedMediaControlElementString):
2333         (WebCore::localizedMediaControlElementHelpText):
2334         (WebCore::localizedMediaTimeDescription):
2335             Add empty implmentations.
2336
2337         * platform/graphics/MediaPlayer.cpp:
2338         (WebCore::NullMediaPlayerPrivate::hasClosedCaptions):
2339         (WebCore::NullMediaPlayerPrivate::setClosedCaptionsVisible):
2340             New, empty implementations of media engine closed caption functions.
2341         (WebCore::MediaPlayer::hasClosedCaptions):
2342         (WebCore::MediaPlayer::setClosedCaptionsVisible):
2343             New, call media engine closed caption functions.
2344
2345         * platform/graphics/MediaPlayer.h:
2346         * platform/graphics/MediaPlayerPrivate.h:
2347         (WebCore::MediaPlayerPrivateInterface::hasClosedCaptions):
2348         (WebCore::MediaPlayerPrivateInterface::setClosedCaptionsVisible):
2349             Declare new media engine methods.
2350
2351         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2352         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2353         (WebCore::MediaPlayerPrivate::hasClosedCaptions):
2354         (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
2355             New, QTKit implementation of closed caption methods.
2356
2357         * platform/gtk/LocalizedStringsGtk.cpp:
2358         (WebCore::localizedMediaControlElementString):
2359         (WebCore::localizedMediaControlElementHelpText):
2360             Add help text for ShowClosedCaptionsButton and HideClosedCaptionsButton.
2361
2362         * platform/mac/WebCoreSystemInterface.h:
2363         * platform/mac/WebCoreSystemInterface.mm:
2364             Declare and initialize wkQTMovieHasClosedCaptions and wkQTMovieSetShowClosedCaptions.
2365
2366         * rendering/MediaControlElements.cpp:
2367         (WebCore::MediaControlInputElement::MediaControlInputElement):
2368             Deal with MEDIA_CONTROLS_TOGGLE_CLOSED_CAPTIONS_BUTTON.
2369         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
2370         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
2371         (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
2372             New, implement the closed caption toggle button,
2373
2374         * rendering/MediaControlElements.h:
2375             Define MediaShowClosedCaptionsButton and MediaHideClosedCaptionsButton,
2376             declare MediaControlToggleClosedCaptionsButtonElement.
2377
2378         * rendering/RenderMedia.cpp:
2379         (WebCore::RenderMedia::styleDidChange):
2380         (WebCore::RenderMedia::createToggleClosedCaptionsButton):
2381         (WebCore::RenderMedia::createStatusDisplay):
2382         (WebCore::RenderMedia::updateControls):
2383         (WebCore::RenderMedia::forwardEvent):
2384         * rendering/RenderMedia.h:
2385             Deal with m_toggleClosedCaptionsButton.
2386
2387         * rendering/RenderTheme.cpp:
2388         (WebCore::RenderTheme::paint):
2389             Deal with MediaToggleClosedCaptionsButtonPart.
2390
2391         * rendering/RenderTheme.h:
2392         * rendering/RenderThemeMac.h:
2393             Declare paintMediaToggleClosedCaptionsButton.
2394
2395         * rendering/RenderThemeMac.mm:
2396         (WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton):
2397             New.
2398         (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
2399             Don't render captions toggle button unless we are using the new theme, the
2400             movie has captions, and the movie is in a <video> element since we currently
2401             rely on QTKit to render the captions.
2402
2403         * rendering/style/RenderStyleConstants.h:
2404             Define MEDIA_CONTROLS_TOGGLE_CLOSED_CAPTIONS_BUTTON.
2405
2406 2009-11-19  Kevin Ollivier  <kevino@theolliviers.com>
2407
2408         wx build fix. Add missing header.
2409
2410         * platform/wx/LocalizedStringsWx.cpp:
2411
2412 2009-11-19  Alexey Proskuryakov  <ap@apple.com>
2413
2414         Reviewed by Darin Adler.
2415
2416         https://bugs.webkit.org/show_bug.cgi?id=31634
2417         Ignore realm for proxy protection spaces
2418
2419         Only affects WebSocket proxy authentication, cannot be tested in DRT.
2420
2421         * platform/network/ProtectionSpace.cpp:
2422         (WebCore::operator==):
2423         * platform/network/ProtectionSpaceHash.h:
2424         (WebCore::ProtectionSpaceHash::hash):
2425
2426 2009-11-19  Olivier Goffart  <ogoffart@trolltech.com>
2427
2428         Reviewed by Simon Hausmann.
2429
2430         [Qt] Normalize signal and slot signatures.
2431
2432         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
2433         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
2434
2435 2009-11-19  Alexander Pavlov  <apavlov@chromium.org>
2436
2437         Reviewed by Pavel Feldman.
2438
2439         Store cookie domains in the WebInspector object
2440
2441         The cookie domains have been moved from StoragePanel into WebInspector.
2442         Also, the document URLs are now passed inside the WebInspector.addResource()
2443         payload rather than pushed directly from InspectorController.
2444         https://bugs.webkit.org/show_bug.cgi?id=31627
2445
2446         * inspector/InspectorController.cpp:
2447         (WebCore::InspectorController::populateScriptObjects):
2448         (WebCore::InspectorController::didFinishLoading):
2449         * inspector/InspectorFrontend.cpp:
2450         * inspector/InspectorFrontend.h:
2451         * inspector/InspectorResource.cpp:
2452         (WebCore::InspectorResource::createScriptObject):
2453         (WebCore::InspectorResource::updateScriptObject):
2454         * inspector/front-end/StoragePanel.js:
2455         (WebInspector.StoragePanel.prototype.reset):
2456         (WebInspector.StoragePanel.prototype.addCookieDomain):
2457         * inspector/front-end/inspector.js:
2458         (WebInspector.addResource):
2459         (WebInspector.addCookieDomain):
2460         (WebInspector.reset):
2461
2462 2009-11-19  Zoltan Horvath  <zoltan@webkit.org>
2463
2464         Reviewed by Darin Adler.
2465
2466         Allow custom memory allocation control for the other part of platform directory in WebCore
2467         https://bugs.webkit.org/show_bug.cgi?id=31585
2468
2469         Inherits the following classes from FastAllocBase because these are
2470         instantiated by 'new':
2471
2472         class RegularExpression    - instantiated at: WebCore/page/Frame.cpp:415
2473         class TransformationMatrix - instantiated at: WebCore/rendering/TransformState.cpp:62
2474         class Path                 - instantiated at: WebCore/html/HTMLAreaElement.cpp:73
2475         class FontPlatformData     - instantiated at: WebCore/platform/graphics/qt/FontCacheQt.cpp:188
2476
2477         Inherits the following classes from Noncopyable because these are
2478         instantiated by 'new' and no need to be copyable:
2479
2480         class Cursors                         - instantiated at: WebCore/platform/qt/CursorQt.cpp:146
2481         class NetworkStateNotifier            - instantiated at: WebCore/platform/network/NetworkStateNotifier.cpp:37
2482         struct CrossThreadResourceRequestData - instantiated at: WebCore/platform/network/ResourceRequestBase.cpp:71
2483
2484         class ImageDecoder - its child class is instantiated at: WebCore/platform/graphics/qt/ImageDecoderQt.cpp:46
2485         class MediaPlayerPrivateInterface - its child class is instantiated at: WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:119
2486
2487         * platform/graphics/MediaPlayerPrivate.h:
2488         * platform/graphics/Path.h:
2489         * platform/graphics/qt/FontPlatformData.h:
2490         * platform/graphics/transforms/TransformationMatrix.h:
2491         * platform/image-decoders/ImageDecoder.h:
2492         * platform/network/NetworkStateNotifier.h:
2493         * platform/network/ResourceRequestBase.h:
2494         * platform/qt/CursorQt.cpp:
2495         * platform/text/RegularExpression.h:
2496
2497 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2498
2499         Unreviewed.
2500
2501         [Qt] Build fix for QtWebKit after r51172.
2502
2503         * platform/qt/Localizations.cpp:
2504         (WebCore::validationMessageValueMissingText):
2505         (WebCore::validationMessageTypeMismatchText):
2506         (WebCore::validationMessagePatternMismatchText):
2507         (WebCore::validationMessageTooLongText):
2508         (WebCore::validationMessageRangeUnderflowText):
2509         (WebCore::validationMessageRangeOverflowText):
2510         (WebCore::validationMessageStepMismatchText):
2511
2512 2009-11-18  Dan Bernstein  <mitz@apple.com>
2513
2514         Reviewed by Simon Fraser.
2515
2516         Fixed <rdar://problem/7398987> Assertion failure in
2517         RenderLayer::updateClipRects when a plug-in’s enclosing layer is
2518         enclosed by a transformed layer
2519
2520         Tests: fast/layers/clip-rects-transformed-2.html
2521                fast/layers/clip-rects-transformed.html
2522
2523         * rendering/RenderLayer.cpp:
2524         (WebCore::RenderLayer::clippingRoot): Added. Finds the nearest ancestor
2525         that is either transformed or composited. During painting and hit
2526         testing, when a transformed or composited layer is hit, it becomes the
2527         new root layer, which ultimately gets passed to calculateRects().
2528         (WebCore::RenderLayer::childrenClipRect): Pass the clipping root as the
2529         root layer to calculateRects(), and return the bounding box of the
2530         transformed rectangle.
2531         (WebCore::RenderLayer::selfClipRect): Ditto.
2532         * rendering/RenderLayer.h:
2533
2534 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2535
2536         Reviewed by Kenneth Rohde Christiansen.
2537
2538         [Qt] Remove support for Qt v4.3 or older versions
2539         https://bugs.webkit.org/show_bug.cgi?id=29469
2540
2541         No new tests as there is no change if compiled with 
2542         Qt v4.4 or later version.
2543
2544         * WebCore.pro:
2545         * dom/XMLTokenizerQt.cpp:
2546         (WebCore::EntityResolver::resolveUndeclaredEntity):
2547         (WebCore::XMLTokenizer::XMLTokenizer):
2548         (WebCore::XMLTokenizer::~XMLTokenizer):
2549         (WebCore::XMLTokenizer::doWrite):
2550         (WebCore::XMLTokenizer::startDocument):
2551         (WebCore::XMLTokenizer::parseDtd):
2552         * platform/graphics/qt/FontQt.cpp:
2553         * platform/graphics/qt/FontQt43.cpp: Removed.
2554         * platform/graphics/qt/ImageQt.cpp:
2555         * platform/network/ResourceHandleInternal.h:
2556         * platform/network/qt/QNetworkReplyHandler.cpp:
2557         * platform/network/qt/QNetworkReplyHandler.h:
2558         * platform/network/qt/ResourceHandleQt.cpp:
2559         (WebCore::ResourceHandle::start):
2560         (WebCore::ResourceHandle::cancel):
2561         (WebCore::ResourceHandle::loadResourceSynchronously):
2562         (WebCore::ResourceHandle::setDefersLoading):
2563         * platform/network/qt/ResourceRequest.h:
2564         * platform/network/qt/ResourceRequestQt.cpp:
2565         * platform/qt/ClipboardQt.cpp:
2566         (WebCore::ClipboardQt::clearData):
2567         * platform/qt/CookieJarQt.cpp:
2568         (WebCore::cookieJar):
2569         (WebCore::setCookies):
2570         (WebCore::cookies):
2571         (WebCore::cookiesEnabled):
2572         * platform/qt/PlatformKeyboardEventQt.cpp:
2573         (WebCore::keyIdentifierForQtKeyCode):
2574         (WebCore::windowsKeyCodeForKeyEvent):
2575         * platform/text/qt/TextBoundaries.cpp:
2576         * platform/text/qt/TextBreakIteratorQt.cpp:
2577         * plugins/qt/PluginDataQt.cpp:
2578         (WebCore::PluginData::initPlugins):
2579
2580 2009-11-18  Michelangelo De Simone  <micdesim@gmail.com>
2581
2582         Reviewed by Darin Adler.
2583
2584         Fix for <https://bugs.webkit.org/show_bug.cgi?id=27959>.
2585         Support for validationMessage attribute, as per HTML5 specs.
2586
2587         Test: fast/forms/validationMessage.html
2588
2589         * html/HTMLButtonElement.idl: validationMessage attribute
2590         * html/HTMLFieldSetElement.idl: validationMessage attribute
2591         * html/HTMLFormControlElement.cpp:
2592         * html/HTMLFormControlElement.h:
2593         * html/HTMLInputElement.idl: validationMessage attribute
2594         * html/HTMLSelectElement.idl: validationMessage attribute
2595         * html/HTMLTextAreaElement.idl: validationMessage attribute
2596         * html/ValidityState.cpp: new method to retrieve pertinent localized text
2597         * html/ValidityState.h:
2598         * page/mac/WebCoreViewFactory.h:
2599         * platform/LocalizedStrings.h:
2600         * platform/android/LocalizedStringsAndroid.cpp:
2601         * platform/gtk/LocalizedStringsGtk.cpp:
2602         * platform/haiku/LocalizedStringsHaiku.cpp:
2603         * platform/mac/LocalizedStringsMac.mm:
2604         * platform/wx/LocalizedStringsWx.cpp:
2605
2606 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2607
2608         Unreviewed.
2609
2610         Fix a typo. Remove the trailing semicolon
2611         from an include directive after r51137.
2612
2613         No new tests as there is no functional change.
2614
2615         * platform/qt/QWebPageClient.h:
2616
2617 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2618
2619         Unreviewed.
2620
2621         [Qt] Build fix for QtWebKit after r51159.
2622
2623         Include float.h for DBL_MANT_DIG. Not sure why this
2624         is not a problem for other ports.
2625
2626         * html/HTMLInputElement.cpp:
2627
2628 2009-11-19  Roland Steiner  <rolandsteiner@chromium.org>
2629
2630         Reviewed by Darin Adler.
2631
2632         Bug 31574 -  Crashing bug when removing <ruby> element
2633         (https://bugs.webkit.org/show_bug.cgi?id=31574)
2634
2635         Cause of the bug:
2636         1.) RenderBlock::destroy() of the RenderRubyRun called destroyLeftoverChildren()
2637         2.) that called destroy() of the RenderRubyBase(), which in RenderObject::destroy() calls remove()
2638         3.) remove() is being redirected as parent()->removeChild() in RenderObject.h
2639         4.) this triggers the special handling of child removal in RenderRubyRun that
2640             causes it to destroy itself
2641         5.) On returning from all this the renderer crashes when accessing a member
2642             or virtual function on this now illegal object.
2643
2644         I therefore added a flag that tracks if the ruby run is being destroyed.
2645         If so, avoid doing the special handling in removeChild that caused this.
2646         It's not the most elegant solution, but the easiest to implement without
2647         touching unrelated code. Also, it's self-documenting.
2648
2649         Test: fast/ruby/ruby-remove.html
2650
2651         * rendering/RenderRubyRun.cpp:
2652         (WebCore::RenderRubyRun::RenderRubyRun):
2653         (WebCore::RenderRubyRun::destroy):
2654         (WebCore::RenderRubyRun::removeChild):
2655         * rendering/RenderRubyRun.h:
2656
2657 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2658
2659         Reviewed by Kenneth Rohde Christiansen.
2660
2661         [Qt] Remove WTF_USE_JAVASCRIPTCORE_BINDINGS as it is no longer used
2662         https://bugs.webkit.org/show_bug.cgi?id=31643
2663
2664         No new tests as there is no functional change.
2665
2666         * WebCore.pro:
2667
2668 2009-11-18  Yong Li  <yong.li@torchmobile.com>
2669
2670         Reviewed by Eric Seidel.
2671
2672         Implement TextBoundaries for WINCE port.
2673         https://bugs.webkit.org/show_bug.cgi?id=27371
2674
2675         * platform/text/wince/TextBoundariesWince.cpp: Added.
2676
2677 2009-11-18  Yong Li  <yong.li@torchmobile.com>
2678
2679         Reviewed by Eric Seidel.
2680
2681         Implement TextBreakIterator for WINCE port.
2682         https://bugs.webkit.org/show_bug.cgi?id=27371
2683
2684         * platform/text/wince/TextBreakIteratorWince.cpp: Added.
2685
2686 2009-11-18  Kent Tamura  <tkent@chromium.org>
2687
2688         Reviewed by Darin Adler.
2689
2690         Add support for ValidityState.typeMismatch for the following INPUT types:
2691           date datetime datetime-local month time week
2692         https://bugs.webkit.org/show_bug.cgi?id=31342
2693
2694         Tests: fast/forms/ValidityState-typeMismatch-date.html
2695                fast/forms/ValidityState-typeMismatch-datetime.html
2696                fast/forms/ValidityState-typeMismatch-datetimelocal.html
2697                fast/forms/ValidityState-typeMismatch-month.html
2698                fast/forms/ValidityState-typeMismatch-time.html
2699                fast/forms/ValidityState-typeMismatch-week.html
2700
2701         * html/HTMLInputElement.cpp:
2702         (WebCore::HTMLInputElement::formStringToISODateTime): Check the type
2703           validity of the specified type and string using the ISODateTime class.
2704         * html/HTMLInputElement.h:
2705         * html/ValidityState.cpp:
2706         (WebCore::ValidityState::typeMismatch): Check the type validity
2707           for date, datetime, datetime-local, month, time and week with
2708           HTMLInputElemtn::formStringToISODateTime()
2709
2710 2009-11-18  Maciej Stachowiak  <mjs@apple.com>
2711
2712         Reviewed by Oliver Hunt.
2713
2714         Fix REGRESSION (r47022): Performance of DocumentFragment.appendChild is 1000x slower sometimes
2715         https://bugs.webkit.org/show_bug.cgi?id=31237
2716         
2717         Also speeds up Dromaeo DOM Core tests by 1.31x.
2718
2719         * bindings/js/JSNodeCustom.cpp:
2720         (WebCore::JSNode::markChildren): Change marking algorithm to avoid O(N^2) behavior. The subtree
2721         mark bit was no longer effective; instead I changed things so only a node that has no ancestors
2722         with wrappers would do marking; there should be only one in the typical case (the root of the
2723         detached subtree).
2724         * dom/Node.cpp:
2725         (WebCore::Node::Node): Remove now useless m_inSubtreeMark bit and related functions.
2726         * dom/Node.h: ditto
2727
2728 2009-11-18  Darin Adler  <darin@apple.com>
2729
2730         Reviewed by Sam Weinig.
2731
2732         Get rid of the redundant strokeType and fillType data members on
2733         a GraphicsContext as well as the FillOrStrokeType enum. Use
2734         null pointers instead.
2735
2736         * platform/graphics/GraphicsContext.cpp:
2737         (WebCore::GraphicsContext::setStrokeColor): Null out the pattern
2738         and gradient.
2739         (WebCore::GraphicsContext::setFillColor): Ditto.
2740         (WebCore::GraphicsContext::setStrokePattern): Null out the graident.
2741         (WebCore::GraphicsContext::setFillPattern): Ditto.
2742         (WebCore::GraphicsContext::setStrokeGradient): Null out the pattern.
2743         (WebCore::GraphicsContext::setFillGradient): Ditto.
2744
2745         * platform/graphics/GraphicsContextPrivate.h: Remove all that stuff.
2746
2747         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2748         (WebCore::setPlatformFill): Use null checks on fillPattern and
2749         fillGraident instead of a switch statement.
2750         (WebCore::setPlatformStroke): Ditto.
2751
2752         * platform/graphics/cg/GraphicsContextCG.cpp:
2753         (WebCore::GraphicsContext::applyStrokePattern): Removed unneeded get.
2754         (WebCore::GraphicsContext::applyFillPattern): Ditto.
2755         (WebCore::calculateDrawingMode): Use fillPattern and strokePattern
2756         to see if there is a pattern instead of fillType and strokeType.
2757         (WebCore::GraphicsContext::drawPath): Use fillGradient, strokeGradient,
2758         fillPattern, and strokePattern instead of fillType and strokeType.
2759         (WebCore::GraphicsContext::fillPath): Added FIXME about color space that
2760         is used in the pattern and gradient case probably erroneously. Moved
2761         gradient code inside an if statement. Streamlined pattern code and
2762         use an if statement. No switch any more.
2763         (WebCore::GraphicsContext::strokePath): Ditto.
2764         (WebCore::GraphicsContext::fillRect): Ditto.
2765         (WebCore::GraphicsContext::strokeRect): Ditto.
2766
2767         * platform/graphics/qt/GraphicsContextQt.cpp:
2768         (WebCore::GraphicsContext::fillPath): Use null checks on fillPattern and
2769         fillGraident instead of a switch statement.
2770         (WebCore::GraphicsContext::strokePath): Ditto.
2771         (WebCore::GraphicsContext::fillRect): Ditto.
2772
2773         * platform/graphics/wince/GraphicsContextWince.cpp:
2774         (WebCore::GraphicsContext::fillPath): Removed unneeded check of fillType.
2775         (WebCore::GraphicsContext::fillRect): Ditto.
2776
2777 2009-11-18  Kent Tamura  <tkent@chromium.org>
2778
2779         Reviewed by Darin Adler.
2780
2781         Support for step attribute and ValidityStae.stepMismatch for
2782         type=number and range.  stepMismatch will be false if the
2783         difference between the current value and a multiple of the step
2784         value is very small.
2785
2786         Change the behavior of RenderSlider so that it always has a value
2787         rounded to the step attribute value.
2788
2789         https://bugs.webkit.org/show_bug.cgi?id=31331
2790
2791         Tests: fast/forms/ValidityState-stepMismatch-number.html
2792                fast/forms/ValidityState-stepMismatch-range.html
2793                fast/forms/ValidityState-stepMismatch-unsupported.html
2794                fast/forms/input-step.html
2795
2796         * html/HTMLAttributeNames.in: Add "step".
2797         * html/HTMLInputElement.cpp:
2798         (WebCore::HTMLInputElement::stepMismatch):
2799         (WebCore::HTMLInputElement::getStepParameters):
2800         (WebCore::HTMLInputElement::getAllowedValueStep):
2801         * html/HTMLInputElement.h:
2802         * html/HTMLInputElement.idl: Add "step".
2803         * html/ValidityState.cpp:
2804         (WebCore::ValidityState::stepMismatch): Forward to HTMLInputElement::stepMismatch().
2805         * html/ValidityState.h:
2806         * rendering/RenderSlider.cpp:
2807         (WebCore::SliderRange::SliderRange):
2808         (WebCore::SliderRange::clampValue):
2809
2810 2009-11-18  Dmitry Titov  <dimich@chromium.org>
2811
2812         Reviewed by Darin Adler.
2813
2814         Need to ASSERT(isMainThread()) in ThreadShared methods.
2815         https://bugs.webkit.org/show_bug.cgi?id=31637
2816
2817         Added ASSERT(IsMainThread()) to all following methods:
2818         * platform/TreeShared.h:
2819         (WebCore::TreeShared::TreeShared):
2820         (WebCore::TreeShared::~TreeShared):
2821         (WebCore::TreeShared::ref):
2822         (WebCore::TreeShared::deref):
2823         (WebCore::TreeShared::setParent):
2824         (WebCore::TreeShared::parent):
2825
2826 2009-11-18  Girish Ramakrishnan  <girish@forwardbias.in>
2827
2828         Reviewed by Eric Seidel.
2829
2830         Add plugin visibility manual test
2831
2832         https://bugs.webkit.org/show_bug.cgi?id=31542
2833
2834         * manual-tests/plugins/windowed.html:
2835         * manual-tests/plugins/windowless.html:
2836
2837 2009-11-18  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
2838
2839         Reviewed by Pavel Feldman.
2840
2841         Web Inspector - remember last script displayed in Scripts panel
2842         https://bugs.webkit.org/show_bug.cgi?id=27552
2843
2844         Manual test added
2845         
2846         * inspector/front-end/ScriptsPanel.js:
2847         (WebInspector.ScriptsPanel.prototype.showScript):
2848         (WebInspector.ScriptsPanel.prototype.showResource):
2849         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
2850         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
2851         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
2852         (WebInspector.ScriptsPanel.prototype._goBack):
2853         (WebInspector.ScriptsPanel.prototype._goForward):
2854         * manual-tests/inspector/remember-last-script.html: Added.
2855
2856 2009-11-18  Shinichiro Hamaji  <hamaji@chromium.org>
2857
2858         Reviewed by Dimitri Glazkov.
2859
2860         Win chromium is slow to draw transparent texts
2861         https://bugs.webkit.org/show_bug.cgi?id=31258
2862
2863         Create bounded transparency layers instead of just clipping.
2864
2865         No new tests because this is just a performance improvement.
2866
2867         * platform/graphics/chromium/FontChromiumWin.cpp:
2868         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
2869
2870 2009-11-18  Shu Chang  <Chang.Shu@nokia.com>
2871
2872         Reviewed by Eric Seidel.
2873
2874         [Qt] Add support for displaying deleteButton.
2875         https://bugs.webkit.org/show_bug.cgi?id=31560
2876
2877         Test: LayoutTests/editing/deleting/5408255.html
2878
2879         * WebCore.qrc:
2880         * platform/graphics/qt/ImageQt.cpp:
2881         (loadResourcePixmap):
2882
2883 2009-11-18  Mikhail Naganov  <mnaganov@chromium.org>
2884
2885         Reviewed by Eric Seidel.
2886
2887         Fix Qt build without JavaScript debugger.
2888
2889         https://bugs.webkit.org/show_bug.cgi?id=31575
2890
2891         * page/Console.idl:
2892
2893 2009-11-18  Daniel Bates  <dbates@webkit.org>
2894
2895         Reviewed by Dave Hyatt.
2896
2897         https://bugs.webkit.org/show_bug.cgi?id=24971
2898         And
2899         <rdar://problem/7138265>
2900
2901         Fixes an issue where setting the height of a table row programmatically
2902         (via JavaScript) causes the table to be improperly rendered because the
2903         height of each row in the table is not recalculated with respect to the
2904         CSS height property.
2905
2906         In particular, programmatically setting the height of some table row causes
2907         the rows of that table to be rendered with a height equal to the minimum
2908         height required by the cells in that row, regardless of any specified cell
2909         heights. Instead, when RenderTableSection::recalcCells is called, the height
2910         of each row should be set to the CSS height property just as we do in
2911         RenderTableSection::addChild.
2912
2913         Test: fast/table/row-height-recalc2.html
2914
2915         * rendering/RenderTableSection.cpp:
2916         (WebCore::setRowHeightToRowStyleHeightIfNotRelative): Added.
2917         (WebCore::RenderTableSection::addChild): Moved code that set row height into
2918         method WebCore::setRowHeightToRowStyleHeightIfNotRelative.
2919         (WebCore::RenderTableSection::recalcCells): Modified to call
2920         WebCore::setRowHeightToRowStyleHeightIfNotRelative.
2921
2922 2009-11-18  Zoltan Horvath  <zoltan@webkit.org>
2923
2924         Reviewed by Darin Adler.
2925
2926         Allow custom memory allocation control for the part of platform directory in WebCore
2927         https://bugs.webkit.org/show_bug.cgi?id=31473
2928
2929         Inherits the following classes from FastAllocBase because these are
2930         instantiated by 'new':
2931
2932         class  AnimationList         - instantiated at WebCore/rendering/style/StyleRareNonInheritedData.cpp:85
2933         class  Color                 - instantiated at WebCore/rendering/RenderTheme.cpp:48
2934         struct Length                - instantiated at WebCore/platform/Length.cpp:103
2935         class  PlatformKeyboardEvent - instantiated at WebCore/dom/KeyboardEvent.cpp:63
2936         class  ContextMenuItem       - instantiated at WebCore/platform/ContextMenu.cpp:70
2937         class  DeprecatedPtrList     - instantiated at WebCore/rendering/RenderBlock.cpp:2284
2938
2939         Inherits the following classes from Noncopyable because these are
2940         instantiated by 'new' and no need to be copyable:
2941
2942         class  GraphicsContextPrivate - instantiated at WebCore/platform/graphics/GraphicsContext.cpp:78
2943         class  FontCache              - instantiated at WebCore/platform/graphics/qt/FontCacheQt.cpp:43
2944         struct MediaPlayerFactory     - instantiated at WebCore/platform/graphics/MediaPlayer.cpp:163
2945         class  DeprecatedPtrListNode  - instantiated at WebCore/platform/DeprecatedPtrListImpl.cpp:53
2946
2947         * platform/ContextMenuItem.h:
2948         * platform/DeprecatedPtrList.h:
2949         * platform/DeprecatedPtrListImpl.cpp:
2950         * platform/Length.h:
2951         * platform/PlatformKeyboardEvent.h:
2952         * platform/animation/AnimationList.h:
2953         * platform/graphics/Color.h:
2954         * platform/graphics/FontCache.h:
2955         * platform/graphics/GraphicsContextPrivate.h:
2956         * platform/graphics/MediaPlayer.cpp:
2957
2958 2009-11-18  Daniel Bates  <dbates@webkit.org>
2959
2960         Reviewed by Darin Adler.
2961
2962         https://bugs.webkit.org/show_bug.cgi?id=31186
2963
2964         Renames RenderTextControl::m_edited and RenderTextControl::m_userEdited to
2965         m_wasChangedSinceLastChangeEvent and m_lastChangeWasUserEdit, respectively.
2966         These are more descriptive names so as to clear an ambiguity surrounding
2967         their usage. Also, renames associated setters and getters so that they
2968         coincide with the renamed fields.
2969
2970         No functionality was changed. So, no tests were included.
2971
2972         * bindings/objc/DOMHTML.mm:
2973         (-[DOMHTMLInputElement _isEdited]):
2974         (-[DOMHTMLTextAreaElement _isEdited]):
2975         * dom/Document.cpp:
2976         (WebCore::Document::setFocusedNode):
2977         * html/HTMLInputElement.cpp:
2978         (WebCore::HTMLInputElement::defaultEventHandler):
2979         * rendering/RenderTextControl.cpp:
2980         (WebCore::RenderTextControl::RenderTextControl):
2981         (WebCore::RenderTextControl::setInnerTextValue):
2982         (WebCore::RenderTextControl::setLastChangeWasUserEdit): Formerly named setUserEdited.
2983         (WebCore::RenderTextControl::subtreeHasChanged):
2984         * rendering/RenderTextControl.h:
2985         (WebCore::RenderTextControl::wasChangedSinceLastChangeEvent): Formerly named isEdited.
2986         (WebCore::RenderTextControl::setChangedSinceLastChangeEvent): Formerly named setEdited.
2987         (WebCore::RenderTextControl::lastChangeWasUserEdit): Formerly named setUserEdited.
2988         * rendering/RenderTextControlSingleLine.cpp:
2989         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
2990         * wml/WMLInputElement.cpp:
2991         (WebCore::WMLInputElement::defaultEventHandler):
2992
2993 2009-11-18  Tony Chang  <tony@chromium.org>
2994
2995         Reviewed by Adam Barth.
2996
2997         Remove V8CanvasPixelArrayCustom.cpp because it is no longer used by V8.
2998         https://bugs.webkit.org/show_bug.cgi?id=31499
2999
3000         No new tests, just a build cleanup.
3001
3002         * WebCore.gypi:
3003         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Removed.
3004         * bindings/v8/custom/V8CustomBinding.h:
3005
3006 2009-11-18  Kevin Watters  <kevinwatters@gmail.com>
3007
3008         Reviewed by Kevin Ollivier.
3009
3010         Enable wx plugin support using the Windows implementation as a base.
3011         
3012         https://bugs.webkit.org/show_bug.cgi?id=31636
3013
3014         * platform/graphics/GraphicsContext.h:
3015         (WebCore::GraphicsContext::inTransparencyLayer):
3016         * platform/graphics/wx/GraphicsContextWx.cpp:
3017         (WebCore::GraphicsContext::getWindowsContext):
3018         (WebCore::GraphicsContext::releaseWindowsContext):
3019         * platform/wx/FileSystemWx.cpp:
3020         (WebCore::unloadModule):
3021         (WebCore::listDirectory):
3022         * plugins/PluginDatabase.cpp:
3023         * plugins/PluginView.cpp:
3024         (WebCore::PluginView::stop):
3025         (WebCore::PluginView::PluginView):
3026         * plugins/PluginView.h:
3027         * plugins/win/PluginViewWin.cpp:
3028         (windowHandleForPageClient):
3029         (WebCore::PluginView::handleMouseEvent):
3030         (WebCore::PluginView::platformStart):
3031         (WebCore::PluginView::snapshot):
3032         * wscript:
3033
3034 2009-11-18  Andrei Popescu  <andreip@google.com>
3035
3036         Reviewed by Dimitri Glazkov.
3037
3038         [Android] Add shared timer and sound utilities to platform/android
3039         https://bugs.webkit.org/show_bug.cgi?id=31584
3040
3041         No new tests required, this is platform specific code.
3042
3043         * platform/android/SharedTimerAndroid.cpp: Added.
3044         (WebCore::setSharedTimerFiredFunction):
3045         (WebCore::setSharedTimerFireTime):
3046         (WebCore::stopSharedTimer):
3047         * platform/android/SoundAndroid.cpp: Added.
3048         (WebCore::systemBeep):
3049
3050 2009-11-18  Mikhail Naganov  <mnaganov@chromium.org>
3051
3052         Reviewed by Timothy Hatcher.
3053
3054         Fix profile tree nodes loss after focus / restore actions.
3055
3056         Focusing on a node is currently implemented via nodes reattaching
3057         with some caching involved. It seems that not all code was updated
3058         to handle this scenario correctly.
3059
3060         https://bugs.webkit.org/show_bug.cgi?id=31553
3061
3062         * inspector/front-end/BottomUpProfileDataGridTree.js:
3063         (WebInspector.BottomUpProfileDataGridNode):
3064         (WebInspector.BottomUpProfileDataGridNode.prototype._restore):
3065         (WebInspector.BottomUpProfileDataGridNode.prototype._sharedPopulate):
3066         (WebInspector.BottomUpProfileDataGridNode.prototype._willHaveChildren):
3067         * inspector/front-end/DataGrid.js:
3068         (WebInspector.DataGrid.prototype.insertChild):
3069         (WebInspector.DataGridNode.prototype._detach):
3070         (WebInspector.DataGridNode.prototype.savePosition):
3071         (WebInspector.DataGridNode.prototype.restorePosition):
3072         * inspector/front-end/TopDownProfileDataGridTree.js:
3073         (WebInspector.TopDownProfileDataGridTree.prototype.focus):
3074         (WebInspector.TopDownProfileDataGridTree.prototype.restore):
3075
3076 2009-11-18  Carol Szabo  <carol.szabo@nokia.com>
3077
3078         Reviewed by Kenneth Rohde Christiansen.
3079
3080         [Qt] QWebPageClient.h needs in some cases QCursor, but it does not
3081         include it 
3082         https://bugs.webkit.org/show_bug.cgi?id=31527
3083
3084         No new tests as this is just a coding style fix that affects the 
3085         build of some not yet submitted patches (i.e. for bug 30173).
3086
3087         * platform/qt/QWebPageClient.h:
3088
3089 2009-11-18  Nicolas Roard   <nicolas@roard.com>
3090
3091         Reviewed by Dimitri Glazkov.
3092
3093         InspectorTimelineAgent.h should be guarded by ENABLE(INSPECTOR)
3094         https://bugs.webkit.org/show_bug.cgi?id=31504
3095
3096         * inspector/InspectorTimelineAgent.h:Added the guard.
3097
3098 2009-11-18  Jens Alfke  <snej@chromium.org>
3099
3100         Build fix to my previous checkin, for Windows Chromium
3101
3102         * svg/SVGAnimatedProperty.h:
3103         (WebCore::PropertySynchronizer::synchronize): Fix implicit-conversion error on AtomicString.
3104
3105 2009-11-18  Joseph Pecoraro  <joepeck@webkit.org>
3106
3107         Reviewed by Pavel Feldman.
3108
3109         Web Inspector: Directly Access <head> Instead of Searching for It
3110         https://bugs.webkit.org/show_bug.cgi?id=31641
3111         
3112         Changed old access of the head element (document.getElementsByTagName)
3113         to just use the document.head accessor.
3114
3115         * inspector/front-end/FontView.js:
3116         (WebInspector.FontView):
3117         * inspector/front-end/InjectedScript.js:
3118         (InjectedScript.addStyleSelector):
3119         * inspector/front-end/SourceFrame.js:
3120         (WebInspector.SourceFrame.prototype._loaded):
3121         * inspector/front-end/inspector.js:
3122         (windowLoaded):
3123
3124 2009-11-18  Sam Weinig  <sam@webkit.org>
3125
3126         Reviewed by Anders Carlsson.
3127
3128         Fix two Geolocation assertions.
3129
3130         * page/Chrome.cpp:
3131         (WebCore::Chrome::requestGeolocationPermissionForFrame): No need to use PageGroupLoadDeferrer since this
3132         is not called from JS. 
3133         * page/Geolocation.cpp:
3134         (WebCore::Geolocation::Watchers::set): The PassRefPtr was getting nulled out, so we need to put it in
3135         a RefPtr first.
3136
3137 2009-11-18  Alexey Proskuryakov  <ap@apple.com>
3138
3139         Case sensitive file system build fix.
3140
3141         * platform/network/Credential.h: It's not WTF, just wtf.
3142
3143 2009-11-18  Aaron Golden  <agolden@apple.com>
3144
3145         Reviewed by Alexey Proskuryakov.
3146
3147         Add support for certificates to WebCore::Credential so we can convert between NSURLCredential
3148         objects and WebCore::Credential objects without losing certificate information.
3149
3150         * platform/network/Credential.cpp:
3151         (WebCore::Credential::Credential):  Adding a constructor that takes an identity argument and a certificate chain argument
3152         (WebCore::Credential::isEmpty):  Modifying isEmpty to support certificate based credentials (which don't have a username or password)
3153         (WebCore::Credential::identity): Accessor for the m_identity property
3154         (WebCore::Credential::certificates): Accessor for the m_certificates property
3155         (WebCore::Credential::type):  Accessor for the m_type property
3156         (WebCore::operator==):  Modifying == to compare the identity and certificate chains of certificate based credentials.
3157         * platform/network/Credential.h:  Adding new fields to WebCore::Credential to support certificate based credentials.
3158         * platform/network/mac/AuthenticationMac.mm:
3159         (WebCore::mac):  Modifying the mac() conversion method to correctly convert certificate based WebCore::Credential objects.
3160         (WebCore::core):  Modifying the core() conversion method to correctly convert certificate based NSURLCredential objects.
3161
3162 2009-11-18  Dmitry Titov  <dimich@chromium.org>
3163
3164         Reviewed by Eric Seidel.
3165
3166         Reverting r50919 that has introduced a non-thread-safe refcounting in ScriptExecutionContext::postTaskToMainThread.
3167         https://bugs.webkit.org/show_bug.cgi?id=31615
3168
3169         * dom/Document.cpp:
3170         (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer):
3171         (WebCore::ScriptExecutionContextTaskTimer::fired):
3172         (WebCore::PerformTaskContext::PerformTaskContext):
3173         (WebCore::performTask):
3174         (WebCore::Document::postTask):
3175         * dom/ScriptExecutionContext.cpp:
3176         * dom/ScriptExecutionContext.h:
3177
3178 2009-11-18  Jens Alfke  <snej@chromium.org>
3179
3180         Reviewed by Darin Adler.
3181
3182         Eliminate unnecessary String-->AtomicString conversions from generated V8 bindings,
3183         by causing the right v8-to-WebCore conversion function to be called for every parameter.
3184         This no longer requires any IDL metadata, so I've removed the [HintAtomic] annotations.
3185         To enforce correctness, I added a mode that disables implicit
3186         String-->AtomicString conversions while compiling the generated bindings.
3187         https://bugs.webkit.org/show_bug.cgi?id=31168
3188
3189         * bindings/scripts/CodeGeneratorV8.pm:  Generate usage of V8Parameter class.
3190         * bindings/v8/DerivedSourcesAllInOne.cpp:  Enable NO_IMPLICIT_ATOMICSTRING.
3191         * bindings/v8/V8Binding.h:  Add V8Parameter class.
3192         * css/WebKitCSSKeyframesRule.h:  Make AtomicString conversions explicit.
3193         * dom/Document.idl:  Remove obsolete [HintAtomic] annotation.
3194         * platform/text/AtomicString.h:  Added NO_IMPLICIT_ATOMICSTRING option.
3195         * svg/SVGAnimatedTemplate.h:  Change some return types to String to avoid implicit conversion.
3196         * svg/SVGAnimatedProperty.h: Adapt to changed return types in SVGAnimatedTemplate.
3197
3198 2009-11-18  Darin Adler  <darin@apple.com>
3199
3200         Reviewed by Dan Bernstein.
3201
3202         Move FillOrStrokeType out of public header.
3203
3204         * platform/graphics/GraphicsContext.h: Updated copyright date to cover
3205         some years we published Apple changes, sorted forward declarations,
3206         removed FillOrStrokeType enum.
3207         * platform/graphics/GraphicsContextPrivate.h: Updated copyright date
3208         to cover some years we published Apple changes, sorted includes,
3209         moved FillOrStrokeType enum here.
3210
3211 2009-11-18  Chris Marrin  <cmarrin@apple.com>
3212
3213         Reviewed by Simon Fraser.
3214
3215         Add Settings for WebKitShowDebugBorders and WebKitShowRepaintCounter
3216         https://bugs.webkit.org/show_bug.cgi?id=31601
3217
3218         These are used to debug accelerated compositing layers. I removed
3219         the platform specific code from GraphicsLayerCA.mm and added calls
3220         to GraphicsLayerClient to get it from the higher levels. The values 
3221         now get cached in RenderLayerCompositing and are queried from there
3222         by RenderLayerBacking (which implements the GraphicsLayerClient interface).
3223
3224         * WebCore.base.exp:
3225         * page/FrameView.cpp:
3226         (WebCore::FrameView::updateCompositingLayers):
3227         * page/Settings.cpp:
3228         (WebCore::Settings::Settings):
3229         (WebCore::Settings::setShowDebugBorders):
3230         (WebCore::Settings::setShowRepaintCounter):
3231         * page/Settings.h:
3232         (WebCore::Settings::showDebugBorders):
3233         (WebCore::Settings::showRepaintCounter):
3234         * platform/graphics/GraphicsLayer.h:
3235         (WebCore::GraphicsLayer::showDebugBorders):
3236         (WebCore::GraphicsLayer::showRepaintCounter):
3237         * platform/graphics/GraphicsLayerClient.h:
3238         * platform/graphics/mac/GraphicsLayerCA.mm:
3239         * rendering/RenderLayerBacking.cpp:
3240         (WebCore::RenderLayerBacking::showDebugBorders):
3241         (WebCore::RenderLayerBacking::showRepaintCounter):
3242         * rendering/RenderLayerBacking.h:
3243         * rendering/RenderLayerCompositor.cpp:
3244         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
3245         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
3246         * rendering/RenderLayerCompositor.h:
3247         (WebCore::RenderLayerCompositor::showDebugBorders):
3248         (WebCore::RenderLayerCompositor::showRepaintCounter):
3249
3250 2009-11-18  Pavel Feldman  <pfeldman@chromium.org>
3251
3252         Reviewed by Timothy Hatcher.
3253
3254         Web Inspector: Get rid of metrics and properties sidebars'
3255         flickering.
3256
3257         https://bugs.webkit.org/show_bug.cgi?id=31629
3258
3259         * inspector/front-end/MetricsSidebarPane.js:
3260         * inspector/front-end/PropertiesSidebarPane.js:
3261
3262 2009-11-17  Brian Weinstein  <bweinstein@apple.com>
3263
3264         Reviewed by Pavel Feldman.
3265
3266         Fixes <http://webkit.org/b/31606>.
3267         Web Inspector: Enter/Return key should enter edit mode for Editable Fields.
3268         
3269         This implements Enter starting editing mode in an editable DataGrid. If the
3270         DataGrid is editable and the user hits return, startEditing the first child
3271         of the selected node. Also refactored some editing functions to take an 
3272         event target instead of the event itself, because the functions only needed
3273         the target. Lastly, added had return in editing mode stop propogation, because
3274         when enter was hit to confirm text, it would propagate back to the datagrid
3275         and try to start editing again.
3276
3277         * inspector/front-end/DataGrid.js:
3278         (WebInspector.DataGrid.prototype._ondblclick):
3279         (WebInspector.DataGrid.prototype._startEditing):
3280         (WebInspector.DataGrid.prototype.handleKeyEvent):
3281         (WebInspector.DataGrid.prototype.dataGridNodeFromEvent):
3282         (WebInspector.DataGrid.prototype._mouseDownInDataTable):
3283         (WebInspector.DataGrid.prototype._clickInDataTable):
3284         * inspector/front-end/inspector.js:
3285         (WebInspector.startEditing.element.handleKeyEvent):
3286         (WebInspector.startEditing):
3287
3288 2009-11-18  Ben Murdoch  <benm@google.com>
3289
3290         Reviewed by Darin Adler.
3291
3292         HTMLAnchorElement is inconsistent with its internal handling of the value returned for the href attribute.
3293         https://bugs.webkit.org/show_bug.cgi?id=31593
3294
3295         Test: fast/dom/HTMLAnchorElement/set-href-attribute-whitespace.html
3296
3297         * html/HTMLAnchorElement.cpp:
3298         (WebCore::HTMLAnchorElement::href): Add call to deprecatedParseURL.
3299
3300 2009-11-18  Pavel Feldman  <pfeldman@chromium.org>
3301
3302         Not reviewed. Touch InspectorController so that frontend
3303         JS files are deployed on Windows.
3304
3305         * inspector/InspectorController.cpp:
3306
3307 2009-11-18  Pavel Feldman  <pfeldman@chromium.org>
3308
3309         Reviewed by Timothy Hatcher.
3310
3311         Web Inspector: clone timeline records array instead of
3312         copying reference on invalidate all.
3313
3314         https://bugs.webkit.org/show_bug.cgi?id=31596
3315
3316         * inspector/front-end/AbstractTimelinePanel.js:
3317         (WebInspector.AbstractTimelinePanel.prototype.invalidateAllItems):
3318
3319 2009-11-18  Simon Fraser  <simon.fraser@apple.com>
3320
3321         Reviewed by Dan Bernstein.
3322
3323         Elements don't drop out of compositing layers when animation ends
3324         https://bugs.webkit.org/show_bug.cgi?id=31613
3325         <rdar://problem/7402913>
3326
3327         Avoid setting the mustOverlapCompositedLayers flag on RenderLayers which
3328         are compositing anyway for other reasons. Doing so can cause those layers
3329         to stay in compositing mode even after animations finish, because needsToBeComposited()
3330         continues to return true.
3331         
3332         No new tests because it's not possible to determine which elements are in
3333         compositing layers from DRT output.
3334
3335         * rendering/RenderLayerCompositor.cpp:
3336         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
3337
3338 2009-11-18  Girish Ramakrishnan  <girish@forwardbias.in>
3339
3340         Reviewed by Tor Arne Vestbø.
3341
3342         [Qt] Mac Plugins: Remove null timer
3343         
3344         A null timer was used to send mouse move events. Instead, we now use
3345         move events to send nullEvent. This brings down CPU usage by 20-30%.
3346         
3347         https://bugs.webkit.org/show_bug.cgi?id=31624
3348
3349         * plugins/PluginView.h:
3350         * plugins/mac/PluginViewMac.cpp:
3351         (WebCore::PluginView::platformStart):
3352         (WebCore::PluginView::handleMouseEvent):
3353
3354 2009-11-18  Benjamin Poulain  <benjamin.poulain@nokia.com>
3355
3356         Reviewed by Simon Hausmann.
3357
3358         [Qt] WebKit crashes when loading certain SVG images
3359
3360         Check if the familly exist before creating the PlatformData from it.
3361
3362         https://bugs.webkit.org/show_bug.cgi?id=29443
3363
3364         Test: svg/text/text-font-invalid.html
3365
3366         * platform/graphics/qt/FontFallbackListQt.cpp:
3367         (WebCore::FontFallbackList::fontDataAt):
3368
3369 2009-11-17  Nicolas Weber  <thakis@chromium.org>
3370
3371         Reviewed by Darin Fisher.
3372
3373         Fix crash in Chromium/Mac where dropdowns weren't dismissed correctly
3374         after navigation.
3375         https://bugs.webkit.org/show_bug.cgi?id=31609
3376
3377         * platform/chromium/PopupMenuChromium.cpp:
3378         (WebCore::PopupContainer::showExternal): Set parent for external
3379         dropdowns, so that |PopupListBox::hidePopup()| can successfully notify
3380         its parent's client.
3381
3382 2009-11-17  Hayato Ito  <hayato@google.com>
3383
3384         Reviewed by Darin Adler.
3385
3386         Avoid infinite mutual recursion when deeply nested tags are loaded
3387         https://bugs.webkit.org/show_bug.cgi?id=30651
3388
3389         Test: fast/parser/block-nesting-cap-table.html
3390
3391         * html/HTMLParser.cpp:
3392         (WebCore::HTMLParser::parseToken):
3393         (WebCore::tagPriorityOfNode):
3394         (WebCore::HTMLParser::limitBlockDepth):
3395         (WebCore::HTMLParser::insertNodeAfterLimitBlockDepth):
3396         (WebCore::HTMLParser::insertNode):
3397         * html/HTMLParser.h:
3398
3399 2009-11-17  Brent Fulgham  <bfulgham@webkit.org>
3400
3401         Rubber-stamped by Alexey Proskuryakov.
3402
3403         Final clean-ups for minor coding standard violations.
3404         https://bugs.webkit.org/show_bug.cgi?id=26102.
3405
3406         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3407
3408 2009-11-17  Johnny Ding  <jnd@chromium.org>
3409
3410         Reviewed by Darin Adler.
3411
3412         In all valid script tags for JavaScript, the event handler in <script...for> should not get executed.
3413         https://bugs.webkit.org/show_bug.cgi?id=31567
3414
3415         * dom/ScriptElement.cpp:
3416         (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
3417
3418 2009-11-17  Pavel Feldman  <pfeldman@chromium.org>
3419
3420         Reviewed by Timothy Hatcher.
3421
3422         Web Inspector: Make DRT show web inspector for tests in inspector/ folder.
3423         - Updated DRT to show/close inspector for all tests under /inspector
3424         - Introduced LayoutTestController::setTimelineProfilingEnabled and
3425           WebInspector::setTimelineProfilingEnabled beside setJavaScriptProfilingEnabled
3426         - Removed reload on each inspector test
3427         - Renamed fast/inspector to fast/inspector-support in order not to trigger
3428         inspector for those.
3429         - Reimplemented timeline tests in order to get rid of reload there.
3430         - Moved tests that don't require harness into the fast group.
3431
3432         https://bugs.webkit.org/show_bug.cgi?id=31472
3433
3434         * WebCore.Inspector.exp:
3435         * inspector/front-end/TimelinePanel.js:
3436         (WebInspector.TimelinePanel.prototype._formatRecord):
3437
3438 2009-11-17  Andrei Popescu  <andreip@google.com>
3439
3440         Reviewed by Dimitri Glazkov.
3441
3442         [Android] Android is missing the implementation of the GeolocationService iface.
3443         https://bugs.webkit.org/show_bug.cgi?id=31554
3444
3445         No new tests required as this is platform specific code.
3446
3447         * platform/android/GeolocationServiceAndroid.cpp: Added.
3448         (WebCore::GeolocationServiceAndroid::create):
3449         (WebCore::GeolocationServiceAndroid::GeolocationServiceAndroid):
3450         (WebCore::GeolocationServiceAndroid::startUpdating):
3451         (WebCore::GeolocationServiceAndroid::stopUpdating):
3452         (WebCore::GeolocationServiceAndroid::suspend):
3453         (WebCore::GeolocationServiceAndroid::resume):
3454         (WebCore::GeolocationServiceAndroid::newPositionAvailable):
3455         (WebCore::GeolocationServiceAndroid::newErrorAvailable):
3456         (WebCore::GeolocationServiceAndroid::timerFired):
3457         (WebCore::GeolocationServiceAndroid::isPositionMovement):
3458         (WebCore::GeolocationServiceAndroid::isPositionMoreAccurate):
3459         (WebCore::GeolocationServiceAndroid::isPositionMoreTimely):
3460         * platform/android/GeolocationServiceAndroid.h: Added.
3461         (WebCore::GeolocationServiceAndroid::~GeolocationServiceAndroid):
3462         (WebCore::GeolocationServiceAndroid::lastPosition):
3463         (WebCore::GeolocationServiceAndroid::lastError):
3464         * platform/android/GeolocationServiceBridge.cpp: Added.
3465         (WebCore::):
3466         (WebCore::GeolocationServiceBridge::GeolocationServiceBridge):
3467         (WebCore::GeolocationServiceBridge::~GeolocationServiceBridge):
3468         (WebCore::GeolocationServiceBridge::start):
3469         (WebCore::GeolocationServiceBridge::stop):
3470         (WebCore::GeolocationServiceBridge::setEnableGps):
3471         (WebCore::GeolocationServiceBridge::newLocationAvailable):
3472         (WebCore::GeolocationServiceBridge::newErrorAvailable):
3473         (WebCore::GeolocationServiceBridge::toGeoposition):
3474         (WebCore::GeolocationServiceBridge::startJavaImplementation):
3475         (WebCore::GeolocationServiceBridge::stopJavaImplementation):
3476         * platform/android/GeolocationServiceBridge.h: Added.
3477
3478 2009-11-16  Kent Tamura  <tkent@chromium.org>
3479
3480         Unreviewd build fix.
3481
3482         - Fix typo in WebCore.vcproj.
3483         - Intlude limits.h for INT_MAX.
3484         - Enclose with parenthesis to suspress warning.
3485
3486         * WebCore.vcproj/WebCore.vcproj:
3487         * html/ISODateTime.cpp:
3488         (WebCore::ISODateTime::addDay):
3489
3490 2009-11-16  Robin Dunn  <robin@alldunn.com>
3491
3492         Reviewed by Kevin Ollivier.
3493
3494         Make sure wx scrollbar drawing code factors in transforms when switching backends,
3495         fix calcs for scrollbar length, and tweak the Mac scrollbar tracking rects.
3496         
3497         https://bugs.webkit.org/show_bug.cgi?id=31570
3498
3499         * platform/wx/ScrollbarThemeWx.cpp:
3500         (WebCore::ScrollbarThemeWx::minimumThumbLength):
3501         (WebCore::ScrollbarThemeWx::splitTrack):
3502         (WebCore::ScrollbarThemeWx::forwardButtonRect):
3503         * platform/wx/ScrollbarThemeWx.h:
3504         * platform/wx/wxcode/gtk/scrollbar_render.cpp:
3505         (wxRenderer_DrawScrollbar):
3506         * platform/wx/wxcode/scrollbar_render.h:
3507         (calcThumbStartAndLength):
3508         * platform/wx/wxcode/win/scrollbar_render.cpp:
3509         (wxRenderer_DrawScrollbar):
3510
3511 2009-11-16  Kent Tamura  <tkent@chromium.org>
3512
3513         Reviewed by David Levin.
3514
3515         Introduce WebCore::ISODateTime class.
3516         https://bugs.webkit.org/show_bug.cgi?id=31340
3517
3518         This class represents a value of date/time types of the HTML5 INPUT
3519         element, and has some parsing methods for ISO 8601.
3520
3521         This change has no tests because the class is not used yet.
3522
3523         * GNUmakefile.am: Add ISODateTime.cpp and ISODateTime.h.
3524         * WebCore.gypi: ditto.
3525         * WebCore.pro: ditto.
3526         * WebCore.vcproj/WebCore.vcproj: ditto.
3527         * WebCore.xcodeproj/project.pbxproj: ditto.
3528         * WebCoreSources.bkl: ditto.
3529         * html/ISODateTime.cpp: Added. Implementation of WebCore::ISODateTime class.
3530         (WebCore::isLeapYear):
3531         (WebCore::maxDayOfMonth):
3532         (WebCore::dayOfWeek):
3533         (WebCore::ISODateTime::maxWeekNumberInYear):
3534         (WebCore::countDigits):
3535         (WebCore::toInt):
3536         (WebCore::ISODateTime::parseYear): Private helper for parseDate() and parseWeek().
3537         (WebCore::ISODateTime::addDay): Private helper for parseTimeZone().
3538         (WebCore::ISODateTime::addMinute): ditto.
3539         (WebCore::ISODateTime::parseTimeZone): Private helper for parseDateTime().
3540         (WebCore::ISODateTime::parseMonth): Parser for <input type=month>.
3541         (WebCore::ISODateTime::parseDate): Parser for <input type=date>.
3542         (WebCore::ISODateTime::parseWeek): Parser for <input type=week>.
3543         (WebCore::ISODateTime::parseTime): Parser for <input type=time>.
3544         (WebCore::ISODateTime::parseDateTimeLocal): Parser for <input type=datetime-local>.
3545         (WebCore::ISODateTime::parseDateTime): Parser for <input type=datetime>.
3546         * html/ISODateTime.h: Added.  Declare WebCore::ISODateTime class.
3547         (WebCore::ISODateTime::ISODateTime):
3548         (WebCore::ISODateTime::millisecond):
3549         (WebCore::ISODateTime::second):
3550         (WebCore::ISODateTime::minute):
3551         (WebCore::ISODateTime::hour):
3552         (WebCore::ISODateTime::monthDay):
3553         (WebCore::ISODateTime::month):
3554         (WebCore::ISODateTime::fullYear):
3555         (WebCore::ISODateTime::week):
3556
3557 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
3558
3559         Fix a typo in previous commit.
3560
3561         * platform/network/cf/SocketStreamHandleCFNet.cpp: #ifdef, not #if.
3562
3563 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
3564
3565         Fix a typo in previous commit.
3566
3567         * platform/network/cf/SocketStreamHandleCFNet.cpp: