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