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