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