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