d6579a9184de0e841a2f4e1eb5cdd335a2438992
[WebKit-https.git] / WebCore / ChangeLog
1 2009-10-16  Jon Honeycutt  <jhoneycutt@apple.com>
2
3         Add SPI to determine whether a plug-in has ever been halted.
4
5         Part of <rdar://problem/7312158>.
6
7         Reviewed by Dan Bernstein.
8
9         * plugins/PluginView.cpp:
10         (WebCore::PluginView::PluginView):
11         Initialize m_hasBeenHalted.
12
13         * plugins/PluginView.h:
14         (WebCore::PluginView::hasBeenHalted):
15         Return m_hasBeenHalted.
16
17         * plugins/win/PluginViewWin.cpp:
18         (WebCore::PluginView::halt):
19         Set m_hasBeenHalted.
20
21 2009-10-16  Adam Barth  <abarth@webkit.org>
22
23         Reviewed by Alexey Proskuryakov.
24
25         @charset rule after the first byte causes the rest of css to be ignored
26         https://bugs.webkit.org/show_bug.cgi?id=18265
27
28         Apparently we're supposed to tolerate whitespace before the charset
29         rule so folks can write code like this:
30
31         <style>
32         @charset "utf-8"
33         ...
34         </style>
35
36         I'm told this is one of the top compatability problems in China.
37         Tests: fast/css/comment-before-charset-external.html
38                fast/css/comment-before-charset.html
39                fast/css/many-spaces-before-charset.html
40                fast/css/space-before-charset-external.html
41                fast/css/space-before-charset.html
42
43         * css/CSSGrammar.y:
44
45 2009-10-16  Brian Weinstein  <bweinstein@apple.com>
46
47         Reviewed by Darin Adler.
48
49         Fixes part of <http://webkit.org/b/30412>.
50         Web Inspector should get human readable DOM Exceptions.
51
52         Add a description field to ExceptionBase, and call it through 
53         reportException which allows the user/developer to get a more detailed
54         and coherent error explanation through the Web Inspector.
55
56         This only applies to exceptions that come from a script on the page when
57         it is run. DOM Exceptions that come from the code run in the console, or DOM
58         exceptions that are caught and logged will come in a future patch.
59
60         Tests: inspector/uncaught-dom1-exception.html
61                inspector/uncaught-dom3-exception.html
62                inspector/uncaught-dom8-exception.html
63
64         * WebCore.gypi:
65         * WebCore.vcproj/WebCore.vcproj:
66         * WebCore.xcodeproj/project.pbxproj:
67         * bindings/js/JSDOMBinding.cpp:
68         (WebCore::reportException):
69         * bindings/js/JSExceptionBase.cpp: Added.
70         (WebCore::toExceptionBase):
71         * bindings/js/JSExceptionBase.h: Added.
72         * dom/ExceptionBase.cpp:
73         (WebCore::ExceptionBase::ExceptionBase):
74         * dom/ExceptionBase.h:
75         (WebCore::ExceptionBase::description):
76         * dom/ExceptionCode.cpp:
77         (WebCore::):
78         (WebCore::getExceptionCodeDescription):
79         * dom/ExceptionCode.h:
80
81 2009-10-16  Geoffrey Garen  <ggaren@apple.com>
82
83         Build fix: forgot to check in this #include.
84
85         * bridge/runtime_root.h:
86
87 2009-10-16  Simon Fraser  <simon.fraser@apple.com>
88
89         Reviewed by Dan Bernstein.
90
91         Transform layer gets stuck with the wrong transform after an animation ends
92         <rdar://problem/7311662>
93
94         Work around a CoreAnimation bug which causes an animated transform layer to
95         end up with a stale transform.
96         
97         Test: compositing/animation/state-at-end-event-transform-layer.html
98
99         * platform/graphics/mac/GraphicsLayerCA.mm:
100         (WebCore::bug7311367Workaround):
101         (WebCore::GraphicsLayerCA::removeAnimationFromLayer):
102
103 2009-10-16  Simon Fraser  <simon.fraser@apple.com>
104
105         Reviewed by Dan Bernstein.
106
107         After running a transition with an end event listener, can't change the transform
108         https://bugs.webkit.org/show_bug.cgi?id=30454
109         
110         Fix an issue where, if a document had any listener for webkitTransitionEnd or webkitAnimationEnd,
111         the animations would not get cleaned up correctly, which broke subsequent changes of transform.
112         
113         Now, we always clean up the animations right after queuing up the end events.
114
115         Tests: animations/state-at-end-event.html
116                transitions/move-after-transition.html
117
118         * page/animation/ImplicitAnimation.cpp:
119         (WebCore::ImplicitAnimation::onAnimationEnd):
120         * page/animation/KeyframeAnimation.cpp:
121         (WebCore::KeyframeAnimation::onAnimationEnd):
122
123 2009-10-15  Joseph Pecoraro  <joepeck@webkit.org>
124
125         Reviewed by Timothy Hatcher.
126
127         Web Inspector: Handle the Enter Key in the Elements Tree Hierarchy
128         https://bugs.webkit.org/show_bug.cgi?id=30428
129
130         TextNode => Edit Text Node
131         Has Attributes => Edit First Attribute
132         No Attributes => Start Editing New Attribute
133
134         * inspector/front-end/ElementsTreeOutline.js:
135         (WebInspector.ElementsTreeOutline.prototype.handleKeyEvent): handle the "Enter" key
136         (WebInspector.ElementsTreeElement.prototype.set hovered): only add new attribute button on nodes with attributes
137         (WebInspector.ElementsTreeElement.prototype._addNewAttribute): prevent moving backwards where there are no attributes
138         (WebInspector.ElementsTreeElement.prototype._startEditingFromEvent): renamed to be clearer
139         (WebInspector.ElementsTreeElement.prototype._startEditing): transition to the appropriate edit state for a tree element
140
141 2009-10-16  Adam Barth  <abarth@webkit.org>
142
143         Reviewed by Eric Seidel.
144
145         Fix header indent style for FrameLoader and friends
146         https://bugs.webkit.org/show_bug.cgi?id=30430
147
148         * loader/FrameLoader.h:
149         (WebCore::FrameLoader::frame):
150         (WebCore::FrameLoader::policyChecker):
151         (WebCore::FrameLoader::history):
152         (WebCore::FrameLoader::notifier):
153         (WebCore::FrameLoader::isLoadingMainResource):
154         (WebCore::FrameLoader::documentLoader):
155         (WebCore::FrameLoader::policyDocumentLoader):
156         (WebCore::FrameLoader::provisionalDocumentLoader):
157         (WebCore::FrameLoader::state):
158         (WebCore::FrameLoader::client):
159         (WebCore::FrameLoader::url):
160         (WebCore::FrameLoader::isLoadingFromCachedPage):
161         (WebCore::FrameLoader::committingFirstRealLoad):
162         (WebCore::FrameLoader::committedFirstRealDocumentLoad):
163         (WebCore::FrameLoader::creatingInitialEmptyDocument):
164         * loader/HistoryController.h:
165         (WebCore::HistoryController::currentItem):
166         (WebCore::HistoryController::provisionalItem):
167         * loader/PolicyCallback.h:
168         (WebCore::PolicyCallback::request):
169         * loader/PolicyChecker.h:
170         (WebCore::PolicyChecker::loadType):
171         (WebCore::PolicyChecker::setLoadType):
172         (WebCore::PolicyChecker::delegateIsDecidingNavigationPolicy):
173         (WebCore::PolicyChecker::delegateIsHandlingUnimplementablePolicy):
174         * loader/RedirectScheduler.h:
175         * loader/ResourceLoadNotifier.h:
176
177 2009-10-16  Steve Falkenburg  <sfalken@apple.com>
178
179         Reviewed by Adam Roben.
180
181         Add a Debug_All configuration to build entire stack as debug.
182         Change Debug_Internal to:
183         - stop using _debug suffix for all WebKit/Safari binaries
184         - not use _debug as a DLL naming suffix
185         - use non-debug C runtime lib.
186
187         * WebCore.vcproj/QTMovieWin.vcproj: Add Debug_All configuration.
188         * WebCore.vcproj/WebCore.make: Debug build in makefile should build Debug_All.
189         * WebCore.vcproj/WebCore.sln: Add Debug_All configuration.
190         * WebCore.vcproj/WebCore.submit.sln: Add Debug_All configuration.
191         * WebCore.vcproj/WebCore.vcproj: Add Debug_All configuration.
192         * WebCore.vcproj/WebCoreGenerated.vcproj: Renamed single configuration from "Release" to "all".
193
194 2009-10-16  Dimitri Glazkov  <dglazkov@chromium.org>
195
196         No review, rolling out r49693, because it broke Chromium build.
197         http://trac.webkit.org/changeset/49693
198
199         * WebCore.gyp/WebCore.gyp:
200         * WebCore.gypi:
201
202 2009-10-16  Andrew Scherkus  <scherkus@chromium.org>
203
204         Reviewed by Eric Carlson.
205
206         Updated media resource selection algorithm to reflect latest HTML 5 specification.
207
208         Noticable changes:
209             -  Elements with no source should have their network state set to NETWORK_EMPTY as opposed to NETWORK_NO_SOURCE
210             -  Empty string ("") is now considered a valid URL resolving to the current page and will be loaded
211
212         Tests: media/video-src-empty.html
213                media/video-src-none.html
214
215         https://bugs.webkit.org/show_bug.cgi?id=30407
216
217         * html/HTMLMediaElement.cpp:
218         (WebCore::HTMLMediaElement::selectMediaResource): Updated code and comments to match spec.
219
220 2009-10-16  Adam Barth  <abarth@webkit.org>
221
222         Reviewed by Eric Seidel.
223
224         Insecure plug-ins don't trigger mixed content
225         https://bugs.webkit.org/show_bug.cgi?id=30431
226
227         Added the missing check.
228
229         Test: http/tests/security/mixedContent/insecure-plugin-in-iframe.html
230
231         * loader/FrameLoader.cpp:
232         (WebCore::FrameLoader::loadPlugin):
233
234 2009-10-16  Andrew Scherkus  <scherkus@chromium.org>
235
236         Reviewed by Eric Carlson.
237
238         Set autobuffer to true and schedule load in V8 audio element constructor.
239
240         https://bugs.webkit.org/show_bug.cgi?id=30448
241
242         Covered by existing tests.
243
244         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
245         (WebCore::CALLBACK_FUNC_DECL): Set autobuffer to true and schedule load.
246
247 2009-10-16  Andrew Scherkus  <scherkus@chromium.org>
248
249         Reviewed by Eric Seidel.
250
251         Remove FIXME in RenderMediaControlsChromium as bug was fixed upstream.
252
253         https://bugs.webkit.org/show_bug.cgi?id=30422
254
255         Covered by existing media layout tests.
256
257         * rendering/RenderMediaControlsChromium.cpp:
258         (WebCore::paintMediaSlider): Removed round() and FIXME.
259
260 2009-10-16  Andrew Scherkus  <scherkus@chromium.org>
261
262         Reviewed by Eric Seidel.
263
264         Fix Chromium media controls to render a disabled play button when the element is unintialized.
265
266         https://bugs.webkit.org/show_bug.cgi?id=30410
267
268         Covered by existing layout tests.
269
270         * rendering/RenderMediaControlsChromium.cpp:
271         (WebCore::paintMediaPlayButton): Include check for NETWORK_EMPTY to render disabled play button.
272
273 2009-10-16  Oliver Hunt  <oliver@apple.com>
274
275         Reviewed by Gavin Barraclough.
276
277         Make typeinfo flags default to false
278         https://bugs.webkit.org/show_bug.cgi?id=30372
279
280         Last part -- replace HasDefaultGetPropertyNames with OverridesGetPropertyNames
281         flag.
282
283         * bindings/js/JSDOMWindowShell.h:
284         (WebCore::JSDOMWindowShell::createStructure):
285         * bindings/js/JSHTMLAllCollection.h:
286         (WebCore::JSHTMLAllCollection::createStructure):
287         * bindings/js/JSQuarantinedObjectWrapper.h:
288         (WebCore::JSQuarantinedObjectWrapper::createStructure):
289         * bindings/scripts/CodeGeneratorJS.pm:
290         * bridge/runtime_array.h:
291         (JSC::RuntimeArray::createStructure):
292         * bridge/runtime_object.h:
293         (JSC::RuntimeObjectImp::createStructure):
294
295 2009-10-16  Steven Knight  <sgk@chromium.org>
296
297         Reviewed by David Levin.
298
299         https://bugs.webkit.org/show_bug.cgi?id=30447
300         Handle long link lines by building .idl-generated bindings in a
301         separate webcore_bindings library target.  Avoid Visual Studio
302         dependency issues by building additional generated .cpp and .h files
303         in a separate webcore_bindings_sources target.
304
305         Chrome should still build and test successfully.
306
307         * WebCore.gyp/WebCore.gyp:
308         * WebCore.gypi:
309
310 2009-10-16  Simon Fraser  <simon.fraser@apple.com>
311
312         Reviewed by Eric Carlson.
313
314         Transform transitions that used to be accelerated are no longer so
315         https://bugs.webkit.org/show_bug.cgi?id=30453
316
317         The change in r49633, to not run accelerated animations/transitions on layers that
318         are not attached, broke accelerated transitions/animations in many cases where they start
319         as soon as the page loads. This change reverts the code that tests for the GraphicsLayer being
320         attached.
321         
322         No test, because it's not possible from a test to know whether a transition is accelerated or not.
323
324         * rendering/RenderLayerBacking.cpp:
325         (WebCore::RenderLayerBacking::startAnimation):
326         (WebCore::RenderLayerBacking::startTransition):
327
328 2009-10-16  Kevin Ollivier  <kevino@theolliviers.com>
329
330         wxMSW build fix, build the MSW source to get methods that use the MSW version of
331         PlatformModuleVersion.
332
333         * wscript:
334
335 2009-10-16  Adam Barth  <abarth@webkit.org>
336
337         Unreviewed build fix.  Add back MIMETypeRegistryChromium with the right
338         casing.
339
340         * platform/chromium/MIMETypeRegistryChromium.cpp: Added.
341         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
342         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
343         (WebCore::MIMETypeRegistry::getMIMETypeForPath):
344         (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
345         (WebCore::MIMETypeRegistry::isSupportedImageResourceMIMEType):
346         (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding):
347         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
348         (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
349         (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType):
350         (WebCore::MIMETypeRegistry::isJavaAppletMIMEType):
351         (WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension):
352         (WebCore::dummyHashSet):
353         (WebCore::MIMETypeRegistry::getSupportedImageMIMETypes):
354         (WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes):
355         (WebCore::MIMETypeRegistry::getSupportedImageMIMETypesForEncoding):
356         (WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes):
357         (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes):
358
359 2009-10-16  Adam Barth  <abarth@webkit.org>
360
361         Reviewed by Darin Adler.
362
363         MimeTypeRegistryChromium is mis-casen
364         https://bugs.webkit.org/show_bug.cgi?id=30441
365
366         Change the case of MimeTypeRegistryChromium to match other platforms.
367
368         * WebCore.gypi:
369         * platform/chromium/MIMETypeRegistryChromium.cpp: Copied from WebCore/platform/chromium/MimeTypeRegistryChromium.cpp.
370         * platform/chromium/MimeTypeRegistryChromium.cpp: Removed.
371
372 2009-10-16  Dimitri Glazkov  <dglazkov@chromium.org>
373
374         Reviewed by Eric Seidel.
375
376         Change EmptyPluginHalterClient in SVGImage to be non-static, to
377         match changes made http://trac.webkit.org/changeset/49385.
378         https://bugs.webkit.org/show_bug.cgi?id=30403
379
380         Run the following layout test sequence:
381           LayoutTests/svg/W3C-SVG-1.1/struct-image-01-t.svg
382           LayoutTests/svg/W3C-SVG-1.1/struct-image-03-t.svg
383           LayoutTests/svg/W3C-SVG-1.1/struct-image-04-t.svg
384           LayoutTests/svg/W3C-SVG-1.1/struct-image-05-b.svg
385           LayoutTests/svg/W3C-SVG-1.1/struct-image-06-t.svg
386           LayoutTests/svg/W3C-SVG-1.1/struct-image-07-t.svg
387           LayoutTests/svg/W3C-SVG-1.1/struct-image-08-t.svg
388           LayoutTests/svg/W3C-SVG-1.1/struct-image-09-t.svg
389           LayoutTests/svg/W3C-SVG-1.1/struct-image-10-t.svg
390           LayoutTests/svg/carto.net/scrollbar.svg
391           LayoutTests/svg/carto.net/selectionlist.svg
392
393         selectionlist.svg should not crash.
394
395         * svg/graphics/SVGImage.cpp:
396         (WebCore::SVGImage::dataChanged): Made EmptyPluginHalterClient non-static.
397
398 2009-10-16  Victor Wang  <victorw@chromium.org>
399
400         Reviewed by David Levin.
401
402         Add beforeload event support to V8DOMWrapper
403
404         https://bugs.webkit.org/show_bug.cgi?id=30413
405
406         LayoutTests/fast/dom/beforeload/frame-before-load.html
407
408         * bindings/v8/V8DOMWrapper.cpp:
409         (WebCore::V8DOMWrapper::convertEventToV8Object):
410
411 2009-10-16  Adam Barth  <abarth@webkit.org>
412
413         Reviewed by Darin Adler.
414
415         MimeTypeRegistryChromium is mis-casen
416         https://bugs.webkit.org/show_bug.cgi?id=30441
417
418         Change the case of MimeTypeRegistryChromium to match other platforms.
419
420         * WebCore.gypi:
421         * platform/chromium/MIMETypeRegistryChromium.cpp: Copied from WebCore/platform/chromium/MimeTypeRegistryChromium.cpp.
422         * platform/chromium/MimeTypeRegistryChromium.cpp: Removed.
423
424 2009-10-16  Adam Barth  <abarth@webkit.org>
425
426         Reviewed by Mark Rowe.
427
428         Chrome doesn't set Content-Type for file upload when the file extension
429         is not recognized
430         https://bugs.webkit.org/show_bug.cgi?id=30433
431
432         Apparently, getMIMETypeForPath is supposed to return
433         application/octet-stream when it doesn't have a better MIME type.
434
435         * platform/chromium/MimeTypeRegistryChromium.cpp:
436         (WebCore::MIMETypeRegistry::getMIMETypeForPath):
437
438 2009-10-16  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
439
440         Pull out r49676 as it caused build breakges on Symbian
441
442         * plugins/symbian/PluginViewSymbian.cpp:
443
444 2009-10-16  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
445
446         Reviewed by Ariya Hidayat.
447
448         Crash fix when loading NPAPI plugins on Qt/Mac
449
450         There's no guarantee that the plist will be valid even if we
451         ask the plugin to create it. Crash obverved with iGetter.
452
453         * plugins/mac/PluginPackageMac.cpp:
454
455 2009-10-15  Stephen White  <senorblanco@chromium.org>
456
457         Reviewed by David Levin.
458
459         Fix for Chromium/skia's implementation of canvas's isPointInPath().
460         https://bugs.webkit.org/show_bug.cgi?id=30402
461
462         Covered by LayoutTests/fast/canvas/pointInPath.html.
463
464         * platform/graphics/skia/SkiaUtils.cpp:
465         (WebCore::SkPathContainsPoint):
466
467 2009-10-15  Adam Barth  <abarth@webkit.org>
468
469         Reviewed by Darin Adler.
470
471         Factor ResourceLoadNotifier out of FrameLoader
472         https://bugs.webkit.org/show_bug.cgi?id=30379
473
474         These methods have virtually no interaction with the rest of
475         FrameLoader.
476
477         * GNUmakefile.am:
478         * WebCore.gypi:
479         * WebCore.pro:
480         * WebCore.vcproj/WebCore.vcproj:
481         * WebCore.xcodeproj/project.pbxproj:
482         * WebCoreSources.bkl:
483         * dom/Document.cpp:
484         (WebCore::Document::resourceRetrievedByXMLHttpRequest):
485         * loader/FrameLoader.cpp:
486         (WebCore::FrameLoader::FrameLoader):
487         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
488         (WebCore::ResourceLoadNotifier::ResourceLoadNotifier):
489         (WebCore::ResourceLoadNotifier::activeDocumentLoader):
490         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
491         (WebCore::ResourceLoadNotifier::willSendRequest):
492         (WebCore::ResourceLoadNotifier::didReceiveResponse):
493         (WebCore::ResourceLoadNotifier::didReceiveData):
494         (WebCore::ResourceLoadNotifier::didFailToLoad):
495         (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest):
496         (WebCore::FrameLoader::sendRemainingDelegateMessages):
497         (WebCore::FrameLoader::requestFromDelegate):
498         (WebCore::ResourceLoadNotifier::didFinishLoad):
499         (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
500         (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
501         (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest):
502         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
503         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
504         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
505         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
506         * loader/FrameLoader.h:
507         (WebCore::FrameLoader::notifier):
508         * loader/MainResourceLoader.cpp:
509         (WebCore::MainResourceLoader::receivedError):
510         * loader/ResourceLoadNotifier.cpp: Added.
511         (WebCore::ResourceLoadNotifier::ResourceLoadNotifier):
512         (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
513         (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
514         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
515         (WebCore::ResourceLoadNotifier::willSendRequest):
516         (WebCore::ResourceLoadNotifier::didReceiveResponse):
517         (WebCore::ResourceLoadNotifier::didReceiveData):
518         (WebCore::ResourceLoadNotifier::didFinishLoad):
519         (WebCore::ResourceLoadNotifier::didFailToLoad):
520         (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest):
521         (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest):
522         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
523         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
524         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
525         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
526         (WebCore::ResourceLoadNotifier::activeDocumentLoader):
527         * loader/ResourceLoadNotifier.h: Added.
528         * loader/ResourceLoader.cpp:
529         (WebCore::ResourceLoader::willSendRequest):
530         (WebCore::ResourceLoader::didReceiveResponse):
531         (WebCore::ResourceLoader::didReceiveData):
532         (WebCore::ResourceLoader::didFinishLoadingOnePart):
533         (WebCore::ResourceLoader::didFail):
534         (WebCore::ResourceLoader::didCancel):
535         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
536         (WebCore::ResourceLoader::didCancelAuthenticationChallenge):
537
538 2009-10-15  Roland Steiner  <rolandsteiner@google.com>
539
540         Reviewed by Darin Fisher.
541
542         Bug 30427 -  Remove unneeded methods in ChromiumDataObject
543         (https://bugs.webkit.org/show_bug.cgi?id=30427)
544         
545         Remove no longer needed methods from ChromiumDataObject.
546
547         No new tests (no functional change)
548
549         * platform/chromium/ChromiumDataObject.h:
550
551 2009-10-16  Yael Aharon  <yael.aharon@nokia.com>
552
553         Reviewed by Tor Arne Vestbø.
554
555         [Qt] Need a way to inform the application when a Netscape plugin is created or deleted
556         https://bugs.webkit.org/show_bug.cgi?id=30179
557
558         Inform the application when a plugin is created or destroyed, but only if the 
559         application registered for these notifications.
560
561         * plugins/symbian/PluginViewSymbian.cpp:
562         (WebCore::PluginView::platformStart):
563         (WebCore::PluginView::platformDestroy):
564
565 2009-10-16  Shu Chang  <Chang.Shu@nokia.com>
566
567         Reviewed by Eric Seidel.
568
569         Default language translation should be determined by locale settings,
570         e.g., "en-US".
571         https://bugs.webkit.org/show_bug.cgi?id=29653
572
573         Test: fast/js/navigator-language.html
574
575         * platform/qt/Localizations.cpp:
576         (WebCore::defaultLanguage):
577
578 2009-10-16  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
579
580         Reviewed by Ariya Hidayat.
581
582         Crash fix when loading NPAPI plugins on Qt/Mac
583
584         There's no guarantee that the plist will be valid even if we
585         ask the plugin to create it. Crash obverved with iGetter.
586
587         * plugins/mac/PluginPackageMac.cpp:
588
589 2009-10-15  Stephen White  <senorblanco@chromium.org>
590
591         Reviewed by David Levin.
592
593         Fix for Chromium/skia's implementation of canvas's isPointInPath().
594         https://bugs.webkit.org/show_bug.cgi?id=30402
595
596         Covered by LayoutTests/fast/canvas/pointInPath.html.
597
598         * platform/graphics/skia/SkiaUtils.cpp:
599         (WebCore::SkPathContainsPoint):
600
601 2009-10-15  Adam Barth  <abarth@webkit.org>
602
603         Reviewed by Darin Adler.
604
605         Factor ResourceLoadNotifier out of FrameLoader
606         https://bugs.webkit.org/show_bug.cgi?id=30379
607
608         These methods have virtually no interaction with the rest of
609         FrameLoader.
610
611         * GNUmakefile.am:
612         * WebCore.gypi:
613         * WebCore.pro:
614         * WebCore.vcproj/WebCore.vcproj:
615         * WebCore.xcodeproj/project.pbxproj:
616         * WebCoreSources.bkl:
617         * dom/Document.cpp:
618         (WebCore::Document::resourceRetrievedByXMLHttpRequest):
619         * loader/FrameLoader.cpp:
620         (WebCore::FrameLoader::FrameLoader):
621         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
622         (WebCore::ResourceLoadNotifier::ResourceLoadNotifier):
623         (WebCore::ResourceLoadNotifier::activeDocumentLoader):
624         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
625         (WebCore::ResourceLoadNotifier::willSendRequest):
626         (WebCore::ResourceLoadNotifier::didReceiveResponse):
627         (WebCore::ResourceLoadNotifier::didReceiveData):
628         (WebCore::ResourceLoadNotifier::didFailToLoad):
629         (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest):
630         (WebCore::FrameLoader::sendRemainingDelegateMessages):
631         (WebCore::FrameLoader::requestFromDelegate):
632         (WebCore::ResourceLoadNotifier::didFinishLoad):
633         (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
634         (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
635         (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest):
636         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
637         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
638         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
639         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
640         * loader/FrameLoader.h:
641         (WebCore::FrameLoader::notifier):
642         * loader/MainResourceLoader.cpp:
643         (WebCore::MainResourceLoader::receivedError):
644         * loader/ResourceLoadNotifier.cpp: Added.
645         (WebCore::ResourceLoadNotifier::ResourceLoadNotifier):
646         (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
647         (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
648         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
649         (WebCore::ResourceLoadNotifier::willSendRequest):
650         (WebCore::ResourceLoadNotifier::didReceiveResponse):
651         (WebCore::ResourceLoadNotifier::didReceiveData):
652         (WebCore::ResourceLoadNotifier::didFinishLoad):
653         (WebCore::ResourceLoadNotifier::didFailToLoad):
654         (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest):
655         (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest):
656         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
657         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
658         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
659         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
660         (WebCore::ResourceLoadNotifier::activeDocumentLoader):
661         * loader/ResourceLoadNotifier.h: Added.
662         * loader/ResourceLoader.cpp:
663         (WebCore::ResourceLoader::willSendRequest):
664         (WebCore::ResourceLoader::didReceiveResponse):
665         (WebCore::ResourceLoader::didReceiveData):
666         (WebCore::ResourceLoader::didFinishLoadingOnePart):
667         (WebCore::ResourceLoader::didFail):
668         (WebCore::ResourceLoader::didCancel):
669         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
670         (WebCore::ResourceLoader::didCancelAuthenticationChallenge):
671
672 2009-10-15  Roland Steiner  <rolandsteiner@google.com>
673
674         Reviewed by Darin Fisher.
675
676         Bug 30427 -  Remove unneeded methods in ChromiumDataObject
677         (https://bugs.webkit.org/show_bug.cgi?id=30427)
678         
679         Remove no longer needed methods from ChromiumDataObject.
680
681         No new tests (no functional change)
682
683         * platform/chromium/ChromiumDataObject.h:
684
685 2009-10-15  Daniel Bates  <dbates@webkit.org>
686
687         No review, rolling out r49644.
688         http://trac.webkit.org/changeset/49644
689         
690         We need to think about this change some more. See bug #30418 
691         for more details.
692
693         * page/XSSAuditor.cpp:
694         (WebCore::XSSAuditor::canEvaluate):
695         (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
696         (WebCore::XSSAuditor::canCreateInlineEventListener):
697         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
698         (WebCore::XSSAuditor::canLoadObject):
699         (WebCore::XSSAuditor::canSetBaseElementURL):
700         (WebCore::XSSAuditor::findInRequest):
701         * page/XSSAuditor.h:
702
703 2009-10-14  Jon Honeycutt  <jhoneycutt@apple.com>
704
705         Add SPI to determine whether a node is a halted plug-in.
706
707         Part of <rdar://problem/7273354> Halted plug-ins should restart on
708         mouseover
709
710         https://bugs.webkit.org/show_bug.cgi?id=30151
711
712         Reviewed by Darin Adler.
713
714         * plugins/PluginView.cpp:
715         (WebCore::PluginView::PluginView):
716         Initialize m_isHalted.
717
718         * plugins/PluginView.h:
719         (WebCore::PluginView::isHalted):
720         Return m_isHalted.
721
722         * plugins/win/PluginViewWin.cpp:
723         (WebCore::PluginView::halt):
724         Set m_isHalted to true.
725         (WebCore::PluginView::restart):
726         clear m_isHalted.
727
728 2009-10-15  Zoltan Horvath  <zoltan@webkit.org>
729
730         Reviewed by Oliver Hunt.
731
732         [Qt] Build fix for QtWebKit after r49649.
733
734         Change JSC::HasNonDefaultMark to OverridesMarkChildren in createStructure function.
735
736         * bridge/qt/qt_runtime.h:
737         (JSC::Bindings::QtRuntimeMethod::createStructure):
738
739 2009-10-15  Pavel Feldman  <pfeldman@chromium.org>
740
741         Not reviewed - build fix.
742
743         Web Inspector: add file missing in r49648
744
745         * inspector/front-end/TestController.js: Added.
746         (WebInspector.TestController):
747         (WebInspector.TestController.prototype.waitUntilDone):
748         (WebInspector.TestController.prototype.notifyDone):
749         (WebInspector.evaluateForTestInFrontend):
750
751 2009-10-15  Oliver Hunt  <oliver@apple.com>
752
753         Reviewed by Darin Adler.
754
755         Make typeinfo flags default to false
756         https://bugs.webkit.org/show_bug.cgi?id=30372
757
758         Part 2 -- Reverse the TypeInfo HasDefaultMark flag to OverridesMarkChildren, etc
759
760         * bindings/js/JSDOMBinding.h:
761         (WebCore::DOMObjectWithGlobalPointer::createStructure):
762         (WebCore::DOMConstructorObject::createStructure):
763         * bindings/js/JSDOMWindowShell.h:
764         (WebCore::JSDOMWindowShell::createStructure):
765         * bindings/js/JSHTMLAllCollection.h:
766         (WebCore::JSHTMLAllCollection::createStructure):
767         * bindings/js/JSQuarantinedObjectWrapper.h:
768         (WebCore::JSQuarantinedObjectWrapper::createStructure):
769         * bindings/scripts/CodeGeneratorJS.pm:
770         * bridge/qt/qt_runtime.h:
771         (JSC::Bindings::QtRuntimeMethod::createStructure):
772         * bridge/runtime_method.h:
773         (JSC::RuntimeMethod::createStructure):
774
775 2009-10-15  Pavel Feldman  <pfeldman@chromium.org>
776
777         Reviewed by Timothy Hatcher.
778
779         Web Inspector: introduce test controller with waitUntilDone
780         on frontend side.
781
782         https://bugs.webkit.org/show_bug.cgi?id=30400
783
784         * WebCore.gypi:
785         * WebCore.vcproj/WebCore.vcproj:
786         * inspector/front-end/TestController.js: Added.
787         (WebInspector.TestController):
788         (WebInspector.TestController.prototype.waitUntilDone):
789         (WebInspector.TestController.prototype.notifyDone):
790         (WebInspector.evaluateForTestInFrontend):
791         * inspector/front-end/WebKit.qrc:
792         * inspector/front-end/inspector.html:
793         * inspector/front-end/inspector.js:
794
795 2009-10-15  Daniel Bates  <dbates@webkit.org>
796
797         Reviewed by Adam Barth.
798
799         https://bugs.webkit.org/show_bug.cgi?id=27895
800         
801         Fixes an issue in which injecting an inline event handler whose value ends in a single-line
802         JavaScript comment can bypass the XSSAuditor. Similarly fixes this issue with respect to
803         the HTML Base element, HTML Object element, inline and external script tags, and
804         JavaScript multi-line variants of all of these attacks.
805
806         Tests: http/tests/security/xssAuditor/base-href-comment.html
807                http/tests/security/xssAuditor/iframe-javascript-url-comment.html
808                http/tests/security/xssAuditor/img-onerror-HTML-comment.html
809                http/tests/security/xssAuditor/img-onerror-comment.html
810                http/tests/security/xssAuditor/object-tag-comment.html
811                http/tests/security/xssAuditor/script-tag-comment-HTML-entity.html
812                http/tests/security/xssAuditor/script-tag-comment.html
813                http/tests/security/xssAuditor/script-tag-with-source-comment.html
814
815         * page/XSSAuditor.cpp: Added constant minAttackLength.
816         (WebCore::XSSAuditor::canEvaluate):
817         (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
818         (WebCore::XSSAuditor::canCreateInlineEventListener):
819         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
820         (WebCore::XSSAuditor::canLoadObject):
821         (WebCore::XSSAuditor::canSetBaseElementURL):
822         (WebCore::XSSAuditor::findInRequest): Added parameter context. Only looks at up 
823         to minAttackLength of script code plus context (if any).
824         * page/XSSAuditor.h:
825
826 2009-10-08  Adam Langley  <agl@google.com>
827
828         Reviewed by Eric Seidel.
829
830         Currently, Skia clip paths are 1-bit. This patch makes our path
831         clipping anti-aliased for non-canvas drawing.
832
833         http://code.google.com/p/chromium/issues/detail?id=5927
834         https://bugs.webkit.org/show_bug.cgi?id=28820
835         http://www.imperialviolet.org/2009/09/02/anti-aliased-clipping.html
836
837         Already covered by layout tests. New baselines will be needed in the
838         Chromium tree.
839
840         (Reland. First landed in r49329, reverted in r49330 due to Windows
841         build break)
842
843         * html/canvas/CanvasRenderingContext2D.cpp:
844         (WebCore::CanvasRenderingContext2D::clip):
845         * platform/graphics/GraphicsContext.h:
846         * platform/graphics/cairo/GraphicsContextCairo.cpp:
847         (WebCore::GraphicsContext::canvasClip):
848         * platform/graphics/cg/GraphicsContextCG.cpp:
849         (WebCore::GraphicsContext::canvasClip):
850         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
851         (WebCore::GraphicsContext::canvasClip):
852         * platform/graphics/qt/GraphicsContextQt.cpp:
853         (WebCore::GraphicsContext::canvasClip):
854         * platform/graphics/skia/GraphicsContextSkia.cpp:
855         (WebCore::GraphicsContext::addInnerRoundedRectClip):
856         (WebCore::GraphicsContext::clip):
857         (WebCore::GraphicsContext::canvasClip):
858         (WebCore::GraphicsContext::clipPath):
859         * platform/graphics/skia/PlatformContextSkia.cpp:
860         (PlatformContextSkia::clipPathAntiAliased):
861         (PlatformContextSkia::restore):
862         (PlatformContextSkia::applyAntiAliasedClipPaths):
863         * platform/graphics/skia/PlatformContextSkia.h:
864         * platform/graphics/win/GraphicsContextWin.cpp:
865         (WebCore::GraphicsContext::canvasClip):
866         * platform/graphics/wince/GraphicsContextWince.cpp:
867         (WebCore::GraphicsContext::canvasClip):
868         * platform/graphics/wx/GraphicsContextWx.cpp:
869         (WebCore::GraphicsContext::canvasClip):
870
871 2009-10-15  Eric Carlson  <eric.carlson@apple.com>
872
873         Reviewed by Simon Fraser.
874
875         <rdar://problem/7295738> No way to mute/unmute a movie in full screen video mode
876
877         * WebCore.Video.exp: Export muted and setMute.
878
879 2009-10-15  Simon Fraser  <simon.fraser@apple.com>
880
881         Reviewed by Dan Bernstein.
882
883         Transitions fail to run sometimes
884         https://bugs.webkit.org/show_bug.cgi?id=26770
885
886         Fix an issue where we could attempt to start accelerated animations or transitions on
887         GraphicsLayer that were not rooted (because of visibility:hidden), which would leave
888         the AnimationController's m_waitingForResponse flag in a state that killed subsequent
889         software transitions.
890
891         * page/animation/AnimationController.cpp:
892         (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
893         (WebCore::AnimationControllerPrivate::endAnimationUpdate):
894         (WebCore::AnimationControllerPrivate::receivedStartTimeResponse):
895         (WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList):
896         (WebCore::AnimationControllerPrivate::startTimeResponse):
897         * page/animation/AnimationControllerPrivate.h:
898         Make some methods non-inline for ease of debugging (these are not hot methods).
899         Rename m_waitingForAResponse to m_waitingForResponse.
900         
901         * platform/graphics/GraphicsLayer.h:
902         * platform/graphics/GraphicsLayer.cpp:
903         (WebCore::GraphicsLayer::hasAncestor):
904         New method to report whether the receiver has the given layer as an ancestor. Used for checking
905         whether a layer is rooted.
906
907         * rendering/RenderLayerBacking.cpp:
908         (WebCore::RenderLayerBacking::startAnimation):
909         (WebCore::RenderLayerBacking::startTransition):
910         Don't try to start accelerated animations or transitions on non-rooted GraphicsLayers.
911
912 2009-10-15  Alexander Pavlov  <apavlov@chromium.org>
913
914         Reviewed by Pavel Feldman.
915
916         Refactor ProfilesPanel to support multiple profile types
917
918         Data describing different profile types are now stored in distinct objects.
919         https://bugs.webkit.org/show_bug.cgi?id=30332
920
921         * WebCore.vcproj/WebCore.vcproj:
922         * inspector/front-end/ProfileView.js:
923         (WebInspector.CPUProfileView.profileCallback):
924         (WebInspector.CPUProfileView):
925         (WebInspector.CPUProfileView.prototype._sortData):
926         (WebInspector.CPUProfileType):
927         (WebInspector.CPUProfileType.prototype.get buttonTooltip):
928         (WebInspector.CPUProfileType.prototype.get buttonStyle):
929         (WebInspector.CPUProfileType.prototype.buttonClicked):
930         (WebInspector.CPUProfileType.prototype.setRecordingProfile):
931         (WebInspector.CPUProfile):
932         (WebInspector.CPUProfile.prototype.get title):
933         (WebInspector.CPUProfile.prototype.get uid):
934         (WebInspector.CPUProfile.prototype.get head):
935         (WebInspector.CPUProfile.prototype.createView):
936         (WebInspector.CPUProfile.prototype.viewForProfile):
937         * inspector/front-end/ProfilesPanel.js:
938         (WebInspector.ProfileType):
939         (WebInspector.ProfileType.prototype.get buttonTooltip):
940         (WebInspector.ProfileType.prototype.get buttonStyle):
941         (WebInspector.ProfileType.prototype.get buttonCaption):
942         (WebInspector.ProfileType.prototype.get id):
943         (WebInspector.ProfileType.prototype.get name):
944         (WebInspector.ProfileType.prototype.buttonClicked):
945         (WebInspector.ProfilesPanel):
946         (WebInspector.ProfilesPanel.prototype.get statusBarItems.clickHandler):
947         (WebInspector.ProfilesPanel.prototype.get statusBarItems):
948         (WebInspector.ProfilesPanel.prototype.reset):
949         (WebInspector.ProfilesPanel.prototype.registerProfileType):
950         (WebInspector.ProfilesPanel.prototype._makeKey):
951         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
952         (WebInspector.ProfilesPanel.prototype.showProfile):
953         (WebInspector.ProfilesPanel.prototype.getProfileType):
954         (WebInspector.ProfilesPanel.prototype.showProfileForURL):
955         (WebInspector.ProfilesPanel.prototype.updateProfileTypeButtons):
956         (WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink):
957         (WebInspector.ProfilesPanel.prototype.get searchableViews):
958         (WebInspector.ProfilesPanel.prototype._updateInterface):
959         * inspector/front-end/inspector.js:
960         (WebInspector._createPanels):
961         (WebInspector.documentClick.followLink):
962         (WebInspector.documentClick):
963         (WebInspector.addProfileHeader):
964         (WebInspector.setRecordingProfile):
965         (WebInspector.linkifyStringAsFragment):
966         (WebInspector.showProfileForURL):
967
968 2009-10-15  Pavel Feldman  <pfeldman@chromium.org>
969
970         Reviewed by Timothy Hatcher.
971
972         Web Inspector: Enable inspector layout tests.
973
974         https://bugs.webkit.org/show_bug.cgi?id=30014
975
976         * inspector/InspectorController.cpp:
977         (WebCore::InspectorController::evaluateForTestInFrontend):
978
979 2009-10-15  Philippe Normand  <pnormand@igalia.com>
980
981         Reviewed by Gustavo Noronha.
982
983         [GStreamer] READY state doesn't mean "enough data"
984         https://bugs.webkit.org/show_bug.cgi?id=30003
985
986         STATE_READY means MediaPlayer::HaveNothing
987
988         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
989         (WebCore::MediaPlayerPrivate::updateStates):
990
991 2009-10-15  Philippe Normand  <pnormand@igalia.com>
992
993         Reviewed by Gustavo Noronha.
994
995         https://bugs.webkit.org/show_bug.cgi?id=30002
996
997         implement cancelLoad
998
999         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1000         (WebCore::MediaPlayerPrivate::cancelLoad):
1001
1002 2009-10-15  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1003
1004         Reviewed by Gustavo Noronha.
1005
1006         https://bugs.webkit.org/show_bug.cgi?id=30353
1007         
1008         Fix race condition, leading to a deadlock
1009
1010         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
1011         (webkit_video_sink_timeout_func):
1012         (webkit_video_sink_render):
1013         (unlock_buffer_mutex):
1014         (webkit_video_sink_unlock):
1015         (webkit_video_sink_unlock_stop):
1016         (webkit_video_sink_stop):
1017         (webkit_video_sink_start):
1018         (webkit_video_sink_class_init):
1019         Fix race condition in unlock/render that would lead to deadlocks.
1020
1021 2009-10-15  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1022
1023         Reviewed by Gustavo Noronha.
1024
1025         https://bugs.webkit.org/show_bug.cgi?id=30374
1026         
1027         Check if caps are valid before parsing them
1028
1029         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1030         (WebCore::MediaPlayerPrivate::duration):
1031         Check if caps are valid before parsing them in ::naturalSize().
1032         This prevents assertions if the natural size should be calculated
1033         before the video caps are negotiated.
1034
1035 2009-10-15  Philippe Normand  <pnormand@igalia.com>
1036
1037         Reviewed by Gustavo Noronha.
1038
1039         https://bugs.webkit.org/show_bug.cgi?id=30006
1040         [GStreamer] Unnecessary checks for Messages types in callbacks
1041
1042         refactored gst message callbacks into a single one
1043
1044         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1045         (WebCore::mediaPlayerPrivateMessageCallback):
1046         (WebCore::do_gst_init):
1047         (WebCore::MediaPlayerPrivate::duration):
1048         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
1049
1050 2009-10-15  Shu Chang  <Chang.Shu@nokia.com>
1051
1052         Reviewed by Adele Peterson.
1053
1054         Anchor elements should be mouse focusable regardless isLink flag.
1055         https://bugs.webkit.org/show_bug.cgi?id=26856
1056
1057         * html/HTMLAnchorElement.cpp:
1058         * html/HTMLAnchorElement.h:
1059
1060 2009-10-15  Nikolas Zimmermann  <nzimmermann@rim.com>
1061
1062         Not reviewed. Sort XCode project file.
1063
1064         * WebCore.xcodeproj/project.pbxproj:
1065
1066 2009-10-15  Yury Semikhatsky  <yurys@chromium.org>
1067
1068         Reviewed by Dave Hyatt.
1069
1070         Return correct shorthand property name for 
1071         background-repeat-x, background-repeat-y, background-position-x,
1072         background-position-y, -webkit-mask-position-x, -webkit-mask-position-y,
1073         -webkit-mask-repeat-x, -webkit-mask-repeat-y.
1074
1075         https://bugs.webkit.org/show_bug.cgi?id=28972
1076
1077         Test: fast/backgrounds/repeat/background-repeat-shorthand.html
1078
1079         * css/CSSParser.cpp:
1080         (WebCore::CSSParser::parseValue):
1081
1082 2009-10-14  Mikhail Naganov  <mnaganov@chromium.org>
1083
1084         Reviewed by Pavel Feldman.
1085
1086         Web Inspector: Migrate profiles to the injected script-based schema.
1087
1088         https://bugs.webkit.org/show_bug.cgi?id=30328
1089
1090         * bindings/js/JSInspectorBackendCustom.cpp:
1091         * bindings/v8/custom/V8CustomBinding.h:
1092         * inspector/InspectorBackend.cpp:
1093         (WebCore::InspectorBackend::getProfileHeaders):
1094         (WebCore::InspectorBackend::getProfile):
1095         * inspector/InspectorBackend.h:
1096         * inspector/InspectorBackend.idl:
1097         * inspector/InspectorController.cpp:
1098         (WebCore::InspectorController::addProfile):
1099         (WebCore::InspectorController::getProfileHeaders):
1100         (WebCore::InspectorController::getProfile):
1101         (WebCore::InspectorController::createProfileHeader):
1102         * inspector/InspectorController.h:
1103         * inspector/InspectorFrontend.cpp:
1104         (WebCore::InspectorFrontend::addProfileHeader):
1105         (WebCore::InspectorFrontend::didGetProfileHeaders):
1106         (WebCore::InspectorFrontend::didGetProfile):
1107         * inspector/InspectorFrontend.h:
1108         * inspector/JavaScriptProfileNode.cpp:
1109         (WebCore::ProfileNodeClass):
1110         * inspector/front-end/ProfileView.js:
1111         (WebInspector.ProfileView.profileCallback):
1112         (WebInspector.ProfileView):
1113         (WebInspector.ProfileView.prototype._mouseDownInDataGrid):
1114         (WebInspector.ProfileView.prototype._assignParentsInProfile):
1115         * inspector/front-end/ProfilesPanel.js:
1116         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
1117         * inspector/front-end/inspector.js:
1118         (WebInspector.addProfileHeader):
1119
1120 2009-10-14  Pavel Feldman  <pfeldman@chromium.org>
1121
1122         Reviewed by Timothy Hatcher.
1123
1124         Web Inspector: Create and update frontend script objects only when
1125         web inspector is visible.
1126
1127         https://bugs.webkit.org/show_bug.cgi?id=30376
1128
1129         * inspector/InspectorController.cpp:
1130         (WebCore::InspectorController::addConsoleMessage):
1131         (WebCore::InspectorController::populateScriptObjects):
1132         (WebCore::InspectorController::pruneResources):
1133         (WebCore::InspectorController::didCommitLoad):
1134         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
1135         (WebCore::InspectorController::identifierForInitialRequest):
1136         (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
1137         (WebCore::InspectorController::mainResourceFiredLoadEvent):
1138         (WebCore::InspectorController::willSendRequest):
1139         (WebCore::InspectorController::didReceiveResponse):
1140         (WebCore::InspectorController::didReceiveContentLength):
1141         (WebCore::InspectorController::didFinishLoading):
1142         (WebCore::InspectorController::didFailLoading):
1143         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
1144         (WebCore::InspectorController::scriptImported):
1145         (WebCore::InspectorController::didOpenDatabase):
1146         (WebCore::InspectorController::didUseDOMStorage):
1147         (WebCore::InspectorController::evaluateForTestInFrontend):
1148
1149 2009-10-15  Joseph Pecoraro  <joepeck@webkit.org>
1150
1151         Fix Windows build.
1152
1153         * dom/Document.idl:
1154
1155 2009-10-14  Joseph Pecoraro  <joepeck@webkit.org>
1156
1157         Reviewed by Adam Barth.
1158
1159         [HTML5] Add document.head
1160         https://bugs.webkit.org/show_bug.cgi?id=30232
1161
1162         Test is fast/dom/document-head.html
1163
1164         * dom/Document.idl: added readonly attribute head
1165
1166 2009-10-14  Matt Mueller  <mattm@chromium.org>
1167
1168         Reviewed by Darin Adler.
1169
1170         Check FNonNeg after the unit switch to avoid valgrind uninitialised conditional reference in WebCore::CSSParser::validUnit.  See http://crbug.com/20939.
1171         https://bugs.webkit.org/show_bug.cgi?id=30347
1172         https://bugs.webkit.org/show_bug.cgi?id=22772
1173
1174         Covered by running LayoutTests/fast/css/invalid-percentage-property.html under valgrind.
1175
1176         * css/CSSParser.cpp:
1177         (WebCore::CSSParser::validUnit):
1178
1179 2009-10-14  Adam Barth  <abarth@webkit.org>
1180
1181         Reviewed by Sam Weinig.
1182
1183         Move scrolling code from FrameLoader to FrameView
1184         https://bugs.webkit.org/show_bug.cgi?id=30370
1185
1186         This code is about controlling the Frame's view, not about loading
1187         stuff into the frame.
1188
1189         * loader/FrameLoader.cpp:
1190         (WebCore::FrameLoader::finishedParsing):
1191         (WebCore::FrameLoader::scrollToAnchor):
1192         * page/FrameView.cpp:
1193         (WebCore::FrameView::scrollToFragment):
1194         (WebCore::FrameView::scrollToAnchor):
1195         * page/FrameView.h:
1196
1197 2009-10-14  Oliver Hunt  <oliver@apple.com>
1198
1199         Reviewed by Geoff Garen.
1200
1201         Make typeinfo flags default to false
1202         https://bugs.webkit.org/show_bug.cgi?id=30372
1203         
1204         Part 1. Reverse the HasStandardGetOwnPropertySlot flag.
1205
1206         * bindings/js/JSDOMBinding.h:
1207         (WebCore::DOMObjectWithGlobalPointer::createStructure):
1208         (WebCore::DOMConstructorObject::createStructure):
1209         * bindings/js/JSDOMWindowShell.h:
1210         (WebCore::JSDOMWindowShell::createStructure):
1211         * bindings/js/JSHTMLAllCollection.h:
1212         (WebCore::JSHTMLAllCollection::createStructure):
1213         * bindings/js/JSQuarantinedObjectWrapper.h:
1214         (WebCore::JSQuarantinedObjectWrapper::createStructure):
1215         * bindings/scripts/CodeGeneratorJS.pm:
1216         * bridge/objc/objc_runtime.h:
1217         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
1218         * bridge/runtime_array.h:
1219         (JSC::RuntimeArray::createStructure):
1220         * bridge/runtime_method.h:
1221         (JSC::RuntimeMethod::createStructure):
1222         * bridge/runtime_object.h:
1223         (JSC::RuntimeObjectImp::createStructure):
1224
1225 2009-10-14  Adam Barth  <abarth@webkit.org>
1226
1227         Reviewed by Darin Adler.
1228
1229         [XSSAuditor] Add an exception for local files
1230         https://bugs.webkit.org/show_bug.cgi?id=30352
1231
1232         Reduce XSS auditor false positives by always letting pages load scripts
1233         from their own host. We don't actually know of any false positives
1234         that this prevents, but it seems like a good idea.
1235
1236         One subtly is that we don't add this exception for scripts that have a
1237         query string because (1) URLs with query strings are more apt to
1238         confuse servers and (2) it is much less common to load scripts with a
1239         query string.
1240
1241         Tests: http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query.html
1242                http/tests/security/xssAuditor/script-tag-with-source-same-host.html
1243
1244         * page/XSSAuditor.cpp:
1245         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
1246
1247 2009-10-14  Nikolas Zimmermann  <nzimmermann@rim.com>
1248
1249         Reviewed by George Staikos.
1250
1251         Kill virtual contextElement() method spread all over SVG code
1252         https://bugs.webkit.org/show_bug.cgi?id=30183
1253
1254         Remove virtual contextElement() function from all SVG*Element classes, as all animated properties live in the
1255         SVG*Element classes now instead of the SVGFitToViewBox / SVGURIReference / SVGExternalResourcesRequired
1256         subclasses. This is a first step to working animVal support. More patches will follow that depend on this change.
1257
1258         Remove "This file is part of the KDE project" from several files, change my old mail adress wildfox -> zimmermann,
1259         and remove vim modelines on all files I touched. No change in functionality, thus no new tests.
1260
1261         * svg/SVGAElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
1262         * svg/SVGAltGlyphElement.h: Remove virtual contextElement() method.
1263         * svg/SVGAnimatedProperty.h:
1264         (WebCore::::synchronize):
1265         (WebCore::::startAnimation):
1266         (WebCore::::stopAnimation):
1267         * svg/SVGAnimationElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
1268         * svg/SVGCircleElement.h: Ditto.
1269         * svg/SVGClipPathElement.h: Ditto.
1270         * svg/SVGCursorElement.h: Ditto.
1271         * svg/SVGDefsElement.h: Ditto.
1272         * svg/SVGEllipseElement.h: Ditto.
1273         * svg/SVGExternalResourcesRequired.h: Remove pure-virtual contextElement() method.
1274         * svg/SVGFEImageElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
1275         * svg/SVGFELightElement.h: Remove virtual contextElement() method.
1276         * svg/SVGFEMergeNodeElement.h: Ditto.
1277         * svg/SVGFilterElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
1278         * svg/SVGFilterPrimitiveStandardAttributes.h: Remove virtual contextElement() method.
1279         * svg/SVGFitToViewBox.cpp:
1280         (WebCore::SVGFitToViewBox::parseViewBox): Add Document* parameter - we used to fetch the Document pointer from the context element.
1281         (WebCore::SVGFitToViewBox::parseMappedAttribute): Ditto.
1282         * svg/SVGFitToViewBox.h: Remove pure-virtual contextElement() method.
1283         * svg/SVGFontElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
1284         * svg/SVGForeignObjectElement.h: Ditto.
1285         * svg/SVGGElement.h: Ditto.
1286         * svg/SVGGradientElement.h: Ditto.
1287         * svg/SVGImageElement.h: Ditto.
1288         * svg/SVGLineElement.h: Ditto.
1289         * svg/SVGMPathElement.h: Ditto. Fix license indention.
1290         * svg/SVGMarkerElement.cpp:
1291         (WebCore::SVGMarkerElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute().
1292         * svg/SVGMarkerElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
1293         * svg/SVGMaskElement.h: Ditto.
1294         * svg/SVGPathElement.h: Ditto.
1295         * svg/SVGPatternElement.cpp:
1296         (WebCore::SVGPatternElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute().
1297         * svg/SVGPatternElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
1298         * svg/SVGPolyElement.cpp:
1299         (WebCore::SVGPolyElement::updateAnimatedSVGAttribute): synchronizeProperty<...>() has been renamed to PropertySynchronizer<...>::synchronize().
1300         * svg/SVGPolyElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
1301         * svg/SVGRectElement.h: Ditto.
1302         * svg/SVGSVGElement.cpp:
1303         (WebCore::SVGSVGElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute().
1304         * svg/SVGSVGElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
1305         * svg/SVGScriptElement.h: Ditto.
1306         * svg/SVGSwitchElement.h: Ditto.
1307         * svg/SVGSymbolElement.cpp:
1308         (WebCore::SVGSymbolElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute().
1309         * svg/SVGSymbolElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
1310         * svg/SVGTRefElement.h: Remove virtual contextElement() method.
1311         * svg/SVGTextContentElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
1312         * svg/SVGTextPathElement.h: Remove virtual contextElement() method.
1313         * svg/SVGUseElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
1314         * svg/SVGViewElement.cpp:
1315         (WebCore::SVGViewElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute().
1316         * svg/SVGViewElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
1317         * svg/SVGViewSpec.cpp:
1318         (WebCore::SVGViewSpec::setViewBoxString): Pass document() to SVGFitToViewBox::parseMappedAttribute().
1319         (WebCore::SVGViewSpec::parseViewSpec): Ditto.
1320         * svg/SVGViewSpec.h: Devirtualize contextElement() method, it's the only place where contextElement() remains needed.
1321
1322 2009-10-14  Dirk Schulze  <krit@webkit.org>
1323
1324         Reviewed by Nikolas Zimmermann.
1325
1326         SVG Masking with wrong offset
1327         [https://bugs.webkit.org/show_bug.cgi?id=30325]
1328
1329         SVGMaskElement moves the mask image graphics context to the wrong location.
1330         In objectBoundingBoxMode the maskDestRect gets translated. This transformation
1331         is not used in the later calculation. Fix by consistenly calculating the translation
1332         offsets from the final mask destination rect.
1333
1334         Test: svg/custom/mask-with-default-value.svg
1335
1336         * svg/SVGMaskElement.cpp:
1337         (WebCore::SVGMaskElement::drawMaskerContent):
1338
1339 2009-10-14  Kevin Decker  <kdecker@apple.com>
1340
1341         Rubberstamped by Jon Honeycutt.
1342         
1343         Export a few more showSubstituteImage() related methods.
1344         
1345         * WebCore.base.exp:
1346         * WebCore.xcodeproj/project.pbxproj:
1347
1348 2009-10-14  Evan Martin  <evan@chromium.org>
1349
1350         Reviewed by Darin Adler.
1351
1352         Stringify CSS units manually (without printf) to make the formatting
1353         locale-insensitive and obey CSS spec with respect to large values.
1354         
1355         https://bugs.webkit.org/show_bug.cgi?id=18994
1356
1357         * css/CSSPrimitiveValue.cpp:
1358         (WebCore::appendCSSDouble):
1359         (WebCore::formatWithUnits):
1360         (WebCore::CSSPrimitiveValue::cssText):
1361
1362 2009-10-14  Mark Seaborn  <mseaborn@google.com>
1363
1364         Reviewed by Darin Adler.
1365
1366         Check error return value in Perl build script
1367         https://bugs.webkit.org/show_bug.cgi?id=30316
1368
1369         * css/makevalues.pl: Die if gperf fails.
1370
1371 2009-10-14  Dirk Schulze  <krit@webkit.org>
1372
1373         Reviewed by Nikolas Zimmermann.
1374
1375         SVG wrong filterRegions for userSpaceOnUse and percentage values
1376         [https://bugs.webkit.org/show_bug.cgi?id=30330]
1377
1378         Some clean-up of the SVG filter calculation code. This clean-up
1379         also fixes the problem with percentage and userSpaceInUse mode.
1380
1381         Test: svg/filters/subRegion-in-userSpace.svg
1382
1383         * platform/graphics/filters/FilterEffect.cpp:
1384         (WebCore::FilterEffect::FilterEffect):
1385         * platform/graphics/filters/FilterEffect.h:
1386         * rendering/SVGRenderSupport.cpp:
1387         (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
1388         * svg/SVGFilterElement.cpp:
1389         (WebCore::SVGFilterElement::buildFilter):
1390         (WebCore::SVGFilterElement::canvasResource):
1391         * svg/SVGFilterElement.h:
1392         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1393         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
1394         * svg/graphics/SVGResourceFilter.cpp:
1395         (WebCore::SVGResourceFilter::SVGResourceFilter):
1396         (WebCore::SVGResourceFilter::~SVGResourceFilter):
1397         (WebCore::SVGResourceFilter::addFilterEffect):
1398         (WebCore::SVGResourceFilter::prepareFilter):
1399         * svg/graphics/SVGResourceFilter.h:
1400         (WebCore::SVGResourceFilter::create):
1401         * svg/graphics/filters/SVGFilter.cpp:
1402         (WebCore::SVGFilter::SVGFilter):
1403         (WebCore::SVGFilter::calculateEffectSubRegion):
1404         (WebCore::SVGFilter::create):
1405         * svg/graphics/filters/SVGFilter.h:
1406
1407 2009-10-14  Chris Marrin  <cmarrin@apple.com>
1408
1409         The last change fixed the problem, removing diagnostic printfs.
1410
1411         * platform/graphics/mac/GraphicsContext3DMac.cpp:
1412         (WebCore::GraphicsContext3D::GraphicsContext3D):
1413
1414 2009-10-14  Kevin Ollivier  <kevino@theolliviers.com>
1415
1416         CURL build fix for versions < 7.18.
1417
1418         * platform/network/curl/ResourceHandleCurl.cpp:
1419         (WebCore::ResourceHandle::setDefersLoading):
1420         * platform/network/curl/ResourceHandleManager.cpp:
1421         (WebCore::ResourceHandleManager::initializeHandle):
1422
1423 2009-10-14  Chris Marrin  <cmarrin@apple.com>
1424
1425         One more round of changes to figure out why the webgl 
1426         tests are crashing on the build bot. Here I am trying
1427         to see if we can create a software renderer. I am also
1428         printing the found pixel formats.
1429
1430         * platform/graphics/mac/GraphicsContext3DMac.cpp:
1431         (WebCore::GraphicsContext3D::GraphicsContext3D):
1432
1433 2009-10-14  Yael Aharon  <yael.aharon@nokia.com>
1434  
1435         Reviewed by 
1436  
1437         Enabling NPAPI plugin support on Qt Webkit for S60 platform
1438         https://bugs.webkit.org/show_bug.cgi?id=29302
1439
1440         Also implemented by Mahesh Kulkarni<mahesh.kulkarni@nokia.com>, 
1441         Rohini Ananth <rohini.ananth@nokia.com> and help from Norbert Lesr
1442         <norbert.leser@nokia.com>
1443          
1444         * WebCore.pro:
1445         Enabling ENABLE_NETSCAPE_PLUGIN_API for S60 and added S60 specific 
1446         new plugin files to be compiled under symbian: macro
1447
1448         * bridge/npapi.h:
1449         Added NPEvent and NPRegion definition for Symbian
1450
1451         * plugins/PluginPackage.h:
1452         Added S60 specific plugin interface and plugin loader variables
1453         * plugins/PluginPackage.cpp:
1454         (WebCore::PluginPackage::unload): Added !PLATFORM(SYMBIAN) macro.
1455         Default implementation to be used only for non-symbian platform
1456         * plugins/PluginDatabase.cpp:
1457         Macro !SYMBIAN checking
1458         * plugins/PluginView.h:
1459         Add Symbian to platforms that support setNPWindowIfNeeded
1460         * plugins/PluginView.cpp:
1461         (WebCore::PluginView::setFrameRect): Add Symbian to platforms that
1462         call setNPWindowRect from setFrameRect
1463          
1464         Added folder 'symbian' which contains implementation files for S60
1465         platform-specific NPAPI plugin functionality, under /plugins folder
1466         * plugins/symbian
1467         * plugins/symbian/npinterface.h:
1468         Plugin Interface to be implemented by S60 NPAPI plugins 
1469         * plugins/symbian/PluginContainerSymbian.h:
1470         * plugins/symbian/PluginContainerSymbian.cpp:
1471         * plugins/symbian/PluginDatabaseSymbian.cpp:
1472         * plugins/symbian/PluginViewSymbian.cpp:
1473         * plugins/symbian/PluginPackageSymbian.cpp:
1474
1475 2009-10-14  Chris Marrin  <cmarrin@apple.com>
1476
1477         More changes to figure out why the webgl tests are crashing on the build bot.
1478
1479         * platform/graphics/mac/GraphicsContext3DMac.cpp:
1480         (WebCore::GraphicsContext3D::GraphicsContext3D):
1481
1482 2009-10-14  Victor Wang  <victorw@chromium.org>
1483
1484         Reviewed by David Hyatt.
1485
1486         Round non-integer line height values.
1487
1488         Change webkit to rounding non-integer line height values
1489         instead of truncating them. This fixes a layout test
1490         failure on Windows and matches the calculation in IE and Firefox. 
1491
1492         https://bugs.webkit.org/show_bug.cgi?id=24434
1493
1494         Test: fast/css/line-height-rounding.html
1495               fast/forms/textarea-scrollbar-height.htm
1496
1497         * css/CSSComputedStyleDeclaration.cpp:
1498         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1499         * rendering/InlineFlowBox.cpp:
1500         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
1501         * rendering/RenderBR.cpp:
1502         (WebCore::RenderBR::lineHeight):
1503         * rendering/style/RenderStyle.h:
1504         (WebCore::InheritedFlags::computedLineHeight):
1505
1506 2009-10-13  Kelly Norton  <knorton@google.com>
1507
1508         Reviewed by Pavel Feldman.
1509
1510         Removes the persistent setting for InspectorTimelineAgent and renames timeline related
1511         interfaces to be more consistent with the JavaScript profiler.
1512
1513         * inspector/InspectorBackend.cpp:
1514         (WebCore::InspectorBackend::startTimelineProfiler):
1515         (WebCore::InspectorBackend::stopTimelineProfiler):
1516         (WebCore::InspectorBackend::timelineProfilerEnabled):
1517         * inspector/InspectorBackend.h:
1518         * inspector/InspectorBackend.idl:
1519         * inspector/InspectorController.cpp:
1520         (WebCore::InspectorController::setFrontendProxyObject):
1521         (WebCore::InspectorController::startTimelineProfiler):
1522         (WebCore::InspectorController::stopTimelineProfiler):
1523         (WebCore::InspectorController::timelineProfilerEnabled):
1524         * inspector/InspectorController.h:
1525         * inspector/InspectorFrontend.cpp:
1526         (WebCore::InspectorFrontend::timelineProfilerWasStarted):
1527         (WebCore::InspectorFrontend::timelineProfilerWasStopped):
1528         * inspector/InspectorFrontend.h:
1529         * inspector/front-end/TimelineAgent.js:
1530         (WebInspector.timelineProfilerWasStarted):
1531         (WebInspector.timelineProfilerWasStopped):
1532
1533 2009-10-01  Yong Li  <yong.li@torchmobile.com>
1534
1535         Reviewed by Adele Peterson.
1536
1537         Fix crash when loading invalid image data
1538         https://bugs.webkit.org/show_bug.cgi?id=29980
1539
1540         * rendering/RenderImage.cpp:
1541         (WebCore::RenderImage::setImageSizeForAltText):
1542
1543 2009-10-09  Stephen White  <senorblanco@chromium.org>
1544
1545         Reviewed by Eric Seidel.
1546
1547         Fix for NULL ptr deref in canvas's toDataURL().
1548         https://bugs.webkit.org/show_bug.cgi?id=30254
1549
1550         Test: fast/canvas/canvas-toDataURL-crash.html
1551
1552         * html/HTMLCanvasElement.cpp:
1553         (WebCore::HTMLCanvasElement::toDataURL):
1554
1555 2009-10-14  Pavel Feldman  <pfeldman@chromium.org>
1556
1557         Not reviewed, reverting r49558 since it broke profiler tests.
1558
1559         https://bugs.webkit.org/show_bug.cgi?id=30328
1560
1561         * bindings/js/JSInspectorBackendCustom.cpp:
1562         * bindings/v8/custom/V8CustomBinding.h:
1563         * inspector/InspectorBackend.cpp:
1564         (WebCore::InspectorBackend::getProfileHeaders):
1565         (WebCore::InspectorBackend::getProfile):
1566         * inspector/InspectorBackend.h:
1567         * inspector/InspectorBackend.idl:
1568         * inspector/InspectorController.cpp:
1569         (WebCore::InspectorController::addProfile):
1570         (WebCore::InspectorController::getProfileHeaders):
1571         (WebCore::InspectorController::getProfile):
1572         (WebCore::InspectorController::createProfileHeader):
1573         * inspector/InspectorController.h:
1574         * inspector/InspectorFrontend.cpp:
1575         (WebCore::InspectorFrontend::addProfileHeader):
1576         (WebCore::InspectorFrontend::didGetProfileHeaders):
1577         (WebCore::InspectorFrontend::didGetProfile):
1578         * inspector/InspectorFrontend.h:
1579         * inspector/JavaScriptProfileNode.cpp:
1580         (WebCore::ProfileNodeClass):
1581         * inspector/front-end/ProfileView.js:
1582         (WebInspector.ProfileView.profileCallback):
1583         (WebInspector.ProfileView):
1584         (WebInspector.ProfileView.prototype._mouseDownInDataGrid):
1585         (WebInspector.ProfileView.prototype._assignParentsInProfile):
1586         * inspector/front-end/ProfilesPanel.js:
1587         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
1588         * inspector/front-end/inspector.js:
1589         (WebInspector.addProfileHeader):
1590
1591 2009-10-13  Holger Hans Peter Freyther  <zecke@selfish.org>
1592
1593         Reviewed by Simon Hausmann.
1594
1595         ImageDecoderQt: Minor tweaks to the decoder
1596
1597         - Only cache the data when we start to use it.
1598         - Start with a repetition count of none for normal images.
1599         - Do not use canRead as this will trigger parsing of the full image
1600         - Cope with a GIF failing to decode the first frame, do not
1601           set m_failed to true if decoding the first frame failed
1602         - Inform the QImageReader about the format that was detected
1603         - Always create a ImageDecoderQt when when we have more
1604         than four byte.
1605
1606
1607         * platform/graphics/qt/ImageDecoderQt.cpp:
1608         (WebCore::ImageDecoder::create): Always create QImageReader for a significant speed up
1609         (WebCore::ImageDecoderQt::ImageDecoderQt): Initialize m_repetitionCount to cAnimationNone
1610         (WebCore::ImageDecoderQt::setData): Only call ImageDecoder::setData when everything has been received
1611         (WebCore::ImageDecoderQt::isSizeAvailable): Do not check m_failed twice.
1612         (WebCore::ImageDecoderQt::filenameExtension): Convert from QByteArray to String
1613         (WebCore::ImageDecoderQt::frameBufferAtIndex): Check for m_failed before trying to decode
1614         (WebCore::ImageDecoderQt::internalDecodeSize): Fail if the size is QSize()
1615         (WebCore::ImageDecoderQt::forceLoadEverything): Handle the case were decoding the first frame fails
1616         * platform/graphics/qt/ImageDecoderQt.h: Change the m_format type
1617
1618 2009-10-14  Mikhail Naganov  <mnaganov@chromium.org>
1619
1620         Reviewed by Pavel Feldman.
1621
1622         Web Inspector: Migrate profiles to the injected script-based schema.
1623
1624         https://bugs.webkit.org/show_bug.cgi?id=30328
1625
1626         * bindings/js/JSInspectorBackendCustom.cpp:
1627         * bindings/v8/custom/V8CustomBinding.h:
1628         * inspector/InspectorBackend.cpp:
1629         (WebCore::InspectorBackend::getProfileHeaders):
1630         (WebCore::InspectorBackend::getProfile):
1631         * inspector/InspectorBackend.h:
1632         * inspector/InspectorBackend.idl:
1633         * inspector/InspectorController.cpp:
1634         (WebCore::InspectorController::addProfile):
1635         (WebCore::InspectorController::getProfileHeaders):
1636         (WebCore::InspectorController::getProfile):
1637         (WebCore::InspectorController::createProfileHeader):
1638         * inspector/InspectorController.h:
1639         * inspector/InspectorFrontend.cpp:
1640         (WebCore::InspectorFrontend::addProfileHeader):
1641         (WebCore::InspectorFrontend::didGetProfileHeaders):
1642         (WebCore::InspectorFrontend::didGetProfile):
1643         * inspector/InspectorFrontend.h:
1644         * inspector/JavaScriptProfileNode.cpp:
1645         (WebCore::ProfileNodeClass):
1646         * inspector/front-end/ProfileView.js:
1647         (WebInspector.ProfileView.profileCallback):
1648         (WebInspector.ProfileView):
1649         (WebInspector.ProfileView.prototype._mouseDownInDataGrid):
1650         (WebInspector.ProfileView.prototype._assignParentsInProfile):
1651         * inspector/front-end/ProfilesPanel.js:
1652         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
1653         * inspector/front-end/inspector.js:
1654         (WebInspector.addProfileHeader):
1655
1656 2009-10-13  Yury Semikhatsky  <yurys@chromium.org>
1657
1658         Reviewed by Pavel Feldman.
1659
1660         Don't collect call frame properties until they're needed for completion.
1661
1662         https://bugs.webkit.org/show_bug.cgi?id=30334
1663
1664         * inspector/front-end/ConsoleView.js:
1665         (WebInspector.ConsoleView.prototype.completions):
1666         * inspector/front-end/InjectedScript.js:
1667         (InjectedScript.getCompletions): if call frame id is specified and the expression is empty collect frame properties.
1668         (InjectedScript.CallFrameProxy.prototype._wrapScopeChain): don't send call frame properties until they're needed.
1669         * inspector/front-end/ScriptsPanel.js:
1670
1671 2009-10-13  Yongjun Zhang  <yongjun.zhang@nokia.com>
1672
1673         Reviewed by Ariya Hidayat.
1674
1675         https://bugs.webkit.org/show_bug.cgi?id=29106
1676         [Qt] make CachedResourceHandle.h compile in winscw Symbian compiler.
1677
1678         Don't inline constructor CachedResourceHandle<T>(R*) to stop winscw
1679         compiler aggressively resolve inheritance of class R.  
1680         
1681         The winscw compiler bug is reported at:
1682         https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=9812.
1683         
1684         The change should be reverted when the above bug is fixed in winscw compiler.
1685
1686         * loader/CachedResourceHandle.h:
1687         (WebCore::::CachedResourceHandle):
1688
1689 2009-10-13  Dimitri Glazkov  <dglazkov@chromium.org>
1690
1691         No review, rolling out r49554, because it broke Win and Chromium builds.
1692         http://trac.webkit.org/changeset/49554
1693
1694         * css/CSSPrimitiveValue.cpp:
1695         (WebCore::CSSPrimitiveValue::cssText):
1696
1697 2009-10-13  Evan Martin  <evan@chromium.org>
1698
1699         Reviewed by Adam Barth.
1700
1701         Stringify CSS units manually (without printf) to make the formatting
1702         locale-insensitive and obey CSS spec with respect to large values.
1703         
1704         https://bugs.webkit.org/show_bug.cgi?id=18994
1705
1706         * css/CSSPrimitiveValue.cpp:
1707         (WebCore::appendCSSDouble):
1708         (WebCore::formatWithUnits):
1709         (WebCore::CSSPrimitiveValue::cssText):
1710
1711 2009-10-13  Evan Martin  <evan@chromium.org>
1712
1713         Reviewed by David Levin.
1714
1715         Make grippy lines vertical on horizontal scrollbars in Linux Chrome.
1716         While we're rebaselining scrollbars, fix an off by one in the vertical
1717         scrollbar rendering too.
1718
1719         https://bugs.webkit.org/show_bug.cgi?id=30319
1720
1721         Tests: this is covered by every pixel test involving scrollbars.
1722
1723         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
1724         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
1725
1726 2009-10-13  Sam Weinig  <sam@webkit.org>
1727
1728         Reviewed by David Hyatt.
1729
1730         Fix issue where clientX and clientY on MouseEvents were wrong when
1731         the page was zoomed and scrolled.
1732
1733         Test: fast/events/clientXY-in-zoom-and-scroll.html
1734
1735         * dom/MouseRelatedEvent.cpp:
1736         (WebCore::contentsX): Take page zoom into account.
1737         (WebCore::contentsY): Ditto.
1738
1739 2009-10-13  Dave Hyatt  <hyatt@apple.com>
1740
1741         Reviewed by Adam Roben.
1742
1743         Change the order of arguments on some of the user stylesheet/script functions.  Split the removal functions
1744         out into separate ones for scripts and stylesheets.
1745
1746         * WebCore.base.exp:
1747         * page/PageGroup.cpp:
1748         (WebCore::PageGroup::addUserScriptToWorld):
1749         (WebCore::PageGroup::addUserStyleSheetToWorld):
1750         (WebCore::PageGroup::removeUserScriptFromWorld):
1751         (WebCore::PageGroup::removeUserStyleSheetFromWorld):
1752         (WebCore::PageGroup::removeUserScriptsFromWorld):
1753         (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
1754         * page/PageGroup.h:
1755         (WebCore::PageGroup::userScripts):
1756         (WebCore::PageGroup::userStyleSheets):
1757
1758 2009-10-13  Evan Martin  <evan@chromium.org>
1759
1760         Reviewed by Dmitry Titov.
1761
1762         Chrome's "Skia" theme paints select controls backwards in RTL.
1763
1764         https://bugs.webkit.org/show_bug.cgi?id=30320
1765
1766         Test: fast/text/international/bidi-menulist.html
1767         (The test is about something else, but it includes RTL selects.)
1768
1769         * rendering/RenderThemeChromiumSkia.cpp:
1770         (WebCore::RenderThemeChromiumSkia::paintMenuList): flip the arrow position in RTL case.
1771
1772 2009-10-13  Dmitry Titov  <dimich@chromium.org>
1773
1774         Reviewed by Alexey Proskuryakov.
1775
1776         https://bugs.webkit.org/show_bug.cgi?id=30318
1777         ScriptExecutionContext is not anymore needed to create an EventListener - remove old code.
1778         It's a followup to r48884. It removed the need to pass the ScritpExecutionContext
1779         into EventListener constructor but did not remove the code pulling ScriptExecutionContext.
1780
1781         Tests:
1782         Test adds event listener to a DocumentType Node which is created without a document
1783         and then dispatches the event after attaching a node to the tree. Event
1784         should fire when node is attached to the tree.
1785
1786         * fast/events/add-event-without-document-expected.txt: Added.
1787         * fast/events/add-event-without-document.html: Added.
1788
1789         All changes in files below are the same - remove the code that calls
1790         EventTarget::scriptExecutionContext and checks it for NULL.
1791
1792         * bindings/js/JSAbstractWorkerCustom.cpp:
1793         (WebCore::JSAbstractWorker::addEventListener):
1794         (WebCore::JSAbstractWorker::removeEventListener):
1795         * bindings/js/JSDOMApplicationCacheCustom.cpp:
1796         (WebCore::JSDOMApplicationCache::addEventListener):
1797         (WebCore::JSDOMApplicationCache::removeEventListener):
1798         * bindings/js/JSDesktopNotificationsCustom.cpp:
1799         (WebCore::JSNotification::addEventListener):
1800         (WebCore::):
1801         * bindings/js/JSEventSourceCustom.cpp:
1802         (WebCore::JSEventSource::addEventListener):
1803         (WebCore::JSEventSource::removeEventListener):
1804         * bindings/js/JSMessagePortCustom.cpp:
1805         (WebCore::JSMessagePort::addEventListener):
1806         (WebCore::JSMessagePort::removeEventListener):
1807         * bindings/js/JSNodeCustom.cpp:
1808         (WebCore::JSNode::addEventListener):
1809         (WebCore::JSNode::removeEventListener):
1810         * bindings/js/JSSVGElementInstanceCustom.cpp:
1811         (WebCore::JSSVGElementInstance::addEventListener):
1812         (WebCore::JSSVGElementInstance::removeEventListener):
1813         * bindings/js/JSXMLHttpRequestCustom.cpp:
1814         (WebCore::JSXMLHttpRequest::addEventListener):
1815         (WebCore::JSXMLHttpRequest::removeEventListener):
1816         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
1817         (WebCore::JSXMLHttpRequestUpload::addEventListener):
1818         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
1819         * bindings/js/JSWebSocketCustom.cpp:
1820         (WebCore::JSWebSocket::addEventListener):
1821         (WebCore::JSWebSocket::removeEventListener):
1822
1823 2009-10-13  Drew Wilson  <atwilson@atwilson-macpro.local>
1824
1825         Reviewed by David Levin.
1826
1827         Enable SHARED_WORKERS for Chromium
1828         https://bugs.webkit.org/show_bug.cgi?id=30289
1829
1830         Cleaned up bitrot in SharedWorker V8 bindings.
1831
1832         * WebCore.gypi:
1833         Removed default implementation of SharedWorkerRepository so Chromium can provide its own.
1834         * bindings/v8/DerivedSourcesAllInOne.cpp:
1835         Added V8SharedWorkerContext.cpp.
1836         * bindings/v8/V8DOMWrapper.cpp:
1837         (WebCore::V8DOMWrapper::getTemplate):
1838         Added case statements for SHAREDWORKER and SHAREDWORKERCONTEXT.
1839         * bindings/v8/V8Index.cpp:
1840         Now includes V8SharedWorkerContext.h to allow supporting SharedWorkers.
1841         * bindings/v8/V8Index.h:
1842         Added definition for SHAREDWORKERCONTEXT wrapper.
1843         * bindings/v8/WorkerContextExecutionProxy.cpp:
1844         Added includes for SharedWorker.h and SharedWorkerContext.h.
1845         * bindings/v8/custom/V8CustomBinding.h:
1846         Reorganized Worker field indexes to be clearer, and fixed mismatch in worker field index.
1847         Also added field indexes for SharedWorkers.
1848         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1849         (WebCore::ACCESSOR_RUNTIME_ENABLER):
1850         Added runtime enabler for the SharedWorker constructor.
1851         * bindings/v8/custom/V8SharedWorkerCustom.cpp:
1852         (WebCore::CALLBACK_FUNC_DECL):
1853         Cleaned up bitrot (various APIs have changed since this file was written).
1854         * page/DOMWindow.idl:
1855         Added EnabledAtRuntime flag to window.SharedWorker.
1856
1857 2009-10-13  Alexey Proskuryakov  <ap@apple.com>
1858
1859         Reviewed by Brady Eidson.
1860
1861         https://bugs.webkit.org/show_bug.cgi?id=30345
1862         HTTP tests for credential handling fail on Tiger
1863
1864         We cannot prevent NSURLConnection from doing its credentil handling on Tiger anyway; so
1865         let it do its work without intervention. Once again, we pass explicitly passed credentials
1866         in URL, fixing regressions from Safari 3.
1867
1868         * platform/network/mac/ResourceHandleMac.mm:
1869         (WebCore::ResourceHandle::start):
1870         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
1871         (WebCore::ResourceHandle::receivedCredential):
1872
1873 2009-10-13  Roland Steiner  <rolandsteiner@google.com>
1874
1875         Reviewed by Adam Barth.
1876
1877         Bug 28964 -  [Chromium] ChromiumDataObject should have getter/setter interface
1878
1879         Reworked and added to the getter/setter interface in ChromiumDataObject:
1880         - added contains...() methods to just query the state
1881         - added containsValid...URL() methods for URL data members
1882         - removed takeFileNames() as this was too type-dependent
1883         - changed return type of fileNames() to Vector<String>
1884         - added interface methods to allow appending to and iteration over file names
1885
1886         No new tests (no functional behavior changed).
1887
1888         * platform/chromium/ChromiumDataObject.h:
1889         (WebCore::ChromiumDataObject::containsMainURL):
1890         (WebCore::ChromiumDataObject::containsValidMainURL):
1891         (WebCore::ChromiumDataObject::containsMainURLTitle):
1892         (WebCore::ChromiumDataObject::containsTextPlain):
1893         (WebCore::ChromiumDataObject::containsTextHTML):
1894         (WebCore::ChromiumDataObject::containsHTMLBaseURL):
1895         (WebCore::ChromiumDataObject::containsValidHTMLBaseURL):
1896         (WebCore::ChromiumDataObject::containsContent):
1897         (WebCore::ChromiumDataObject::containsContentFileExtension):
1898         (WebCore::ChromiumDataObject::containsContentFileName):
1899         (WebCore::ChromiumDataObject::setContentFileName):
1900         (WebCore::ChromiumDataObject::containsFileNames):
1901         (WebCore::ChromiumDataObject::fileNames):
1902         (WebCore::ChromiumDataObject::clearFileNames):
1903         (WebCore::ChromiumDataObject::countFileNames):
1904         (WebCore::ChromiumDataObject::fileNameAt):
1905         (WebCore::ChromiumDataObject::setFileNames):
1906         (WebCore::ChromiumDataObject::appendToFileNames):
1907         (WebCore::ChromiumDataObject::popFileName):
1908
1909 2009-10-13  Simon Fraser  <simon.fraser@apple.com>
1910
1911         Temporary debugging changes to figure out why the webgl tests are crashing on the build bot.
1912
1913         * platform/graphics/mac/GraphicsContext3DMac.cpp:
1914         (WebCore::GraphicsContext3D::GraphicsContext3D):
1915
1916 2009-10-13  Simon Fraser  <simon.fraser@apple.com>
1917
1918         Reviewed by Dan Bernstein.
1919
1920         Visibility:visible inside a compositing layer doesn't make the element visible
1921         https://bugs.webkit.org/show_bug.cgi?id=30339
1922         
1923         When deciding if a layer had any renderable content, RenderLayerBacking::paintIntoLayer()
1924         only consulted hasVisibleContent(), which does not take into a account child layers which
1925         may be visible. We also have to consult hasVisibleDescendant() as well.
1926
1927         Test: compositing/compositing-visible-descendant.html
1928
1929         * rendering/RenderLayer.h:
1930         (WebCore::RenderLayer::hasVisibleDescendant):
1931         * rendering/RenderLayerBacking.cpp:
1932         (WebCore::RenderLayerBacking::paintIntoLayer):
1933
1934 2009-10-13  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1935
1936         Reviewed by Simon Hausmann.
1937
1938         Refactor ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH
1939         https://bugs.webkit.org/show_bug.cgi?id=30278
1940
1941         Move the definition of ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH 
1942         from the make system into common code.
1943
1944         Enable ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH if NETSCAPE_PLUGIN_API 
1945         support is not enabled.
1946
1947         Remove notImplemented() from PluginPackageNone.cpp and 
1948         PluginDataNone.cpp make them just empty functions.
1949
1950         * GNUmakefile.am:
1951         * WebCore.pro:
1952         * plugins/PluginDataNone.cpp:
1953         (WebCore::PluginData::initPlugins):
1954         (WebCore::PluginData::refresh):
1955         * plugins/PluginPackageNone.cpp:
1956         (WebCore::PluginPackage::determineQuirks):
1957         (WebCore::PluginPackage::fetchInfo):
1958         (WebCore::PluginPackage::load):
1959
1960 2009-10-13  Alexey Proskuryakov  <ap@apple.com>
1961
1962         Reviewed by Dan Bernstein.
1963
1964         https://bugs.webkit.org/show_bug.cgi?id=30150
1965         <rdar://problem/7283540> REGRESSION: Crash when accessing clipboardData.types
1966
1967         Test: editing/pasteboard/crash-accessing-clipboardData-types.html
1968
1969         * platform/mac/ClipboardMac.mm: (WebCore::addHTMLClipboardTypesForCocoaType): The String
1970         class doesn't have operator bool, it's operator NSString* that is invoked instead, and it
1971         converts null strings to non-null @"".
1972
1973 2009-10-13  Drew Wilson  <atwilson@atwilson-macpro.local>
1974
1975         Reviewed by Dimitri Glazkov.
1976
1977         window attributes (like localStorage) that are disabled at runtime are still visible
1978         https://bugs.webkit.org/show_bug.cgi?id=30240
1979
1980         Adding codegen/bindings to support runtime disabling of attributes.
1981
1982         No new tests (only supported by chrome currently)
1983
1984         * bindings/scripts/CodeGeneratorV8.pm:
1985         Refactored the guts of GenerateBatchedAttributeData into a separate GenerateSingleBatchedAttribute with a passed-in indentation level to allow generating a single BatchedAttribute struct.
1986         Added support for the EnabledAtRuntime extended attribute, which generates a call to the appropriate XXXXEnabled() API before adding the attribute to the instance.
1987         * bindings/v8/V8Proxy.cpp:
1988         (WebCore::batchConfigureAttributes):
1989         Refactored attribute setting code into a common inline routine.
1990         * bindings/v8/V8Proxy.h:
1991         (WebCore::configureAttribute):
1992         Inline function which configures a single attribute given a BatchedAttribute struct.
1993         * bindings/v8/custom/V8CustomBinding.h:
1994         Added (DECLARE_)ACCESSOR_RUNTIME_ENABLER to allow enabling attributes at runtime.
1995         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1996         Added code to enable window.Audio only if MediaPlayer.isAvailable() == true
1997         * page/DOMWindow.idl:
1998         Added [EnabledAtRuntime] extended attribute to the Audio attribute.
1999
2000 2009-10-13  Michelangelo De Simone  <micdesim@gmail.com>
2001
2002         Reviewed by Adam Barth.
2003
2004         https://bugs.webkit.org/show_bug.cgi?id=27457
2005         Added support for static validation on type=email input elements as per
2006         HTML5 specs:
2007         http://www.whatwg.org/specs/web-apps/current-work/#e-mail-state
2008
2009         Test: fast/forms/ValidityState-typeMismatch-email.html
2010
2011         * html/ValidityState.cpp:
2012         (WebCore::ValidityState::typeMismatch): ValidityState.typeMismatch
2013         performs validation on type=email input elements now.
2014         (WebCore::ValidityState::isValidEmailAddress): simple validation method 
2015         * html/ValidityState.h:
2016
2017 2009-10-13  Dmitry Titov  <dimich@chromium.org>
2018
2019         Reviewed by Adam Barth.
2020
2021         Event listeners installed on a window object returned from window.open() don't work
2022         https://bugs.webkit.org/show_bug.cgi?id=28716
2023
2024         Tests: http/tests/security/window-events-clear-domain.html
2025                http/tests/security/window-events-clear-port.html
2026                http/tests/security/window-events-pass.html
2027
2028         * dom/Document.cpp: Split code of Document::clear() in a way to avoid removing all
2029         window event handlers when implicitOpen is called. It is called in 2 cases - on
2030         committing loaded content (no need to clean handlers) and on document.open() (needs to remove handlers).
2031
2032         (WebCore::Document::open): in addition to calling implicitOpen it also removes window
2033         event handlers, to preserve the behavior of document.open().
2034
2035         (WebCore::Document::implicitOpen): includes the part of removed Document::clear() that
2036         does not remove window event handlers.
2037
2038         * dom/Document.h: Removed clear().
2039
2040         * loader/FrameLoader.cpp:
2041         (WebCore::FrameLoader::stopLoading): add check to avoid removing window event handlers
2042         if we transition from temporary empty document to a loaded one.
2043
2044         (WebCore::FrameLoader::didOpenURL): Remove closeURL() which was called twice when loading.
2045         (WebCore::FrameLoader::finishedLoadingDocument): add closeURL() to compensate for change above.
2046
2047 2009-10-13  Brian Weinstein  <bweinstein@apple.com>
2048
2049         Reviewed by Pavel Feldman.
2050
2051         Fix a leak in the inspector by calling didRemoveNode with
2052         an error code when it fails, instead of returning from the
2053         Backend.
2054
2055         * inspector/InspectorBackend.cpp:
2056         (WebCore::InspectorBackend::removeNode):
2057         * inspector/front-end/ElementsTreeOutline.js:
2058
2059 2009-10-13  Brian Weinstein  <bweinstein@apple.com>
2060
2061         Reviewed by Timothy Hatcher.
2062
2063         Fixes <https://bugs.webkit.org/show_bug.cgi?id=30337>.
2064         Web Inspector: Should be able to delete nodes from the Elements Tree.
2065         
2066         When the delete key is pressed and a element is selected in the tree,
2067         the element should be deleted from the Elements Tree and the DOM.
2068
2069         * inspector/InspectorBackend.cpp:
2070         (WebCore::InspectorBackend::removeNode):
2071         * inspector/InspectorBackend.h:
2072         * inspector/InspectorBackend.idl:
2073         * inspector/InspectorFrontend.cpp:
2074         (WebCore::InspectorFrontend::didRemoveNode):
2075         * inspector/InspectorFrontend.h:
2076         * inspector/front-end/ElementsPanel.js:
2077         (WebInspector.ElementsPanel.prototype._updateModifiedNodes):
2078         * inspector/front-end/ElementsTreeOutline.js:
2079         (WebInspector.ElementsTreeOutline.prototype.handleKeyEvent):
2080
2081 2009-10-13  Brian Weinstein  <bweinstein@apple.com>
2082
2083         Reviewed by Timothy Hatcher.
2084
2085         Fix REGRESSION(49479): Mouseover on resources graph doesn't show timings.
2086         
2087         Set pointer-events: none on the new overlay so mouseover events are passed
2088         to the resources graph so we can show timings.
2089
2090         * inspector/front-end/inspector.css:
2091
2092 2009-10-13  Girish Ramakrishnan  <girish@forwardbias.in>
2093
2094         Reviewed by Simon Hausmann.
2095
2096         [Qt] Plugins : Remove all traces of winId. Use ownerWidget() instead.
2097         
2098         This is a bug for two reasons:
2099         1. Everytime we use winId(), we end up creating a native widget. This causes an
2100         unnecessary copy of contents from the backing store to the native widget.
2101         2. Neither windowed nor windowless plugins require the winId of the QWebView or
2102         QGraphicsView.
2103         
2104         Introduce ownerWidget() which returns a QWidget * without creating a native widget
2105         (as opposed to QWidget::find(winId)).
2106
2107        https://bugs.webkit.org/show_bug.cgi?id=30170
2108
2109         * platform/qt/PlatformScreenQt.cpp:
2110         (WebCore::screenDepthPerComponent):
2111         * platform/qt/PopupMenuQt.cpp:
2112         (WebCore::PopupMenu::show):
2113         * platform/qt/QWebPageClient.h:
2114         * plugins/qt/PluginViewQt.cpp:
2115         (WebCore::setSharedXEventFields):
2116         (WebCore::PluginView::initXEvent):
2117         (WebCore::PluginView::getValue):
2118         (WebCore::PluginView::platformStart):
2119
2120 2009-10-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2121
2122         Unreviewed build system fix. Typo in a filename.
2123
2124         * GNUmakefile.am:
2125
2126 2009-10-12  Alexander Pavlov  <apavlov@chromium.org>
2127
2128         Reviewed by Timothy Hatcher.
2129         Alter profile link format to enable multiple profile types
2130         https://bugs.webkit.org/show_bug.cgi?id=30253
2131
2132         The new profile URL includes the profile type along with the
2133         profile title and uid.
2134
2135         * inspector/InspectorController.cpp:
2136         (WebCore::InspectorController::addProfileFinishedMessageToConsole):
2137         (WebCore::InspectorController::addStartProfilingMessageToConsole):
2138         * inspector/front-end/inspector.js:
2139         (WebInspector.documentClick.followLink):
2140         (WebInspector.documentClick):
2141         (WebInspector.linkifyStringAsFragment):
2142
2143 2009-10-12  Alexander Pavlov  <apavlov@chromium.org>
2144
2145         Reviewed by Timothy Hatcher.
2146
2147         Fix same-named profiles grouping in the Profiles panel.
2148
2149         The tree node re-parenting while adding a new group node was broken.
2150          
2151         https://bugs.webkit.org/show_bug.cgi?id=30299
2152
2153         * inspector/front-end/ProfilesPanel.js:
2154         (WebInspector.ProfilesPanel.prototype.addProfile):
2155
2156 2009-10-12  Pavel Feldman  <pfeldman@chromium.org>
2157
2158         Reviewed by Timothy Hatcher.
2159
2160         Web Inspector: Enforce async interaction between inspector controller and frontend.
2161
2162         https://bugs.webkit.org/show_bug.cgi?id=30300
2163
2164         * inspector/front-end/inspector.js:
2165         (WebInspector.dispatch.delayDispatch):
2166         (WebInspector.dispatch):
2167
2168 2009-10-12  Xiaomei Ji  <xji@chromium.org>
2169
2170         Reviewed by Sam Weinig.
2171
2172         Fix issue caretRangeFromPoint() returns wrong result for a zoomed and 
2173         scrolled page.
2174         https://bugs.webkit.org/show_bug.cgi?id=30034
2175
2176         * dom/Document.cpp:
2177         (WebCore::Document::elementFromPoint): calculate the correct point 
2178         relative to document when the page is zoomed and scrolled.
2179         (WebCore::Document::caretRangeFromPoint): calculate the correct point 
2180         relative to document when the page is zoomed and scrolled.
2181
2182 2009-10-12  Fumitoshi Ukai  <ukai@chromium.org>
2183
2184         Reviewed by Sam Weinig.
2185
2186         JavaScript bindings of WebSocket addEventListener/removeEventListener
2187         https://bugs.webkit.org/show_bug.cgi?id=29841
2188
2189         Test: fast/websockets/websocket-event-target.html
2190
2191         * bindings/js/JSWebSocketCustom.cpp:
2192         (WebCore::JSWebSocket::addEventListener):
2193         (WebCore::JSWebSocket::removeEventListener):
2194         * bindings/v8/custom/V8CustomBinding.h:
2195         * bindings/v8/custom/V8WebSocketCustom.cpp:
2196         (WebCore::CALLBACK_FUNC_DECL):
2197         * websockets/WebSocket.idl:
2198
2199 2009-10-12  Sam Weinig  <sam@webkit.org>
2200
2201         Reviewed by Darin Adler.
2202
2203         Fix for https://bugs.webkit.org/show_bug.cgi?id=29078
2204         <rdar://problem/7288221>
2205
2206         Add a mechanism to blacklist certain codecs.  Initially, just blacklist UTF-7 as HTML5 encourages.
2207
2208         * platform/text/TextEncodingRegistry.cpp:
2209         (WebCore::pruneBlacklistedCodecs):
2210         (WebCore::buildBaseTextCodecMaps):
2211         (WebCore::extendTextCodecMaps):
2212
2213 2009-10-09  Dave Hyatt  <hyatt@apple.com>
2214
2215         Reviewed by Darin Adler.
2216
2217         Add support for the beforeload event to frames.  Complete support of the beforeload event by making sure
2218         its wrapper gets properly constructed (so that the URL field of the event can be accessed).  Add support
2219         for the Objective-C wrapper class as well.
2220
2221         Added fast/dom/beforeload/frame-before-load.html
2222
2223         * WebCore.xcodeproj/project.pbxproj:
2224         * bindings/js/JSEventCustom.cpp:
2225         (WebCore::toJS):
2226         * bindings/objc/DOMEvents.mm:
2227         (kitClass):
2228         * dom/BeforeLoadEvent.h:
2229         (WebCore::BeforeLoadEvent::isBeforeLoadEvent):
2230         * dom/Event.cpp:
2231         (WebCore::Event::isBeforeLoadEvent):
2232         * dom/Event.h:
2233         * html/HTMLFrameElementBase.cpp:
2234         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
2235         * loader/FrameLoader.cpp:
2236         (WebCore::FrameLoader::loadWithDocumentLoader):
2237
2238 2009-10-12  Dan Bernstein  <mitz@apple.com>
2239
2240         Reviewed by Simon Fraser.
2241
2242         Fix <rdar://problem/7094146> Reproducible crash at
2243         RenderObject::localToAbsolute()
2244
2245         Test: fast/dynamic/position-absolute-to-fixed-crash.html
2246
2247         The crash was caused by stale positioned objects lists following an
2248         object transitioning from being absolutely position to being fixed
2249         positioned.
2250
2251         * rendering/RenderBox.cpp:
2252         (WebCore::RenderBox::styleWillChange): In case of a transition between
2253         absolute and fixed position, mark the parent as having a child needing
2254         layout, so that this object will get inserted into its new container's
2255         positioned objects list.
2256         * rendering/RenderObject.cpp:
2257         (WebCore::RenderObject::styleWillChange): Changed a condition to cover
2258         this transition, so that this object gets removed from its current
2259         container's positioned objects list.
2260
2261 2009-10-12  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2262
2263         Reviewed by Simon Hausmann.
2264
2265         Add a palette() method that is needed by our RenderTheme.
2266
2267         * platform/qt/QWebPageClient.h:
2268
2269 2009-10-12  Dirk Schulze  <krit@webkit.org>
2270
2271         Reviewed by Nikolas Zimmermann.
2272
2273         SVG Gradients can't handle percentage values in userSpaceOnUse mode
2274         [https://bugs.webkit.org/show_bug.cgi?id=30286]
2275
2276         Fixed *GradientAttributes to take SVGLength instead of double. This casues
2277         the problem, that we can't calculate the correct size of a gradient on
2278         userSpaceOnUse mode with percentage values.
2279
2280         Test: svg/custom/gradient-userSpaceOnUse-with-percentage.svg
2281
2282         * svg/LinearGradientAttributes.h:
2283         (WebCore::LinearGradientAttributes::LinearGradientAttributes):
2284         (WebCore::LinearGradientAttributes::x1):
2285         (WebCore::LinearGradientAttributes::y1):
2286         (WebCore::LinearGradientAttributes::x2):
2287         (WebCore::LinearGradientAttributes::y2):
2288         (WebCore::LinearGradientAttributes::setX1):
2289         (WebCore::LinearGradientAttributes::setY1):
2290         (WebCore::LinearGradientAttributes::setX2):
2291         (WebCore::LinearGradientAttributes::setY2):
2292         * svg/RadialGradientAttributes.h:
2293         (WebCore::RadialGradientAttributes::RadialGradientAttributes):
2294         (WebCore::RadialGradientAttributes::cx):
2295         (WebCore::RadialGradientAttributes::cy):
2296         (WebCore::RadialGradientAttributes::r):
2297         (WebCore::RadialGradientAttributes::fx):
2298         (WebCore::RadialGradientAttributes::fy):
2299         (WebCore::RadialGradientAttributes::setCx):
2300         (WebCore::RadialGradientAttributes::setCy):
2301         (WebCore::RadialGradientAttributes::setR):
2302         (WebCore::RadialGradientAttributes::setFx):
2303         (WebCore::RadialGradientAttributes::setFy):
2304         * svg/SVGLinearGradientElement.cpp:
2305         (WebCore::SVGLinearGradientElement::buildGradient):
2306         (WebCore::SVGLinearGradientElement::collectGradientProperties):
2307         * svg/SVGRadialGradientElement.cpp:
2308         (WebCore::SVGRadialGradientElement::buildGradient):
2309         (WebCore::SVGRadialGradientElement::collectGradientProperties):
2310
2311 2009-10-12  Brian Weinstein  <bweinstein@apple.com>
2312
2313         Reviewed by Timothy Hatcher.
2314
2315         Fixes <http://webkit.org/b/30315>.
2316         Web Inspector: DOM Content and Load lines in Resources are unclear what they mean.
2317         
2318         Add tooltip text to the Load event and DOM Content event lines through
2319         a new layer that allows these lines to be on top of the view.
2320
2321         * inspector/front-end/ResourcesPanel.js:
2322         (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
2323         (WebInspector.ResourcesPanel.prototype._updateDividersLabelBarPosition):
2324         * inspector/front-end/inspector.css:
2325
2326 2009-10-12  Dimitri Glazkov  <dglazkov@chromium.org>
2327
2328         No review, rolling out r49429, because it broke layout tests.
2329         http://trac.webkit.org/changeset/49429
2330
2331         * bindings/v8/V8AbstractEventListener.cpp:
2332         (WebCore::V8AbstractEventListener::~V8AbstractEventListener):
2333
2334 2009-10-12  Dirk Schulze  <krit@webkit.org>
2335
2336         Reviewed by Eric Seidel.
2337
2338         SVG - crash on feMerge when input not available
2339         [https://bugs.webkit.org/show_bug.cgi?id=30297]
2340
2341         Make a early return in SVGFEMergeElement if the needed
2342         filter effect doesn't exist.
2343
2344         Test: svg/filters/feMerge-wrong-input.svg
2345
2346         * svg/SVGFEMergeElement.cpp:
2347         (WebCore::SVGFEMergeElement::build):
2348
2349 2009-10-12  Chris Marrin  <cmarrin@apple.com>
2350
2351         Reviewed by Oliver Hunt.
2352
2353         Added automatic flush before compositing
2354         https://bugs.webkit.org/show_bug.cgi?id=30236
2355
2356         This causes image to always render correctly. In writing a testcase
2357         I needed to implement readPixels. This exposed a bug in reading back
2358         values from a CanvasArray subclass, so I fixed that as well. Now when
2359         you wrap a CanvasArray in a JSValue it actually wraps the specific
2360         subclass. To do this I need to add virtual methods to each CanvasArray
2361         subclass to determine the type and a custom toJS method for CanvasArray
2362         to create the proper wrapper. 
2363
2364         Test: fast/canvas/webgl/triangle.html
2365
2366         * WebCore.xcodeproj/project.pbxproj:
2367         * bindings/js/JSCanvasArrayCustom.cpp:
2368         (WebCore::toJS):
2369         * html/canvas/CanvasArray.h:
2370         (WebCore::CanvasArray::isByteArray):
2371         (WebCore::CanvasArray::isUnsignedByteArray):
2372         (WebCore::CanvasArray::isShortArray):
2373         (WebCore::CanvasArray::isUnsignedShortArray):
2374         (WebCore::CanvasArray::isIntArray):
2375         (WebCore::CanvasArray::isUnsignedIntArray):
2376         (WebCore::CanvasArray::isFloatArray):
2377         * html/canvas/CanvasArray.idl:
2378         * html/canvas/CanvasByteArray.h:
2379         (WebCore::CanvasByteArray::isByteArray):
2380         * html/canvas/CanvasFloatArray.h:
2381         (WebCore::CanvasFloatArray::isFloatArray):
2382         * html/canvas/CanvasIntArray.h:
2383         (WebCore::CanvasIntArray::isIntArray):
2384         * html/canvas/CanvasRenderingContext3D.cpp:
2385         (WebCore::CanvasRenderingContext3D::readPixels):
2386         * html/canvas/CanvasRenderingContext3D.h:
2387         * html/canvas/CanvasRenderingContext3D.idl:
2388         * html/canvas/CanvasShortArray.h:
2389         (WebCore::CanvasShortArray::isShortArray):
2390         * html/canvas/CanvasUnsignedByteArray.h:
2391         (WebCore::CanvasUnsignedByteArray::isUnsignedByteArray):
2392         * html/canvas/CanvasUnsignedIntArray.h:
2393         (WebCore::CanvasUnsignedIntArray::isUnsignedIntArray):
2394         * html/canvas/CanvasUnsignedShortArray.h:
2395         (WebCore::CanvasUnsignedShortArray::isUnsignedShortArray):
2396         * platform/graphics/GraphicsContext3D.h:
2397         * platform/graphics/mac/Canvas3DLayer.mm:
2398         (-[Canvas3DLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]):
2399         * platform/graphics/mac/GraphicsContext3DMac.cpp:
2400         (WebCore::GraphicsContext3D::readPixels):
2401
2402 2009-10-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2403
2404         Reviewed by Gustavo Noronha.
2405
2406         https://bugs.webkit.org/show_bug.cgi?id=30307
2407         
2408         Fix 0 sentinel for g_object_set() function call.
2409
2410         * platform/graphics/gtk/DataSourceGStreamer.cpp:
2411         (webkit_data_src_uri_set_uri):
2412         0 is passed as 32 bit value on x86-64 in vararg functions, but
2413         g_object_set() expects a 64 bit 0. This will cause crashes.
2414
2415 2009-10-12  Cameron McCormack  <cam@mcc.id.au>
2416
2417         Reviewed by Eric Seidel.
2418
2419         Drop in="" from <feFlood>
2420         https://bugs.webkit.org/show_bug.cgi?id=29001
2421
2422         This makes <feFlood in="bogus"> have an effect, too.
2423
2424         http://www.w3.org/2003/01/REC-SVG11-20030114-errata#feflood-attribute
2425
2426         Test: svg/dom/feFlood-no-in1.html
2427
2428         * svg/SVGFEFloodElement.cpp:
2429         (WebCore::SVGFEFloodElement::SVGFEFloodElement):
2430         (WebCore::SVGFEFloodElement::build):
2431         * svg/SVGFEFloodElement.h:
2432         * svg/SVGFEFloodElement.idl:
2433         * svg/graphics/filters/SVGFEFlood.cpp:
2434         (WebCore::FEFlood::FEFlood):
2435         (WebCore::FEFlood::create):
2436         * svg/graphics/filters/SVGFEFlood.h:
2437
2438 2009-10-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2439
2440         Reviewed by Gustavo Noronha.
2441
2442         https://bugs.webkit.org/show_bug.cgi?id=29998
2443         
2444         Scale video to completely fill the target surface while
2445         keeping the aspect ratio. This fixes displaying of the
2446         YouTube HTML5 sample website.
2447
2448         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2449         Scale video to completely fill the target surface, keep
2450         the aspect ratio and center it.
2451
2452 2009-10-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2453
2454         Reviewed by Gustavo Noronha.
2455
2456         https://bugs.webkit.org/show_bug.cgi?id=29997
2457         
2458         Fixes double memcpy of all rendered video frames.
2459
2460         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2461         (WebCore::mediaPlayerPrivateRepaintCallback):
2462         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
2463         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
2464         (WebCore::MediaPlayerPrivate::duration):
2465         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
2466         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
2467         (webkit_video_sink_timeout_func):
2468         (webkit_video_sink_dispose):
2469         (unlock_buffer_mutex):
2470         (webkit_video_sink_unlock):
2471         (marshal_VOID__MINIOBJECT):
2472         (webkit_video_sink_class_init):
2473         (webkit_video_sink_new):
2474         * platform/graphics/gtk/VideoSinkGStreamer.h:
2475         Directly pass the buffers up to the MediaPlayerPrivate::paint()
2476         method instead of rendering them first to an intermediate cairo
2477         surface. This should increase performance and peak memory usage.
2478
2479 2009-10-11  Daniel Bates  <dbates@webkit.org>
2480
2481         Reviewed by Adam Barth.
2482
2483         https://bugs.webkit.org/show_bug.cgi?id=30242
2484         
2485         Fixes an issue where JavaScript URLs that are URL-encoded twice can 
2486         bypass the XSSAuditor.
2487         
2488         JavaScript URLs that are completed by method Document::completeURL have added
2489         URL-encoded characters such that a direct comparison with the URL-decoded 
2490         outgoing HTTP parameters is not sufficient. Instead, the URL-decoded outgoing 
2491         HTTP parameters must be URL-decoded before comparison.
2492
2493         Tests: http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode.html
2494                http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2.html
2495                http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3.html
2496
2497         * bindings/ScriptControllerBase.cpp:
2498         (WebCore::ScriptController::executeIfJavaScriptURL): Modified to pass XSSAuditor
2499         the URL-decoded source code for the JavaScript URL.
2500         * page/XSSAuditor.cpp:
2501         (WebCore::isIllegalURICharacter): Minor syntactical change to the comment.
2502         (WebCore::XSSAuditor::CachingURLCanonicalizer::canonicalizeURL): Added 
2503         parameter decodeURLEscapeSequencesTwice.
2504         (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
2505         (WebCore::XSSAuditor::decodeURL): Ditto.
2506         (WebCore::XSSAuditor::findInRequest): Ditto.
2507         * page/XSSAuditor.h:
2508         (WebCore::XSSAuditor::CachingURLCanonicalizer::CachingURLCanonicalizer): Ditto.
2509
2510 2009-10-11  Dominic Cooney  <dominicc@google.com>
2511
2512         Reviewed by Adam Barth.
2513
2514         Fixes a build break in the V8 bindings caused by revision 49420.
2515         https://bugs.webkit.org/show_bug.cgi?id=30294
2516
2517         Revision 49420 introduces an IDL-defined CanvasActiveInfo
2518         type. This causes a build break in the V8 bindings where
2519         CanvasGraphicsContext3D naively refers to CanvasActiveInfo as a
2520         non-ref type.
2521
2522         * WebCore.gypi: Include CanvasActiveInfo.idl in build.
2523         * bindings/scripts/CodeGeneratorV8.pm: CanvasActiveInfo is a ref
2524           ptr type.
2525         * bindings/v8/DOMObjectsInclude.h: Include generated
2526           CanvasActiveInfo files.
2527         * bindings/v8/DerivedSourcesAllInOne.cpp:
2528         * bindings/v8/V8Index.cpp:
2529         * bindings/v8/V8Index.h:
2530
2531 2009-10-11  Collin Jackson  <collinj@webkit.org>
2532
2533         Reviewed by Adam Barth.
2534
2535         Log mixed content warnings to console
2536
2537         https://bugs.webkit.org/show_bug.cgi?id=30290
2538
2539         * loader/FrameLoader.cpp:
2540         (WebCore::FrameLoader::checkIfDisplayInsecureContent):
2541         (WebCore::FrameLoader::checkIfRunInsecureContent):
2542
2543 2009-10-11  Søren Gjesse  <sgjesse@chromium.org>
2544
2545         Reviewed by Adam Barth.
2546
2547         [V8] Add a context scope in JS listener destructor. The destructor code uses the cotext. See http://crbug.com/24200.
2548         https://bugs.webkit.org/show_bug.cgi?id=30250
2549
2550         * bindings/v8/V8AbstractEventListener.cpp:
2551         (WebCore::V8AbstractEventListener::~V8AbstractEventListener):
2552
2553 2009-10-11  Lyon Chen  <lyon.chen@torchmobile.com>
2554
2555         Reviewed by Alexey Proskuryakov.
2556
2557         Correct the position of #endif sentence inside WebCore::Document::finishedParsing().
2558
2559         https://bugs.webkit.org/show_bug.cgi?id=30244
2560
2561         This change requires no test case as it fix a compiling error.
2562
2563         * dom/Document.cpp:
2564         (WebCore::Document::finishedParsing):
2565
2566 2009-10-11  Dominic Cooney  <dominicc@google.com>
2567
2568         Reviewed by Adam Barth.
2569
2570         Sets a 500K stack limit for JavaScript workers in Chromium.
2571         https://bugs.webkit.org/show_bug.cgi?id=29797
2572
2573         Runaway recursion in JavaScript workers crashes the Chromium
2574         worker process on OS X. This is because V8's default stack limit
2575         is 512K on ia32 or 1M on x64, but the worker process runs workers
2576         on a thread with the OS X default stack size--512K. Because there
2577         are already some C+frames on the stack when V8 establishes its
2578         512K default stack limit, and V8 doesn't precisely enforce the
2579         stack limit, runaway recursion in V8 workers overflows the OS
2580         stack and segfaults, killing the worker process. This is described
2581         in Chromium bug 21653 <http://crbug.com/21653>.
2582
2583         This patch sets the V8 stack limit for worker JavaScript in
2584         Chromium to a more conservative 500K on all platforms. This allows
2585         some "headroom" for the C+stack in use when the limit is set up,
2586         and some "legroom" for the V8 helper functions which in practice
2587         briefly flout the V8 stack limit.
2588
2589         Test: LayoutTests/fast/workers/use-machine-stack.html
2590
2591         * bindings/v8/WorkerContextExecutionProxy.cpp:
2592         (WebCore::WorkerContextExecutionProxy::initV8IfNeeded):
2593         * bindings/v8/WorkerContextExecutionProxy.h:
2594
2595 2009-10-11  Kevin Ollivier  <kevino@theolliviers.com>
2596
2597         wx build fix for wxMac 2.9, use wxGC API for measuring text.
2598
2599         * platform/wx/wxcode/mac/carbon/fontprops.cpp:
2600         (GetTextExtent):
2601
2602 2009-10-10  Cameron McCormack  <cam@mcc.id.au>
2603
2604         Reviewed by Sam Weinig.
2605
2606         Allow [Reflect] on SVG elements.
2607         https://bugs.webkit.org/show_bug.cgi?id=28936
2608
2609         Update the JS binding generators to reference SVGNames instead of
2610         HTMLNames, if [Reflect]ing an attribute on an SVG element.  Make
2611         SVGElement::id use [Reflect].
2612
2613         Also make [Reflect] on an attribute with a setter exception work in ObjC
2614         bindings.
2615
2616         Test: svg/dom/id-reflect.html
2617
2618         * bindings/scripts/CodeGenerator.pm: Add a function to determine the
2619         appropriate C+namespace for attribute name constants.
2620         * bindings/scripts/CodeGeneratorObjC.pm: Generate ExceptionCode handling
2621         code for [Reflect] on an attribute with a setter exception.
2622         * bindings/scripts/CodeGeneratorCOM.pm: Generate "SVGNames" instead of
2623         "HTMLNames" when appropriate.
2624         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
2625         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
2626         * svg/SVGElement.cpp: Remove getter and setter methods for id.
2627         * svg/SVGElement.h: Ditto.
2628         * svg/SVGElement.idl: Add [Reflect] to id.
2629
2630 2009-10-10  Oliver Hunt  <oliver@apple.com>
2631
2632         Fix paths in xcode.
2633
2634         * WebCore.xcodeproj/project.pbxproj:
2635
2636 2009-10-10  Oliver Hunt  <oliver@apple.com>
2637
2638         Reviewed by Eric Carlson.
2639
2640         Implement getActiveAttrib and getActiveUniform
2641         https://bugs.webkit.org/show_bug.cgi?id=30276
2642
2643         Implements the getActiveAttrib and getActiveUniform APIs.
2644         Rather simple patch, adds CanvasActiveInfo definition and implementation
2645         and adds forwarding to the GraphicsContext3D.
2646
2647         Test: fast/canvas/webgl/getActiveTest.html
2648
2649         * DerivedSources.make:
2650         * WebCore.xcodeproj/project.pbxproj:
2651         * html/canvas/CanvasActiveInfo.h: Added.
2652         (WebCore::CanvasActiveInfo::create):
2653         (WebCore::CanvasActiveInfo::name):
2654         (WebCore::CanvasActiveInfo::type):
2655         (WebCore::CanvasActiveInfo::size):
2656         (WebCore::CanvasActiveInfo::CanvasActiveInfo):
2657         * html/canvas/CanvasActiveInfo.idl: Added.
2658         * html/canvas/CanvasObject.h:
2659         (WebCore::CanvasObject::context):
2660           Need to make the context public as it is needed to ensure we don't
2661           provide a program from one context as an argument to another.
2662         * html/canvas/CanvasRenderingContext3D.cpp:
2663         (WebCore::CanvasRenderingContext3D::getActiveAttrib):
2664         (WebCore::CanvasRenderingContext3D::getActiveUniform):
2665         * html/canvas/CanvasRenderingContext3D.h:
2666         * html/canvas/CanvasRenderingContext3D.idl:
2667         * platform/graphics/GraphicsContext3D.h:
2668         * platform/graphics/mac/GraphicsContext3DMac.cpp:
2669         (WebCore::GraphicsContext3D::getActiveAttrib):
2670         (WebCore::GraphicsContext3D::getActiveUniform):
2671
2672 2009-10-10  Pavel Feldman  <pfeldman@chromium.org>
2673
2674         Reviewed by Timothy Hatcher.
2675
2676         Web Inspector: Adding new attributes in Element Panel is
2677         counterintuitive.
2678
2679         https://bugs.webkit.org/show_bug.cgi?id=30057
2680
2681         * inspector/front-end/ElementsTreeOutline.js:
2682         (WebInspector.ElementsTreeOutline.prototype._onmousemove):
2683         (WebInspector.ElementsTreeElement.prototype.set hovered):
2684         (WebInspector.ElementsTreeElement.prototype.toggleNewAttributeButton):
2685
2686 2009-10-10  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2687
2688         Reviewed by Holger Freyther.
2689
2690         Build fix if Netscape plugin support is turned off
2691         https://bugs.webkit.org/show_bug.cgi?id=30275
2692
2693         In addition to fixing the build break with guards
2694         remove notImplemented() from PluginViewNone.cpp and
2695         make them just just be empty functions.
2696
2697         * plugins/PluginView.cpp:
2698         (WebCore::PluginView::handleEvent):
2699         (WebCore::PluginView::PluginView):
2700         * plugins/PluginView.h:
2701         * plugins/PluginViewNone.cpp:
2702         (WebCore::PluginView::setFocus):
2703         (WebCore::PluginView::show):
2704         (WebCore::PluginView::hide):
2705         (WebCore::PluginView::paint):
2706         (WebCore::PluginView::handleKeyboardEvent):
2707         (WebCore::PluginView::handleMouseEvent):
2708         (WebCore::PluginView::setParent):
2709         (WebCore::PluginView::setNPWindowRect):
2710         (WebCore::PluginView::handlePostReadFile):
2711         (WebCore::PluginView::getValue):
2712         (WebCore::PluginView::getValueStatic):
2713         (WebCore::PluginView::invalidateRect):
2714         (WebCore::PluginView::invalidateRegion):
2715         (WebCore::PluginView::forceRedraw):
2716         (WebCore::PluginView::platformStart):
2717         (WebCore::PluginView::platformDestroy):
2718         (WebCore::PluginView::setParentVisible):
2719         (WebCore::PluginView::updatePluginWidget):
2720
2721 2009-10-10  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2722
2723         Unreviewed.
2724
2725         [Qt] Build fix for QtWebKit after r49415.
2726
2727         Add HistoryController.cpp to the build.
2728
2729         * WebCore.pro:
2730
2731 2009-10-09  Darin Fisher  <darin@chromium.org>
2732
2733         Reviewed by Eric Seidel.
2734
2735         [Chromium] KURLGoogle's protocolIs barfs on input containing hyphens
2736         https://bugs.webkit.org/show_bug.cgi?id=30262
2737
2738         This is not testable from WebKit since WebKit never uses the member
2739         function form of protocolIs with input that can be controlled from a
2740         web page.  It always passes string literals lacking hyphens.
2741
2742         * platform/KURLGoogle.cpp:
2743         (WebCore::lowerCaseEqualsASCII): Only assert if toASCIILower would
2744         transform the input character.
2745
2746 2009-10-10  Adam Barth  <abarth@webkit.org>
2747
2748         Reviewed by Oliver Hunt.
2749
2750         Move HistoryController to its own file
2751         https://bugs.webkit.org/show_bug.cgi?id=30272
2752
2753         Purely mechanical.
2754
2755         * GNUmakefile.am:
2756         * WebCore.gypi:
2757         * WebCore.vcproj/WebCore.vcproj:
2758         * WebCore.xcodeproj/project.pbxproj:
2759         * WebCoreSources.bkl:
2760         * loader/FrameLoader.cpp:
2761         * loader/FrameLoader.h:
2762         * loader/HistoryController.cpp: Added.
2763         * loader/HistoryController.h: Added.
2764
2765 2009-10-09  Ryosuke Niwa  <rniwa@webkit.org>
2766
2767         Reviewed by Eric Seidel.
2768
2769         ApplyStyleCommand removes presentational tags even when not necessary
2770         https://bugs.webkit.org/show_bug.cgi?id=28091
2771
2772         This patch updates implicitlyStyledElementShouldBeRemovedWhenApplyingStyle to return true
2773         (triggering removal of tag) only if the style implicitly added by the element is not present in
2774         the new style to apply. It also changes surroundNodeRangeWithElement so that it merges the
2775         surrounding element when possible. applyTextDecorationStyle is modified so that it does not add
2776         style span when the style attribute is empty.
2777
2778         Test: editing/execCommand/toggle-style-3.html
2779
2780         * editing/ApplyStyleCommand.cpp:
2781         (WebCore::ApplyStyleCommand::shouldRemoveTextDecorationTag): Returns true if specified text
2782         decoration is not present in the style to apply
2783         (WebCore::ApplyStyleCommand::implicitlyStyledElementShouldBeRemovedWhenApplyingStyle): No longer
2784         returns true if the tag is used in new style
2785         (WebCore::ApplyStyleCommand::applyTextDecorationStyle): Does not add style-span when redundant
2786         (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement): Merges the newly created element
2787         with the surrounding identical elements
2788         * editing/ApplyStyleCommand.h:
2789
2790 2009-10-09  Adam Barth  <abarth@webkit.org>
2791
2792         Reviewed by Darin Adler.
2793
2794         Factor HistoryController out of FrameLoader
2795         https://bugs.webkit.org/show_bug.cgi?id=30246
2796
2797         HistoryController is in charge of managing the current / previous /
2798         provisional HistoryItems.  The split isn't perfect, but it's a place to
2799         start.  I'll move HistoryController into its own file in another patch.
2800
2801         * WebCore.base.exp:
2802         * loader/FrameLoader.cpp:
2803         (WebCore::HistoryController::HistoryController):
2804         (WebCore::HistoryController::~HistoryController):
2805         (WebCore::FrameLoader::FrameLoader):
2806         (WebCore::FrameLoader::closeURL):
2807         (WebCore::FrameLoader::begin):
2808         (WebCore::HistoryController::restoreDocumentState):
2809         (WebCore::HistoryController::setCurrentItem):
2810         (WebCore::HistoryController::setProvisionalItem):
2811         (WebCore::FrameLoader::loadURLIntoChildFrame):
2812         (WebCore::FrameLoader::canCachePageContainingThisFrame):
2813         (WebCore::FrameLoader::logCanCacheFrameDecision):
2814         (WebCore::FrameLoader::scrollToAnchor):
2815         (WebCore::FrameLoader::commitProvisionalLoad):
2816         (WebCore::FrameLoader::transitionToCommitted):
2817         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
2818         (WebCore::FrameLoader::didFirstLayout):
2819         (WebCore::HistoryController::updateForFrameLoadCompleted):
2820         (WebCore::FrameLoader::frameLoadCompleted):
2821         (WebCore::FrameLoader::detachFromParent):
2822         (WebCore::FrameLoader::receivedMainResourceError):
2823         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
2824         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
2825         (WebCore::HistoryController::addHistoryItemForFragmentScroll):
2826         (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
2827         (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent):
2828         (WebCore::HistoryController::createHistoryItem):
2829         (WebCore::FrameLoader::checkDidPerformFirstNavigation):
2830         (WebCore::HistoryController::addBackForwardItemClippedAtTarget):
2831         (WebCore::HistoryController::createHistoryItemTree):
2832         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
2833         (WebCore::HistoryController::restoreScrollPositionAndViewState):
2834         (WebCore::HistoryController::invalidateCurrentItemCachedPage):
2835         (WebCore::HistoryController::saveDocumentState):
2836         (WebCore::FrameLoader::loadItem):
2837         (WebCore::HistoryController::urlsMatchItem):
2838         (WebCore::HistoryController::goToItem):
2839         (WebCore::HistoryController::recursiveGoToItem):
2840         (WebCore::HistoryController::childFramesMatchItem):
2841         (WebCore::HistoryController::updateForStandardLoad):
2842         (WebCore::HistoryController::updateForClientRedirect):
2843         (WebCore::HistoryController::updateForBackForwardNavigation):
2844         (WebCore::HistoryController::updateForReload):
2845         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
2846         (WebCore::HistoryController::updateForCommit):
2847         (WebCore::HistoryController::updateForAnchorScroll):
2848         (WebCore::HistoryController::saveDocumentAndScrollState):
2849         (WebCore::HistoryController::setCurrentItemTitle):
2850         (WebCore::FrameLoader::didChangeTitle):
2851         * loader/FrameLoader.h:
2852         (WebCore::HistoryController::current):
2853         (WebCore::HistoryController::provisional):
2854         (WebCore::FrameLoader::policyChecker):
2855         (WebCore::FrameLoader::history):
2856         (WebCore::FrameLoader::creatingInitialEmptyDocument):
2857         * page/Page.cpp:
2858         (WebCore::Page::goToItem):
2859
2860 2009-10-09  Alexey Proskuryakov  <ap@apple.com>
2861
2862         Unreviewed - fixing an obvious typo in my previous check-in.
2863
2864         https://bugs.webkit.org/show_bug.cgi?id=30260
2865         <rdar://problem/6447115> REGRESSION: Logging out from SAP doesn't work
2866
2867         Fixes existing tests (which I thought I had run the previous time).
2868
2869         * platform/network/CredentialStorage.cpp: (WebCore::originsWithCredentials): Return the
2870         set by reference.
2871
2872 2009-10-09  David Levin  <levin@chromium.org>
2873
2874         Reviewed by Eric Seidel.
2875
2876         [v8] Need change to V8WorkerContextEventListener::reportError signature to match the base class.
2877         https://bugs.webkit.org/show_bug.cgi?id=30264
2878
2879         The base class method changed in r48884.
2880
2881         Test: fast/worker/worker-script-error.html
2882
2883         * bindings/v8/V8WorkerContextEventListener.cpp:
2884         (WebCore::V8WorkerContextEventListener::reportError):
2885         * bindings/v8/V8WorkerContextEventListener.h:
2886
2887 2009-10-09  Alexey Proskuryakov  <ap@apple.com>
2888
2889         Reviewed by Brady Eidson.
2890
2891         https://bugs.webkit.org/show_bug.cgi?id=30260
2892         <rdar://problem/6447115> REGRESSION: Logging out from SAP doesn't work
2893
2894         Tests: http/tests/xmlhttprequest/logout.html
2895                http/tests/xmlhttprequest/re-login-async.html
2896                http/tests/xmlhttprequest/re-login.html
2897
2898         Fix several issues with existing credential handling code.
2899
2900         * platform/network/CredentialStorage.cpp:
2901         (WebCore::pathToDefaultProtectionSpaceMap): Changed the data structure to a simpler one.
2902         (WebCore::originsWithCredentials): The reason for two-stage lookup above was that we didn't
2903         want to iterate paths for origins that never had credentials associated with them. Changed
2904         to use a separate HashSet for this.
2905         (WebCore::pathToDefaultProtectionSpaceMap): The concept of default per-path credentials didn't
2906         match the spec very well. UAs are supposed to deduce protection space from an URL, and then
2907         use whichever credentials are known for this protection space. So, OriginToDefaultBasicCredentialMap
2908         is now PathToDefaultProtectionSpaceMap.
2909         (WebCore::protectionSpaceMapKeyFromURL): Factored out a helper that extracts a directory
2910         URL from a given URL. These directory URLs are what we use as keys in PathToDefaultProtectionSpaceMap.
2911         (WebCore::CredentialStorage::set): Updated for above changes.
2912         (WebCore::findDefaultProtectionSpaceForURL): Factored out code iterating path length to find
2913         a prefix in OriginToDefaultBasicCredentialMap.
2914         (WebCore::CredentialStorage::set): Another version of set() can update credentials for a
2915         URL default protection space. It does nothing if the given URL doesn't correspond to a known
2916         protection space.
2917         (WebCore::CredentialStorage::get): Renamed from getDefaultAuthenticationCredential.
2918
2919         * platform/network/CredentialStorage.h: Made the distinction between methods that use a known
2920         protection space and those that deduce one from URL more clear.
2921
2922         * platform/network/mac/ResourceHandleMac.mm:
2923         (WebCore::ResourceHandle::start): Update credentials before starting the request for real.
2924         This makes the following pattern work:
2925           var req = new XMLHttpRequest("GET", "logout.html", "logout", "logout"); // wrong credentials
2926           req.send("");
2927           req.abort();
2928         Abort() is used here to avoid having UA present an auth dialog after getting a 401 response.
2929         Note that one cannot log in using the same method, because there isn't a known protection
2930         space for the URL yet in that case, so the added code has no effect.
2931         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Use a correct persistence for
2932         calling receivedCredential(). This fixes logging in using an async XHR (withut abort(), of
2933         course), and matches sync case.
2934         (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]):
2935         Renamed getDefaultAuthenticationCredential() to get().
2936
2937         * platform/network/cf/ResourceHandleCFNet.cpp:
2938         (WebCore::ResourceHandle::start):
2939         (WebCore::WebCoreSynchronousLoader::load):
2940         Same changes as in Mac code.
2941
2942 2009-10-09  Enrica Casucci  <enrica@apple.com>
2943
2944         Reviewed by Adele Peterson.
2945
2946         Undoing a indent removes text instead of it's formatting.
2947         <rdar://problem/7169206>
2948         https://bugs.webkit.org/show_bug.cgi?id=28722
2949         Restored the behavior prior to http://trac.webkit.org/changeset/46143. This change implemented the
2950         indent command making simple DOM operation, without using moveParagraph which cause undo to be broken.
2951         
2952         Added editing/undo/undo-indent.html test.
2953
2954         * editing/IndentOutdentCommand.cpp:
2955         (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion): Restored. 
2956         (WebCore::IndentOutdentCommand::tryIndentingAsListItem): Merged changes.
2957         (WebCore::IndentOutdentCommand::indentIntoBlockquote): Restored.
2958         (WebCore::IndentOutdentCommand::indentRegion): Restored and added call to updateLayout to
2959         ensure TextIterator could correctly calculate the position starting from the index.
2960         * editing/IndentOutdentCommand.h: Restored.
2961
2962 2009-10-09  Jens Alfke  <snej@chromium.org>
2963
2964         Reviewed by Darin Adler.
2965         
2966         Optimization: Many StringImpl transformations are no-ops and should just return 'this'
2967         https://bugs.webkit.org/show_bug.cgi?id=30186
2968
2969         Optimized StringImpl methods lower(), stripWhiteSpace() and simplifyWhiteSpace() to
2970         detect no-ops and return this instead of creating a new instance.
2971         Empirical testing shows that the majority of calls to these methods are no-ops, making
2972         this worthwhile even if (in the case of lower()) the non-no-op case is slightly slowed.
2973         Upper() is very rarely a no-op, so it wasn't worthwhile to optimize it.
2974
2975         * platform/text/StringImpl.cpp:
2976         (WebCore::StringImpl::lower):
2977         (WebCore::StringImpl::upper): Just add a comment explaining why this wasn't optimized
2978         (WebCore::StringImpl::stripWhiteSpace):
2979         (WebCore::StringImpl::simplifyWhiteSpace):
2980
2981 2009-10-09  Dirk Schulze  <krit@webkit.org>
2982
2983         Reviewed by Oliver Hunt.
2984
2985         SVG Filter feGaussianBlur implementation is missing
2986         [https://bugs.webkit.org/show_bug.cgi?id=28141]
2987
2988         This is the implementation of GaussianBlur filter for SVG.
2989
2990         There is already a test for feGaussianBlur
2991         Test: svg/W3C-SVG-1.1/filters-gauss-01-b-w3c.svg 
2992
2993         Test: svg/filters/feGaussianBlur.svg
2994
2995         * platform/graphics/filters/FilterEffect.cpp:
2996         (WebCore::FilterEffect::FilterEffect):
2997         * platform/graphics/filters/FilterEffect.h:
2998         (WebCore::FilterEffect::isAlphaImage):
2999         (WebCore::FilterEffect::setIsAlphaImage):
3000         * platform/graphics/filters/SourceAlpha.cpp:
3001         (WebCore::SourceAlpha::apply):
3002         * svg/graphics/filters/SVGFEGaussianBlur.cpp:
3003         (WebCore::boxBlur):
3004         (WebCore::FEGaussianBlur::apply):
3005
3006 2009-10-09  Philippe Normand  <pnormand@igalia.com>
3007
3008         Reviewed by Gustavo Noronha.
3009
3010         [GTK] QoS support in the video sink
3011         https://bugs.webkit.org/show_bug.cgi?id=29959
3012
3013         Removed the async buffer queue from the sink. Synchronize the
3014         render method of the sink using a g_timeout_add() combined with a
3015         gcond triggered when the buffer has been rendered.
3016         Also fixed the video sink reference handling in the player, now
3017         that the idle is not there anymore to mess up things.
3018
3019         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3020         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
3021         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
3022         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
3023         (webkit_video_sink_init):
3024         (webkit_video_sink_timeout_func):
3025         (webkit_video_sink_render):
3026         (webkit_video_sink_dispose):
3027         (unlock_buffer_mutex):
3028         (webkit_video_sink_unlock):
3029         (webkit_video_sink_stop):
3030         (webkit_video_sink_class_init):
3031
3032 2009-10-09  Dirk Schulze  <krit@webkit.org>
3033
3034         Reviewed by Nikolas Zimmermann.
3035
3036         feMorphology filter is not implemented
3037         [https://bugs.webkit.org/show_bug.cgi?id=5863]
3038
3039         Adds SVGFEMorphologyElement, for the SVG filter. It also fixes a bug
3040         with the attribute "operator". It was only accessible via "_operator" 
3041         on JavaScript.
3042
3043         Test: svg/dom/operatorAttribute.xhtml
3044
3045         * DerivedSources.cpp:
3046         * DerivedSources.make:
3047         * GNUmakefile.am:
3048         * WebCore.SVG.Filters.exp:
3049         * WebCore.gypi:
3050         * WebCore.pro:
3051         * WebCore.xcodeproj/project.pbxproj:
3052         * bindings/objc/DOM.mm:
3053         (WebCore::createElementClassMap):
3054         * bindings/objc/DOMSVG.h:
3055         * bindings/scripts/CodeGeneratorJS.pm:
3056         * bindings/scripts/CodeGeneratorObjC.pm:
3057         * page/DOMWindow.idl:
3058         * svg/SVGAllInOne.cpp:
3059         * svg/SVGFECompositeElement.idl:
3060         * svg/SVGFEMorphologyElement.cpp: Added.
3061         (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement):
3062         (WebCore::SVGFEMorphologyElement::~SVGFEMorphologyElement):
3063         (WebCore::SVGFEMorphologyElement::setRadius):
3064         (WebCore::SVGFEMorphologyElement::parseMappedAttribute):
3065         (WebCore::SVGFEMorphologyElement::build):
3066         * svg/SVGFEMorphologyElement.h: Added.
3067         * svg/SVGFEMorphologyElement.idl: Added.
3068         * svg/graphics/filters/SVGFEMorphology.cpp:
3069         (WebCore::operator<<):
3070         * svg/graphics/filters/SVGFEMorphology.h:
3071         (WebCore::):
3072         * svg/svgtags.in:
3073
3074 2009-10-09  Yury Semikhatsky  <yurys@chromium.org>
3075
3076         Reviewed by Dimitri Glazkov.
3077
3078         Fix Chromium breakage.
3079
3080         https://bugs.webkit.org/show_bug.cgi?id=30104
3081
3082         * inspector/front-end/inspector.js:
3083         (WebInspector.addCookieDomain): check that Storage panel is present before calling its methods.
3084
3085 2009-10-09  Joe Ligman  <joseph.ligman@nokia.com>
3086
3087         Reviewed by Simon Hausmann.
3088
3089         [Qt] Added pure virtual methods setInputMethodEnabled and setInputMethodHint to QWebPageClient
3090
3091         https://bugs.webkit.org/show_bug.cgi?id=30023
3092
3093         * platform/qt/QWebPageClient.h:
3094
3095 2009-10-08  Dave Hyatt  <hyatt@apple.com>
3096
3097         Reviewed by Darin Adler.
3098
3099         Implement beforeload for images.  ImageLoadEventSender has been refactored into a more generic
3100         ImageEventSender that can be used by both load and beforeload events.  If the document has any
3101         beforeload listeners, then the installation of images onto the renderer becomes asynchronous
3102         and will be held up until the beforeload event can fire at a later date.
3103
3104         Both beforeload and load events now fire at the end of the tokenizer write() methods, so that
3105         in the typical parsing case we don't have to put off the beforeload/load events until after
3106         a layout or paint might already have happened.  This lets beforeload/load not cause extra
3107         layouts and repaints.
3108
3109         * dom/ContainerNode.cpp:
3110         (WebCore::ContainerNode::dispatchBeforeLoadEvent):
3111         * dom/Document.cpp:
3112         (WebCore::Document::implicitClose):
3113         (WebCore::Document::addListenerTypeIfNeeded):
3114         * dom/Document.h:
3115         (WebCore::Document::):
3116         * dom/XMLTokenizer.cpp:
3117         (WebCore::XMLTokenizer::write):
3118         * html/HTMLImageElement.cpp:
3119         (WebCore::HTMLImageElement::attach):
3120         * html/HTMLInputElement.cpp:
3121         (WebCore::HTMLInputElement::attach):
3122         * html/HTMLTokenizer.cpp:
3123         (WebCore::HTMLTokenizer::write):
3124         * loader/ImageLoader.cpp:
3125         (WebCore::ImageBeforeLoadEventSender::ImageBeforeLoadEventSender):
3126         (WebCore::ImageLoadEventSender::ImageLoadEventSender):
3127         (WebCore::beforeLoadEventSender):
3128         (WebCore::ImageLoader::ImageLoader):
3129         (WebCore::ImageLoader::~ImageLoader):
3130         (WebCore::ImageLoader::setImage):
3131         (WebCore::ImageLoader::setLoadingImage):
3132         (WebCore::ImageLoader::updateFromElement):
3133         (WebCore::ImageLoader::notifyFinished):
3134         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
3135         (WebCore::ImageLoader::dispatchPendingEvents):
3136         (WebCore::ImageEventSender::ImageEventSender):
3137         (WebCore::ImageEventSender::dispatchEventSoon):
3138         (WebCore::ImageEventSender::cancelEvent):
3139         (WebCore::ImageEventSender::dispatchPendingEvents):
3140         (WebCore::ImageEventSender::timerFired):
3141         * loader/ImageLoader.h:
3142         (WebCore::ImageLoader::haveFiredBeforeLoadEvent):
3143         * wml/WMLImageElement.cpp:
3144         (WebCore::WMLImageElement::attach):
3145
3146 2009-10-09  Pavel Feldman  <pfeldman@chromium.org>
3147
3148         Reviewed by Dimitri Glazkov.
3149
3150         Web Inspector: Wrap Database into ScriptObject in v8 bindings.
3151
3152         https://bugs.webkit.org/show_bug.cgi?id=30174
3153
3154         No tests due to no Script* test infrastructure.
3155
3156         * bindings/v8/ScriptObjectQuarantine.cpp:
3157         (WebCore::getQuarantinedScriptObject):
3158
3159 2009-10-09  Girish Ramakrishnan  <girish@forwardbias.in>
3160
3161         Reviewed by Simon Hausmann.
3162
3163         [Qt] Windowless Plugins : Fix crash when using QWebPage without QWebView.
3164         
3165         'client' is 0 when we have no view.
3166
3167         https://bugs.webkit.org/show_bug.cgi?id=30251
3168
3169         * plugins/qt/PluginViewQt.cpp:
3170         (WebCore::PluginView::paint):
3171
3172 2009-10-09  Girish Ramakrishnan  <girish@forwardbias.in>
3173
3174         Reviewed by Simon Hausmann.
3175
3176         [Qt] Plugins : Add missing setCurrentPlugin(0)
3177
3178         https://bugs.webkit.org/show_bug.cgi?id=30248
3179
3180         * plugins/qt/PluginViewQt.cpp:
3181         (WebCore::PluginView::dispatchNPEvent):
3182
3183 2009-10-09  Jakub Wieczorek  <faw217@gmail.com>
3184
3185         Reviewed by Simon Hausmann.
3186
3187         [Qt] beforeload event does not fire on script elements in XML
3188         https://bugs.webkit.org/show_bug.cgi?id=30235
3189
3190         r49194 was lacking a change to XMLTokenizerQt.cpp, equivalent to the one
3191         made in XMLTokenizerLibxml2.cpp.
3192
3193         * dom/XMLTokenizerQt.cpp:
3194         (WebCore::XMLTokenizer::parseEndElement):
3195
3196 2009-10-09  Zoltan Horvath  <zoltan@webkit.org>
3197
3198         Reviewed by Darin Adler.
3199
3200         Allow custom memory allocation control for WebCore's CSSParserValueList
3201         https://bugs.webkit.org/show_bug.cgi?id=30249
3202
3203         Inherits CSSParserValueList class from FastAllocBase because it has 
3204         been instantiated by 'new' in WebCore/css/CSSGrammar.y:1271.
3205
3206         * css/CSSParserValues.h:
3207
3208 2009-10-09  Girish Ramakrishnan  <girish@forwardbias.in>
3209
3210         Reviewed by Simon Hausmann.
3211
3212         [Qt] Windowless Plugins : Create Pixmap only when size changes.
3213
3214         https://bugs.webkit.org/show_bug.cgi?id=30214
3215
3216         * plugins/qt/PluginViewQt.cpp:
3217         (WebCore::PluginView::updatePluginWidget):
3218
3219 2009-10-08  Jon Honeycutt  <jhoneycutt@apple.com>
3220
3221         Remove the WebKitPluginHalterEnabledPreferenceKey in favor of checking
3222         for the existence of a PluginHalterDelegate.
3223
3224         This fixes a leak of WebPluginHalterClients:
3225         https://bugs.webkit.org/show_bug.cgi?id=30119.
3226
3227         Reviewed by Dan Bernstein.
3228
3229         * WebCore.base.exp:
3230         Removed the export of WebCore::Settings::setPluginHalterEnabled().
3231
3232         * loader/EmptyClients.h:
3233         (WebCore::EmptyPluginHalterClient::enabled):
3234
3235         * page/Page.cpp:
3236         (WebCore::Page::Page):
3237         Remove initialization of m_pluginHalterClient, which was removed. If a
3238         non-null PluginHalterClient was passed, create the PluginHalter, and
3239         set its allowed run time.
3240
3241         * page/Page.h:
3242         Removed pluginHalterEnabledStateChanged() and m_pluginHalterClient.
3243
3244         * page/PluginHalter.cpp:
3245         (WebCore::PluginHalter::didStartPlugin):
3246         Check whether the PluginHalterClient is enabled.
3247         (WebCore::PluginHalter::didStopPlugin):
3248         Ditto.
3249
3250         * page/PluginHalter.h:
3251         Made m_client an OwnPtr.
3252
3253         * page/PluginHalterClient.h:
3254         Added a function to return the enabled state.
3255
3256         * page/Settings.cpp:
3257         (WebCore::Settings::Settings):
3258         Remove initialization of removed member.
3259
3260         * page/Settings.h:
3261         Removed settings for the enabled state of the PluginHalter; we now use
3262         the existence of a WebPluginHalterDelegate to determine whether the
3263         PluginHalter is enabled.
3264
3265 2009-10-08  Adam Barth  <abarth@webkit.org>
3266
3267         Reviewed by Eric Seidel.
3268
3269         Move executeScript from FrameLoader to ScriptController
3270         https://bugs.webkit.org/show_bug.cgi?id=30200
3271
3272         These methods have virtually no interaction with FrameLoader.  They
3273         really seem like they ought to belong to ScriptController.
3274
3275         * WebCore.base.exp:
3276         * bindings/js/ScheduledAction.cpp:
3277         (WebCore::ScheduledAction::execute):
3278         * bindings/js/ScriptController.cpp:
3279         (WebCore::ScriptController::ScriptController):
3280         (WebCore::ScriptController::executeScript):
3281         (WebCore::ScriptController::executeIfJavaScriptURL):
3282         (WebCore::ScriptController::evaluate):
3283         * bindings/js/ScriptController.h:
3284         * bindings/v8/ScriptController.cpp:
3285         (WebCore::ScriptController::ScriptController):
3286         (WebCore::ScriptController::executeScript):
3287         (WebCore::ScriptController::executeIfJavaScriptURL):
3288         * bindings/v8/ScriptController.h:
3289         * dom/XMLTokenizer.cpp:
3290         (WebCore::XMLTokenizer::notifyFinished):
3291         * dom/XMLTokenizerLibxml2.cpp:
3292         (WebCore::XMLTokenizer::endElementNs):
3293         * dom/XMLTokenizerQt.cpp:
3294         (WebCore::XMLTokenizer::parseEndElement):
3295         * html/HTMLTokenizer.cpp:
3296         (WebCore::HTMLTokenizer::scriptExecution):
3297         * loader/FrameLoader.cpp:
3298         (WebCore::FrameLoader::changeLocation):
3299         (WebCore::FrameLoader::urlSelected):
3300         (WebCore::FrameLoader::requestFrame):
3301         (WebCore::FrameLoader::submitForm):
3302         (WebCore::FrameLoader::replaceDocument):
3303         * loader/FrameLoader.h:
3304         * plugins/PluginView.cpp:
3305         (WebCore::PluginView::performRequest):
3306
3307 2009-10-08  Geoffrey Garen  <ggaren@apple.com>
3308
3309         Windows build fix: added missing #include.
3310
3311         * ForwardingHeaders/runtime/StructureChain.h: Copied from WebCore/ForwardingHeaders/runtime/PropertyNameArray.h.
3312
3313 2009-10-08  Brian Weinstein  <bweinstein@apple.com>
3314
3315         Reviewed by Timothy Hatcher.
3316
3317         Fixes <https://bugs.webkit.org/show_bug.cgi?id=30237>.
3318         DOM Content and Load lines aren't shown if a page is loaded when the inspector is up.
3319         
3320         Make sure to call update script object if we have an InspectorFrontend to
3321         call it on when we get one of the new events.
3322
3323         * inspector/InspectorController.cpp:
3324         (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
3325         (WebCore::InspectorController::mainResourceFiredLoadEvent):
3326
3327 2009-10-08  Geoffrey Garen  <ggaren@apple.com>
3328
3329         Build fix: updated for removal of Structure::markAggregate().
3330
3331         * bindings/js/JSDOMGlobalObject.cpp:
3332         (WebCore::JSDOMGlobalObject::markChildren):
3333
3334 2009-10-08  Jens Alfke  <snej@chromium.org>
3335
3336         Reviewed by Darin Adler.
3337
3338         Make AtomicString create its StringImpl via create(), not the constructor,
3339         so it gets allocated in a single heap block, saving memory and CPU cycles.
3340         This eliminates two StringImpl constructors, making the remaining ones
3341         unambiguous, so the "AdoptBuffer" parameter is no longer needed.
3342         Added const attribute to UChar* in StringImpl constructor, eliminating the
3343         need for several const_casts in calls to it.
3344         StringImpl also unfriends AtomicString (OMG drama!!!)
3345         https://bugs.webkit.org/show_bug.cgi?id=30141
3346
3347         * platform/text/AtomicString.cpp:
3348         (WebCore::CStringTranslator::translate): Call StringImpl::create().
3349         (WebCore::UCharBufferTranslator::translate): Ditto.
3350         (WebCore::HashAndCharactersTranslator::translate): Ditto.
3351         * platform/text/StringImpl.cpp:
3352         (WebCore::StringImpl::StringImpl): Remove unnecessary AdoptBuffer param.
3353         (WebCore::StringImpl::adopt): Ditto.
3354         (WebCore::StringImpl::createUninitialized): Ditto.
3355         (WebCore::StringImpl::create): Ditto.
3356         (WebCore::StringImpl::crossThreadString): Ditto.
3357         * platform/text/StringImpl.h:
3358         (WebCore::StringImpl::setHash): Used by AtomicString when creating StringImpls.
3359
3360 2009-10-08  Anders Carlsson  <andersca@apple.com>
3361
3362         Reviewed by Sam Weinig.
3363
3364         Remove the shouldLoadMediaElementURL frame loader client function.
3365
3366         * loader/FrameLoader.cpp:
3367         (WebCore::FrameLoader::willLoadMediaElementURL):
3368
3369 2009-10-08  John Gregg  <johnnyg@google.com>
3370
3371         Reviewed by Dimitri Glazkov.
3372
3373         SVGURIReference Build problem for V8.  An additional stale reference to SVGURIReference bindings
3374         which wasn't exposed until a clean build.
3375         https://bugs.webkit.org/show_bug.cgi?id=30217
3376
3377         No new tests, just a build fix.
3378
3379         * bindings/v8/V8Index.cpp:
3380
3381 2009-10-08  Nikolas Zimmermann  <nzimmermann@rim.com>
3382
3383         Not reviewed. Sort XCode project file.
3384
3385         * WebCore.xcodeproj/project.pbxproj:
3386
3387 2009-10-08  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
3388
3389         Reviewed by Timothy Hatcher.
3390
3391         unselectable resources in resource panel
3392         https://bugs.webkit.org/show_bug.cgi?id=30079
3393
3394         manual test added
3395         
3396         Also changed the way DnD for resources in the Resources panel is 
3397         handled.
3398
3399         * inspector/front-end/ResourcesPanel.js:
3400         (WebInspector.ResourceSidebarTreeElement.prototype.onattach):
3401         (WebInspector.ResourceSidebarTreeElement.prototype.ondragstart):
3402         * manual-tests/inspector/duplicate-resource-urls.html: Added.
3403
3404 2009-10-08  Brian Weinstein  <bweinstein@apple.com>
3405
3406         Reviewed by Timothy Hatcher.
3407
3408         Fixes <http://webkit.org/b/30233>
3409         Local Storage and Cookies show Blank Titles on Local Files.
3410
3411         If a local storage or cookies sidebar item has no domain, set the 
3412         title to "Local Files", because that is what it represents.
3413
3414         * English.lproj/localizedStrings.js:
3415         * inspector/front-end/StoragePanel.js:
3416         (WebInspector.DOMStorageSidebarTreeElement.prototype.get mainTitle):
3417         (WebInspector.CookieSidebarTreeElement.prototype.get mainTitle):
3418         (WebInspector.CookieSidebarTreeElement.prototype.set mainTitle):
3419
3420 2009-10-08  Dave Hyatt  <hyatt@apple.com>
3421
3422         Reviewed by Oliver Hunt.
3423
3424         Fix failing media layout tests.  Don't make beforeload block loads of objects that aren't in the
3425         document, since video/audio (and images eventually too) can load when not in the document yet.
3426
3427         * dom/ContainerNode.cpp:
3428         (WebCore::ContainerNode::dispatchBeforeLoadEvent):
3429
3430 2009-10-08  Nikolas Zimmermann  <nzimmermann@rim.com>
3431
3432         Reviewed by Eric Seidel.
3433
3434         Move SVGFitToViewBox ANIMATED_* macros in classes that inherit from it
3435         https://bugs.webkit.org/show_bug.cgi?id=30230
3436
3437         This patch also devirtualizes viewBoxToViewTransform(), is it's superflous.
3438         viewBoxToViewTransform() is now a simple static heper function in SVGFitToViewBox.
3439         As a result, the SVGSVGElement::viewBoxToViewTransform() function now resuses the same logic.
3440
3441         As side-effect this patch fixes svg/custom/linking-a-03-b-transform.svg, the return
3442         statement in SVGSVGElement::viewBoxToViewTransform() was clearly wrong.
3443
3444         * svg/SVGFitToViewBox.cpp:
3445         (WebCore::SVGFitToViewBox::SVGFitToViewBox):
3446         (WebCore::SVGFitToViewBox::viewBoxToViewTransform):
3447         * svg/SVGFitToViewBox.h:
3448         * svg/SVGMarkerElement.cpp:
3449         (WebCore::SVGMarkerElement::SVGMarkerElement):
3450         (WebCore::SVGMarkerElement::viewBoxToViewTransform):
3451         * svg/SVGMarkerElement.h:
3452         * svg/SVGPatternElement.cpp:
3453         (WebCore::SVGPatternElement::SVGPatternElement):
3454         (WebCore::SVGPatternElement::buildPattern):
3455         * svg/SVGPatternElement.h:
3456         * svg/SVGSVGElement.cpp:
3457         (WebCore::SVGSVGElement::SVGSVGElement):
3458         (WebCore::SVGSVGElement::viewBoxToViewTransform):
3459         * svg/SVGSVGElement.h:
3460         * svg/SVGSymbolElement.cpp:
3461         (WebCore::SVGSymbolElement::SVGSymbolElement):
3462         * svg/SVGSymbolElement.h:
3463         * svg/SVGViewElement.cpp:
3464         (WebCore::SVGViewElement::SVGViewElement):
3465         * svg/SVGViewElement.h:
3466         * svg/SVGViewSpec.cpp:
3467         (WebCore::SVGViewSpec::SVGViewSpec):
3468         * svg/SVGViewSpec.h:
3469
3470 2009-10-08  Brian Weinstein  <bweinstein@apple.com>
3471
3472         Reviewed by Jon Honeycutt.
3473
3474         Correct a typo that fixes the resizing of columns in Cookie view when you
3475         resize the Inspector window.
3476
3477         * inspector/front-end/CookieItemsView.js:
3478         (WebInspector.CookieItemsView.prototype.resize):
3479
3480 2009-10-08  Brian Weinstein  <bweinstein@apple.com>
3481
3482         Reviewed by Adam Roben.
3483
3484         Fixes <https://bugs.webkit.org/show_bug.cgi?id=29811>
3485         Text in Inspector's Styles gear menu is invisible.
3486         
3487         Adds a style rule for the option text and hr's in the gear menu,
3488         to prevent them from being transparent.
3489
3490         * inspector/front-end/inspector.css:
3491
3492 2009-10-08  John Gregg  <johnnyg@google.com>
3493
3494         Reviewed by David Levin.
3495
3496         Fix build problem with SVGURIReference in V8.
3497         https://bugs.webkit.org/show_bug.cgi?id=30217
3498
3499         No new tests, just a build fix.
3500
3501         * WebCore.gypi:
3502         * bindings/v8/DerivedSourcesAllInOne.cpp:
3503
3504 2009-10-07  Dave Hyatt  <hyatt@apple.com>
3505
3506         Reviewed by Eric Carlson.
3507
3508         Make beforeload work on <video>/<audio> elements.
3509
3510         Added fast/dom/beforeload/video-before-load.html
3511
3512         * html/HTMLMediaElement.cpp:
3513         (WebCore::HTMLMediaElement::parseMappedAttribute):
3514         (WebCore::HTMLMediaElement::selectMediaResource):
3515         (WebCore::HTMLMediaElement::selectNextSourceChild):
3516
3517 2009-10-08  Nikolas Zimmermann  <nzimmermann@rim.com>
3518
3519         Reviewed by Eric Seidel.
3520
3521         Move SVGExternalResourcesRequired ANIMATED_* macros in classes that inherit from it
3522         https://bugs.webkit.org/show_bug.cgi?id=30218
3523
3524         The long term goal is to kill the need for the virtual contextElement() function in SVG code. 
3525         No change in functionality, thus no new tests.
3526
3527         * svg/SVGAElement.cpp:
3528         (WebCore::SVGAElement::SVGAElement):
3529         * svg/SVGAElement.h:
3530         * svg/SVGAnimationElement.cpp:
3531         (WebCore::SVGAnimationElement::SVGAnimationElement):
3532         * svg/SVGAnimationElement.h:
3533         * svg/SVGCircleElement.cpp:
3534         (WebCore::SVGCircleElement::SVGCircleElement):
3535         * svg/SVGCircleElement.h:
3536         * svg/SVGClipPathElement.cpp:
3537         (WebCore::SVGClipPathElement::SVGClipPathElement):
3538         * svg/SVGClipPathElement.h:
3539         * svg/SVGCursorElement.cpp:
3540         (WebCore::SVGCursorElement::SVGCursorElement):
3541         * svg/SVGCursorElement.h:
3542         * svg/SVGDefsElement.cpp:
3543         (WebCore::SVGDefsElement::SVGDefsElement):
3544         * svg/SVGDefsElement.h:
3545         * svg/SVGEllipseElement.cpp:
3546         (WebCore::SVGEllipseElement::SVGEllipseElement):
3547         * svg/SVGEllipseElement.h:
3548         * svg/SVGExternalResourcesRequired.cpp:
3549         (WebCore::SVGExternalResourcesRequired::SVGExternalResourcesRequired):
3550         * svg/SVGExternalResourcesRequired.h:
3551         * svg/SVGFEImageElement.cpp:
3552         (WebCore::SVGFEImageElement::SVGFEImageElement):
3553         * svg/SVGFEImageElement.h:
3554         * svg/SVGFilterElement.cpp:
3555         (WebCore::SVGFilterElement::SVGFilterElement):
3556         * svg/SVGFilterElement.h:
3557         * svg/SVGFontElement.cpp:
3558         (WebCore::SVGFontElement::SVGFontElement):
3559         * svg/SVGFontElement.h:
3560         * svg/SVGForeignObjectElement.cpp:
3561         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
3562         * svg/SVGForeignObjectElement.h:
3563         * svg/SVGGElement.cpp:
3564         (WebCore::SVGGElement::SVGGElement):
3565         * svg/SVGGElement.h:
3566         * svg/SVGGradientElement.cpp:
3567         (WebCore::SVGGradientElement::SVGGradientElement):
3568         * svg/SVGGradientElement.h:
3569         * svg/SVGImageElement.cpp:
3570         (WebCore::SVGImageElement::SVGImageElement):
3571         * svg/SVGImageElement.h:
3572         * svg/SVGLineElement.cpp:
3573         (WebCore::SVGLineElement::SVGLineElement):
3574         * svg/SVGLineElement.h:
3575         * svg/SVGMPathElement.cpp:
3576         (WebCore::SVGMPathElement::SVGMPathElement):
3577         * svg/SVGMPathElement.h:
3578         * svg/SVGMarkerElement.cpp:
3579         (WebCore::SVGMarkerElement::SVGMarkerElement):
3580         * svg/SVGMarkerElement.h:
3581         * svg/SVGMaskElement.cpp:
3582         (WebCore::SVGMaskElement::SVGMaskElement):
3583         * svg/SVGMaskElement.h:
3584         * svg/SVGPathElement.cpp:
3585         (WebCore::SVGPathElement::SVGPathElement):
3586         * svg/SVGPathElement.h:
3587         * svg/SVGPatternElement.cpp:
3588         (WebCore::SVGPatternElement::SVGPatternElement):
3589         * svg/SVGPatternElement.h:
3590         * svg/SVGPolyElement.cpp:
3591         (WebCore::SVGPolyElement::SVGPolyElement):
3592         * svg/SVGPolyElement.h:
3593         * svg/SVGRectElement.cpp:
3594         (WebCore::SVGRectElement::SVGRectElement):
3595         * svg/SVGRectElement.h:
3596         * svg/SVGSVGElement.cpp:
3597         (WebCore::SVGSVGElement::SVGSVGElement):
3598         * svg/SVGSVGElement.h:
3599         * svg/SVGScriptElement.cpp:
3600         (WebCore::SVGScriptElement::SVGScriptElement):
3601         * svg/SVGScriptElement.h:
3602         * svg/SVGSwitchElement.cpp:
3603         (WebCore::SVGSwitchElement::SVGSwitchElement):
3604         * svg/SVGSwitchElement.h:
3605         * svg/SVGSymbolElement.cpp:
3606         (WebCore::SVGSymbolElement::SVGSymbolElement):
3607         * svg/SVGSymbolElement.h:
3608         * svg/SVGTextContentElement.cpp:
3609         (WebCore::SVGTextContentElement::SVGTextContentElement):
3610         * svg/SVGTextContentElement.h:
3611         * svg/SVGUseElement.cpp:
3612         (WebCore::SVGUseElement::SVGUseElement):
3613         * svg/SVGUseElement.h:
3614         * svg/SVGViewElement.cpp:
3615         (WebCore::SVGViewElement::SVGViewElement):
3616         * svg/SVGViewElement.h:
3617
3618 2009-10-08  Dirk Schulze  <krit@webkit.org>
3619
3620         Reviewed by Darin Adler.
3621
3622         SVG feComposite: operator over mixes up inputs
3623         [https://bugs.webkit.org/show_bug.cgi?id=30205]
3624
3625         SVG feComposite operator over mixed up the inputs.
3626         The pixel-test svg/filters/feComposite.svg can already test this.
3627         No new test result is needed as long as filters are disabled.
3628
3629         * platform/graphics/filters/FEComposite.cpp:
3630         (WebCore::FEComposite::apply):
3631
3632 2009-10-08  Nikolas Zimmermann  <nzimmermann@rim.com>
3633
3634         Reviewed by George Staikos.
3635
3636         Move SVGURIReference ANIMATED_* macros in classes that inherit from it
3637         https://bugs.webkit.org/show_bug.cgi?id=30184
3638
3639         The long term goal is to kill the need for the virtual contextElement() function in SVG code. 
3640         No change in functionality, thus no new tests.
3641
3642         * svg/SVGAElement.cpp:
3643         (WebCore::SVGAElement::SVGAElement):
3644         * svg/SVGAElement.h:
3645         * svg/SVGAltGlyphElement.cpp:
3646         (WebCore::SVGAltGlyphElement::SVGAltGlyphElement):
3647         * svg/SVGAltGlyphElement.h:
3648         * svg/SVGCursorElement.cpp:
3649         (WebCore::SVGCursorElement::SVGCursorElement):
3650         * svg/SVGCursorElement.h:
3651         * svg/SVGFEImageElement.cpp:
3652         (WebCore::SVGFEImageElement::SVGFEImageElement):
3653         * svg/SVGFEImageElement.h:
3654         * svg/SVGFilterElement.cpp:
3655         (WebCore::SVGFilterElement::SVGFilterElement):
3656         * svg/SVGFilterElement.h:
3657         * svg/SVGForeignObjectElement.cpp:
3658         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
3659         * svg/SVGForeignObjectElement.h:
3660         * svg/SVGGradientElement.cpp:
3661         (WebCore::SVGGradientElement::SVGGradientElement):
3662         * svg/SVGGradientElement.h:
3663         * svg/SVGImageElement.cpp:
3664         (WebCore::SVGImageElement::SVGImageElement):
3665         * svg/SVGImageElement.h:
3666         * svg/SVGMPathElement.cpp:
3667         (WebCore::SVGMPathElement::SVGMPathElement):
3668         (WebCore::SVGMPathElement::pathElement):
3669         * svg/SVGMPathElement.h:
3670         * svg/SVGMaskElement.cpp:
3671         (WebCore::SVGMaskElement::SVGMaskElement):
3672         * svg/SVGMaskElement.h:
3673         * svg/SVGPatternElement.cpp:
3674         (WebCore::SVGPatternElement::SVGPatternElement):
3675         * svg/SVGPatternElement.h:
3676         * svg/SVGScriptElement.cpp:
3677         (WebCore::SVGScriptElement::SVGScriptElement):
3678         * svg/SVGScriptElement.h:
3679         * svg/SVGTRefElement.cpp:
3680         (WebCore::SVGTRefElement::SVGTRefElement):
3681         * svg/SVGTRefElement.h:
3682         * svg/SVGTextPathElement.cpp:
3683         (WebCore::SVGTextPathElement::SVGTextPathElement):
3684         * svg/SVGTextPathElement.h:
3685         * svg/SVGURIReference.cpp:
3686         (WebCore::SVGURIReference::SVGURIReference):
3687         * svg/SVGURIReference.h:
3688         * svg/SVGUseElement.cpp:
3689         (WebCore::SVGUseElement::SVGUseElement):
3690         * svg/SVGUseElement.h:
3691
3692 2009-10-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3693
3694         Reviewed by Simon Hausmann.
3695
3696         [Qt] Re-add the QApplication::syncX() line for plugin windows removed
3697         by r49169. Also changed the location of the sync just after the
3698         creation instead of just before sending it to the plugin.
3699         https://bugs.webkit.org/show_bug.cgi?id=25053
3700
3701         * plugins/qt/PluginViewQt.cpp:
3702         (WebCore::PluginView::platformStart):
3703
3704 2009-10-08  Joseph Pecoraro  <joepeck@webkit.org>
3705
3706         Reviewed by Timothy Hatcher.
3707
3708         Inspector: NodeLists Don't Display Well in the Console
3709         https://bugs.webkit.org/show_bug.cgi?id=28061
3710
3711         * inspector/front-end/InjectedScript.js:
3712         (Object.type):
3713
3714 2009-10-08  Girish Ramakrishnan  <girish@forwardbias.in>
3715
3716         Reviewed by Simon Hausmann.
3717
3718         [Qt] Windowless plugins: Remove unnecessary XSync for opaque mode.
3719         
3720         The reason for the XSync was that the plugin would not know about the
3721         Drawable. It turns out that the real reason behind this is that even
3722         though XCreatePixmap returns a handle, this id is unknown to the server
3723         until we flush the connection.
3724         
3725         So, move the XSync to right after we create the Pixmap.
3726
3727         https://bugs.webkit.org/show_bug.cgi?id=30207
3728
3729         * plugins/qt/PluginViewQt.cpp:
3730         (WebCore::PluginView::updatePluginWidget):
3731         (WebCore::PluginView::paint):
3732
3733 2009-10-07  Daniel Bates  <dbates@webkit.org>
3734
3735         Reviewed by Eric Seidel.
3736
3737         https://bugs.webkit.org/show_bug.cgi?id=30188
3738         
3739         Fixes an issue where performing a non DHTML drag-and-drop operation 
3740         does not work as expected. For instance, dragging some selected text 
3741         to an external application, such as TextEdit.
3742         
3743         This issue was a regression that arose from patching bug #30107.
3744         
3745         This change is covered by the manual test: 
3746         drag-out-of-background-window.html
3747
3748         * page/DragController.cpp:
3749         (WebCore::DragController::startDrag): When performing a non-DHTML drag 
3750         operation then default to drag operations DragOperationGeneric and 
3751         DragOperationCopy according to similar functionality removed when fixing
3752         bug #30107, see: 
3753         http://trac.webkit.org/browser/trunk/WebKit/mac/WebView/WebHTMLView.mm?rev=48526#L3430 
3754
3755 2009-10-07  Xan Lopez  <xlopez@igalia.com>
3756
3757         Fix more breakage in the GTKbuild.
3758
3759         * GNUmakefile.am:
3760
3761 2009-10-07  Adam Barth  <abarth@webkit.org>
3762
3763         Reviewed by Eric Seidel.
3764
3765         Move PolicyChecker to it's own file
3766         https://bugs.webkit.org/show_bug.cgi?id=30193
3767
3768         This is just moving code around and re-naming things.
3769
3770         * GNUmakefile.am:
3771         * WebCore.gypi:
3772         * WebCore.pro:
3773         * WebCore.vcproj/WebCore.vcproj:
3774         * WebCore.xcodeproj/project.pbxproj:
3775         * loader/FrameLoader.cpp:
3776         * loader/FrameLoader.h:
3777         * loader/PolicyCallback.cpp: Added.
3778         (WebCore::PolicyCallback::PolicyCallback):
3779         (WebCore::PolicyCallback::~PolicyCallback):
3780         (WebCore::PolicyCallback::clear):
3781         (WebCore::PolicyCallback::set):
3782         (WebCore::PolicyCallback::call):
3783         (WebCore::PolicyCallback::clearRequest):
3784         (WebCore::PolicyCallback::cancel):
3785         * loader/PolicyCallback.h: Added.
3786         (WebCore::PolicyCallback::request):
3787         * loader/PolicyCheck.cpp: Removed.
3788         * loader/PolicyCheck.h: Removed.
3789
3790 2009-10-07  Joel Stanley  <joel@jms.id.au>
3791
3792         Reviewed by Mark Rowe.
3793
3794         Include <limits> for std::numeric_limits.  Required by gcc-4.4
3795         https://bugs.webkit.org/show_bug.cgi?id=30197
3796
3797         * html/canvas/CanvasByteArray.h:
3798         * html/canvas/CanvasIntArray.h:
3799         * html/canvas/CanvasShortArray.h:
3800         * html/canvas/CanvasUnsignedByteArray.h:
3801         * html/canvas/CanvasUnsignedIntArray.h:
3802         * html/canvas/CanvasUnsignedShortArray.h:
3803
3804 2009-10-07  Adam Barth  <abarth@webkit.org>
3805
3806         Reviewed by Darin Adler.
3807
3808         Factor PolicyChecker out of FrameLoader
3809         https://bugs.webkit.org/show_bug.cgi?id=30155
3810
3811         This patch separates PolicyChecker from FrameLoader.  Loader policy is
3812         in change of managing the FrameLoaderClient callbacks.  Ideally, it
3813         shouldn't know anything about FrameLoader, but I couldn't quite remove
3814         all knowledge (although we might be able to do more later).  In a
3815         future patch, I'll move PolicyChecker into a separate file.
3816
3817         * loader/FrameLoader.cpp:
3818         (WebCore::FrameLoader::FrameLoader):
3819         (WebCore::FrameLoader::loadURL):
3820         (WebCore::FrameLoader::load):
3821         (WebCore::FrameLoader::loadWithDocumentLoader):
3822         (WebCore::PolicyChecker::handleUnimplementablePolicy):
3823         (WebCore::PolicyChecker::cannotShowMIMEType):
3824         (WebCore::PolicyChecker::PolicyChecker):
3825         (WebCore::PolicyChecker::checkNavigationPolicy):
3826         (WebCore::PolicyChecker::checkContentPolicy):
3827         (WebCore::FrameLoader::shouldReloadToHandleUnreachableURL):
3828         (WebCore::FrameLoader::stopAllLoaders):
3829         (WebCore::PolicyChecker::cancelCheck):
3830         (WebCore::PolicyChecker::stopCheck):
3831         (WebCore::PolicyChecker::continueAfterContentPolicy):
3832         (WebCore::PolicyChecker::continueLoadAfterWillSubmitForm):
3833         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
3834         (WebCore::FrameLoader::loadPostRequest):
3835         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
3836         (WebCore::PolicyChecker::checkNewWindowPolicy):
3837         (WebCore::PolicyChecker::continueAfterNewWindowPolicy):
3838         (WebCore::PolicyChecker::continueAfterNavigationPolicy):
3839         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
3840         * loader/FrameLoader.h:
3841         (WebCore::PolicyChecker::loadType):
3842         (WebCore::PolicyChecker::setLoadType):
3843         (WebCore::PolicyChecker::delegateIsDecidingNavigationPolicy):
3844         (WebCore::PolicyChecker::delegateIsHandlingUnimplementablePolicy):
3845         (WebCore::FrameLoader::policy):
3846         * loader/FrameLoaderClient.h:
3847         * loader/MainResourceLoader.cpp:
3848         (WebCore::MainResourceLoader::didCancel):
3849         (WebCore::MainResourceLoader::willSendRequest):
3850         (WebCore::MainResourceLoader::continueAfterContentPolicy):
3851         (WebCore::MainResourceLoader::didReceiveResponse):
3852         * svg/graphics/SVGImage.cpp:
3853         (WebCore::SVGImage::dataChanged):
3854
3855 2009-10-07  Geoffrey Garen  <ggaren@apple.com>
3856
3857         Reviewed by Oliver Hunt.
3858
3859         Fixed <rdar://problem/5751979> Database code takes JSLock on secondary
3860         thread, permanently slowing down JavaScript
3861
3862         Changed callback objects to use a standard helper object. The helper
3863         object ASSERTs that it is deleted on the main thread, so no lock is
3864         required when unprotecting its members. It also centralizes some previously
3865         duplicated code.
3866         
3867         Callback objects that might be deleted on a secondary thread use
3868         callOnMainThread to delete their helper objects on the main thread.
3869
3870         * WebCore.xcodeproj/project.pbxproj:
3871         * bindings/js/JSCallbackData.cpp: Copied from bindings/js/JSCustomSQLTransactionCallback.cpp.
3872         (WebCore::JSCallbackData::deleteData):
3873         (WebCore::JSCallbackData::invokeCallback):
3874         * bindings/js/JSCallbackData.h: Copied from bindings/js/JSCustomSQLTransactionCallback.cpp.
3875         (WebCore::JSCallbackData::JSCallbackData):
3876         (WebCore::JSCallbackData::~JSCallbackData):
3877         (WebCore::JSCallbackData::callback):
3878         * bindings/js/JSCustomPositionCallback.cpp:
3879         (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
3880         (WebCore::JSCustomPositionCallback::handleEvent):
3881         * bindings/js/JSCustomPositionCallback.h:
3882         * bindings/js/JSCustomPositionErrorCallback.cpp:
3883         (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
3884         (WebCore::JSCustomPositionErrorCallback::handleEvent):
3885         * bindings/js/JSCustomPositionErrorCallback.h:
3886         * bindings/js/JSCustomSQLStatementCallback.cpp:
3887         (WebCore::JSCustomSQLStatementCallback::JSCustomSQLStatementCallback):
3888         (WebCore::JSCustomSQLStatementCallback::~JSCustomSQLStatementCallback):
3889         (WebCore::JSCustomSQLStatementCallback::handleEvent):
3890         * bindings/js/JSCustomSQLStatementCallback.h:
3891         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
3892         (WebCore::JSCustomSQLStatementErrorCallback::JSCustomSQLStatementErrorCallback):
3893         (WebCore::JSCustomSQLStatementErrorCallback::~JSCustomSQLStatementErrorCallback):
3894         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
3895         * bindings/js/JSCustomSQLStatementErrorCallback.h:
3896         * bindings/js/JSCustomSQLTransactionCallback.cpp:
3897         (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
3898         (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback):
3899         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
3900         * bindings/js/JSCustomSQLTransactionCallback.h:
3901         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
3902         (WebCore::JSCustomSQLTransactionErrorCallback::JSCustomSQLTransactionErrorCallback):
3903         (WebCore::JSCustomSQLTransactionErrorCallback::~JSCustomSQLTransactionErrorCallback):
3904         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
3905         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
3906         * bindings/js/JSCustomVoidCallback.cpp:
3907         (WebCore::JSCustomVoidCallback::JSCustomVoidCallback):
3908         (WebCore::JSCustomVoidCallback::~JSCustomVoidCallback):
3909         (WebCore::JSCustomVoidCallback::handleEvent):
3910         * bindings/js/JSCustomVoidCallback.h:
3911         * storage/Database.cpp:
3912         (WebCore::Database::Database):
3913
3914 2009-10-07  Jens Alfke  <snej@chromium.org>
3915
3916         Reviewed by Dave Levin.
3917
3918         Fix StringImpl::m_buffer
3919         https://bugs.webkit.org/show_bug.cgi?id=30189
3920
3921         Fix my previous StringImpl patch to avoid using an indefinite-length array member,
3922         since MSVC doesn't like it. Instead, go back to offsetting by sizeof(StringImpl).
3923
3924         * platform/text/StringImpl.cpp:
3925         (WebCore::StringImpl::StringImpl):
3926         (WebCore::StringImpl::createUninitialized):
3927         * platform/text/StringImpl.h:
3928         (WebCore::StringImpl::bufferIsInternal):
3929
3930 2009-10-07  Aaron Boodman  <aa@chromium.org>
3931
3932         Reviewed by Adam Barth.
3933
3934         Update isolated worlds under v8 to support world reuse.
3935         https://bugs.webkit.org/show_bug.cgi?id=30145
3936
3937         * bindings/v8/ScriptController.cpp:
3938         Replace evaluateInNewIsolatedWorld() withe evaluateInIsolatedWorld(id).
3939         (WebCore::ScriptController::evaluateInIsolatedWorld):
3940         * bindings/v8/ScriptController.h: Ditto.
3941         * bindings/v8/V8Proxy.cpp: Ditto.
3942         (WebCore::V8Proxy::~V8Proxy): Dittio.
3943         (WebCore::V8Proxy::evaluateInIsolatedWorld): Ditto.
3944         * bindings/v8/V8Proxy.h: Ditto.
3945         * bindings/v8/V8IsolatedWorld.cpp:
3946         Add support for controlling lifetime of a world, rather than relying on GC.
3947         (WebCore::V8IsolatedWorld::contextWeakReferenceCallback): Ditto.
3948         (WebCore::V8IsolatedWorld::V8IsolatedWorld): Ditto.
3949         (WebCore::V8IsolatedWorld::destroy): Ditto.
3950         * bindings/v8/V8IsolatedWorld.h: Ditto.
3951
3952 2009-10-07  Jeremy Orlow  <jorlow@chromium.org>
3953
3954         Build fix for http://trac.webkit.org/changeset/49272 on Windows
3955
3956         * platform/text/StringImpl.h:
3957
3958 2009-10-07  Jens Alfke  <snej@chromium.org>
3959
3960         Reviewed by Darin Adler.
3961
3962         Optimization of StringImpl:
3963         - Remove unnecessary m_bufferIsInternal member (saves 4 bytes). Instead, check whether
3964           m_data points to just past the end of the object's members.
3965         - copy() and createWithTerminatingNullCharacter() create the string in a single malloc
3966           block instead of 2 (saves ~20 bytes and considerable CPU cycles, increases locality).
3967         - Move m_length next to m_hash to save 4 bytes of padding in 64-bit builds.
3968           
3969         https://bugs.webkit.org/show_bug.cgi?id=29500
3970
3971         * platform/text/StringImpl.cpp:
3972         (WebCore::StringImpl::StringImpl): Re-ordered members.
3973         (WebCore::StringImpl::~StringImpl): Change to is-buffer-internal check.
3974         (WebCore::StringImpl::createUninitialized): Use new m_buffer member instead of sizeof()
3975             to ensure chars are copied to correct location.
3976         (WebCore::StringImpl::createWithTerminatingNullCharacter): Make sure copy is created
3977             in a single malloc block.
3978         (WebCore::StringImpl::threadsafeCopy): Make sure copy is created in a single malloc block.
3979         (WebCore::StringImpl::crossThreadString): Make sure copy is created in a single malloc block.
3980         (WebCore::StringImpl::sharedBuffer): Change to is-buffer-internal check.
3981         * platform/text/StringImpl.h:
3982         (WebCore::StringImpl::startsWith): Just fixed a confusing param name.
3983         (WebCore::StringImpl::bufferIsInternal): Changed member var into accessor method.
3984         (WebCore::StringImpl::m_data): Repositioned for optimal member packing in 64-bit.
3985         (WebCore::StringImpl::m_buffer): Added to provide an explicit location for where internal buffer goes.
3986
3987 2009-10-07  Daniel Bates  <dbates@webkit.org>
3988
3989         Reviewed by Darin Adler.
3990
3991         https://bugs.webkit.org/show_bug.cgi?id=30102
3992         And
3993         <rdar://problem/5015957>
3994         
3995         Manual test to confirm that the not-allowed cursor is shown for an
3996         invalid drag-and-drop operation.
3997         
3998         We cannot test this using DRT because of a discrepancy between the Windows
3999         API-based drop effect and the WebKit drop effect. See bug #24731 for more
4000         details.
4001
4002         * manual-tests/drag-cursor-notallowed.html: Added.
4003
4004 2009-10-07  Mark Rowe  <mrowe@apple.com>
4005
4006         Fix the build.
4007
4008         * WebCore.xcodeproj/project.pbxproj:
4009
4010 2009-10-07  Brian Weinstein  <bweinstein@apple.com>
4011
4012         Reviewed by Timothy Hatcher.
4013
4014         Fixes <http://webkit.org/b/30104>.
4015         Inspector should show cookies of sub-resources on the page.
4016         
4017         This function implements showing cookies for all sub-resources of a page.
4018         When the page is loaded, it populates the Storage Panel with a list of all
4019         domains that were loaded as part of the full page load (iframes, ads, etc).
4020         When the user selects one of the domains, the inspector calls back into the
4021         controller, and the controller combines all of the cookies from that domain
4022         into a list, and sends that list is sent back to the controller to render.
4023         
4024         A domain now needs to be passed into CookieItemsView, and CookieSidebarTreeElement.
4025         
4026         As a result of a previous patch, we now have detailed cookie information for
4027         both Windows on CFNetwork and Mac. Additionally, this patch provides deleteCookie
4028         support on Windows.
4029
4030         * bindings/js/ScriptObject.cpp:
4031         (WebCore::ScriptObject::set):
4032         * bindings/js/ScriptObject.h:
4033         * inspector/InspectorBackend.cpp:
4034         (WebCore::InspectorBackend::getCookies):
4035         (WebCore::InspectorBackend::deleteCookie):
4036         * inspector/InspectorBackend.h:
4037         * inspector/InspectorBackend.idl:
4038         * inspector/InspectorController.cpp:
4039         (WebCore::InspectorController::populateScriptObjects):
4040         (WebCore::InspectorController::didFinishLoading):
4041         (WebCore::InspectorController::getCookies):
4042         (WebCore::InspectorController::buildArrayForCookies):
4043         (WebCore::InspectorController::buildObjectForCookie):
4044         (WebCore::InspectorController::deleteCookie):
4045         * inspector/InspectorController.h:
4046         * inspector/InspectorDOMAgent.cpp:
4047         * inspector/InspectorDOMAgent.h:
4048         * inspector/InspectorFrontend.cpp:
4049         (WebCore::InspectorFrontend::addCookieDomainForDocument):
4050         * inspector/InspectorFrontend.h:
4051         * inspector/front-end/CookieItemsView.js:
4052         (WebInspector.CookieItemsView):
4053         (WebInspector.CookieItemsView.prototype.update):
4054         (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
4055         * inspector/front-end/DOMAgent.js:
4056         (WebInspector.Cookies.getCookiesAsync):
4057         * inspector/front-end/StoragePanel.js:
4058         (WebInspector.StoragePanel):
4059         (WebInspector.StoragePanel.prototype.reset):
4060         (WebInspector.StoragePanel.prototype.addCookieDomain):
4061         (WebInspector.StoragePanel.prototype.showCookies):
4062         (WebInspector.CookieSidebarTreeElement):
4063         (WebInspector.CookieSidebarTreeElement.prototype.onselect):
4064         * inspector/front-end/inspector.js:
4065         (WebInspector.addCookieDomain):
4066         * platform/Cookie.h:
4067         (WebCore::CookieHash::hash):
4068         (WebCore::CookieHash::equal):
4069         (WTF::):
4070         * platform/network/win/CookieJarCFNetWin.cpp:
4071         (WebCore::deleteCookie):
4072
4073 2009-10-07  Pavel Feldman  <pfeldman@chromium.org>
4074
4075         Reviewed by Timothy Hatcher.
4076
4077         Web Inspector: Add ScriptObject::set(const char*, unsigned).
4078
4079         https://bugs.webkit.org/show_bug.cgi?id=30104
4080
4081         * bindings/v8/ScriptObject.cpp:
4082         (WebCore::ScriptObject::set):
4083         * bindings/v8/ScriptObject.h:
4084
4085 2009-10-07  Brent Fulgham  <bfulgham@webkit.org>
4086
4087         Unreviewed build fix for Windows (Cairo).
4088
4089         Provide implementation of new BitmapImage::create that was
4090         added in @r49060.
4091
4092         * platform/graphics/win/ImageCairoWin.cpp:
4093
4094 2009-10-07  Andrew Scherkus  <scherkus@chromium.org>
4095
4096         Reviewed by Eric Carlson.
4097
4098         Refactor RenderThemeChromiumMac and RenderThemeChromiumSkia to render media controls using GraphicsContext.
4099
4100         Design was based on existing RenderMediaControls.cpp used by RenderThemeSafari/Win.
4101
4102         https://bugs.webkit.org/show_bug.cgi?id=29987
4103
4104         Covered by existing layout tests as no new functionality was introduced.
4105
4106         * WebCore.gypi: Added RenderMediaControlsChromium.cpp/h.
4107         * css/mediaControlsChromium.css: Tweaked media slider position and border style.
4108         * rendering/MediaControlElements.cpp:
4109         (WebCore::toParentMediaElement): Taken from RenderMediaControls.
4110         (WebCore::MediaControlElement::rendererIsNeeded): Don't call shouldRenderMediaControlPart() if element has no appearance.
4111         (WebCore::MediaControlInputElement::rendererIsNeeded): Ditto.
4112         * rendering/RenderMediaControls.cpp: Moved parentMediaElement() to MediaControlElements.
4113         * rendering/RenderMediaControlsChromium.cpp: Added.
4114         (WebCore::platformResource): Helper to load and cache media control image resources.
4115         (WebCore::mediaSliderThumbImage): Implementation refactored from RenderThemeChromiumMac/Skia.
4116         (WebCore::mediaVolumeSliderThumbImage): Ditto.
4117         (WebCore::paintMediaButton): Ditto.
4118         (WebCore::paintMediaMuteButton): Ditto.
4119         (WebCore::paintMediaPlayButton): Ditto.
4120         (WebCore::paintMediaSlider): Ditto.
4121         (WebCore::paintMediaSliderThumb): Ditto.
4122         (WebCore::paintMediaVolumeSlider): Ditto.
4123         (WebCore::paintMediaVolumeSliderThumb): Ditto.
4124         (WebCore::paintMediaTimelineContainer): Ditto.
4125         (WebCore::RenderMediaControlsChromium::shouldRenderMediaControlPart): Ditto.
4126         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): Same
4127         (WebCore::RenderMediaControlsChromium::adjustMediaSliderThumbSize):
4128         * rendering/RenderMediaControlsChromium.h: Added.
4129         * rendering/RenderThemeChromiumMac.h:
4130         * rendering/RenderThemeChromiumMac.mm:
4131         (WebCore::RenderThemeChromiumMac::adjustSliderThumbSize): Implementation delegated to RenderMediaControlsChromium.
4132         (WebCore::RenderThemeChromiumMac::shouldRenderMediaControlPart): Ditto.
4133         (WebCore::RenderThemeChromiumMac::paintMediaPlayButton): Ditto.
4134         (WebCore::RenderThemeChromiumMac::paintMediaMuteButton): Ditto.
4135         (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack): Ditto.
4136         (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderTrack): Ditto.
4137         (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb): Ditto.
4138         (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderThumb): Ditto.
4139         (WebCore::RenderThemeChromiumMac::paintMediaControlsBackground): Ditto.
4140         * rendering/RenderThemeChromiumSkia.cpp:
4141         (WebCore::RenderThemeChromiumSkia::paintMediaControlsBackground): Implementation delegated to RenderMediaControlsChromium.
4142         (WebCore::RenderThemeChromiumSkia::paintMediaSliderTrack): Ditto.
4143         (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderTrack): Ditto.
4144         (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize): Ditto.
4145         (WebCore::RenderThemeChromiumSkia::paintMediaSliderThumb): Ditto.
4146         (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderThumb): Ditto.
4147         (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton): Ditto.
4148         (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton): Ditto.
4149         (WebCore::RenderThemeChromiumSkia::shouldRenderMediaControlPart): Ditto.
4150
4151 2009-10-07  Dave Hyatt  <hyatt@apple.com>
4152
4153         Reviewed by Adam Roben.
4154
4155         Make plugins work with beforeload.
4156
4157         Added fast/dom/beforeload/flash-before-load.html
4158
4159         * html/HTMLObjectElement.cpp:
4160         (WebCore::HTMLObjectElement::parseMappedAttribute):
4161         * rendering/RenderPartObject.cpp:
4162         (WebCore::RenderPartObject::updateWidget):
4163
4164 2009-10-07  Vitaly Repeshko  <vitalyr@chromium.org>
4165
4166         Reviewed by Adam Barth.
4167
4168         [V8] Protect JS listener object from GC while clearing a property on it.
4169         See http://crbug.com/23780.
4170         https://bugs.webkit.org/show_bug.cgi?id=30137
4171
4172         * bindings/v8/V8AbstractEventListener.cpp:
4173         (WebCore::V8AbstractEventListener::~V8AbstractEventListener):
4174
4175 2009-10-07  Zoltan Horvath  <zoltan@webkit.org>
4176
4177         Rubber-stamped by Eric Seidel.
4178
4179         Allow custom memory allocation control for WebCore's CachedResourceClient class
4180         https://bugs.webkit.org/show_bug.cgi?id=30165
4181
4182         Inherits CachedResourceClient class from FastAllocBase because (its
4183         child class) CSSFontFaceSource has been instantiated by 'new' in WebCore/css/CSSFontFaceSource.h:46.
4184
4185         * loader/CachedResourceClient.h:
4186
4187 2009-10-07  Zoltan Horvath  <zoltan@webkit.org>
4188
4189         Reviewed by Darin Adler.
4190
4191         Allow custom memory allocation control for WebCore's IdentifierRep 
4192         https://bugs.webkit.org/show_bug.cgi?id=30159                                                        
4193
4194         Inherits IdentifierRep class from FastAllocBase because it has been                                 
4195         instantiated by 'new' in WebCore/bridge/IdentifierRep.cpp:61.  
4196
4197         * bridge/IdentifierRep.h:
4198
4199 2009-10-07  Anton Muhin  <antonm@chromium.org>
4200
4201         Reviewed by Adam Barth.
4202
4203         Fetch pointers to C+DOM window immediately from holder
4204         object (do not search prototype chain for proper JS wrapper).
4205         https://bugs.webkit.org/show_bug.cgi?id=29031
4206
4207         * bindings/scripts/CodeGeneratorV8.pm:
4208         * bindings/v8/V8DOMWrapper.cpp:
4209         (WebCore::V8DOMWrapper::getTemplate):
4210         * bindings/v8/V8Proxy.cpp:
4211         (WebCore::V8Proxy::createNewContext):
4212         (WebCore::V8Proxy::installDOMWindow):
4213         * bindings/v8/custom/V8DOMWindowCustom.cpp:
4214         (WebCore::ACCESSOR_GETTER):
4215         (WebCore::ACCESSOR_SETTER):
4216         (WebCore::INDEXED_PROPERTY_GETTER):
4217         (WebCore::NAMED_PROPERTY_GETTER):
4218         (WebCore::NAMED_ACCESS_CHECK):
4219         (WebCore::INDEXED_ACCESS_CHECK):
4220 2009-10-07  Adam Roben  <aroben@apple.com>
4221
4222         Fix typo in PluginView::load that was causing cross-origin loads to
4223         be allowed
4224
4225         This typo was introduced in the build fix in r49213.
4226
4227         Fixes <http://webkit.org/b/30168> REGRESSION (r49213):
4228         http/tests/plugins/local-geturl-from-remote.html is failing on Windows
4229
4230         Reviewed by Sam Weinig.
4231
4232         * plugins/PluginView.cpp:
4233         (WebCore::PluginView::load): Removed a comma operator that was making
4234         a condition always evaluate to true.
4235
4236 2009-10-07  Kenneth Rohde Christiansen  <kenneth@webkit.org>
4237
4238         Reviewed by Simon Hausmann.
4239
4240         Do not create valid QColor's for invalid WebCore::Color's.
4241
4242         * platform/graphics/qt/ColorQt.cpp:
4243         (WebCore::Color::operator QColor):
4244
4245 2009-10-07  Janne Koskinen  <janne.p.koskinen@digia.com>
4246