2009-11-10 Vitaly Repeshko <vitalyr@chromium.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2009-11-10  Vitaly Repeshko  <vitalyr@chromium.org>
2
3         Reviewed by Dimitri Glazkov.
4
5         [V8] Fix crash in V8CustomXPathNSResolver (http://crbug.com/26726).
6         https://bugs.webkit.org/show_bug.cgi?id=31301
7
8         Tested by new fast/xpath/xpath-detached-iframe-resolver-crash.html.
9
10         Allowed passing V8Proxy for the calling JS context:
11         * bindings/v8/V8DOMWrapper.h:
12         (WebCore::V8DOMWrapper::getXPathNSResolver):
13         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
14         (WebCore::V8CustomXPathNSResolver::create):
15         (WebCore::V8CustomXPathNSResolver::V8CustomXPathNSResolver):
16         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
17         * bindings/v8/custom/V8CustomXPathNSResolver.h:
18         * bindings/v8/custom/V8DocumentCustom.cpp:
19         (WebCore::CALLBACK_FUNC_DECL):
20
21 2009-11-10  Yael Aharon  <yael.aharon@nokia.com>
22
23         Reviewed by Timothy Hatcher.
24
25         Implement URL decomposition IDL attributes for HTMLAnchorElement.
26         https://bugs.webkit.org/show_bug.cgi?id=29972.
27
28         Add methods for setting different parts of the URL in href attribute.
29
30         Tests: fast/dom/HTMLAnchorElement/set-href-attribute-hash.html
31                fast/dom/HTMLAnchorElement/set-href-attribute-host.html
32                fast/dom/HTMLAnchorElement/set-href-attribute-hostname.html
33                fast/dom/HTMLAnchorElement/set-href-attribute-pathname.html
34                fast/dom/HTMLAnchorElement/set-href-attribute-port.html
35                fast/dom/HTMLAnchorElement/set-href-attribute-protocol.html
36                fast/dom/HTMLAnchorElement/set-href-attribute-search.html
37
38         * bindings/js/JSLocationCustom.cpp:
39         (WebCore::JSLocation::setPort):
40         * html/HTMLAnchorElement.cpp:
41         (WebCore::parsePortFromStringPosition):
42         (WebCore::HTMLAnchorElement::setHash):
43         (WebCore::HTMLAnchorElement::setHost):
44         (WebCore::HTMLAnchorElement::setHostname):
45         (WebCore::HTMLAnchorElement::setPathname):
46         (WebCore::HTMLAnchorElement::setPort):
47         (WebCore::HTMLAnchorElement::setProtocol):
48         (WebCore::HTMLAnchorElement::setSearch):
49         * html/HTMLAnchorElement.h:
50         * html/HTMLAnchorElement.idl:
51         * loader/FrameLoader.cpp:
52         (WebCore::FrameLoader::iconURL):
53         * platform/KURL.cpp:
54         (WebCore::KURL::removePort):
55         (WebCore::KURL::setPort):
56         (WebCore::KURL::prettyURL):
57         (WebCore::protocolIsValid):
58         * platform/KURL.h:
59         (WebCore::KURL::canSetHostOrPort):
60         (WebCore::KURL::canSetPathname):
61         (WebCore::KURL::hasPort):
62         * platform/network/soup/ResourceHandleSoup.cpp:
63         (WebCore::):
64
65 2009-11-10  Nate Chapin  <japhet@chromium.org>
66
67         Unreviewed, fix Chromium build after http://trac.webkit.org/changeset/50760.
68
69         * platform/chromium/PopupMenuChromium.cpp:
70         (WebCore::PopupContainer::paintBorder):
71         (WebCore::PopupListBox::paint):
72         (WebCore::PopupListBox::paintRow):
73         * platform/graphics/chromium/TransparencyWin.cpp:
74         (WebCore::TransparencyWin::setupLayerForWhiteLayer):
75         * platform/graphics/skia/GraphicsContextSkia.cpp:
76         (WebCore::GraphicsContext::fillRect):
77         (WebCore::GraphicsContext::fillRoundedRect):
78         (WebCore::GraphicsContext::setPlatformFillColor):
79         (WebCore::GraphicsContext::setPlatformStrokeColor):
80         * rendering/RenderMediaControlsChromium.cpp:
81         (WebCore::paintMediaSlider):
82         (WebCore::paintMediaVolumeSlider):
83         (WebCore::paintMediaTimelineContainer):
84         * rendering/RenderThemeChromiumMac.mm:
85         (WebCore::RenderThemeChromiumMac::paintMenuListButton):
86
87 2009-11-10  Brady Eidson  <beidson@apple.com>
88
89         Reviewed by Sam Weinig.
90
91         Repro crash saving pcmag.com article as a webarchive.
92         <rdar://problem/7381219> and https://webkit.org/b/31322
93
94         Test: http/tests/webarchive/cross-origin-stylesheet-crash.html
95
96         * css/CSSStyleSheet.cpp:
97         (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Walk the stylesheet itself instead
98           of creating a CSSRuleList (and subjecting ourselves to the security origin check)
99
100 2009-11-10  Beth Dakin  <bdakin@apple.com>
101
102         Attempt 2 to fix Tiger build. No review needed.
103
104         * platform/graphics/cg/GraphicsContextCG.cpp:
105         (WebCore::deviceRGBColorSpaceRef):
106         (WebCore::sRGBColorSpaceRef):
107
108 2009-11-10  Kevin Ollivier  <kevino@theolliviers.com>
109
110         wx build fix. Changes needed after r50760.
111
112         * platform/graphics/wx/GraphicsContextWx.cpp:
113         (WebCore::GraphicsContext::GraphicsContext):
114         * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
115         (WebCore::drawTextWithSpacing):
116
117 2009-11-10  Alexey Proskuryakov  <ap@apple.com>
118
119         Qt build fix.
120
121         * platform/network/ResourceHandle.h: Only inherit from AuthenticationClient on platforms
122         that use ResourceHandle as a delegate (Mac, CFNetwork, Curl).
123
124 2009-11-10  Beth Dakin  <bdakin@apple.com>
125
126         Tiger build fix. No review needed.
127
128         * platform/graphics/cg/GraphicsContextCG.cpp:
129         (WebCore::sRGBColorSpaceRef):
130
131 2009-11-10  Alexey Proskuryakov  <ap@apple.com>
132
133         Reviewed by Dan Bernstein.
134
135         https://bugs.webkit.org/show_bug.cgi?id=31312
136         Decouple authentication panel callbacks from ResourceHandle
137
138         No change in functionality.
139
140         SocketStreamHandle also needs to request credentials, so it's not appropriate to store
141         ResourceHandle as delegate.
142
143         * WebCore.vcproj/WebCore.vcproj:
144         * platform/network/AuthenticationClient.h: Added.
145         Added a new interface for listening to authentication panel notifications.
146
147         * WebCore.xcodeproj/project.pbxproj: Added AuthenticationClient.h. Let Visual Studio do what
148         it wants with the project file.
149
150         (WebCore::AuthenticationClient::ref): Using our usual method of exposing refcounting on an
151         interface class.
152         (WebCore::AuthenticationClient::deref): Ditto.
153
154         * platform/network/ResourceHandle.h:
155         (WebCore::ResourceHandle::refAuthenticationClient): Ditto.
156         (WebCore::ResourceHandle::derefAuthenticationClient): Ditto.
157
158         * platform/network/cf/AuthenticationCF.cpp:
159         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
160         (WebCore::AuthenticationChallenge::platformCompare):
161         * platform/network/cf/AuthenticationChallenge.h:
162         (WebCore::AuthenticationChallenge::authenticationClient):
163         * platform/network/chromium/AuthenticationChallenge.h:
164         (WebCore::AuthenticationChallenge::authenticationClient):
165         * platform/network/curl/AuthenticationChallenge.h:
166         (WebCore::AuthenticationChallenge::authenticationClient):
167         Keeping a reference to AuthenticationClient, not to ResourceHandle.
168
169 2009-11-10  Beth Dakin  <bdakin@apple.com>
170
171        Second attempted gtk build fix. No review needed.
172
173         * html/canvas/CanvasStyle.cpp:
174         (WebCore::CanvasStyle::applyStrokeColor):
175
176
177 2009-11-10  Gavin Barraclough  <barraclough@apple.com>
178
179         Reviewed by Geoff Garen.
180
181         Fix back/forwards cache with JSC isolated worlds.
182         https://bugs.webkit.org/show_bug.cgi?id=31310
183         <rdar://problem/7328111> Cached back navigation doesn't restore global object in extension isolated world
184
185         Store the global object for all worlds, not just the normal world.
186         Also maintain bidirectional weak references between the ScriptCachedFrameData and the DOMWrapperWorld,
187         so we can forget global objects if a world goes away.
188
189         * bindings/js/JSDOMBinding.cpp:
190         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
191         * bindings/js/JSDOMBinding.h:
192         (WebCore::DOMWrapperWorld::rememberScriptCachedFrameData):
193         (WebCore::DOMWrapperWorld::forgetScriptCachedFrameData):
194         * bindings/js/ScriptCachedFrameData.cpp:
195         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
196         (WebCore::ScriptCachedFrameData::forgetWorld):
197         (WebCore::ScriptCachedFrameData::domWindow):
198         (WebCore::ScriptCachedFrameData::restore):
199         (WebCore::ScriptCachedFrameData::clear):
200         * bindings/js/ScriptCachedFrameData.h:
201         * bindings/js/ScriptController.h:
202
203 2009-11-10  Csaba Osztrogonác  <ossy@webkit.org>
204
205         [Qt] Unreviewed buildfix after r50760.
206
207         * platform/graphics/qt/GraphicsContextQt.cpp:
208         (WebCore::GraphicsContext::GraphicsContext):
209
210 2009-11-10  Beth Dakin  <bdakin@apple.com>
211
212         Attempted build fix. (No review needed.)
213
214         * GNUmakefile.am: Adding ColorSpace.h
215
216 2009-11-10  Brian Weinstein  <bweinstein@apple.com>
217
218         Reviewed by NOBODY - Build Fix.
219
220         Updated function calls to take a ColorSpace argument, passing
221         in DeviceColorSpace for now - this should be fixed. Also added
222         ColorSpace.h to WebCore project.
223
224         * WebCore.vcproj/WebCore.vcproj:
225         * platform/graphics/win/FontCGWin.cpp:
226         (WebCore::Font::drawGlyphs):
227         * platform/graphics/win/GraphicsContextCGWin.cpp:
228         (WebCore::GraphicsContext::GraphicsContext):
229         * platform/win/PopupMenuWin.cpp:
230         (WebCore::PopupMenu::paint):
231         * platform/win/WebCoreTextRenderer.cpp:
232         (WebCore::doDrawTextAtPoint):
233         * rendering/RenderThemeSafari.cpp:
234         (WebCore::RenderThemeSafari::paintMenuListButton):
235
236 2009-11-10  Jens Alfke  <snej@chromium.org>
237
238         Reviewed by Darin Adler.
239
240         Optimizations to Element::getAttribute
241         https://bugs.webkit.org/show_bug.cgi?id=30926
242
243         * dom/Element.cpp:
244         (WebCore::Element::getAttribute):  User case-insensitive compare instead of lowercasing the name.
245         * dom/NamedAttrMap.cpp:
246         (WebCore::NamedNodeMap::getAttributeItem):  Avoid redundant compares, and do fast/likely compares first.
247         * platform/text/PlatformString.h:
248         (WebCore::equalPossiblyIgnoringCase):  New inline method, used by both of the above.
249
250 2009-11-10  Beth Dakin  <bdakin@apple.com>
251
252         Reviewed by Darin Adler.
253
254         Fix for <rdar://problem/7059710> 
255         -and corresponding-
256         https://bugs.webkit.org/show_bug.cgi?id=31196 Implement -webkit-
257         color-correction for CSS colors
258
259         New exported symbol for GraphicsContext::fillColor() which now 
260         accepts a ColorSpace as an optional parameter.
261         * WebCore.base.exp:
262
263         Added a new file, ColorSpace.h, to define the ColorSpace enum.
264         * WebCore.xcodeproj/project.pbxproj:
265
266         Computed Style for -webkit-color-correction
267         * css/CSSComputedStyleDeclaration.cpp:
268         (WebCore::):
269         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
270
271         Parse -webkit-color-correction
272         * css/CSSParser.cpp:
273         (WebCore::CSSParser::parseValue):
274
275        Map CSS identifiers to the appropriate values of the ColorSpace enum
276         * css/CSSPrimitiveValueMappings.h:
277         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
278         (WebCore::CSSPrimitiveValue::operator ColorSpace):
279
280         New property -webkit-color-correction
281         * css/CSSPropertyNames.in:
282
283         Map -webkit-color-correction into the RenderStyle.
284         * css/CSSStyleSelector.cpp:
285         (WebCore::CSSStyleSelector::applyProperty):
286
287         Add new value sRGB.
288         * css/CSSValueKeywords.in:
289
290         Comment out the reference to sRGB since it will now be inherited as 
291         a value from CSSValueKeywords.
292         * css/SVGCSSValueKeywords.in:
293
294         Definition of the ColorSpace enum.
295         * platform/graphics/ColorSpace.h: Added.
296         (WebCore::):
297
298         These functions all now take a ColorSpace as a parameter.
299         * platform/graphics/GraphicsContext.cpp:
300         (WebCore::GraphicsContext::setStrokeColor):
301         (WebCore::GraphicsContext::setFillColor):
302         (WebCore::GraphicsContext::drawHighlightForText):
303
304         Return the appropriate ColorSpace.
305         (WebCore::GraphicsContext::strokeColorSpace):
306         (WebCore::GraphicsContext::fillColorSpace):
307
308         These functions all call other functions which require a ColorSpace 
309         as a parameter.
310         (WebCore::GraphicsContext::setStrokePattern):
311         (WebCore::GraphicsContext::setFillPattern):
312         (WebCore::GraphicsContext::setStrokeGradient):
313         (WebCore::GraphicsContext::setFillGradient):
314
315         All of the GraphicsContext functions that take a Color should now 
316         also take a ColorSpace.
317         * platform/graphics/GraphicsContext.h:
318
319         Added new member variables stokeColorSpace and fillColorSpace.
320         * platform/graphics/GraphicsContextPrivate.h:
321         (WebCore::GraphicsContextState::GraphicsContextState):
322
323         Attempt to keep the Cairo port building with all of the massive 
324         changes to GraphicsContext.        
325         * platform/graphics/cairo/GraphicsContextCairo.cpp:
326         (WebCore::GraphicsContext::fillRect):
327         (WebCore::GraphicsContext::setPlatformFillColor):
328         (WebCore::GraphicsContext::setPlatformStrokeColor):
329         (WebCore::GraphicsContext::fillRoundedRect):
330
331         
332         * platform/graphics/cg/GraphicsContextCG.cpp:
333         (WebCore::sRGBColorSpaceRef): New static function that returns a 
334         CGColorSpaceRef for the sRGB color space.
335         (WebCore::deviceRGBColorSpaceRef): New static function that returns 
336         a CGColorSpaceRef for the device RGB color space.
337
338         (WebCore::setCGFillColor): Now takes a ColorSpace parameter and 
339         sets the fill color to the specified color in the given ColorSpace.
340         (WebCore::setCGStrokeColor): Same, but for stroke.
341
342         (WebCore::setCGFillColorSpace): New static to set the 
343         CGFillColorSpace to the given ColorSpace
344         (WebCore::setCGStrokeColorSpace): Same, but for stroke.
345
346         Send ColorSpaces when appropriate, set ColorSpaces when 
347         appropriate, and check ColorSpaces when appropriate.
348         (WebCore::GraphicsContext::GraphicsContext):
349         (WebCore::GraphicsContext::drawRect):
350         (WebCore::GraphicsContext::drawLine):
351         (WebCore::GraphicsContext::fillPath):
352         (WebCore::GraphicsContext::strokePath):
353         (WebCore::GraphicsContext::fillRect):
354         (WebCore::GraphicsContext::fillRoundedRect):
355         (WebCore::GraphicsContext::strokeRect):
356         (WebCore::GraphicsContext::drawLineForText):
357         (WebCore::GraphicsContext::setPlatformStrokeColor):
358         (WebCore::GraphicsContext::setPlatformFillColor):
359
360         Attempt to keep Haiku building.
361         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
362         (WebCore::GraphicsContext::fillRect):
363         (WebCore::GraphicsContext::fillRoundedRect):
364         (WebCore::GraphicsContext::setPlatformStrokeColor):
365         (WebCore::GraphicsContext::setPlatformFillColor):
366
367         Attempt to keep QT building.
368         * platform/graphics/qt/GraphicsContextQt.cpp:
369         (WebCore::GraphicsContext::fillRect):
370         (WebCore::GraphicsContext::fillRoundedRect):
371         (WebCore::GraphicsContext::setPlatformStrokeColor):
372         (WebCore::GraphicsContext::setPlatformFillColor):
373
374         Attempt to keep Wince building.
375         * platform/graphics/wince/GraphicsContextWince.cpp:
376         (WebCore::GraphicsContext::fillRect):
377         (WebCore::GraphicsContext::setPlatformFillColor):
378         (WebCore::GraphicsContext::setPlatformStrokeColor):
379         (WebCore::GraphicsContext::clearRect):
380         (WebCore::GraphicsContext::fillRoundedRect):
381         (WebCore::GraphicsContext::setPlatformShadow):
382
383         Attempt to keep WX building.
384         * platform/graphics/wx/GraphicsContextWx.cpp:
385         (WebCore::GraphicsContext::fillRect):
386         (WebCore::GraphicsContext::fillRoundedRect):
387         (WebCore::GraphicsContext::setPlatformStrokeColor):
388         (WebCore::GraphicsContext::setPlatformFillColor):
389
390         Added functions colorSpace() and setColorSpace()
391         * rendering/style/RenderStyle.h:
392         (WebCore::InheritedFlags::colorSpace):
393         (WebCore::InheritedFlags::setColorSpace):
394
395         The ColorSpace is stored here.
396         * rendering/style/StyleRareInheritedData.cpp:
397         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
398         (WebCore::StyleRareInheritedData::operator==):
399         * rendering/style/StyleRareInheritedData.h:
400
401         All of these call sites call GraphicsContext functions which now 
402         require ColorSpaces.
403         * editing/SelectionController.cpp:
404         (WebCore::SelectionController::paintCaret):
405         * html/canvas/CanvasRenderingContext2D.cpp:
406         (WebCore::CanvasRenderingContext2D::drawTextInternal):
407         * html/canvas/CanvasStyle.cpp:
408         (WebCore::CanvasStyle::applyStrokeColor):
409         (WebCore::CanvasStyle::applyFillColor):
410         * inspector/InspectorController.cpp:
411         (WebCore::drawOutlinedQuad):
412         * page/FrameView.cpp:
413         (WebCore::FrameView::paintContents):
414         * platform/ScrollbarTheme.h:
415         (WebCore::ScrollbarTheme::paintScrollCorner):
416         * platform/ScrollbarThemeComposite.cpp:
417         (WebCore::ScrollbarThemeComposite::paintScrollCorner):
418         * platform/graphics/Image.cpp:
419         (WebCore::Image::fillWithSolidColor):
420         * platform/graphics/mac/FontMac.mm:
421         (WebCore::Font::drawGlyphs):
422         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
423         (WebCore::MediaPlayerPrivate::paint):
424         * rendering/EllipsisBox.cpp:
425         (WebCore::EllipsisBox::paint):
426         * rendering/InlineFlowBox.cpp:
427         (WebCore::InlineFlowBox::paintTextDecorations):
428         * rendering/InlineTextBox.cpp:
429         (WebCore::updateGraphicsContext):
430         (WebCore::paintTextWithShadows):
431         (WebCore::InlineTextBox::paint):
432         (WebCore::InlineTextBox::paintSelection):
433         (WebCore::InlineTextBox::paintCompositionBackground):
434         (WebCore::InlineTextBox::paintDecoration):
435         (WebCore::InlineTextBox::paintTextMatchMarker):
436         (WebCore::InlineTextBox::paintCompositionUnderline):
437         * rendering/InlineTextBox.h:
438         * rendering/RenderBlock.cpp:
439         (WebCore::RenderBlock::fillHorizontalSelectionGap):
440         (WebCore::RenderBlock::fillVerticalSelectionGap):
441         (WebCore::RenderBlock::fillLeftSelectionGap):
442         (WebCore::RenderBlock::fillRightSelectionGap):
443         * rendering/RenderBoxModelObject.cpp:
444         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
445         (WebCore::RenderBoxModelObject::paintBoxShadow):
446         * rendering/RenderFileUploadControl.cpp:
447         (WebCore::RenderFileUploadControl::paintObject):
448         * rendering/RenderFrameSet.cpp:
449         (WebCore::RenderFrameSet::paintColumnBorder):
450         (WebCore::RenderFrameSet::paintRowBorder):
451         * rendering/RenderImage.cpp:
452         (WebCore::RenderImage::paintReplaced):
453         * rendering/RenderLayer.cpp:
454         (WebCore::RenderLayer::paintScrollCorner):
455         (WebCore::RenderLayer::paintResizer):
456         * rendering/RenderListBox.cpp:
457         (WebCore::RenderListBox::paintItemForeground):
458         (WebCore::RenderListBox::paintItemBackground):
459         * rendering/RenderListMarker.cpp:
460         (WebCore::RenderListMarker::paint):
461         * rendering/RenderObject.cpp:
462         (WebCore::RenderObject::drawLineForBoxSide):
463         (WebCore::RenderObject::drawArcForBoxSide):
464         * rendering/RenderReplaced.cpp:
465         (WebCore::RenderReplaced::paint):
466         * rendering/RenderScrollbarTheme.cpp:
467         (WebCore::RenderScrollbarTheme::paintScrollCorner):
468         * rendering/RenderThemeMac.mm:
469         (WebCore::RenderThemeMac::paintMenuListButton):
470         * rendering/RenderView.cpp:
471         (WebCore::RenderView::paintBoxDecorations):
472         * rendering/RenderWidget.cpp:
473         (WebCore::RenderWidget::paint):
474         * rendering/SVGInlineTextBox.cpp:
475         (WebCore::SVGInlineTextBox::paintSelection):
476         * svg/graphics/SVGPaintServerGradient.cpp:
477         (WebCore::SVGPaintServerGradient::setup):
478         * svg/graphics/SVGPaintServerSolid.cpp:
479         (WebCore::SVGPaintServerSolid::setup):
480
481 2009-11-10  Keishi Hattori  <casey.hattori@gmail.com>
482
483         Reviewed by Timothy Hatcher.
484
485         Web Inspector: Speed up syntax highlighter
486         https://bugs.webkit.org/show_bug.cgi?id=31291
487
488         * inspector/front-end/SourceFrame.js:
489         (WebInspector.SourceFrame.prototype._loaded):
490         (WebInspector.SourceSyntaxHighlighter.prototype.process.moveToNextLine): Replace the line content node.
491         (WebInspector.SourceSyntaxHighlighter.prototype.process):
492         (WebInspector.SourceSyntaxHighlighter.prototype.appendNonToken):
493         (WebInspector.SourceSyntaxHighlighter.prototype.syntaxHighlightNode):
494         (WebInspector.CSSSourceSyntaxHighlighter):
495         (WebInspector.JavaScriptSourceSyntaxHighlighter):
496
497 2009-11-09  Jeremy Orlow  <jorlow@chromium.org>
498
499         Reviewed by Eric Seidel.
500
501         Remove session storage setting
502         https://bugs.webkit.org/show_bug.cgi?id=31279
503
504         Remove session storage from Settings.  It was added temporarily so we could
505         disable it by default at runtime in Chromium.  We now disable these things in a
506         different way, so it's time to remove it.  Qt also depended on this setting for
507         a short period of time, but after talking to them we agreed that it should be
508         removed.
509
510         This bug is the second half of https://bugs.webkit.org/show_bug.cgi?id=30602
511
512         * page/DOMWindow.cpp:
513         (WebCore::DOMWindow::sessionStorage):
514         * page/Settings.cpp:
515         (WebCore::Settings::Settings):
516         * page/Settings.h:
517
518 2009-11-10  Dan Bernstein  <mitz@apple.com>
519
520         Reviewed by Eric Carlson and Darin Adler.
521
522         WebCore part of making full-screen video pause during scrubbing.
523
524         * WebCore.Video.exp: Sorted and added HTMLMediaElement::beginScrubbing()
525         and HTMLMediaElement::endScrubbing().
526
527 2009-11-10  Anton Muhin  <antonm@chromium.org>
528
529         Reviewed by Adam Barth.
530
531         Reapply 50562 reverted by 50588 due to issues with sandboxing (should be fine now).
532         https://bugs.webkit.org/show_bug.cgi?id=31051
533
534         * bindings/v8/V8GCController.cpp:
535         (WebCore::V8GCController::gcEpilogue):
536         (WebCore::V8GCController::checkMemoryUsage):
537         * bindings/v8/V8GCController.h:
538         * bindings/v8/V8Proxy.cpp:
539         (WebCore::V8Proxy::evaluate):
540         (WebCore::V8Proxy::runScript):
541         (WebCore::V8Proxy::callFunction):
542
543 2009-11-10  Zoltan Horvath  <zoltan@webkit.org>
544
545         Reviewed by Darin Adler.
546
547         Allow custom memory allocation control for the part of loader directory in WebCore
548         https://bugs.webkit.org/show_bug.cgi?id=31161
549
550         Inherits the following classes from Noncopyable because these are instantiated
551         by 'new' and these are no need to be copyable:
552
553         class Request - WebCore/loader/loader.cpp:100
554         struct ScheduledRedirection - WebCore/loader/RedirectScheduler.cpp:164
555         class ApplicationCacheStorage - WebCore/loader/appcache/ApplicationCacheStorage.cpp:1121
556         class ApplicationCacheHost -  WebCore/loader/DocumentLoader.cpp:151
557         class ImageEventSender - WebCore/loader/ImageLoader.cpp:54
558         struct ProgressItem - WebCore/loader/ProgressTracker.cpp:169
559
560         Inherits ThreadableLoaderClient class from Noncopyable because (its child class) 
561         MainThreadBridge is instantiated by 'new' in 
562         WebCore/loader/WorkerThreadableLoader.cpp:59 it is no need to be copyable.
563
564         ThreadableLoaderClient's inheriting has been changed to public.
565
566         * loader/ImageLoader.cpp:
567         * loader/ProgressTracker.cpp:
568         * loader/RedirectScheduler.cpp:
569         * loader/Request.h:
570         * loader/ThreadableLoaderClient.h:
571         * loader/WorkerThreadableLoader.h:
572         * loader/appcache/ApplicationCacheHost.h:
573         * loader/appcache/ApplicationCacheStorage.h:
574
575 2009-11-10  Philippe Normand  <pnormand@igalia.com>
576
577         Reviewed by Eric Seidel.
578
579         https://bugs.webkit.org/show_bug.cgi?id=31047
580         [GTK] Failing test media/video-played-ranges-1.html
581
582         WebKit coding style fixes.
583
584         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
585         (WebCore::mediaPlayerPrivateMessageCallback):
586         (WebCore::MediaPlayerPrivate::naturalSize):
587         (WebCore::MediaPlayerPrivate::paint):
588         (WebCore::mimeTypeCache):
589
590 2009-11-10  Oliver Hunt  <oliver@apple.com>
591
592         Remove build failure introduced by earlier build fix.
593
594         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
595
596 2009-11-10  Oliver Hunt  <oliver@apple.com>
597
598         Is this the last build fix? grep tells me yes.
599
600         * bindings/v8/custom/V8DocumentCustom.cpp:
601         (WebCore::CALLBACK_FUNC_DECL):
602
603 2009-11-10  Oliver Hunt  <oliver@apple.com>
604
605         Hopefully the last one.  Why aren't these autogenerated?
606
607         * bindings/v8/V8DOMWrapper.cpp:
608         (WebCore::V8DOMWrapper::setIndexedPropertiesToExternalArray):
609         (WebCore::V8DOMWrapper::getTemplate):
610         (WebCore::V8DOMWrapper::convertToV8Object):
611
612 2009-11-10  Oliver Hunt  <oliver@apple.com>
613
614         Another chrome build fix.
615
616         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
617         (WebCore::CALLBACK_FUNC_DECL):
618
619 2009-11-10  Oliver Hunt  <oliver@apple.com>
620
621         Yet another chrome buildfix
622
623         * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
624         (WebCore::CALLBACK_FUNC_DECL):
625         * bindings/v8/custom/V8WebGLArrayCustom.h:
626         (WebCore::constructCanvasArray):
627         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
628         (WebCore::CALLBACK_FUNC_DECL):
629         (WebCore::INDEXED_PROPERTY_GETTER):
630         (WebCore::INDEXED_PROPERTY_SETTER):
631         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
632         (WebCore::CALLBACK_FUNC_DECL):
633         (WebCore::INDEXED_PROPERTY_GETTER):
634         (WebCore::INDEXED_PROPERTY_SETTER):
635         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
636         (WebCore::CALLBACK_FUNC_DECL):
637         (WebCore::INDEXED_PROPERTY_GETTER):
638         (WebCore::INDEXED_PROPERTY_SETTER):
639         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
640         (WebCore::CALLBACK_FUNC_DECL):
641         (WebCore::vertexAttribAndUniformHelperf):
642         (WebCore::uniformHelperi):
643         (WebCore::uniformMatrixHelper):
644         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
645         (WebCore::CALLBACK_FUNC_DECL):
646         (WebCore::INDEXED_PROPERTY_GETTER):
647         (WebCore::INDEXED_PROPERTY_SETTER):
648         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
649         (WebCore::CALLBACK_FUNC_DECL):
650         (WebCore::INDEXED_PROPERTY_GETTER):
651         (WebCore::INDEXED_PROPERTY_SETTER):
652         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
653         (WebCore::CALLBACK_FUNC_DECL):
654         (WebCore::INDEXED_PROPERTY_GETTER):
655         (WebCore::INDEXED_PROPERTY_SETTER):
656         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
657         (WebCore::CALLBACK_FUNC_DECL):
658         (WebCore::INDEXED_PROPERTY_GETTER):
659         (WebCore::INDEXED_PROPERTY_SETTER):
660
661 2009-11-10  Oliver Hunt  <oliver@apple.com>
662
663         Chrome build fix.
664
665         * bindings/v8/V8Index.h:
666
667 2009-11-10  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
668
669         Reviewed by Reviewed by Jan Alonzo.
670
671         https://bugs.webkit.org/show_bug.cgi?id=30901
672         [Gtk] Need to de-lint the Atk a11y code
673
674         Removal of various and sundry style-violating nits.
675
676         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
677
678 2009-11-10  Philippe Normand  <pnormand@igalia.com>
679
680         Reviewed by Jan Alonzo.
681
682         https://bugs.webkit.org/show_bug.cgi?id=31047
683         [GTK] Failing test media/video-played-ranges-1.html
684
685         Fix playback rate setter by remembering the rate was changed. Also
686         correctly handle reverse playback by doing a seek from end to
687         beginning of the media.
688
689         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
690         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
691         (WebCore::MediaPlayerPrivate::currentTime):
692         (WebCore::MediaPlayerPrivate::seek):
693         (WebCore::MediaPlayerPrivate::hasAudio):
694         (WebCore::MediaPlayerPrivate::setVolume):
695         (WebCore::MediaPlayerPrivate::setRate):
696         (WebCore::MediaPlayerPrivate::updateStates):
697         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
698
699 2009-11-10  Oliver Hunt  <oliver@apple.com>
700
701         Reviewed by Maciej Stachowiak.
702
703         Rename 3D Canvas related classes to use WebGL prefix
704         https://bugs.webkit.org/show_bug.cgi?id=29095
705
706         Automatic rename of all WebGL related types from Canvas* to
707         WebGL* per more recent version of the WebGL spec.
708
709         Due to the automatic rename I've removed the 600+ line change list.
710
711 2009-11-09  Dirk Schulze  <krit@webkit.org>
712
713         Reviewed by Oliver Hunt.
714
715         SVG feDisplacementMap is not implemented
716         [https://bugs.webkit.org/show_bug.cgi?id=31255]
717
718         This is the implementation of the SVG filter effect
719         feDisplacementMap. 
720
721         Test: svg/filters/feDisplacementMap.svg
722
723         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
724         (WebCore::FEDisplacementMap::apply):
725
726 2009-11-09  Kent Tamura  <tkent@chromium.org>
727
728         Reviewed by Darin Adler.
729
730         Add a comment about null strings and hash functions.
731         https://bugs.webkit.org/show_bug.cgi?id=29118
732
733         * platform/text/StringHash.h:
734
735 2009-11-09  Martin Robinson  <martin.james.robinson@gmail.com>
736
737         Reviewed by Darin Adler.
738
739         Compiler warnings in InspectorResource.h
740         https://bugs.webkit.org/show_bug.cgi?id=29231
741
742         Fix compilation warnings by removing addition operation on an enum type.
743
744         * inspector/InspectorResource.h:
745         (WebCore::InspectorResource::):
746         (WebCore::InspectorResource::Changes::hasChange):
747         (WebCore::InspectorResource::Changes::set):
748         (WebCore::InspectorResource::Changes::setAll):
749
750 2009-11-09  Anders Carlsson  <andersca@apple.com>
751
752         Reviewed by Darin Adler and Dan Bernstein.
753
754         <rdar://problem/7328395>
755         https://bugs.webkit.org/show_bug.cgi?id=31277
756
757         When an object tag's style changes (for example when child nodes are added/removed),
758         reuse its Frame (if it has one) instead of creating multiple Frames.
759
760         Test: fast/dom/HTMLObjectElement/children-changed.html
761
762         * loader/FrameLoader.cpp:
763         (WebCore::FrameLoader::requestObject):
764
765 2009-11-09  Norbert Leser  <norbert.leser@nokia.com>
766
767         Reviewed by Kenneth Rohde Christiansen.
768
769         Moved macro MMP_RULES (LINKEROPTION) into symbian instead of symbian-sbsv2,
770         since adjustment of RW-section base address will be needed for all new symbian
771         tool chains, specifically for arm and gcc compilation targets.
772         Also, change target address to 0xE00000 to be sufficient for all targets.
773
774         * WebCore.pro:
775
776 2009-11-09  Pavel Feldman  <pfeldman@chromium.org>
777
778         Reviewed by Timothy Hatcher.
779
780         Web Inspector: Crash when inspecting
781         WebCore\manual-tests\inspector\dom-mutation.html
782
783         https://bugs.webkit.org/show_bug.cgi?id=31259
784
785         * inspector/InspectorDOMAgent.cpp:
786         (WebCore::InspectorDOMAgent::handleEvent):
787
788 2009-11-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
789
790         Reviewed by Kenneth Rohde Christiansen.
791
792         [Qt] Few classes have virtual functions but non-virtual destructor
793         https://bugs.webkit.org/show_bug.cgi?id=31269
794
795         No new tests as there is no functional change.
796
797         * platform/qt/QWebPageClient.h:
798         (QWebPageClient::~QWebPageClient): Add virtual destructor.
799
800 2009-11-09  Yael Aharon  <yael.aharon@nokia.com>
801
802         Reviewed by Kenneth Rohde Christiansen.
803
804         [Qt] Allow setting HTTP headers with empty value in XMLHTTPRequest
805         https://bugs.webkit.org/show_bug.cgi?id=31140
806
807         QtNetwork interprets null string as request to remove the header, not add it.
808         Replace null values with empty values before passing them to QtNetwork.
809
810         Test: http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-value.html
811
812         * platform/network/qt/ResourceRequestQt.cpp:
813         (WebCore::ResourceRequest::toNetworkRequest):
814
815 2009-11-09  Vadim Zeitlin  <vadim@wxwidgets.org>
816
817         Reviewed by Kevin Ollivier.
818
819         [wx] Fix handling of alpha channel when using wxWidgets 2.9: it was
820         simply ignored before resulting in transparent areas being black in PNG
821         images for example.
822         
823         https://bugs.webkit.org/show_bug.cgi?id=30823
824
825         * platform/image-decoders/wx/ImageDecoderWx.cpp:
826         (WebCore::RGBA32Buffer::asNewNativeImage):
827
828 2009-11-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
829
830         Reviewed by Kenneth Rohde Christiansen.
831
832         Use explicit parentheses to silence gcc 4.4 -Wparentheses warnings
833         https://bugs.webkit.org/show_bug.cgi?id=31040
834
835         No new tests as there is no functional change.
836
837         * dom/Document.cpp:
838         (WebCore::Document::recalcStyleSelector):
839         * editing/TextIterator.cpp:
840         (WebCore::pushFullyClippedState):
841         * editing/VisibleSelection.cpp:
842         (WebCore::VisibleSelection::appendTrailingWhitespace):
843         * html/HTMLLinkElement.cpp:
844         (WebCore::HTMLLinkElement::process):
845         * loader/RedirectScheduler.cpp:
846         (WebCore::RedirectScheduler::mustLockBackForwardList):
847         * loader/appcache/ApplicationCacheGroup.cpp:
848         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
849         * platform/graphics/qt/FontCacheQt.cpp:
850         (WebCore::FontPlatformDataCacheKey::computeHash):
851         * rendering/RenderBlock.cpp:
852         (WebCore::RenderBlock::handleRunInChild):
853         * rendering/RenderBox.cpp:
854         (WebCore::RenderBox::calcHeight):
855         * rendering/RenderTextControlMultiLine.cpp:
856         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
857         * rendering/style/RenderStyle.cpp:
858         (WebCore::RenderStyle::diff):
859         * svg/SVGAnimateElement.cpp:
860         (WebCore::parseNumberValueAndUnit):
861         * svg/SVGAnimationElement.cpp:
862         (WebCore::SVGAnimationElement::startedActiveInterval):
863         * svg/SVGPreserveAspectRatio.cpp:
864         (WebCore::SVGPreserveAspectRatio::getCTM):
865
866 2009-11-09  Shinichiro Hamaji  <hamaji@chromium.org>
867
868         Reviewed by Dimitri Glazkov.
869
870         Win chromium is slow to draw transparent texts
871         https://bugs.webkit.org/show_bug.cgi?id=31258
872
873         Clip graphics context to reduce calculation.
874
875         No new tests because this change only affects performance.
876
877         * platform/graphics/chromium/FontChromiumWin.cpp:
878         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
879         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
880
881 2009-11-09  Carol Szabo  <carol.szabo@nokia.com>
882
883         Reviewed by Darin Adler.
884
885         showTree(CounterNode*) generates too little info and has too many spaces.
886         https://bugs.webkit.org/show_bug.cgi?id=31212
887
888         No new tests as the change has no functional effect it is just for
889         improved debugging.
890
891         * rendering/CounterNode.cpp:
892         (WebCore::showTreeAndMark):
893         Changed to also show addresses of parent, next and previous
894         siblings.
895
896 2009-11-09  Stuart Morgan  <stuartmorgan@chromium.org>
897
898         Reviewed by Darin Adler.
899
900         Moves Mac implementation of setUseSecureKeyboardEntry to Frame.cpp and
901         enables it PLATFORM(CHROMIUM) in addition to PLATFORM(MAC).
902
903         https://bugs.webkit.org/show_bug.cgi?id=31083
904
905         No new tests; implementation is unchanged.
906
907         * page/Frame.cpp:
908         (WebCore::Frame::setUseSecureKeyboardEntry):
909         * page/mac/FrameMac.mm:
910
911 2009-11-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
912
913         Reviewed by Jan Alonzo.
914
915         Make XP_UNIX tests consistent
916         https://bugs.webkit.org/show_bug.cgi?id=31250
917
918         No new tests as there is no functional change.
919
920         * plugins/PluginView.cpp:
921         (WebCore::PluginView::setFrameRect): Test if XP_UNIX is defined
922         instead of the value of the macro
923
924         * plugins/gtk/PluginViewGtk.cpp:
925         (WebCore::PluginView::setNPWindowIfNeeded): Test if the XP_UNIX is
926         defined instead of using the PLATFORM macro to be consistent
927         (WebCore::PluginView::getValue): Ditto.
928
929 2009-11-09  Kevin Watters  <kevinwatters@gmail.com>
930
931         Reviewed by Darin Adler.
932
933         Thunk to the main thread from ~Database to deref Database's m_document.
934
935         If the Database was the Document's last referrer, then ~Document occurs on the
936         Database thread, and ASSERT(!m_styleRecalcTimer.isActive()) hits a main thread
937         ASSERT in debug builds.
938
939         * storage/Database.cpp:
940         (WebCore::derefDocument):
941         (WebCore::Database::~Database):
942
943 2009-11-09  Mark Mentovai  <mark@chromium.org>
944
945         Reviewed by Dan Bernstein.
946
947         Track "can have scrollbar" state within FrameView independently of the
948         individual scrollbar states in ScrollView.
949
950         rdar://problem/7215132, https://bugs.webkit.org/show_bug.cgi?id=29167
951         REGRESSION (r48064): mint.com loses scrollbars after coming out of
952         edit mode.
953
954         rdar://problem/7314421, https://bugs.webkit.org/show_bug.cgi?id=30517
955         REGRESSION (r48064): Extra scroll bars in GarageBand Lesson Store.
956
957         Test: fast/overflow/scrollbar-restored.html
958
959         * WebCore.base.exp:
960         * page/FrameView.cpp:
961         (WebCore::FrameView::FrameView):
962         (WebCore::FrameView::resetScrollbars):
963         (WebCore::FrameView::setCanHaveScrollbars):
964         (WebCore::FrameView::updateCanHaveScrollbars):
965         (WebCore::FrameView::layout):
966         * page/FrameView.h:
967         * platform/ScrollView.h:
968
969 2009-11-09  Keishi Hattori  <casey.hattori@gmail.com>
970
971         Reviewed by Timothy Hatcher.
972
973         Web Inspector: CSS syntax highlighter doesn't recognize negative numbers
974         https://bugs.webkit.org/show_bug.cgi?id=31257
975
976         * inspector/front-end/SourceFrame.js:
977
978 2009-11-09  Alexander Pavlov  <apavlov@chromium.org>
979
980         Reviewed by Timothy Hatcher.
981
982         Web Inspector: Debugger shortcuts (F8, F10, F11) have no effect if the Console view is open
983         https://bugs.webkit.org/show_bug.cgi?id=31252
984
985         Route F1-F12 keypresses in the Console view to the current panel if there is one.
986
987         Test: manual-tests/inspector/debugger-shortcuts-with-console-opened.html
988
989         * inspector/front-end/ConsoleView.js:
990         (WebInspector.ConsoleView.prototype._promptKeyDown):
991         * inspector/front-end/utilities.js:
992         ():
993         * manual-tests/inspector/debugger-shortcuts-with-console-opened.html: Added.
994
995 2009-11-09  Yael Aharon  <yael.aharon@nokia.com>
996
997         Reviewed by Kenneth Rohde Christiansen.
998
999         [Qt] Pass credentials provided by XMLHTTPRequest to the network request.
1000         https://bugs.webkit.org/show_bug.cgi?id=31208
1001
1002         After r42483, the credentials are no longer passed to the network request
1003         in the URL of the request.
1004         Pass the credentials from XMLHTTPRequest to the network request, the same
1005         way that other ports do.
1006
1007         After this patch LayoutTests/http/xmlhttprequest/basic-auth.html passes.
1008
1009         * platform/network/qt/ResourceHandleQt.cpp:
1010         (WebCore::ResourceHandle::start):
1011         (WebCore::ResourceHandle::loadResourceSynchronously):
1012
1013 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
1014
1015         Unreviewed.
1016
1017         https://bugs.webkit.org/show_bug.cgi?id=31161
1018
1019         Roll back r50657 because it breaks the MAC builds.
1020
1021         * loader/ImageLoader.cpp:
1022         * loader/ProgressTracker.cpp:
1023         * loader/RedirectScheduler.cpp:
1024         * loader/Request.h:
1025         * loader/ThreadableLoaderClient.h:
1026         * loader/WorkerThreadableLoader.h:
1027         * loader/appcache/ApplicationCacheHost.h:
1028         * loader/appcache/ApplicationCacheStorage.h:
1029         * loader/icon/IconDatabaseClient.h:
1030
1031 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
1032
1033         Reviewed by Darin Adler.
1034
1035         Allow custom memory allocation control for the part of loader directory in WebCore
1036         https://bugs.webkit.org/show_bug.cgi?id=31161
1037
1038         Inherits the following classes from Noncopyable because these are instantiated
1039         by 'new' and these are no need to be copyable:
1040
1041         class Request - WebCore/loader/loader.cpp:100
1042         struct ScheduledRedirection - WebCore/loader/RedirectScheduler.cpp:164
1043         class IconDatabaseClient - WebCore/loader/icon/IconDatabase.cpp:89
1044         class ApplicationCacheStorage - WebCore/loader/appcache/ApplicationCacheStorage.cpp:1121
1045         class ApplicationCacheHost -  WebCore/loader/DocumentLoader.cpp:151
1046         class ImageEventSender - WebCore/loader/ImageLoader.cpp:54
1047         struct ProgressItem - WebCore/loader/ProgressTracker.cpp:169
1048
1049         Inherits ThreadableLoaderClient class from Noncopyable because (its child class) 
1050         MainThreadBridge is instantiated by 'new' in 
1051         WebCore/loader/WorkerThreadableLoader.cpp:59 it is no need to be copyable.
1052
1053         ThreadableLoaderClient's inheriting has been changed to public.
1054
1055         * loader/ImageLoader.cpp:
1056         * loader/ProgressTracker.cpp:
1057         * loader/RedirectScheduler.cpp:
1058         * loader/Request.h:
1059         * loader/ThreadableLoaderClient.h:
1060         * loader/WorkerThreadableLoader.h:
1061         * loader/appcache/ApplicationCacheHost.h:
1062         * loader/appcache/ApplicationCacheStorage.h:
1063         * loader/icon/IconDatabaseClient.h:
1064
1065 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
1066
1067         Reviewed by Darin Adler.
1068
1069         Allow custom memory allocation control for WebCore's DocLoader
1070         https://bugs.webkit.org/show_bug.cgi?id=31163
1071
1072         Inherits DocLoader class from Noncopyable because it is
1073         instantiated by 'new' in WebCore/dom/Document.cpp:370 and 
1074         it is no need to be copyable.
1075
1076         * loader/DocLoader.h:
1077
1078 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
1079
1080         Reviewed by Darin Adler.
1081
1082         Allow custom memory allocation control for WebCore's Tokenizer
1083         https://bugs.webkit.org/show_bug.cgi?id=31162
1084
1085         Inherits Tokenizer class from Noncopyable because (its child class)
1086         ImageTokenizer instantiated by 'new' in WebCore/loader/ImageDocument.cpp:178 
1087         and it is no need to be copyable.
1088
1089         * dom/Tokenizer.h:
1090
1091 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
1092
1093         Reviewed by Darin Adler.
1094
1095         Allow custom memory allocation control for WebCore's DeleteButtonController
1096         https://bugs.webkit.org/show_bug.cgi?id=31105
1097
1098         Inherits DeleteButtonController class from Noncopyable because it is 
1099         instantiated by 'new' in WebCore/editing/Editor.cpp:919 and
1100         it is no need to be copyable.  
1101
1102         * editing/DeleteButtonController.h:
1103
1104 2009-11-09  Martin Robinson  <martin.james.robinson@gmail.com>
1105
1106         Reviewed by Jan Alonzo.
1107
1108         [GTK] Expose Page::tabKeyCyclesThroughElements in the API
1109         https://bugs.webkit.org/show_bug.cgi?id=30482
1110
1111         Expose Page::tabKeyCyclesThroughElements as a property of
1112         WebKitWebView.
1113
1114         No new tests; fast/events/keypress-insert-tab.html is no longer skipped.
1115
1116         * platform/gtk/KeyEventGtk.cpp: Correct m_text for tab key presses.
1117         (WebCore::singleCharacterString):
1118
1119 2009-11-09  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
1120
1121         Reviewed by Xan Lopez.
1122
1123         https://bugs.webkit.org/show_bug.cgi?id=25415
1124         [GTK][ATK] Please implement support for get_text_at_offset
1125
1126         Fix a crasher that occurred with text which included newline
1127         chars in the markup.
1128
1129         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1130         (convertUniCharToUTF8):
1131
1132 2009-11-05  Jakub Wieczorek  <faw217@gmail.com>
1133
1134         Reviewed by Holger Freyther.
1135
1136         [Qt] The XML tokenizer reports a parse error twice if it occurs before the document element is found.
1137         https://bugs.webkit.org/show_bug.cgi?id=31144
1138
1139         XMLTokenizer::doEnd() uses an additional logic to report a parse failure in
1140         documents that end prematurely but are not considered invalid by QXmlStream.
1141         This is to stay compatible with the libxml2 implementation.
1142         However, that code path would be also hit in situations when it should not,
1143         i.e. the error would have already been caught and handled. As a result, the
1144         same error would be reported twice.
1145
1146         No new tests, because the problem is already covered by
1147         fast/parser/xml-declaration-missing-ending-mark.html.
1148
1149         * dom/XMLTokenizerQt.cpp:
1150         (WebCore::XMLTokenizer::doEnd):
1151
1152 2009-11-08  Keishi Hattori  <casey.hattori@gmail.com>
1153
1154         Reviewed by Pavel Feldman.
1155
1156         Web Inspector: Inspector should support copy() in the command line
1157         https://bugs.webkit.org/show_bug.cgi?id=31238
1158
1159         * inspector/InspectorBackend.cpp:
1160         (WebCore::InspectorBackend::copyText): Added.
1161         * inspector/InspectorBackend.h: Added copyText
1162         * inspector/InspectorBackend.idl: Added copyText
1163         * inspector/front-end/InjectedScript.js:
1164         (InjectedScript._copy): Added.
1165         (InjectedScript._ensureCommandLineAPIInstalled):
1166
1167 2009-11-08  Drew Wilson  <atwilson@chromium.org>
1168
1169         Reviewed by Dimitri Glazkov.
1170
1171         V8 WorkerContextExecutionProxy does not handle SharedWorkers
1172         https://bugs.webkit.org/show_bug.cgi?id=31226
1173
1174         Now checks to see what type of context is active and creates the
1175         appropriate wrapper (DEDICATEDWORKERCONTEXT vs SHAREDWORKERCONTEXT).
1176
1177         Added support for converting to SharedWorkers and SharedWorkerContexts.
1178
1179         Test: Existing layout tests cover this case (start passing in Chrome).
1180
1181         * bindings/v8/WorkerContextExecutionProxy.cpp:
1182         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
1183         Now generates the right type of DOMWrapper for SharedWorkerContexts.
1184         (WebCore::WorkerContextExecutionProxy::convertToV8Object):
1185         Added support for SHAREDWORKERCONTEXT.
1186         (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
1187         Added support for SharedWorker and SharedWorkerContext.
1188
1189 2009-11-08  Johnny Ding  <johnnyding.webkit@gmail.com>
1190
1191         Reviewed by Dimitri Glazkov.
1192
1193         https://bugs.webkit.org/show_bug.cgi?id=31224
1194         [V8] Return StyleSheet object instead of HTMLStyleElement w/document.styleSheets named property getter.
1195
1196         Test: fast/dom/StyleSheet/get-stylesheet-byname.html
1197
1198         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
1199         (WebCore::NAMED_PROPERTY_GETTER):
1200
1201 2009-11-08  Pavel Feldman  <pfeldman@chromium.org>
1202
1203         Reviewed by Timothy Hatcher.
1204
1205         Web Inspector: "Search again" on scripts panel switches
1206         to the script this search started with.
1207
1208         https://bugs.webkit.org/show_bug.cgi?id=31243
1209
1210         * inspector/front-end/Panel.js:
1211         (WebInspector.Panel.prototype.jumpToNextSearchResult):
1212
1213 2009-11-08  Kent Tamura  <tkent@chromium.org>
1214
1215         Reviewed by Darin Adler.
1216
1217         Simplify Icon interface.
1218         https://bugs.webkit.org/show_bug.cgi?id=31154
1219
1220         - Remove Icon::createIconForFile().  createIconForFiles() covers
1221           createIconForFile()'s role.
1222         - Remove FileChooser::chooseIcon()
1223         - Change the parameter types of FileChooser constructor and the
1224           factory method, String -> const Vector<String>&, in order to
1225           support initialization with multiple files.
1226         - Remove the icon loading code in IconChromiumWin.cpp, which
1227           doesn't work because of the sandbox.
1228
1229         No tests because it's just a refactoring.
1230
1231         * platform/FileChooser.cpp:
1232         (WebCore::FileChooser::FileChooser):
1233         (WebCore::FileChooser::create):
1234         (WebCore::FileChooser::chooseFile):
1235         (WebCore::FileChooser::chooseFiles):
1236         * platform/FileChooser.h:
1237         * platform/graphics/Icon.h:
1238         * platform/graphics/chromium/IconChromiumLinux.cpp:
1239         * platform/graphics/chromium/IconChromiumMac.cpp:
1240         * platform/graphics/chromium/IconChromiumWin.cpp:
1241         (WebCore::Icon::createIconForFiles):
1242         * platform/graphics/gtk/IconGtk.cpp:
1243         (WebCore::Icon::createIconForFiles):
1244         * platform/graphics/haiku/IconHaiku.cpp:
1245         * platform/graphics/mac/IconMac.mm:
1246         (WebCore::Icon::createIconForFiles):
1247         * platform/graphics/qt/IconQt.cpp:
1248         (WebCore::Icon::createIconForFiles):
1249         * platform/graphics/win/IconWin.cpp:
1250         (WebCore::Icon::createIconForFiles):
1251         * platform/graphics/wx/IconWx.cpp:
1252         * rendering/RenderFileUploadControl.cpp:
1253         (WebCore::RenderFileUploadControl::RenderFileUploadControl):
1254
1255 2009-11-08  Daniel Bates  <dbates@webkit.org>
1256
1257         Reviewed by Adam Barth.
1258
1259         https://bugs.webkit.org/show_bug.cgi?id=31098
1260
1261         Allows same-origin plugin-based content to load.
1262
1263         Test: http/tests/security/xssAuditor/object-src-inject.html
1264
1265         * page/XSSAuditor.cpp:
1266         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): Modified to call XSSAuditor::isSameOriginResource.
1267         (WebCore::XSSAuditor::canLoadObject): Ditto.
1268         (WebCore::XSSAuditor::canSetBaseElementURL): Ditto. 
1269         (WebCore::XSSAuditor::isSameOriginResource): Added.
1270         * page/XSSAuditor.h:
1271
1272 2009-11-08  David Levin  <levin@chromium.org>
1273
1274         Reviewed by NOBODY (chromium build fix).
1275
1276         * platform/network/HTTPParsers.cpp:
1277         (WebCore::parseDate): Changed this to not
1278         use a date parser that needs ExecState passed.
1279         
1280 2009-11-08  David Levin  <levin@chromium.org>
1281
1282         Unreviewed build fix for chromium.
1283
1284         * platform/graphics/skia/GraphicsContextSkia.cpp:
1285         (WebCore::GraphicsContext::fillPath):
1286         (WebCore::GraphicsContext::fillRect):
1287         (WebCore::GraphicsContext::strokePath):
1288         (WebCore::GraphicsContext::strokeRect):
1289
1290 2009-11-08  David Levin  <levin@chromium.org>
1291
1292         Unreviewed build fix for chromium.
1293
1294         Build fix for https://bugs.webkit.org/show_bug.cgi?id=31219
1295         Clean up GraphicsContext's current concept of ColorSpace
1296
1297         * platform/graphics/skia/GraphicsContextSkia.cpp:
1298         (WebCore::GraphicsContext::fillPath):
1299         (WebCore::GraphicsContext::fillRect):
1300         (WebCore::GraphicsContext::strokePath):
1301         (WebCore::GraphicsContext::strokeRect):
1302
1303 2009-11-08  Pavel Feldman  <pfeldman@chromium.org>
1304
1305         Reviewed by Timothy Hatcher.
1306
1307         Web Inspector: [REGRESSION] committing style edit
1308         clears elements panel selection.
1309
1310         https://bugs.webkit.org/show_bug.cgi?id=31242
1311
1312         * inspector/front-end/ElementsTreeOutline.js:
1313         (WebInspector.ElementsTreeOutline.prototype.update):
1314         * inspector/front-end/StylesSidebarPane.js:
1315         (WebInspector.StylePropertyTreeElement.prototype.):
1316         (WebInspector.StylePropertyTreeElement.prototype):
1317
1318 2009-11-08  Janne Koskinen  <janne.p.koskinen@digia.com>
1319
1320         Reviewed by Holger Freyther.
1321
1322         ResourceRequest to be class instead of struct
1323         https://bugs.webkit.org/show_bug.cgi?id=30670
1324
1325         Started as a compilation fix for Symbian where the compiler makes a distinction between
1326         class and struct in function argument signatures.
1327         Changed all forward declarations of ResourceRequest to have class in the forward
1328         declaration instead of struct and changed the definition of ResourceRequest to be class
1329         and added access qualifiers where missing. Additionally two references of friend
1330         struct ResourceRequestBase changed to class instead.
1331
1332         * history/HistoryItem.h:
1333         * inspector/InspectorController.h:
1334         * inspector/InspectorResource.h:
1335         * loader/DocumentThreadableLoader.h:
1336         * loader/FrameLoaderClient.h:
1337         * loader/MainResourceLoader.h:
1338         * loader/ResourceLoadNotifier.h:
1339         * loader/SubresourceLoader.h:
1340         * loader/SubresourceLoaderClient.h:
1341         * loader/ThreadableLoader.h:
1342         * loader/WorkerThreadableLoader.h:
1343         * loader/appcache/ApplicationCache.h:
1344         * loader/appcache/ApplicationCacheHost.h:
1345         * platform/CrossThreadCopier.h:
1346         * platform/network/ResourceHandle.h:
1347         * platform/network/ResourceHandleClient.h:
1348         * platform/network/ResourceRequestBase.h:
1349         * platform/network/cf/ResourceRequest.h:
1350         * platform/network/cf/ResourceRequestCFNet.h:
1351         * platform/network/chromium/ResourceRequest.h:
1352         * platform/network/curl/ResourceRequest.h:
1353         * platform/network/qt/ResourceRequest.h:
1354         * platform/network/soup/ResourceRequest.h:
1355         * xml/XMLHttpRequest.h:
1356
1357 2009-11-08  Dan Bernstein  <mitz@apple.com>
1358
1359         Reviewed by Simon Fraser.
1360
1361         <rdar://problem/7363434> Crash inside RenderObject::localToAbsolute
1362         below FrameView::layout
1363         https://bugs.webkit.org/show_bug.cgi?id=31093
1364
1365         Test: fast/block/positioning/relative-positioned-inline-container.html
1366
1367         In <http://trac.webkit.org/changeset/19148>, setStaticY() was changed
1368         to mark the object for layout, doing so without marking its ancestors.
1369         However, RenderBlock::skipLeadingWhitespace and
1370         RenderBlock::skipTrailingWhitespace() call setStaticY() on a relative-
1371         positioned inline container, causing it to be marked for layout without
1372         ever going back to give it layout, and thus layout could end with a
1373         dirty object still in the tree, leading to all sorts of badness.
1374
1375         The fix is to revert setStaticY() to not marking the object dirty, and
1376         instead do it in the call sites that require it, which are in
1377         RenderBlock and RenderFlexibleBox.
1378
1379         * rendering/RenderBlock.cpp:
1380         (WebCore::RenderBlock::adjustPositionedBlock):
1381         * rendering/RenderFlexibleBox.cpp:
1382         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
1383         (WebCore::RenderFlexibleBox::layoutVerticalBox):
1384         * rendering/RenderLayer.cpp:
1385         * rendering/RenderLayer.h:
1386         (WebCore::RenderLayer::setStaticY):
1387
1388 2009-11-07  Daniel Bates  <dbates@webkit.org>
1389
1390         Reviewed by Darin Adler.
1391
1392         https://bugs.webkit.org/show_bug.cgi?id=20780
1393         
1394         Fixes an issue where the onchange event handler is not fired when the 
1395         input field is autocompleted.
1396         
1397         We cannot test this using DRT since DRT cannot emulate autocompletion.
1398         So, a manual-test is included.
1399
1400         Tests: manual-tests/autocompletion-fire-onchange.html
1401
1402         * manual-tests/autocompletion-fire-onchange.html: Added.
1403         * rendering/RenderTextControl.cpp:
1404         (WebCore::RenderTextControl::setInnerTextValue):
1405
1406 2009-11-07  Benjamin Otte  <otte@gnome.org>
1407
1408         Reviewed by Holger Freyther.
1409
1410         Mark redrawn areas on image surfaces as dirty.
1411
1412         This is required to conform to the Cairo API, but is currently only
1413         used by debugging tools like cairo-trace.
1414
1415         * platform/graphics/cairo/ImageBufferCairo.cpp:
1416         (WebCore::ImageBuffer::platformTransformColorSpace):
1417         (WebCore::putImageData):
1418
1419 2009-11-07  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
1420
1421         Reviewed by Xan Lopez.
1422
1423         https://bugs.webkit.org/show_bug.cgi?id=30878
1424         [Gtk] atk_text_get_text() fails in entries when the end_offset is -1
1425
1426         If the end_offset is -1, use the String length as the end_offset.
1427
1428         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1429         (webkit_accessible_text_get_text):
1430
1431 2009-11-06  Beth Dakin  <bdakin@apple.com>
1432
1433         Reviewed by Adele Peterson.
1434
1435         Fix for https://bugs.webkit.org/show_bug.cgi?id=31219 Clean up 
1436         GraphicsContext's current concept of ColorSpace
1437
1438         ColorSpace is now called ColorType. The variables on the state we 
1439         appropriately re-named as well. I removed strokeColorSpace() and 
1440         fillColorSpace() from GraphicsContext since they were never called. 
1441
1442         * platform/graphics/GraphicsContext.cpp:
1443         (WebCore::GraphicsContext::setStrokeColor):
1444         (WebCore::GraphicsContext::setFillColor):
1445         (WebCore::GraphicsContext::setStrokePattern):
1446         (WebCore::GraphicsContext::setFillPattern):
1447         (WebCore::GraphicsContext::setStrokeGradient):
1448         (WebCore::GraphicsContext::setFillGradient):
1449         * platform/graphics/GraphicsContext.h:
1450         (WebCore::):
1451         * platform/graphics/GraphicsContextPrivate.h:
1452         (WebCore::GraphicsContextState::GraphicsContextState):
1453         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1454         (WebCore::GraphicsContext::fillPath):
1455         (WebCore::GraphicsContext::strokePath):
1456         * platform/graphics/cg/GraphicsContextCG.cpp:
1457         (WebCore::calculateDrawingMode):
1458         (WebCore::GraphicsContext::drawPath):
1459         (WebCore::GraphicsContext::fillPath):
1460         (WebCore::GraphicsContext::strokePath):
1461         (WebCore::GraphicsContext::fillRect):
1462         (WebCore::GraphicsContext::strokeRect):
1463         * platform/graphics/qt/GraphicsContextQt.cpp:
1464         (WebCore::GraphicsContext::fillPath):
1465         (WebCore::GraphicsContext::strokePath):
1466         (WebCore::GraphicsContext::fillRect):
1467         * platform/graphics/wince/GraphicsContextWince.cpp:
1468         (WebCore::GraphicsContext::fillPath):
1469         (WebCore::GraphicsContext::fillRect):
1470
1471 2009-11-06  Brian Weinstein  <bweinstein@apple.com>
1472
1473         Reviewed by Tim Hatcher.
1474
1475         Fixes <http://webkit.org/b/31177>.
1476         Web Inspector: Bind backspace to delete cookies and DOM Storage.
1477         
1478         Refactor editing code from DOMStorageDataGrid to DataGrid, so other
1479         places in the inspector can use editing in DataGrid (added a FIXME for
1480         some stuff that needs to be generalized).
1481         
1482         Also added deleting functionality to DataGrid, and implemented it for
1483         Cookies and DOM Storage. The reason this patch is so big is because of
1484         the refactoring of editing code, which won't be used yet in a cross-datagrid
1485         way, but should be able to.
1486         
1487         Additionally, moved the callbacks members from DOMStorageDataGrid to
1488         DOMStorageItemsView, which allowed us to delete DOMStorageDataGrid, to 
1489         make the architecture of DOM Storage look a lot more like the Cookies view.
1490         
1491         Lastly, added a preventDefault call in ElementsTreeOutline to prevent the 
1492         inspector from beeping at you when you delete an element.
1493
1494         * WebCore.gypi: Removed DOMStorageDataGrid.
1495         * WebCore.vcproj/WebCore.vcproj: Removed DOMStorageDataGrid.
1496         * inspector/front-end/CookieItemsView.js:
1497         (WebInspector.CookieItemsView.prototype.dataGridForCookies):
1498         (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
1499         (WebInspector.CookieItemsView.prototype._deleteCookieCallback):
1500         * inspector/front-end/DOMStorageDataGrid.js: Removed.
1501         * inspector/front-end/DOMStorageItemsView.js:
1502         (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
1503         (WebInspector.DOMStorageItemsView.prototype._deleteButtonClicked):
1504         (WebInspector.DOMStorageItemsView.prototype._refreshButtonClicked):
1505         (WebInspector.DOMStorageItemsView.prototype._editingCallback):
1506         (WebInspector.DOMStorageItemsView.prototype.deleteSelectedRow):
1507         (WebInspector.DOMStorageItemsView.prototype._deleteCallback):
1508         * inspector/front-end/DataGrid.js:
1509         (WebInspector.DataGrid):
1510         (WebInspector.DataGrid.prototype._ondblclick): Moved from DOMStorageDataGrid to DataGrid + Refactoring.
1511         (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode): Ditto.
1512         (WebInspector.DataGrid.prototype._startEditing): Ditto.
1513         (WebInspector.DataGrid.prototype._editingCommitted.moveToNextIfNeeded): Ditto.
1514         (WebInspector.DataGrid.prototype._editingCommitted): Ditto.
1515         (WebInspector.DataGrid.prototype._editingCancelled): Ditto.
1516         (WebInspector.DataGrid.prototype.handleKeyEvent): Added case for delete/backspace.
1517         * inspector/front-end/ElementsTreeOutline.js:
1518         (WebInspector.ElementsTreeOutline.prototype.handleKeyEvent): Added preventDefault call.
1519         * inspector/front-end/WebKit.qrc: Removed DOMStorageDataGrid.
1520         * inspector/front-end/inspector.html: Removed DOMStorageDataGrid.
1521
1522 2009-11-06  Geoffrey Garen  <ggaren@apple.com>
1523
1524         Qt build fix: added an ExecState parameter.
1525
1526         * bridge/qt/qt_runtime.cpp:
1527         (JSC::Bindings::convertValueToQVariant):
1528         (JSC::Bindings::convertQVariantToValue):
1529
1530 2009-11-06  Geoffrey Garen  <ggaren@apple.com>
1531
1532         https://bugs.webkit.org/show_bug.cgi?id=31197
1533         Implemented a timezone cache not based on Mac OS X's notify_check API.
1534
1535         Updated for JavaScriptCore internal API change.
1536
1537         * bridge/qt/qt_runtime.cpp:
1538         (JSC::Bindings::convertValueToQVariant):
1539         (JSC::Bindings::convertQVariantToValue): Updated for namespace change.
1540
1541         * platform/network/HTTPParsers.cpp:
1542         (WebCore::parseDate): Pass 0 for ExecState, since we don't have one.
1543         (This function probably shouldn't be using a JavaScript date parser
1544         to begin with, but oh well.)
1545
1546 2009-11-06  Anantanarayanan G Iyengar  <ananta@chromium.org>
1547
1548         Reviewed by Adam Barth.
1549
1550         The associated webkit bug is https://bugs.webkit.org/show_bug.cgi?id=31067,
1551         which affects Chromium only.
1552         
1553         Changes to V8HTMLDocumentCustom.cpp are as below:-
1554         1. The HTMLDocumentOpen function would cause a crash in Chromium if
1555            there was no calling javascript context. We now check for this case
1556            and pass in NULL to the HTMLDocument::open function which can handle
1557            a NULL document parameter.
1558         2. The other functions like HTMLDocumentWrite, HTMLDocumentWriteln, etc
1559            had ASSERTS for a NULL caller frame, which was bogus as it would crash
1560            anyway. We now check for this case and return a failure.
1561            
1562         Changes to V8DOMWindowCustom.cpp are as below:-
1563         1. Instead of failing the window.open call made by NPAPI for lack of a
1564            calling javascript context, we now use the entered context as the calling
1565            context.
1566
1567         Tests: plugins/document-open.html
1568                plugins/window-open.html
1569
1570         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1571         (WebCore::CALLBACK_FUNC_DECL):
1572         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1573         (WebCore::CALLBACK_FUNC_DECL):
1574
1575 2009-11-06  Steve Block  <steveblock@google.com>
1576
1577         Reviewed by Eric Seidel.
1578
1579         Geolocation error code UNKNOWN_ERROR is deprecated.
1580         https://bugs.webkit.org/show_bug.cgi?id=31184
1581
1582         Remove this error code from PositionError, both for use from C++ code and from the JS object.
1583
1584         Updated fast/dom/Geolocation/error.html to test this.
1585
1586         * page/PositionError.h: Modified.
1587         (WebCore::PositionError::): Remove ErrorCode::UNKNOWN_ERROR.
1588         * page/PositionError.idl: Modified. Remove UNKNOWN_ERROR constant.
1589         * page/Geolocation.cpp: Modified.
1590         (WebCore::Geolocation::startRequest): Replace UNKNOWN_ERROR with POSITION_UNAVAILABLE.
1591         * platform/gtk/GeolocationServiceGtk.cpp: Modified.
1592         (WebCore::GeolocationServiceGtk::startUpdating): Replace UNKNOWN_ERROR with POSITION_UNAVAILABLE.
1593
1594 2009-11-06  Dirk Schulze  <krit@webkit.org>
1595
1596         Reviewed by Nikolas Zimmermann.
1597
1598         feMorphology filter is not implemented
1599         [https://bugs.webkit.org/show_bug.cgi?id=5863]
1600
1601         The Implementation of feMorphology.
1602         
1603         Test: We have allready a test for feMorphology
1604               svg/W3C-SVG-1.1/filters-morph-01-f.svg
1605
1606         * svg/graphics/filters/SVGFEMorphology.cpp:
1607         (WebCore::FEMorphology::apply):
1608
1609 2009-11-06  Steve Block  <steveblock@google.com>
1610
1611         Reviewed by Eric Seidel.
1612
1613         V8DOMWindowCustom.cpp is missing WEB_SOCKETS guard on include.
1614         https://bugs.webkit.org/show_bug.cgi?id=31209
1615
1616         Build fix only. No new tests possible.
1617
1618         * bindings/v8/custom/V8DOMWindowCustom.cpp: Modified. Added WEB_SOCKETS guard on inclue of WebSockets.h.
1619
1620 2009-11-06  Drew Wilson  <atwilson@chromium.org>
1621
1622         Reviewed by David Levin.
1623
1624         V8 bindings do not support SharedWorkers as event targets
1625         https://bugs.webkit.org/show_bug.cgi?id=31199
1626
1627         No new tests because existing layout tests suffice (they currently
1628         crash on Chromium)
1629
1630         * bindings/v8/V8DOMWrapper.cpp:
1631         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
1632         Added clause to create a DOM wrapper for SharedWorkers.
1633
1634 2009-11-06  Anton Muhin  <antonm@chromium.org>
1635
1636         Reviewed by Adam Barth.
1637
1638         Do not unnecessarly synchronzie in weak reference callbacks.
1639         https://bugs.webkit.org/show_bug.cgi?id=31191
1640
1641         * bindings/v8/DOMData.h:
1642         (WebCore::DOMData::handleWeakObject):
1643
1644 2009-11-06  Alexander Pavlov  <apavlov@chromium.org>
1645
1646         Reviewed by Pavel Feldman.
1647
1648         Fix resource content search.
1649         https://bugs.webkit.org/show_bug.cgi?id=31202
1650
1651         * inspector/front-end/AbstractTimelinePanel.js:
1652         (WebInspector.AbstractTimelinePanel.prototype.refresh):
1653         (WebInspector.AbstractTimelinePanel.prototype.removeItem):
1654         * inspector/front-end/TimelinePanel.js:
1655         (WebInspector.TimelineGraph.prototype.refresh):
1656
1657 2009-11-05  Yuta Kitamura  <yutak@chromium.org>
1658
1659         Reviewed by Eric Seidel.
1660
1661         Fix ASSERT(currentStyle = renderStyle()).
1662         https://bugs.webkit.org/show_bug.cgi?id=31152
1663
1664         * dom/Element.cpp:
1665         (WebCore::Element::pseudoStyleCacheIsInvalid): We should have used "==" instead of "=".
1666
1667 2009-11-05  Alpha Lam  <hclam@chromium.org>
1668
1669         Revert 50562 because it broke Chromium. Not reviewed since this is a build fix and revert.
1670
1671         * bindings/v8/V8GCController.cpp:
1672         (WebCore::V8GCController::gcEpilogue):
1673         * bindings/v8/V8GCController.h:
1674         * bindings/v8/V8Proxy.cpp:
1675         (WebCore::V8Proxy::evaluate):
1676         (WebCore::V8Proxy::runScript):
1677         (WebCore::V8Proxy::callFunction):
1678
1679 2009-11-05  Adam Barth  <abarth@webkit.org>
1680
1681         Reviewed by Sam Weinig.
1682
1683         Cross-domain access to stylesheet text should not be allowed
1684         https://bugs.webkit.org/show_bug.cgi?id=20527
1685
1686         Check whether whether the current document can read the cssRules from
1687         the style sheet.  Firefox throws a security error here, but we return
1688         null instead because that's what we usually do in these cases.
1689
1690         Test: http/tests/security/cannot-read-cssrules-redirect.html
1691               http/tests/security/cannot-read-cssrules.html
1692
1693         * css/CSSStyleSheet.cpp:
1694         (WebCore::CSSStyleSheet::cssRules):
1695
1696 2009-11-05  Steve Block  <steveblock@google.com>
1697
1698         Reviewed by Eric Seidel.
1699
1700         If the Geolocation service fails to start, invoke the error callback asynchronously.
1701         https://bugs.webkit.org/show_bug.cgi?id=28276
1702
1703         All Geolocation callbacks must be invoked asynchronously.
1704         See http://www.w3.org/TR/geolocation-API/#geolocation_interface
1705
1706         No new tests possible with current LayoutTestController.
1707
1708         * page/Geolocation.cpp:
1709         (WebCore::Geolocation::getCurrentPosition): Modified. Asserts that startRequest returned a notifier.
1710         (WebCore::Geolocation::watchPosition): Modified. Asserts that startRequest returned a notifier.
1711         (WebCore::Geolocation::startRequest): Modified. If the Geolocation service fails to start, set a fatal error on the notifier.
1712
1713 2009-11-05  Chris Jerdonek  <chris.jerdonek@gmail.com>
1714
1715         Reviewed by Eric Seidel.
1716
1717         Removed the "this is part of the KDE project" comments from 
1718         all *.h, *.cpp, *.idl, and *.pm files.
1719         
1720         https://bugs.webkit.org/show_bug.cgi?id=31167
1721         
1722         The maintenance and architecture page in the project wiki lists
1723         this as a task.
1724         
1725         This change includes no changes or additions to test cases 
1726         since the change affects only comments.
1727
1728         * bindings/scripts/CodeGeneratorV8.pm:
1729         * bindings/scripts/IDLParser.pm:
1730         * bindings/scripts/IDLStructure.pm:
1731         * css/CSSInheritedValue.cpp:
1732         * css/CSSInitialValue.cpp:
1733         * css/CSSMediaRule.cpp:
1734         * css/CSSNamespace.h:
1735         * css/CSSProperty.cpp:
1736         * css/CSSProperty.h:
1737         * css/CSSRuleList.cpp:
1738         * css/CSSRuleList.h:
1739         * css/CSSSelector.h:
1740         * css/CSSValueList.cpp:
1741         * css/FontValue.cpp:
1742         * css/MediaFeatureNames.cpp:
1743         * css/MediaFeatureNames.h:
1744         * css/Pair.h:
1745         * css/SVGCSSStyleSelector.cpp:
1746         * css/ShadowValue.cpp:
1747         * css/StyleSheet.cpp:
1748         * css/StyleSheetList.cpp:
1749         * css/maketokenizer:
1750         * dom/BeforeUnloadEvent.cpp:
1751         * dom/BeforeUnloadEvent.h:
1752         * dom/CSSMappedAttributeDeclaration.cpp:
1753         * dom/EventNames.cpp:
1754         * dom/EventTarget.cpp:
1755         * dom/MappedAttributeEntry.h:
1756         * dom/MouseRelatedEvent.h:
1757         * dom/RangeException.h:
1758         * dom/StyleElement.h:
1759         * dom/Tokenizer.h:
1760         * html/HTMLHeadElement.h:
1761         * html/HTMLHeadingElement.cpp:
1762         * html/HTMLHeadingElement.h:
1763         * html/HTMLHtmlElement.h:
1764         * html/HTMLImageLoader.h:
1765         * html/HTMLMetaElement.h:
1766         * html/HTMLModElement.cpp:
1767         * html/HTMLModElement.h:
1768         * html/HTMLOptionsCollection.cpp:
1769         * html/HTMLPlugInElement.cpp:
1770         * html/HTMLPreElement.cpp:
1771         * html/HTMLPreElement.h:
1772         * html/HTMLTableCellElement.cpp:
1773         * html/HTMLTableCellElement.h:
1774         * html/HTMLTableColElement.cpp:
1775         * html/HTMLTableColElement.h:
1776         * html/HTMLTablePartElement.cpp:
1777         * html/HTMLTablePartElement.h:
1778         * html/HTMLTitleElement.h:
1779         * page/MouseEventWithHitTestResults.h:
1780         * platform/StaticConstructors.h:
1781         * platform/text/AtomicStringImpl.h:
1782         * platform/text/qt/TextBreakIteratorQt.cpp:
1783         * rendering/AutoTableLayout.h:
1784         * rendering/CounterNode.cpp:
1785         * rendering/EllipsisBox.cpp:
1786         * rendering/EllipsisBox.h:
1787         * rendering/FixedTableLayout.cpp:
1788         * rendering/FixedTableLayout.h:
1789         * rendering/HitTestRequest.h:
1790         * rendering/HitTestResult.h:
1791         * rendering/InlineRunBox.h:
1792         * rendering/PointerEventsHitRules.cpp:
1793         * rendering/PointerEventsHitRules.h:
1794         * rendering/RenderBR.cpp:
1795         * rendering/RenderBR.h:
1796         * rendering/RenderButton.cpp:
1797         * rendering/RenderButton.h:
1798         * rendering/RenderFieldset.cpp:
1799         * rendering/RenderFrameSet.cpp:
1800         * rendering/RenderListItem.cpp:
1801         * rendering/RenderTableRow.cpp:
1802         * rendering/RenderView.h:
1803         * rendering/RootInlineBox.h:
1804         * rendering/SVGInlineTextBox.cpp:
1805         * rendering/SVGInlineTextBox.h:
1806         * rendering/TableLayout.h:
1807         * rendering/break_lines.h:
1808         * rendering/style/SVGRenderStyle.cpp:
1809         * rendering/style/SVGRenderStyle.h:
1810         * rendering/style/SVGRenderStyleDefs.cpp:
1811         * rendering/style/SVGRenderStyleDefs.h:
1812         * svg/GradientAttributes.h:
1813         * svg/LinearGradientAttributes.h:
1814         * svg/PatternAttributes.h:
1815         * svg/RadialGradientAttributes.h:
1816         * svg/SVGAElement.cpp:
1817         * svg/SVGAngle.idl:
1818         * svg/SVGAnimateColorElement.cpp:
1819         * svg/SVGAnimateColorElement.h:
1820         * svg/SVGAnimateElement.cpp:
1821         * svg/SVGAnimateElement.h:
1822         * svg/SVGAnimateTransformElement.h:
1823         * svg/SVGAnimatedPathData.cpp:
1824         * svg/SVGAnimatedPathData.h:
1825         * svg/SVGAnimatedPoints.cpp:
1826         * svg/SVGAnimatedPoints.h:
1827         * svg/SVGAnimationElement.cpp:
1828         * svg/SVGCircleElement.cpp:
1829         * svg/SVGClipPathElement.cpp:
1830         * svg/SVGColor.cpp:
1831         * svg/SVGColor.idl:
1832         * svg/SVGComponentTransferFunctionElement.cpp:
1833         * svg/SVGComponentTransferFunctionElement.h:
1834         * svg/SVGCursorElement.cpp:
1835         * svg/SVGDefsElement.cpp:
1836         * svg/SVGDescElement.cpp:
1837         * svg/SVGDescElement.h:
1838         * svg/SVGDocument.idl:
1839         * svg/SVGElement.idl:
1840         * svg/SVGElementInstanceList.cpp:
1841         * svg/SVGElementInstanceList.h:
1842         * svg/SVGEllipseElement.cpp:
1843         * svg/SVGExternalResourcesRequired.cpp:
1844         * svg/SVGFEBlendElement.cpp:
1845         * svg/SVGFEBlendElement.h:
1846         * svg/SVGFEColorMatrixElement.cpp:
1847         * svg/SVGFEColorMatrixElement.h:
1848         * svg/SVGFEComponentTransferElement.cpp:
1849         * svg/SVGFEComponentTransferElement.h:
1850         * svg/SVGFECompositeElement.cpp:
1851         * svg/SVGFECompositeElement.h:
1852         * svg/SVGFEFloodElement.cpp:
1853         * svg/SVGFEFloodElement.h:
1854         * svg/SVGFEFuncAElement.cpp:
1855         * svg/SVGFEFuncAElement.h:
1856         * svg/SVGFEFuncBElement.cpp:
1857         * svg/SVGFEFuncBElement.h:
1858         * svg/SVGFEFuncGElement.cpp:
1859         * svg/SVGFEFuncGElement.h:
1860         * svg/SVGFEFuncRElement.cpp:
1861         * svg/SVGFEFuncRElement.h:
1862         * svg/SVGFEGaussianBlurElement.cpp:
1863         * svg/SVGFEGaussianBlurElement.h:
1864         * svg/SVGFEImageElement.cpp:
1865         * svg/SVGFEMergeElement.cpp:
1866         * svg/SVGFEMergeElement.h:
1867         * svg/SVGFEMergeNodeElement.cpp:
1868         * svg/SVGFEOffsetElement.cpp:
1869         * svg/SVGFEOffsetElement.h:
1870         * svg/SVGFETileElement.cpp:
1871         * svg/SVGFETileElement.h:
1872         * svg/SVGFETurbulenceElement.cpp:
1873         * svg/SVGFETurbulenceElement.h:
1874         * svg/SVGFilterElement.cpp:
1875         * svg/SVGGElement.cpp:
1876         * svg/SVGGradientElement.cpp:
1877         * svg/SVGHKernElement.idl:
1878         * svg/SVGLangSpace.cpp:
1879         * svg/SVGLangSpace.h:
1880         * svg/SVGLength.cpp:
1881         * svg/SVGLength.h:
1882         * svg/SVGLength.idl:
1883         * svg/SVGLengthList.cpp:
1884         * svg/SVGLengthList.h:
1885         * svg/SVGLineElement.cpp:
1886         * svg/SVGLinearGradientElement.h:
1887         * svg/SVGList.h:
1888         * svg/SVGListTraits.h:
1889         * svg/SVGLocatable.h:
1890         * svg/SVGMaskElement.cpp:
1891         * svg/SVGMatrix.idl:
1892         * svg/SVGMetadataElement.cpp:
1893         * svg/SVGMetadataElement.h:
1894         * svg/SVGMetadataElement.idl:
1895         * svg/SVGNumber.idl:
1896         * svg/SVGNumberList.cpp:
1897         * svg/SVGNumberList.h:
1898         * svg/SVGPaint.cpp:
1899         * svg/SVGPathElement.cpp:
1900         * svg/SVGPathSeg.h:
1901         * svg/SVGPathSegArc.cpp:
1902         * svg/SVGPathSegArc.h:
1903         * svg/SVGPathSegClosePath.cpp:
1904         * svg/SVGPathSegClosePath.h:
1905         * svg/SVGPathSegCurvetoCubic.cpp:
1906         * svg/SVGPathSegCurvetoCubic.h:
1907         * svg/SVGPathSegCurvetoCubicSmooth.cpp:
1908         * svg/SVGPathSegCurvetoCubicSmooth.h:
1909         * svg/SVGPathSegCurvetoQuadratic.cpp:
1910         * svg/SVGPathSegCurvetoQuadratic.h:
1911         * svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
1912         * svg/SVGPathSegCurvetoQuadraticSmooth.h:
1913         * svg/SVGPathSegLineto.cpp:
1914         * svg/SVGPathSegLineto.h:
1915         * svg/SVGPathSegLinetoHorizontal.cpp:
1916         * svg/SVGPathSegLinetoHorizontal.h:
1917         * svg/SVGPathSegLinetoVertical.cpp:
1918         * svg/SVGPathSegLinetoVertical.h:
1919         * svg/SVGPathSegMoveto.cpp:
1920         * svg/SVGPathSegMoveto.h:
1921         * svg/SVGPatternElement.cpp:
1922         * svg/SVGPoint.idl:
1923         * svg/SVGPointList.cpp:
1924         * svg/SVGPointList.h:
1925         * svg/SVGPolyElement.cpp:
1926         * svg/SVGPolygonElement.cpp:
1927         * svg/SVGPolygonElement.h:
1928         * svg/SVGPolylineElement.cpp:
1929         * svg/SVGPolylineElement.h:
1930         * svg/SVGPreserveAspectRatio.cpp:
1931         * svg/SVGPreserveAspectRatio.h:
1932         * svg/SVGRadialGradientElement.h:
1933         * svg/SVGRect.idl:
1934         * svg/SVGRectElement.cpp:
1935         * svg/SVGRenderingIntent.h:
1936         * svg/SVGSVGElement.idl:
1937         * svg/SVGScriptElement.cpp:
1938         * svg/SVGSetElement.cpp:
1939         * svg/SVGSetElement.h:
1940         * svg/SVGStopElement.cpp:
1941         * svg/SVGStringList.cpp:
1942         * svg/SVGStringList.h:
1943         * svg/SVGStylable.cpp:
1944         * svg/SVGStylable.h:
1945         * svg/SVGStyleElement.cpp:
1946         * svg/SVGStyleElement.h:
1947         * svg/SVGStyledElement.h:
1948         * svg/SVGStyledLocatableElement.cpp:
1949         * svg/SVGStyledLocatableElement.h:
1950         * svg/SVGStyledTransformableElement.cpp:
1951         * svg/SVGStyledTransformableElement.h:
1952         * svg/SVGSwitchElement.cpp:
1953         * svg/SVGSymbolElement.cpp:
1954         * svg/SVGTRefElement.cpp:
1955         * svg/SVGTSpanElement.cpp:
1956         * svg/SVGTSpanElement.h:
1957         * svg/SVGTests.h:
1958         * svg/SVGTextElement.cpp:
1959         * svg/SVGTextElement.h:
1960         * svg/SVGTextPathElement.cpp:
1961         * svg/SVGTextPositioningElement.cpp:
1962         * svg/SVGTextPositioningElement.h:
1963         * svg/SVGTitleElement.cpp:
1964         * svg/SVGTitleElement.h:
1965         * svg/SVGTransform.cpp:
1966         * svg/SVGTransform.h:
1967         * svg/SVGTransform.idl:
1968         * svg/SVGTransformList.cpp:
1969         * svg/SVGTransformList.h:
1970         * svg/SVGTransformable.h:
1971         * svg/SVGURIReference.h:
1972         * svg/SVGUnitTypes.h:
1973         * svg/SVGUseElement.cpp:
1974         * svg/SVGViewElement.cpp:
1975         * svg/SVGZoomAndPan.cpp:
1976         * svg/SVGZoomAndPan.h:
1977         * svg/SVGZoomEvent.cpp:
1978
1979 2009-11-05  Jeremy Orlow  <jorlow@chromium.org>
1980
1981         Reviewed by Dimitri Glazkov.
1982
1983         REGRESSION Clean up security origin usage in DOM Storage.
1984         https://bugs.webkit.org/show_bug.cgi?id=31188
1985
1986         Clean up security origin usage in DOM Storage.  This fixes a bug in my
1987         refactoring here: https://bugs.webkit.org/show_bug.cgi?id=31149
1988
1989         Instead of having StorageAreaSync's constructor (which is called in the
1990         constructor for StorageAreaImpl) calling a method on StoargeAreaImpl to get the
1991         database identifier, simply have StorageAreaImpl pass the identifier into
1992         StorageAreaSync.
1993
1994         No test because there's no change in externally observable behavior.
1995
1996         * storage/StorageAreaImpl.cpp:
1997         (WebCore::StorageAreaImpl::StorageAreaImpl):
1998         * storage/StorageAreaImpl.h:
1999         * storage/StorageAreaSync.cpp:
2000         (WebCore::StorageAreaSync::create):
2001         (WebCore::StorageAreaSync::StorageAreaSync):
2002         * storage/StorageAreaSync.h:
2003
2004 2009-11-05  Scott Violet  <sky@google.com>
2005
2006         Reviewed by Dimitri Glazkov.
2007
2008         Need notification of scrolling frame
2009         https://bugs.webkit.org/show_bug.cgi?id=31145
2010
2011         Adds FrameLoaderClient::didChangeScrollOffset that is called when
2012         the frame scrolls. This will be used to know when history state
2013         needs to be updated.
2014
2015         * loader/FrameLoaderClient.h:
2016         (WebCore::FrameLoaderClient::didChangeScrollOffset):
2017         * page/FrameView.cpp:
2018         (WebCore::FrameView::valueChanged):
2019
2020 2009-11-05  Kenneth Russell  <kbr@google.com>
2021
2022         Reviewed by Dimitri Glazkov.
2023
2024         [V8] Update bindings to use new API for external arrays
2025         https://bugs.webkit.org/show_bug.cgi?id=31181
2026
2027         No new tests; covered by existing WebGL tests.
2028
2029         * bindings/v8/V8DOMWrapper.cpp:
2030         (WebCore::V8DOMWrapper::setIndexedPropertiesToExternalArray):
2031         (WebCore::V8DOMWrapper::getTemplate):
2032         (WebCore::V8DOMWrapper::convertToV8Object):
2033         * bindings/v8/V8DOMWrapper.h:
2034         * bindings/v8/custom/V8CanvasArrayCustom.h:
2035         (WebCore::constructCanvasArray):
2036
2037 2009-11-05  Alpha Lam  <hclam@chromium.org>
2038
2039         Not reviewed, Chromium build fix.
2040
2041         50561 introduces a custom method for SVGMatrix, we need to implement
2042         this in V8.
2043
2044         * bindings/v8/custom/V8CustomBinding.h:
2045         Adding definition for V8SVGMatrixMultiply.
2046         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
2047         (WebCore::CALLBACK_FUNC_DECL):
2048         Implement V8SVGMatrixMultiply according to the same method in JSC.
2049
2050 2009-11-05  Jeremy Orlow  <jorlow@chromium.org>
2051
2052         Revert 50569 since it broke QT.  Build fix and just a revert, so no review.
2053
2054         * page/DOMWindow.cpp:
2055         (WebCore::DOMWindow::sessionStorage):
2056         * page/Settings.cpp:
2057         (WebCore::Settings::Settings):
2058         (WebCore::Settings::setSessionStorageEnabled):
2059         * page/Settings.h:
2060         (WebCore::Settings::sessionStorageEnabled):
2061
2062 2009-11-05  Pavel Feldman  <pfeldman@chromium.org>
2063
2064         Reviewed by Timothy Hatcher.
2065
2066         REGRESSION: Web Inspector doesn't show CSS rules properly for iframes
2067
2068         https://bugs.webkit.org/show_bug.cgi?id=30884
2069
2070         Test: inspector/styles-iframe.html
2071
2072         * inspector/front-end/DOMAgent.js:
2073         (WebInspector.DOMNode):
2074         * inspector/front-end/InjectedScript.js:
2075         (InjectedScript.getStyles):
2076         (InjectedScript.getComputedStyle):
2077         (InjectedScript.addStyleSelector):
2078         * inspector/front-end/TestController.js:
2079         (WebInspector.TestController.prototype.notifyDone):
2080         (WebInspector.TestController.prototype.runAfterPendingDispatches):
2081         (WebInspector.evaluateForTestInFrontend.invokeMethod):
2082         (WebInspector.evaluateForTestInFrontend):
2083
2084 2009-11-05  Vitaly Repeshko  <vitalyr@chromium.org>
2085
2086         Reviewed by Geoffrey Garen and Dimitri Glazkov.
2087
2088         Rehashing of EventListenerMap leads to loss of EvenListenerList.
2089         https://bugs.webkit.org/show_bug.cgi?id=31027
2090
2091         Tested by new fast/events/event-listener-map-rehash-crash.html.
2092
2093         EventListenerMap modified to store pointers to listener vectors:
2094         * dom/EventTarget.cpp:
2095         (WebCore::EventTargetData::~EventTargetData):
2096         (WebCore::EventTarget::addEventListener):
2097         (WebCore::EventTarget::removeEventListener):
2098         (WebCore::EventTarget::fireEventListeners):
2099         (WebCore::EventTarget::getEventListeners):
2100         (WebCore::EventTarget::removeAllEventListeners):
2101         * dom/EventTarget.h:
2102
2103         Usages updated after interface changes:
2104         * inspector/InspectorDOMAgent.cpp:
2105         (WebCore::InspectorDOMAgent::getEventListenersForNode):
2106         * svg/SVGUseElement.cpp:
2107         (WebCore::SVGUseElement::transferEventListenersToShadowTree):
2108
2109 2009-11-05  Dan Kegel  <dank@chromium.org>
2110
2111         Reviewed by Dmitri Titov.
2112
2113         Add missing initialization for m_createdByParser.
2114         https://bugs.webkit.org/show_bug.cgi?id=31089
2115
2116         Test: fast/dom/beforeload/pi-before-load.xhtml in Valgrind
2117
2118         * dom/ProcessingInstruction.cpp:
2119         (WebCore::ProcessingInstruction::ProcessingInstruction):
2120
2121 2009-11-04  Jeremy Orlow  <jorlow@chromium.org>
2122
2123         Reviewed by Adam Barth.
2124
2125         DOM Storage runtime flag changes
2126         https://bugs.webkit.org/show_bug.cgi?id=30602
2127
2128         Part 2/2.
2129
2130         Revert my changes to Settings and instead implement DOM Storage enabling via
2131         the methods agreed upon in https://bugs.webkit.org/show_bug.cgi?id=30240
2132
2133         This stuff was (intentionally) never exposed to web pages or DRT, so there's no
2134         LayoutTest visible changes and thus no tests.
2135
2136         * bindings/v8/custom/V8CustomBinding.h:
2137         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2138         (WebCore::ACCESSOR_RUNTIME_ENABLER):
2139         * page/DOMWindow.cpp:
2140         (WebCore::DOMWindow::sessionStorage):
2141         * page/DOMWindow.idl:
2142         * page/Settings.cpp:
2143         (WebCore::Settings::Settings):
2144         * page/Settings.h:
2145         * storage/Storage.cpp:
2146         (WebCore::Storage::setLocalStorageAvailable):
2147         (WebCore::Storage::localStorageAvailable):
2148         (WebCore::Storage::setSessionStorageAvailable):
2149         (WebCore::Storage::sessionStorageAvailable):
2150         * storage/Storage.h:
2151
2152 2009-11-05  Jian Li  <jianli@chromium.org>
2153
2154         Reviewed by Pavel Feldman.
2155
2156         Bug 31108 - [V8] REGRESSION: Pause on exception is broken
2157         https://bugs.webkit.org/show_bug.cgi?id=31108
2158
2159         * bindings/v8/V8AbstractEventListener.cpp:
2160         (WebCore::V8AbstractEventListener::invokeEventHandler):
2161         * bindings/v8/V8Utilities.cpp:
2162         (WebCore::reportException):
2163
2164 2009-11-05  Jian Li  <jianli@chromium.org>
2165
2166         Reviewed by Dmitri Titov.
2167
2168         We should not bubble up events if we drag something to an iframe that
2169         has an invalid source.
2170         https://bugs.webkit.org/show_bug.cgi?id=30469
2171
2172         Test: http/tests/misc/bubble-drag-events.html
2173
2174         * page/EventHandler.cpp:
2175         (WebCore::EventHandler::handleDragAndDropForTarget):
2176         (WebCore::EventHandler::updateDragAndDrop):
2177         (WebCore::EventHandler::cancelDragAndDrop):
2178         (WebCore::EventHandler::performDragAndDrop):
2179         * page/EventHandler.h:
2180         (WebCore::EventHandler::):
2181
2182 2009-11-05  Pavel Feldman  <pfeldman@chromium.org>
2183
2184         Reviewed by Timothy Hatcher.
2185
2186         Web Inspector: speed up Timelines Clear by a factor of thousands.
2187
2188         https://bugs.webkit.org/show_bug.cgi?id=31160
2189
2190         * inspector/front-end/utilities.js:
2191         (Element.prototype.removeChildren):
2192
2193 2009-11-05  Anton Muhin  <antonm@chromium.org>
2194
2195         Reviewed by Adam Barth.
2196
2197         If high memory usage is detected, hint to V8 that it might be due
2198         to external objects retained by V8 objects.
2199         https://bugs.webkit.org/show_bug.cgi?id=31051
2200
2201         * bindings/v8/V8GCController.cpp:
2202         (WebCore::GetMemoryUsageInMB):
2203         (WebCore::V8GCController::gcEpilogue):
2204         (WebCore::V8GCController::checkMemoryUsage):
2205         * bindings/v8/V8GCController.h:
2206         * bindings/v8/V8Proxy.cpp:
2207         (WebCore::V8Proxy::evaluate):
2208         (WebCore::V8Proxy::runScript):
2209         (WebCore::V8Proxy::callFunction):
2210
2211 2009-11-05  Jeff Schiller  <codedread@gmail.com>
2212
2213         Reviewed by Simon Fraser.
2214
2215         Correct order of matrix multiplication for SVGMatrix.
2216         https://bugs.webkit.org/show_bug.cgi?id=16062
2217
2218         Test: svg/dom/SVGMatrix-interface.xhtml
2219
2220         * bindings/js/JSSVGMatrixCustom.cpp:
2221         (WebCore::JSSVGMatrix::multiply):
2222         * svg/SVGMatrix.idl:
2223
2224 2009-11-04  Pavel Feldman  <pfeldman@chromium.org>
2225
2226         Reviewed by Timothy Hatcher.
2227
2228         Web Inspector: Make resource-related records in timeline
2229         actually take some time.
2230
2231         https://bugs.webkit.org/show_bug.cgi?id=31139
2232
2233         * English.lproj/localizedStrings.js:
2234         * inspector/front-end/TimelinePanel.js:
2235         (WebInspector.TimelinePanel):
2236         (WebInspector.TimelinePanel.prototype._formatRecord):
2237         (WebInspector.TimelinePanel.prototype._getRecordDetails):
2238         (WebInspector.TimelinePanel.prototype.reset):
2239
2240 2009-11-04  Jeremy Orlow  <jorlow@chromium.org>
2241
2242         Reviewed by Darin Fisher.
2243
2244         Simplify LocalStorageThread
2245         https://bugs.webkit.org/show_bug.cgi?id=30935
2246
2247         This is a re-submit of 50519.  LocalStorageTask should have never been ref
2248         counted.  I've removed that and switched a PassRefPtr over to a PassOwnPtr.
2249
2250         On LocalStoragethread: Remove reference counting. Get rid of locking. Make some
2251         of the method names a bit more clear. Assert proper thread usage. Join rather
2252         than detaching the thread and doing an ad-hoc form of join. Avoid touching
2253         variables on the background thread when simple to do so.  Also create a generic
2254         scheduleTask function rather than one for each task.
2255
2256         No behavior should have changed.
2257
2258         * storage/LocalStorageTask.h:
2259         * storage/LocalStorageThread.cpp:
2260         (WebCore::LocalStorageThread::create):
2261         (WebCore::LocalStorageThread::LocalStorageThread):
2262         (WebCore::LocalStorageThread::~LocalStorageThread):
2263         (WebCore::LocalStorageThread::start):
2264         (WebCore::LocalStorageThread::threadEntryPointCallback):
2265         (WebCore::LocalStorageThread::threadEntryPoint):
2266         (WebCore::LocalStorageThread::scheduleTask):
2267         (WebCore::LocalStorageThread::terminate):
2268         (WebCore::LocalStorageThread::performTerminate):
2269         * storage/LocalStorageThread.h:
2270         * storage/StorageSyncManager.cpp:
2271         (WebCore::StorageSyncManager::StorageSyncManager):
2272         (WebCore::StorageSyncManager::~StorageSyncManager):
2273         (WebCore::StorageSyncManager::scheduleImport):
2274         (WebCore::StorageSyncManager::scheduleSync):
2275         * storage/StorageSyncManager.h:
2276
2277 2009-11-04  Jeremy Orlow  <jorlow@chromium.org>
2278
2279         Reviewed by Darin Fisher.
2280
2281         Calling databaseIdentifier on LocalStorage's background thread is not safe.
2282         https://bugs.webkit.org/show_bug.cgi?id=31149
2283
2284         Calling SecurityOrigin::databaseIdentifier on LocalStorage's background thread
2285         is not safe.  databaseIdentifier does a bunch of string concatenation which
2286         ref-counts StringImpls in some cases.  This was caught by valgrind thread
2287         sanitizer: http://code.google.com/p/chromium/issues/detail?id=25645
2288
2289         There's no way to test for such racyness, unfortunately.
2290
2291         * storage/StorageAreaSync.cpp:
2292         (WebCore::StorageAreaSync::StorageAreaSync):
2293         (WebCore::StorageAreaSync::performImport):
2294         * storage/StorageAreaSync.h:
2295         * storage/StorageSyncManager.cpp:
2296         (WebCore::StorageSyncManager::fullDatabaseFilename):
2297         * storage/StorageSyncManager.h:
2298
2299 2009-11-03  Jeremy Orlow  <jorlow@chromium.org>
2300
2301         Reviewed by Darin Fisher.
2302
2303         Clean up StorageAreaSync
2304         https://bugs.webkit.org/show_bug.cgi?id=31100
2305
2306         Major fixes: Break the ref count cycle for StorageArea on the main
2307         thread, not the background thread since the latter is not safe.
2308         Length() needs to block on the import completing.
2309
2310         Small fixes: setItem needs to handle the copy on write case even if it
2311         has an exception.  setItem and removeItem should just bail from the
2312         the function if the value hasn't changed rather than wrapping the end
2313         in an if block.  Clear should only send an event if it wasn't already
2314         cleared.  StorageAreaSync should assert that the final sync was
2315         scheduled.
2316
2317         * storage/StorageAreaImpl.cpp:
2318         (WebCore::StorageAreaImpl::length):
2319           Forgot to block on the import.
2320         (WebCore::StorageAreaImpl::key):
2321         (WebCore::StorageAreaImpl::setItem):
2322           Handle the copy on write case even when there's an exception.
2323         (WebCore::StorageAreaImpl::removeItem):
2324         (WebCore::StorageAreaImpl::clear):
2325         * storage/StorageAreaSync.cpp:
2326         (WebCore::StorageAreaSync::~StorageAreaSync):
2327         (WebCore::StorageAreaSync::scheduleFinalSync):
2328         (WebCore::StorageAreaSync::performImport):
2329         (WebCore::StorageAreaSync::markImported):
2330         (WebCore::StorageAreaSync::blockUntilImportComplete):
2331         * storage/StorageAreaSync.h:
2332
2333 2009-11-05  Zoltan Horvath  <zoltan@webkit.org>
2334
2335         Reviewed by Eric Seidel.
2336
2337         Allow custom memory allocation control for WebCore's CachedResource
2338         https://bugs.webkit.org/show_bug.cgi?id=31114
2339
2340         Inherits CachedResource class from Noncopyable because its (its child
2341         class) CachedCSSStyleSheet instantiated by 'new' in WebCore/loader/Cache.cpp:75 
2342         and it is no need to be copyable.
2343
2344         * loader/CachedResource.h:
2345
2346 2009-11-04  Mark Mentovai  <mark@chromium.org>
2347
2348         Reviewed by Mark Rowe.
2349
2350         Separate the difference between HAVE(CGINTERPOLATION_MEDIUM), which
2351         is true when building on 10.6 or later, and USE(CGINTERPOLATION_MEDIUM)
2352         which is true when targeting 10.6 or later.
2353
2354         HAVE(CGINTERPOLATION_MEDIUM) indicates that kCGInterpolationMedium
2355         is present in the CGInterpolationQuality enum, and must be handled
2356         by a switch that has cases for each enumerated value.
2357
2358         USE(CGINTERPOLATION_MEDIUM) indicates that the product will only run
2359         on 10.6 or later, and that CoreGraphics will understand when
2360         InterpolationMedium is mapped to kCGInterpolationMedium at runtime.
2361
2362         * platform/graphics/cg/GraphicsContextCG.cpp:
2363         (WebCore::GraphicsContext::setImageInterpolationQuality):
2364         (WebCore::GraphicsContext::imageInterpolationQuality):
2365
2366 2009-11-04  Dan Kegel  <dank@chromium.org>
2367
2368         Reviewed by Alexey Proskuryakov.
2369
2370         Fix buffer overrun in WebCore::Page::userStyleSheetLocationChanged()
2371         https://bugs.webkit.org/show_bug.cgi?id=31138
2372
2373         Test: LayoutTests/platform/mac/fast/loader/user-stylesheet-fast-path.html in Valgrind
2374
2375         * page/Page.cpp:
2376         (WebCore::Page::userStyleSheetLocationChanged):
2377
2378 2009-11-04  Timothy Hatcher  <timothy@apple.com>
2379
2380         Update the Web Inspector Timeline panel to better match the mock-up.
2381
2382         https://bugs.webkit.org/show_bug.cgi?id=31150
2383
2384         Reviewed by Pavel Feldman.
2385
2386         * inspector/front-end/TimelinePanel.js:
2387         (WebInspector.TimelinePanel.prototype._getRecordDetails):
2388         (WebInspector.TimelinePanel.prototype._dragWindow):
2389         (WebInspector.TimelinePanel.prototype._resizeWindowLeft):
2390         (WebInspector.TimelinePanel.prototype._resizeWindowRight):
2391         (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
2392         (WebInspector.TimelineRecordTreeElement.prototype.onattach):
2393         (WebInspector.TimelineRecordTreeElement.prototype.refresh):
2394         (WebInspector.TimelineCategoryGraph):
2395         * inspector/front-end/inspector.css:
2396
2397 2009-11-05  Justin Garcia  <justin.garcia@apple.com>
2398
2399         Reviewed by Adele Peterson.
2400
2401         https://bugs.webkit.org/show_bug.cgi?id=25439
2402         Deleting when in front of a block image removes character from previous paragraph
2403
2404         Added editing/deleting/25439-{1,2,3}.html
2405
2406         * editing/DeleteSelectionCommand.cpp:
2407         (WebCore::DeleteSelectionCommand::mergeParagraphs): Block images, tables and HRs cannot 
2408         be made inline with other content.  Instead of merging, just move the caret to just before 
2409         the selection we deleted.
2410         * editing/htmlediting.cpp:
2411         (WebCore::firstInSpecialElement): Added a FIXME.  This function begins iterating up from pos.node(), which 
2412         doesn't necessarily contain pos (suppose pos was [img, 0]).
2413         (WebCore::lastInSpecialElement): Ditto.
2414         (WebCore::isRenderedAsNonInlineTableImageOrHR): Moved from visible_units.cpp.  Added a check for non-inline images.
2415         * editing/htmlediting.h:
2416         * editing/visible_units.cpp:
2417         (WebCore::startOfParagraph): Use moved/renamed function.  Removed FIXME.  The problem causing 
2418         5027702 is now squarely in first/lastInSpecialElement
2419         (WebCore::endOfParagraph): Ditto.
2420         
2421 2009-11-04  Enrica Casucci  <enrica@apple.com>
2422
2423         Reviewed by Adele Peterson.
2424
2425         Hang in Mail on attempting to change indent level.
2426         <rdar://problem/7131805>
2427         https://bugs.webkit.org/show_bug.cgi?id=31127
2428
2429         The hang was caused by an infinite loop inside outdentRegion.
2430         The code did not account for the fact that, when a list item
2431         contains multiple paragraphs, outdent moves all paragraphs at
2432         once, invalidating some of the positions we keep track of in the loop.
2433         Some code refactoring has also been done to minimize duplicated code.
2434         
2435         Test: editing/execCommand/outdent-multiparagraph-list.html
2436
2437         * editing/IndentOutdentCommand.cpp:
2438         (WebCore::IndentOutdentCommand::indentRegion): Moved code in common with
2439         outdentRegion to doApply.
2440         (WebCore::IndentOutdentCommand::outdentRegion): Fixed endless loop.
2441         (WebCore::IndentOutdentCommand::doApply): Some code refactoring.
2442         * editing/IndentOutdentCommand.h: Added VisiblePosition parameters to
2443         indentRegion and outdentRegion.
2444
2445 2009-11-04  Alpha Lam  <hclam@chromium.org>
2446
2447         Reviewed by Eric Carlson.
2448
2449         Volume slider doesn't have a thumb
2450         https://bugs.webkit.org/show_bug.cgi?id=31135
2451
2452         Fixed an incorrect if statement that prevents volume slider
2453         being updated.
2454
2455         The statement checks if the slider value equals to the current
2456         volume value of the media control to avoid updating the volume
2457         slider. Updating the volume slider control shouldn't be within
2458         this condition because we explicitly set them to be equals
2459         during creation of the controls and also when mouse events are
2460         received on the volume control.
2461
2462         No new tests because existing code breaks:
2463         LayoutTests/media/video-volume-slider.html
2464
2465         It should now start passing on Chromium.
2466
2467         * rendering/MediaControlElements.cpp:
2468         (WebCore::MediaControlVolumeSliderElement::update):
2469         Update the volume slider regardless of the current volume value
2470         of the media control.
2471
2472 2009-11-04  Jenn Braithwaite  <jennb@chromium.org>
2473
2474         Reviewed by David Levin.
2475
2476         Need to properly disable applicationCache at runtime
2477         https://bugs.webkit.org/show_bug.cgi?id=30417
2478
2479         Adding applicationCacheEnabled bit to V8 RuntimeEnabledFeatures.
2480
2481         No new exposed functionality, so no new tests.
2482
2483         * bindings/v8/RuntimeEnabledFeatures.cpp:
2484         * bindings/v8/RuntimeEnabledFeatures.h:
2485         (WebCore::RuntimeEnabledFeatures::setApplicationCacheEnabled):
2486         (WebCore::RuntimeEnabledFeatures::applicationCacheEnabled):
2487         * bindings/v8/custom/V8CustomBinding.h:
2488         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2489         (WebCore::ACCESSOR_RUNTIME_ENABLER):
2490         * page/DOMWindow.idl:
2491
2492 2009-11-04  Alexey Proskuryakov  <ap@apple.com>
2493
2494         Reviewed by Dan Bernstein.
2495
2496         https://bugs.webkit.org/show_bug.cgi?id=31143
2497         Assertion failure in CredentialStorage::set() when proxy credentials are being set
2498
2499         No test, cannot test proxy behavior.
2500
2501         * platform/network/CredentialStorage.cpp: (WebCore::CredentialStorage::set): Account for the
2502         possibility of null url. Release mode changes are likely inconsequential - e.g. we used to
2503         add "://" to origin set, which is weird, but safe.
2504
2505 2009-11-04  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
2506
2507         Reviewed by Timothy Hatcher.
2508
2509         Web Inspector: Leftover Breakpoints in the Sidebar Pane
2510         https://bugs.webkit.org/show_bug.cgi?id=30659
2511
2512         No new tests.
2513
2514         * inspector/front-end/ScriptsPanel.js:
2515         (WebInspector.ScriptsPanel.prototype.addScript):
2516
2517 2009-11-04  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2518
2519         Reviewed by Timothy Hatcher.
2520
2521         WebInspector: Use a different method to identify the webkit port in
2522         InspectorBackent::platform().
2523         This corrects the inspector expected behavior with Qt on Windows.
2524         https://bugs.webkit.org/show_bug.cgi?id=31116
2525
2526         * inspector/InspectorBackend.cpp:
2527         (WebCore::InspectorBackend::platform):
2528         (WebCore::InspectorBackend::port):
2529         * inspector/InspectorBackend.h:
2530         * inspector/InspectorBackend.idl:
2531         * inspector/front-end/InspectorControllerStub.js:
2532         (.WebInspector.InspectorControllerStub.prototype.port):
2533         * inspector/front-end/inspector.css:
2534         * inspector/front-end/inspector.js:
2535         (WebInspector.loaded):
2536         (WebInspector.toolbarDragStart):
2537
2538 2009-11-04  Benjamin Otte  <otte@gnome.org>
2539
2540         Reviewed by Gustavo Noronha.
2541
2542         Update Cairo requirement to 1.6.
2543
2544         Also remove all conditional code and workarounds for older versions of
2545         Cairo.
2546         In particular, gain image quality by removing the use of
2547         CAIRO_FILTER_NEAREST when rendering images and use the default
2548         bilinear filter instead.
2549         https://bugs.webkit.org/show_bug.cgi?id=19266
2550
2551         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2552         (WebCore::GraphicsContext::clipOut):
2553         * platform/graphics/cairo/ImageCairo.cpp:
2554         (WebCore::BitmapImage::draw):
2555         (WebCore::BitmapImage::drawPattern):
2556         * platform/graphics/cairo/PathCairo.cpp:
2557         (WebCore::Path::isEmpty):
2558         (WebCore::Path::boundingRect):
2559         * platform/gtk/RenderThemeGtk.cpp:
2560         (WebCore::paintMozWidget):
2561
2562 2009-11-04  Kevin Ollivier  <kevino@theolliviers.com>
2563
2564         wx build fix. Restore removed string conversion after cleanup.
2565
2566         * platform/graphics/wx/FontPlatformDataWx.cpp:
2567         (WebCore::FontPlatformData::computeHash):
2568
2569 2009-11-04  Chris Fleizach  <cfleizach@apple.com>
2570
2571         Reviewed by Beth Dakin.
2572
2573         Need to implement ARIA role="combobox"
2574         https://bugs.webkit.org/show_bug.cgi?id=31096
2575
2576         Test: accessibility/aria-combobox.html
2577
2578         * accessibility/AccessibilityObject.h:
2579         (WebCore::AccessibilityObject::isComboBox):
2580         (WebCore::AccessibilityObject::isExpanded):
2581         (WebCore::AccessibilityObject::expandObject):
2582         (WebCore::AccessibilityObject::increment):
2583         (WebCore::AccessibilityObject::decrement):
2584         * accessibility/AccessibilityRenderObject.cpp:
2585         (WebCore::AccessibilityRenderObject::expandObject):
2586         (WebCore::AccessibilityRenderObject::isExpanded):
2587         (WebCore::createARIARoleMap):
2588         * accessibility/AccessibilityRenderObject.h:
2589         * accessibility/mac/AccessibilityObjectWrapper.mm:
2590         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2591         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2592         (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
2593         * html/HTMLAttributeNames.in:
2594
2595 2009-11-04  Kelly Norton  <knorton@google.com>
2596
2597         Reviewed by Pavel Feldman.
2598
2599         Fixes naming inconsistencies in TimelineRecordFactory.
2600         https://bugs.webkit.org/show_bug.cgi?id=31132
2601
2602         * inspector/InspectorTimelineAgent.cpp:
2603         (WebCore::InspectorTimelineAgent::willPaint):
2604         (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
2605         (WebCore::InspectorTimelineAgent::willLoadXHR):
2606         (WebCore::InspectorTimelineAgent::willEvaluateScript):
2607         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
2608         (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
2609         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
2610         * inspector/TimelineRecordFactory.cpp:
2611         (WebCore::TimelineRecordFactory::createXHRReadyStateChangeRecord):
2612         (WebCore::TimelineRecordFactory::createXHRLoadRecord):
2613         (WebCore::TimelineRecordFactory::createEvaluateScriptRecord):
2614         (WebCore::TimelineRecordFactory::createMarkTimelineRecord):
2615         (WebCore::TimelineRecordFactory::createResourceSendRequestRecord):
2616         (WebCore::TimelineRecordFactory::createResourceReceiveResponseRecord):
2617         (WebCore::TimelineRecordFactory::createResourceFinishRecord):
2618         (WebCore::TimelineRecordFactory::createPaintRecord):
2619         * inspector/TimelineRecordFactory.h:
2620
2621 2009-11-04  Eric Z. Ayers  <zundel@google.com>
2622
2623         Reviewed by Pavel Feldman.
2624
2625         Followon to bug 31080, which protects Timeline
2626         instrumentation in the case where InspectorTimelineAgent
2627         is enabled or disabled during an event dispatch.
2628         
2629         https://bugs.webkit.org/show_bug.cgi?id=31121
2630
2631         * bindings/v8/V8Proxy.cpp:
2632         (WebCore::V8Proxy::evaluate):
2633         * dom/Document.cpp:
2634         (WebCore::Document::recalcStyle):
2635         * dom/Node.cpp:
2636         (WebCore::Node::dispatchGenericEvent):
2637         * html/HTMLTokenizer.cpp:
2638         (WebCore::HTMLTokenizer::write):
2639         * page/DOMWindow.cpp:
2640         (WebCore::DOMWindow::inspectorTimelineAgent):
2641         (WebCore::DOMWindow::dispatchEvent):
2642         * page/DOMWindow.h:
2643         * page/FrameView.cpp:
2644         (WebCore::FrameView::layout):
2645         (WebCore::FrameView::paintContents):
2646         * xml/XMLHttpRequest.cpp:
2647         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
2648
2649 2009-11-04  Jeremy Orlow  <jorlow@chromium.org>
2650
2651         Revert 50519 while I work out what went wrong.
2652
2653         * storage/LocalStorageThread.cpp:
2654         (WebCore::LocalStorageThread::create):
2655         (WebCore::LocalStorageThread::LocalStorageThread):
2656         (WebCore::LocalStorageThread::start):
2657         (WebCore::LocalStorageThread::localStorageThreadStart):
2658         (WebCore::LocalStorageThread::localStorageThread):
2659         (WebCore::LocalStorageThread::scheduleImport):
2660         (WebCore::LocalStorageThread::scheduleSync):
2661         (WebCore::LocalStorageThread::terminate):
2662         (WebCore::LocalStorageThread::performTerminate):
2663         * storage/LocalStorageThread.h:
2664         * storage/StorageSyncManager.cpp:
2665         (WebCore::StorageSyncManager::StorageSyncManager):
2666         (WebCore::StorageSyncManager::~StorageSyncManager):
2667         (WebCore::StorageSyncManager::scheduleImport):
2668         (WebCore::StorageSyncManager::scheduleSync):
2669         * storage/StorageSyncManager.h:
2670
2671 2009-11-04  Pavel Feldman  <pfeldman@chromium.org>
2672
2673         Reviewed by Timothy Hatcher.
2674
2675         Web Inspector: Add basic support for resource events and marks.
2676         Couple of drive-by fixes. Enabling the panel!
2677
2678         https://bugs.webkit.org/show_bug.cgi?id=31130
2679
2680         * English.lproj/localizedStrings.js:
2681         * inspector/front-end/TimelinePanel.js:
2682         (WebInspector.TimelinePanel):
2683         (WebInspector.TimelinePanel.prototype._formatRecord):
2684         (WebInspector.TimelinePanel.prototype._getRecordDetails):
2685         (WebInspector.TimelinePanel.prototype.reset):
2686         (WebInspector.TimelineCategoryTreeElement.prototype._onCheckboxClicked):
2687         (WebInspector.TimelineRecordTreeElement.prototype.onattach):
2688         * inspector/front-end/inspector.js:
2689         (WebInspector._createPanels):
2690
2691 2009-11-03  Jeremy Orlow  <jorlow@chromium.org>
2692
2693         Reviewed by Darin Fisher.
2694
2695         Simplify LocalStorageThread
2696         https://bugs.webkit.org/show_bug.cgi?id=30935
2697
2698         On LocalStoragethread: Remove reference counting. Get rid of locking. Make some
2699         of the method names a bit more clear. Assert proper thread usage. Join rather
2700         than detaching the thread and doing an ad-hoc form of join. Avoid touching
2701         variables on the background thread when simple to do so.  Also create a generic
2702         scheduleTask function rather than one for each task.
2703
2704         No behavior should have changed.
2705
2706         * storage/LocalStorageThread.cpp:
2707         (WebCore::LocalStorageThread::create):
2708         (WebCore::LocalStorageThread::LocalStorageThread):
2709         (WebCore::LocalStorageThread::~LocalStorageThread):
2710         (WebCore::LocalStorageThread::start):
2711         (WebCore::LocalStorageThread::threadEntryPointCallback):
2712         (WebCore::LocalStorageThread::threadEntryPoint):
2713         (WebCore::LocalStorageThread::scheduleTask):
2714         (WebCore::LocalStorageThread::terminate):
2715         (WebCore::LocalStorageThread::performTerminate):
2716         * storage/LocalStorageThread.h:
2717         * storage/StorageSyncManager.cpp:
2718         (WebCore::StorageSyncManager::StorageSyncManager):
2719         (WebCore::StorageSyncManager::~StorageSyncManager):
2720         (WebCore::StorageSyncManager::scheduleImport):
2721         (WebCore::StorageSyncManager::scheduleSync):
2722         * storage/StorageSyncManager.h:
2723
2724 2009-11-04  Vadim Zeitlin  <vadim@wxwidgets.org>
2725
2726         Reviewed by Eric Seidel.
2727
2728         [wx] Small cleanup: avoid unnecessary wxString::mb_str() calls.
2729
2730         * platform/graphics/wx/FontPlatformDataWx.cpp:
2731         (WebCore::FontPlatformData::computeHash):
2732
2733 2009-11-04  Kelly Norton  <knorton@google.com>
2734
2735         Reviewed by Pavel Feldman.
2736
2737         Adds lightweight network resources to InspectorTimelineAgent.
2738         https://bugs.webkit.org/show_bug.cgi?id=31065
2739
2740         * inspector/InspectorController.cpp:
2741         (WebCore::InspectorController::willSendRequest):
2742         (WebCore::InspectorController::didReceiveResponse):
2743         (WebCore::InspectorController::didFinishLoading):
2744         (WebCore::InspectorController::didFailLoading):
2745         * inspector/InspectorTimelineAgent.cpp:
2746         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
2747         (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
2748         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
2749         * inspector/InspectorTimelineAgent.h:
2750         (WebCore::):
2751         * inspector/TimelineRecordFactory.cpp:
2752         (WebCore::TimelineRecordFactory::createResourceSendRequestTimelineRecord):
2753         (WebCore::TimelineRecordFactory::createResourceReceiveResponseTimelineRecord):
2754         (WebCore::TimelineRecordFactory::createResourceFinishTimelineRecord):
2755         * inspector/TimelineRecordFactory.h:
2756         * inspector/front-end/TimelineAgent.js:
2757
2758 2009-11-04  Yael Aharon  <yael.aharon@nokia.com>
2759
2760         Reviewed by Tor Arne Vestbø.
2761
2762         [Qt] ASSERT failure when receiving 401 HTTP Authentication response.
2763         https://bugs.webkit.org/show_bug.cgi?id=31077
2764
2765         Allow sending the response body under the same conditions that we
2766         allow it to finish without reporting an error.
2767
2768         * platform/network/qt/QNetworkReplyHandler.cpp:
2769         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2770
2771 2009-11-04  Adam Roben  <aroben@apple.com>
2772
2773         Sort WebCore.base.exp
2774
2775         Rubber-stamped by Dan Bernstein.
2776
2777         * WebCore.base.exp: Sorted.
2778
2779 2009-11-04  Csaba Osztrogonác  <ossy@webkit.org>
2780
2781         Unreviewed rollout.
2782
2783         Revert r50496 because it broke all layout tests on QtBuildBot.
2784
2785         * WebCore.pro:
2786         * platform/graphics/qt/FontCacheQt.cpp:
2787         (WebCore::fontCache):
2788         (WebCore::FontCache::FontCache):
2789         (WebCore::FontCache::getTraitsInFamily):
2790         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
2791         (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue):
2792         (WebCore::FontPlatformDataCacheKey::):
2793         (WebCore::FontPlatformDataCacheKey::operator==):
2794         (WebCore::FontPlatformDataCacheKey::hash):
2795         (WebCore::FontPlatformDataCacheKey::computeHash):
2796         (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize):
2797         (WebCore::FontPlatformDataCacheKeyHash::hash):
2798         (WebCore::FontPlatformDataCacheKeyHash::equal):
2799         (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
2800         (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue):
2801         (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue):
2802         (WebCore::FontCache::getCachedFontPlatformData):
2803         (WebCore::FontCache::getCachedFontData):
2804         (WebCore::FontCache::getLastResortFallbackFont):
2805         (WebCore::FontCache::releaseFontData):
2806         (WebCore::FontCache::purgeInactiveFontData):
2807         (WebCore::FontCache::addClient):
2808         (WebCore::FontCache::removeClient):
2809         (WebCore::FontCache::invalidate):
2810         * platform/graphics/qt/FontFallbackListQt.cpp: Added.
2811         (WebCore::FontFallbackList::FontFallbackList):
2812         (WebCore::FontFallbackList::invalidate):
2813         (WebCore::FontFallbackList::releaseFontData):
2814         (WebCore::FontFallbackList::determinePitch):
2815         (WebCore::FontFallbackList::fontDataAt):
2816         (WebCore::FontFallbackList::fontDataForCharacters):
2817         (WebCore::FontFallbackList::setPlatformFont):
2818         * platform/graphics/qt/FontPlatformData.h:
2819         (WebCore::FontPlatformData::pixelSize):
2820         * platform/graphics/qt/FontPlatformDataQt.cpp:
2821         (WebCore::FontPlatformData::FontPlatformData):
2822
2823 2009-11-04  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
2824
2825         Reviewed by Jan Alonzo.
2826
2827         https://bugs.webkit.org/show_bug.cgi?id=31044
2828         [Gtk] assertion when webkit_accessible_get_index_in_parent attempts to get parent of the web view
2829
2830         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2831         (atkParentOfWebView):
2832         (webkit_accessible_get_index_in_parent):
2833         (webkit_accessible_get_parent):
2834
2835 2009-11-04  Dominik Röttsches  <dominik.roettsches@access-company.com>
2836
2837         Reviewed by Eric Seidel.
2838
2839         https://bugs.webkit.org/show_bug.cgi?id=15914
2840         [GTK] Implement Unicode functionality using GLib
2841
2842         Initial version of this patch by Jürg Billeter and Naiem Shaik.
2843         Patch 2/4 - Moving TextCodecs to GLib
2844         
2845         Added probing for a hard-coded lists of text encodings.
2846         The basis of this list is taken from the encodings supported by iconv,
2847         then extended by e.g. tis-620, windows-1251, euc-kr, windows-1253 and
2848         a number of Chinese ones.
2849
2850         Probing is necessary with the current design of text codecs
2851         as iconv/GLib do not support enumerating available encodings.
2852
2853         * GNUmakefile.am:
2854         * platform/ThreadGlobalData.cpp:
2855         (WebCore::ThreadGlobalData::ThreadGlobalData):
2856         (WebCore::ThreadGlobalData::~ThreadGlobalData):
2857         * platform/text/TextEncoding.cpp:
2858         (WebCore::TextEncoding::encode):
2859         * platform/text/TextEncodingRegistry.cpp:
2860         (WebCore::buildBaseTextCodecMaps):
2861         (WebCore::extendTextCodecMaps):
2862         * platform/text/gtk/TextCodecGtk.cpp: Added.
2863         (WebCore::):
2864         (WebCore::newTextCodecGtk):
2865         (WebCore::TextCodecGtk::isEncodingAvailable):
2866         (WebCore::TextCodecGtk::registerEncodingNames):
2867         (WebCore::TextCodecGtk::registerCodecs):
2868         (WebCore::TextCodecGtk::registerBaseEncodingNames):
2869         (WebCore::TextCodecGtk::registerBaseCodecs):
2870         (WebCore::TextCodecGtk::registerExtendedEncodingNames):
2871         (WebCore::TextCodecGtk::registerExtendedCodecs):
2872         (WebCore::TextCodecGtk::TextCodecGtk):
2873         (WebCore::TextCodecGtk::~TextCodecGtk):
2874         (WebCore::TextCodecGtk::releaseIConv):
2875         (WebCore::TextCodecGtk::createIConvDecoder):
2876         (WebCore::TextCodecGtk::createIConvEncoder):
2877         (WebCore::TextCodecGtk::decode):
2878         (WebCore::TextCodecGtk::encode):
2879         * platform/text/gtk/TextCodecGtk.h: Added.
2880
2881 2009-11-04  Martin Robinson  <martin.james.robinson@gmail.com>
2882
2883         Reviewed by Jan Alonzo.
2884
2885         [GTK] Enable DOM clipboard and drag-and-drop access
2886         https://bugs.webkit.org/show_bug.cgi?id=30623
2887
2888         Unify redudant methods which will always return the same value.
2889
2890         * platform/gtk/PasteboardGtk.cpp:
2891         (WebCore::Pasteboard::writeSelection):
2892         * platform/gtk/PasteboardHelper.h:
2893
2894 2009-11-04  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
2895
2896         Reviewed by Jan Alonzo.
2897
2898         https://bugs.webkit.org/show_bug.cgi?id=31035
2899         [GTK] some accessibility tests hitting assertion in debug builds
2900
2901         Removes the assertions in webkit_accessible_ref_child; adds sanity checks.
2902         Any app or AT can attempt to ref a child at a bogus index.
2903
2904         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2905         (webkit_accessible_ref_child):
2906
2907 2009-11-04  Benjamin Otte  <otte@gnome.org>
2908
2909         Reviewed by Jan Alonzo.
2910
2911         [gtk] Use gst_element_class_set_details_simple()
2912
2913         Cosmetic change, just code simplification
2914
2915         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
2916         (webkit_video_sink_base_init):
2917 2009-11-04  Kelly Norton  <knorton@google.com>
2918
2919         Reviewed by Timothy Hatcher.
2920
2921         Adds paint rectangle information to TimelineAgent's didPaint callback.
2922         https://bugs.webkit.org/show_bug.cgi?id=31087
2923
2924         * inspector/InspectorTimelineAgent.cpp:
2925         (WebCore::InspectorTimelineAgent::willPaint):
2926         * inspector/InspectorTimelineAgent.h:
2927         * inspector/TimelineRecordFactory.cpp:
2928         (WebCore::TimelineRecordFactory::createPaintTimelineRecord):
2929         * inspector/TimelineRecordFactory.h:
2930         * page/FrameView.cpp:
2931         (WebCore::FrameView::paintContents):
2932
2933 2009-11-04  Jaime Yap  <jaimeyap@google.com>
2934
2935         Reviewed by Timothy Hatcher.
2936
2937         This patch adds API to the console object for annotating the
2938         inspector timeline. This allows developers to mark logical
2939         checkpoints in their apps and have them overlaid in the event
2940         record tree.
2941
2942         tests updated: LayoutTests/fast/dom/Window/window-properties.html
2943         https://bugs.webkit.org/show_bug.cgi?id=31082
2944
2945
2946         * inspector/InspectorController.cpp:
2947         (WebCore::InspectorController::markTimeline):
2948         * inspector/InspectorController.h:
2949         * inspector/InspectorTimelineAgent.cpp:
2950         (WebCore::InspectorTimelineAgent::didMarkTimeline):
2951         * inspector/InspectorTimelineAgent.h:
2952         (WebCore::):
2953         * inspector/TimelineRecordFactory.cpp:
2954         (WebCore::TimelineRecordFactory::createMarkTimelineRecord):
2955         * inspector/TimelineRecordFactory.h:
2956         * inspector/front-end/TimelineAgent.js:
2957         * page/Console.cpp:
2958         (WebCore::Console::markTimeline):
2959         * page/Console.h:
2960         * page/Console.idl:
2961
2962 2009-11-03  Simon Hausmann  <hausmann@webkit.org>
2963
2964         Unreviewed build fix for WebInspector with Qt build.
2965
2966         Simply re-generate the Qt resource file by running
2967         WebKitTools/Scripts/generate-qt-inspector-resource
2968
2969         * inspector/front-end/WebKit.qrc:
2970
2971 2009-11-02  Benjamin Poulain  <benjamin.poulain@nokia.com>
2972
2973         Reviewed by Simon Hausmann.
2974
2975         [Qt] Handle fonts like the other ports
2976
2977         Remove FontFallbackListQt and rely on the common FontFallbackList
2978         to handle the fonts. FontCache and FontPlatformData have been
2979         updated to work with the common FontFallbackList.
2980
2981         In the previous implementation, FontPlatformDataCacheKey
2982         was a clone of FontPlatformData with the hashing
2983         capabilities added in order to use it as a key in the cache's
2984         hashmap. FontPlatformData has been modified to handle the hashing
2985         function directly so the data are not copied twice in memory.
2986
2987         FontFallbackList::fontDataAt() from FontFallbackListQt was a copy of
2988         code from FontCache::getFontData() and FontFallbackList::fontDataAt().
2989         The behavior is similar except currFamily->family().length() was
2990         not tested and the fallback fonts selector were not used.
2991
2992         https://bugs.webkit.org/show_bug.cgi?id=29856
2993
2994         Test: svg/text/text-font-invalid.html
2995
2996         * WebCore.pro:
2997         * platform/graphics/qt/FontCacheQt.cpp:
2998         (WebCore::FontCache::platformInit):
2999         (WebCore::FontCache::getFontDataForCharacters):
3000         (WebCore::FontCache::getSimilarFontPlatformData):
3001         (WebCore::FontCache::getLastResortFallbackFont):
3002         (WebCore::FontCache::getTraitsInFamily):
3003         (WebCore::FontCache::createFontPlatformData):
3004         * platform/graphics/qt/FontFallbackListQt.cpp:
3005         Removed. We now use the implementation from FontFallbackList.cpp
3006         * platform/graphics/qt/FontPlatformData.h:
3007         Add hashing capabilities to be able to use the data with the FontCache.
3008         This was previously done in FontCacheQt.cpp
3009         (WebCore::FontPlatformData::FontPlatformData):
3010         Added a boolean to identify deleted value in the hash table.
3011         (WebCore::FontPlatformData::isHashTableDeletedValue):
3012         (WebCore::FontPlatformData::hash):
3013         (WebCore::FontPlatformData::operator==):
3014         * platform/graphics/qt/FontPlatformDataQt.cpp:
3015         (WebCore::FontPlatformData::FontPlatformData):
3016
3017 2009-11-03  Dan Bernstein  <mitz@apple.com>
3018
3019         Leopard build fix
3020
3021         * platform/network/mac/AuthenticationMac.mm:
3022         (WebCore::mac):
3023         (WebCore::core):
3024
3025 2009-11-03  Dan Bernstein  <mitz@apple.com>
3026
3027         Reviewed by Alexey Proskuryakov.
3028
3029         Fix an assertion failure in core(NSURLProtectionSpace *) by handling NTLM
3030         authentication in AuthenticationMac
3031
3032         * platform/network/mac/AuthenticationMac.mm:
3033
3034 2009-11-03  Eric Z. Ayers  <zundel@google.com>
3035
3036         Reviewed by Timothy Hatcher.
3037
3038         Fixes a problem where the timeline instrumentation crashes if
3039         timeline profiling is enabled or disabled in the middle of an
3040         event dispatch.
3041
3042         https://bugs.webkit.org/show_bug.cgi?id=31080
3043
3044         Test: inspector/timeline-trivial.html
3045
3046         * bindings/js/ScriptController.cpp:
3047         (WebCore::ScriptController::evaluateInWorld):
3048         (WebCore::ScriptController::processingUserGestureEvent):
3049         * inspector/InspectorTimelineAgent.cpp:
3050         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
3051         * page/DOMTimer.cpp:
3052         (WebCore::DOMTimer::fired):
3053
3054 2009-11-03  Dan Bernstein  <mitz@apple.com>
3055
3056         Reviewed by Dave Hyatt.
3057
3058         Allow a frame to go back to copy-on-scroll when it ceases being overlapped
3059
3060         The code was not testing slow-scrolling frames for overlappedness, thinking the answer
3061         would not matter. That is not the case if the only reason for the slow-scrolling is
3062         being overlapped.
3063
3064         * page/FrameView.cpp:
3065         (WebCore::FrameView::useSlowRepaintsIfNotOverlapped): Added. Returns whether there is any
3066         reason besides being overlapped that the frame would need to fully repaint on scroll.
3067         * page/FrameView.h:
3068         * rendering/RenderWidget.cpp:
3069         (WebCore::RenderWidget::paint): Use useSlowRepaintsIfNotOverlapped().
3070
3071 2009-11-03  Dmitry Titov  <dimich@chromium.org>
3072
3073         Not reviewed, Qt build fix.
3074
3075         Need to use right capitalization for include file.
3076
3077         * page/Navigator.cpp:
3078
3079 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
3080
3081         Reviewed by Timothy Hatcher.
3082
3083         Web Inspector: Migrate from top bar filters to check boxes in Timeline.
3084
3085         https://bugs.webkit.org/show_bug.cgi?id=31081
3086
3087         * inspector/front-end/AbstractTimelinePanel.js:
3088         (WebInspector.AbstractTimelinePanel.prototype.showCategory):
3089         (WebInspector.AbstractTimelinePanel.prototype.hideCategory):
3090         (WebInspector.AbstractTimelinePanel.prototype.filter):
3091         * inspector/front-end/TimelinePanel.js:
3092         (WebInspector.TimelinePanel):
3093         (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
3094         (WebInspector.TimelineCategoryTreeElement.prototype._onCheckboxClick):
3095         (WebInspector.TimelineCategoryGraph.prototype.clearChunks):
3096         (WebInspector.TimelineCategoryGraph.prototype.set dimmed):
3097         * inspector/front-end/inspector.css:
3098
3099 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
3100
3101         Reviewed by Timothy Hatcher.
3102
3103         Web Inspector: clear overview on Clear action and panel reset.
3104
3105         https://bugs.webkit.org/show_bug.cgi?id=31078
3106
3107         * inspector/front-end/TimelinePanel.js:
3108         (WebInspector.TimelinePanel.prototype._getRecordDetails):
3109         (WebInspector.TimelinePanel.prototype.reset):
3110
3111 2009-11-03  Yaar Schnitman  <yaar@chromium.org>
3112
3113         Reviewed by Dimitri Glazkov.
3114
3115         Imported action and rules python files that WebCore.gyp depends on. 
3116         These files used to live in chromium.org and deal mostly with auto-generation
3117         of code by wrapping existing webkit perl scripts.
3118
3119         https://bugs.webkit.org/show_bug.cgi?id=31071
3120
3121         * WebCore.gyp/WebCore.gyp: Fixed paths in actions and rules.
3122         * WebCore.gyp/scripts/action_csspropertynames.py: Added.
3123         * WebCore.gyp/scripts/action_cssvaluekeywords.py: Added.
3124         * WebCore.gyp/scripts/action_makenames.py: Added.
3125         * WebCore.gyp/scripts/action_maketokenizer.py: Added.
3126         * WebCore.gyp/scripts/action_useragentstylesheets.py: Added.
3127         * WebCore.gyp/scripts/rule_binding.py: Added.
3128         * WebCore.gyp/scripts/rule_bison.py: Added.
3129         * WebCore.gyp/scripts/rule_gperf.py: Added.
3130
3131 2009-11-03  Bradley Green  <brg@chromium.org>
3132
3133         Reviewed by Dmitry Titov.
3134
3135         Implement window.navigator.registerProtocolHandler in webkit,
3136         https://bugs.webkit.org/b/29651
3137
3138         Also implemented its sister API window.navigator.registerContentHandler.
3139
3140         These methods are as described in the HTML5 specification which can be
3141         found here,
3142         http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler
3143         http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registercontenthandler
3144
3145         As specified in the document, the behavior of the browser is determined
3146         by the current registered handler.  The state of a registered handler
3147         can change at any time, with the user clearing a registered handler,
3148         registering a different page as handler, or deferring the hander to the
3149         OS.  If webkit was to track the state of the currently registered
3150         handlers, it would need more APIs and complexity to keep in sync with
3151         user actions reported to webkit from the UA.  For simplicity, the state
3152         of protocol handlers should be kept isolated from webkit and webkit only
3153         notifies the UA that a page has made the call.  The UA is then
3154         responsible for correctly handling the registerProtocolHandler call and
3155         the redirects which result from registration.
3156
3157         We do however follow the specification in insuring that the reserved
3158         schemes and mimeTypes are not passed to the UA as custom handler
3159         registration tests.  We also insure that the "%s" token is present as
3160         required by the specification.
3161
3162         Updated test expectations for window.clientInformation and navigator
3163         objects.
3164
3165         Tests: fast/dom/registerContentHandler.html
3166                fast/dom/registerProtocolHandler.html
3167
3168         * page/Chrome.cpp:
3169         (WebCore::Chrome::registerProtocolHandler):
3170         (WebCore::Chrome::registerContentHandler):
3171         * page/Chrome.h:
3172         * page/ChromeClient.h:
3173         (WebCore::ChromeClient::registerProtocolHandler):
3174         (WebCore::ChromeClient::registerContentHandler):
3175         * page/Navigator.cpp:
3176         (WebCore::verifyCustomHandlerURL):
3177         (WebCore::verifyProtocolHandlerScheme):
3178         (WebCore::Navigator::registerProtocolHandler):
3179         (WebCore::verifyProtocolHandlerMimeType):
3180         (WebCore::Navigator::registerContentHandler):
3181         * page/Navigator.h:
3182         * page/Navigator.idl:
3183
3184 2009-11-03  Brady Eidson  <beidson@apple.com>
3185
3186         Reviewed by Darin Adler.
3187
3188         https://bugs.webkit.org/show_bug.cgi?id=31079 - Remove #include "Page.h" from Document.h
3189
3190         No new tests. (No change in functionality)
3191
3192         * dom/Document.cpp:
3193         (WebCore::Document::inspectorTimelineAgent): Moved from Document.h
3194         * dom/Document.h:
3195
3196         Include "Page.h" directly:
3197         * html/HTMLVideoElement.cpp:
3198         * loader/RedirectScheduler.cpp:
3199         * page/History.cpp:
3200         * rendering/MediaControlElements.cpp:
3201         * storage/StorageAreaImpl.cpp:
3202
3203 2009-11-03  Keishi Hattori  <casey.hattori@gmail.com>
3204
3205         Reviewed by Timothy Hatcher.
3206
3207         Web Inspector: hover over JS "things" in source and see their values
3208         https://bugs.webkit.org/show_bug.cgi?id=30913
3209
3210         * inspector/front-end/SourceFrame.js:
3211
3212 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
3213
3214         Reviewed by Timothy Hatcher.
3215
3216         Web Inspector: update timeline content boundaries on timer.
3217
3218         https://bugs.webkit.org/show_bug.cgi?id=31072
3219
3220         * inspector/front-end/TimelinePanel.js:
3221         (WebInspector.TimelinePanel.prototype.refresh):
3222         (WebInspector.TimelinePanel.prototype._setWindowPosition):
3223
3224 2009-11-03  Dan Bernstein  <mitz@apple.com>
3225
3226         Reviewed by Anders Carlsson and Beth Dakin.
3227
3228         https://bugs.webkit.org/show_bug.cgi?id=31070
3229         Fix <rdar://problem/7194735> Crashes at RenderText::RenderText()
3230         Fix <rdar://problem/6937089> Crashes at RenderWidget::destroy()
3231
3232         Tests: plugins/attach-during-destroy.html
3233                plugins/destroy-reentry.html
3234
3235         These crashes were caused by plug-in code running during detach(),
3236         causing re-entry into RenderWidget::destroy() in one case and a call
3237         into attach() in the other. The fix is to prevent plug-in code from
3238         being called at certain unsafe times (during attach(), detach(), and
3239         recalcStyle()) by deferring changes to the widget hierarchy.
3240
3241         * dom/Document.cpp:
3242         (WebCore::Document::recalcStyle): Suspend widget hierarchy updates
3243             during style recalculation.
3244
3245         * dom/Element.cpp:
3246         (WebCore::Element::attach): Suspend widget hierarchy updates during
3247             attach().
3248         (WebCore::Element::detach): Suspend widget hierarchy updates during
3249             detach().
3250
3251         * rendering/RenderWidget.cpp:
3252         (WebCore::widgetNewParentMap): Returns a static map of pending changes
3253             to the widget hierarchy.
3254         (WebCore::RenderWidget::suspendWidgetHierarchyUpdates): Increments the
3255             suspend count.
3256         (WebCore::RenderWidget::resumeWidgetHierarchyUpdates): Decrements the
3257             suspend count. If the count is going to be zero, updates the widget
3258             hierarchy by executing the pending changes stored in the map.
3259         (WebCore::moveWidgetToParentSoon): Updates the widget hierarchy
3260             immediately or makes or updates an entry in the map, depending on
3261             whether updates are suspended.
3262         (WebCore::RenderWidget::destroy): Removed earlier bandaid fix for
3263             <rdar://problem/6937089>.
3264         (WebCore::RenderWidget::setWidgetGeometry): Assert that widget updates
3265             are not suspended, because this function updates the widget’s
3266             bounds, which can result in arbitrary native and JavaScript code
3267             execution. I think this assertion is true thanks to some deferred-
3268             update mechanisms that have already been deployed in other places
3269             in the code.
3270         (WebCore::RenderWidget::setWidget): Call moveWidgetToParentSoon instead
3271             of changing the widget hierarchy directly.
3272         * rendering/RenderWidget.h: Declared suspendWidgetHierarchyUpdates()
3273             and resumeWidgetHierarchyUpdates().
3274
3275 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
3276
3277         Reviewed by Timothy Hatcher.
3278
3279         Web Inspector: only show timeline records that contribute
3280         to the current window.
3281
3282         https://bugs.webkit.org/show_bug.cgi?id=31069
3283
3284         * inspector/front-end/TimelinePanel.js:
3285         (WebInspector.TimelinePanel.prototype.refresh):
3286         (WebInspector.TimelineGraph):
3287         (WebInspector.TimelineGraph.prototype.refresh):
3288
3289 2009-11-03  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
3290
3291         Reviewed by Timothy Hatcher.
3292
3293         Watch expression editor should stay open after Add button was clicked
3294         https://bugs.webkit.org/show_bug.cgi?id=31049
3295
3296         No new tests, was a regression, use existing manual test.
3297
3298         * inspector/front-end/WatchExpressionsSidebarPane.js:
3299         (WebInspector.WatchExpressionsSection.prototype.update):
3300         (WebInspector.WatchExpressionsSection.prototype.addExpression):
3301
3302 2009-11-03  Evan Martin  <evan@chromium.org>
3303
3304         Reviewed by Darin Adler.
3305
3306         Fix an off-by-one in the CSS lexer that causes memory corruption in
3307         hard-to-trigger circumstances.
3308
3309         https://bugs.webkit.org/show_bug.cgi?id=30827
3310
3311         Test: fast/css/end-of-buffer-crash.html
3312
3313         * css/maketokenizer: Add comments, fix off-by-one.
3314
3315 2009-11-02  Darin Adler  <darin@apple.com>
3316
3317         Reviewed by Dan Bernstein.
3318
3319         Crash due to double-destroy related to CSS run-in property
3320         https://bugs.webkit.org/show_bug.cgi?id=31034
3321         rdar://problem/7328458
3322
3323         Test: fast/css/run-in-crash.html
3324
3325         * rendering/RenderBlock.cpp:
3326         (WebCore::RenderBlock::destroy): Reorder destruction so the
3327         continuation is destroyed after anonymous children. See comment
3328         in the code for more details of why this is right.
3329         * rendering/RenderInline.cpp:
3330         (WebCore::RenderInline::destroy): Ditto.
3331
3332 2009-11-03  Alexander Pavlov  <apavlov@chromium.org>
3333
3334         Reviewed by Pavel Feldman.
3335
3336         Fix exception in ElementsPanel.js when moving pointer out of crumbs and window
3337
3338         There might be no new node under mouse if the pointer is moved out of the window
3339         in which case we get an exception.
3340         https://bugs.webkit.org/show_bug.cgi?id=31061
3341
3342         * inspector/front-end/ElementsPanel.js:
3343         (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs):
3344
3345 2009-11-03  Zoltan Horvath  <zoltan@webkit.org>
3346
3347         Reviewed by Darin Adler.
3348
3349         Allow custom memory allocation control for the dom directory of WebCore
3350         https://bugs.webkit.org/show_bug.cgi?id=31053
3351
3352         Inherits the following classes from Noncopyable because these are
3353         instantiated by 'new' and these are no need to be copyable:
3354
3355         class EventNames - 'new' call: WebCore/platform/ThreadGlobalData.cpp:73
3356         struct PerformTaskContext - 'new' call: WebCore/dom/Document.cpp:4581
3357         class EventData - 'new' call: WebCore/dom/MessagePortChannel.cpp:38
3358         struct NodeListsNodeData - 'new' call: WebCore/dom/NodeRareData.h:51 
3359         struct EventTargetData - 'new' call: WebCore/dom/NodeRareData.h:100
3360         class NodeRareData - 'new' call: WebCore/dom/Node.cpp:552
3361
3362         Inherits QualifiedName class from FastAllocBase because it is
3363         instantiated by 'new' in WebCore/editing/markup.cpp:319
3364
3365         * dom/Document.cpp:
3366         * dom/EventNames.h:
3367         * dom/EventTarget.h:
3368         * dom/MessagePortChannel.h:
3369         * dom/NodeRareData.h:
3370         * dom/QualifiedName.h:
3371
3372 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
3373
3374         Reviewed by Timothy Hatcher.
3375
3376         Web Inspector: Implement timeline summary panel.
3377
3378         https://bugs.webkit.org/show_bug.cgi?id=31064
3379
3380         * inspector/front-end/TimelinePanel.js:
3381         (WebInspector.TimelinePanel.prototype._createOverview):
3382         (WebInspector.TimelinePanel.prototype.refresh):
3383         (WebInspector.TimelineCategoryGraph):
3384         (WebInspector.TimelineCategoryGraph.prototype.get graphElement):
3385         (WebInspector.TimelineCategoryGraph.prototype.addChunk):
3386         (WebInspector.TimelineCategoryGraph.prototype.clearChunks):
3387         (WebInspector.TimelineGraph.prototype.refresh):
3388         * inspector/front-end/inspector.css:
3389
3390 2009-11-03  Alexander Pavlov  <apavlov@chromium.org>
3391
3392         Reviewed by Timothy Hatcher.
3393
3394         Toggle off 'Search for node' when the Inspector window is closing
3395
3396         Searching for node should be toggled off when the Inspector window is closed,
3397         in a platform-independent manner.
3398         https://bugs.webkit.org/show_bug.cgi?id=31059
3399
3400         * inspector/InspectorController.cpp:
3401         (WebCore::InspectorController::setWindowVisible):
3402
3403 2009-11-03  Mikhail Naganov  <mnaganov@chromium.org>
3404
3405         Reviewed by Timothy Hatcher.
3406
3407         Prepare for heap profiles upstreaming:
3408         - pass profile type id from InspectorController;
3409         - this makes WebInspector.CPUProfile redundant---removed;
3410         - support multiple profile types when populating profiles.
3411
3412         https://bugs.webkit.org/show_bug.cgi?id=31052
3413
3414         * inspector/InspectorController.cpp:
3415         (WebCore::InspectorController::createProfileHeader):
3416         * inspector/front-end/ProfileView.js:
3417         (WebInspector.CPUProfileView.profileCallback):
3418         (WebInspector.CPUProfileView):
3419         (WebInspector.CPUProfileView.prototype._sortData):
3420         * inspector/front-end/ProfilesPanel.js:
3421         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
3422         * inspector/front-end/inspector.js:
3423         (WebInspector.addProfileHeader):
3424
3425 2009-11-03  Dan Kegel  <dank@chromium.org>
3426
3427         Reviewed by Dimitri Glazkov.
3428
3429         UMR in WebCore::AccessibilityRenderObject::children(); m_childrenDirty uninitialized in constructor
3430         https://bugs.webkit.org/show_bug.cgi?id=31063
3431
3432         * accessibility/AccessibilityRenderObject.cpp:
3433         (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
3434
3435 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
3436
3437         Reviewed by Timothy Hatcher.
3438
3439         Web Inspector: Implement Timeline Window, wire it to the bottom timeline.
3440
3441         https://bugs.webkit.org/show_bug.cgi?id=31056
3442
3443         * English.lproj/localizedStrings.js:
3444         * inspector/front-end/AbstractTimelinePanel.js:
3445         (WebInspector.AbstractTimelinePanel.prototype.get items):
3446         (WebInspector.AbstractTimelinePanel.prototype.createInterface):
3447         (WebInspector.AbstractTimelinePanel.prototype.updateGraphDividersIfNeeded):
3448         (WebInspector.AbstractTimelinePanel.prototype._updateDividersLabelBarPosition):
3449         (WebInspector.AbstractTimelinePanel.prototype.invalidateAllItems):
3450         (WebInspector.AbstractTimelinePanel.prototype.refresh):
3451         (WebInspector.AbstractTimelinePanel.prototype.adjustScrollPosition):
3452         (WebInspector.AbstractTimelinePanel.prototype.addExtraDivider):
3453         (WebInspector.TimelineGrid):
3454         (WebInspector.TimelineGrid.prototype.get itemsGraphsElement):
3455         (WebInspector.TimelineGrid.prototype.updateDividers):
3456         (WebInspector.TimelineGrid.prototype.addExtraDivider):
3457         (WebInspector.TimelineGrid.prototype.setScrollAndDividerTop):
3458         * inspector/front-end/ResourcesPanel.js:
3459         (WebInspector.ResourcesPanel):
3460         (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded):
3461         (WebInspector.ResourcesPanel.prototype.get _resources):
3462         * inspector/front-end/TimelinePanel.js:
3463         (WebInspector.TimelinePanel):
3464         (WebInspector.TimelinePanel.prototype.get categories):
3465         (WebInspector.TimelinePanel.prototype._formatRecord):
3466         (WebInspector.TimelinePanel.prototype.reset):
3467         (WebInspector.TimelinePanel.prototype._createOverview):
3468         (WebInspector.TimelinePanel.prototype.setSidebarWidth):
3469         (WebInspector.TimelinePanel.prototype.updateMainViewWidth):
3470         (WebInspector.TimelinePanel.prototype.updateGraphDividersIfNeeded):
3471         (WebInspector.TimelinePanel.prototype.refresh):
3472         (WebInspector.TimelinePanel.prototype._resizeWindow):
3473         (WebInspector.TimelinePanel.prototype._windowResizeDragging):
3474         (WebInspector.TimelinePanel.prototype._dragWindow):
3475         (WebInspector.TimelinePanel.prototype._windowDragging):
3476         (WebInspector.TimelinePanel.prototype._resizeWindowLeft):
3477         (WebInspector.TimelinePanel.prototype._resizeWindowRight):
3478         (WebInspector.TimelinePanel.prototype._setWindowPosition):
3479         (WebInspector.TimelinePanel.prototype._endWindowDragging):
3480         (WebInspector.TimelineCategoryTreeElement):
3481         (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
3482         (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
3483         (WebInspector.TimelineCalculator.prototype.get minimumBoundary):
3484         (WebInspector.TimelineCalculator.prototype.get maximumBoundary):
3485         (WebInspector.TimelineCalculator.prototype.reset):
3486         (WebInspector.TimelineCalculator.prototype.updateBoundaries):
3487         (WebInspector.TimelineCalculator.prototype.formatValue):
3488         * inspector/front-end/inspector.css:
3489
3490 2009-11-03  Simon Hausmann  <hausmann@webkit.org>
3491
3492         Reviewed by Tor Arne Vestbø.
3493
3494         Make QWebPluginDatabase private API for now.
3495
3496         https://bugs.webkit.org/show_bug.cgi?id=30775
3497
3498         * WebCore.pro:
3499
3500 2009-11-03  Simon Hausmann  <hausmann@webkit.org>
3501
3502         Reviewed by Tor Arne Vestbø.
3503
3504         Extended the conversion of the WebCore ResourceRequest to the
3505         QNetworkRequest with a mandatory originating object argument,
3506         which is meant to be the QWebFrame the request belongs to.
3507
3508         https://bugs.webkit.org/show_bug.cgi?id=29975
3509
3510         * platform/network/qt/QNetworkReplyHandler.cpp:
3511         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
3512         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
3513         (WebCore::QNetworkReplyHandler::start):
3514         * platform/network/qt/ResourceRequest.h:
3515         * platform/network/qt/ResourceRequestQt.cpp:
3516         (WebCore::ResourceRequest::toNetworkRequest):
3517
3518 2009-11-03  Keishi Hattori  <casey.hattori@gmail.com>
3519
3520         Reviewed by Pavel Feldman.
3521
3522         Web Inspector: monitorEvent should be monitorEvents
3523         https://bugs.webkit.org/show_bug.cgi?id=31042
3524
3525         * inspector/front-end/InjectedScript.js:
3526         (InjectedScript._ensureCommandLineAPIInstalled):
3527
3528 2009-11-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3529
3530         Rubber-stamped by Antti Koivisto.
3531
3532         [Qt] Build fix for Windows CE
3533
3534         * plugins/PluginDatabase.cpp:
3535
3536 2009-11-02  Chris Fleizach  <cfleizach@apple.com>
3537
3538         Reviewed by David Levin.
3539
3540         fix accessibility webkit-style-check errors
3541         https://bugs.webkit.org/show_bug.cgi?id=29672
3542
3543         * accessibility/AXObjectCache.cpp:
3544         (WebCore::AXObjectCache::getOrCreate):
3545         (WebCore::AXObjectCache::remove):
3546         (WebCore::AXObjectCache::platformGenerateAXID):
3547         (WebCore::AXObjectCache::removeAXID):
3548         * accessibility/AXObjectCache.h:
3549         (WebCore::AXObjectCache::enableAccessibility):
3550         (WebCore::AXObjectCache::enableEnhancedUserInterfaceAccessibility):
3551         (WebCore::AXObjectCache::accessibilityEnabled):
3552         (WebCore::AXObjectCache::accessibilityEnhancedUserInterfaceEnabled):
3553         (WebCore::AXObjectCache::isIDinUse):
3554         (WebCore::AXObjectCache::objectFromAXID):
3555         (WebCore::AXObjectCache::):
3556         (WebCore::AXObjectCache::handleActiveDescendantChanged):
3557         (WebCore::AXObjectCache::handleAriaRoleChanged):
3558         (WebCore::AXObjectCache::detachWrapper):
3559         (WebCore::AXObjectCache::attachWrapper):
3560         (WebCore::AXObjectCache::selectedChildrenChanged):
3561         (WebCore::AXObjectCache::postNotification):
3562         (WebCore::AXObjectCache::postPlatformNotification):
3563         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
3564         (WebCore::AXObjectCache::handleScrolledToAnchor):
3565         * accessibility/AccessibilityARIAGrid.cpp:
3566         (WebCore::AccessibilityARIAGrid::cellForColumnAndRow):
3567         * accessibility/AccessibilityAllInOne.cpp:
3568         * accessibility/AccessibilityImageMapLink.cpp:
3569         * accessibility/AccessibilityList.h:
3570         (WebCore::AccessibilityList::isList):
3571         * accessibility/AccessibilityListBox.cpp:
3572         * accessibility/AccessibilityListBox.h:
3573         (WebCore::AccessibilityListBox::isListBox):
3574         * accessibility/AccessibilityListBoxOption.cpp:
3575         * accessibility/AccessibilityListBoxOption.h:
3576         (WebCore::AccessibilityListBoxOption::isListBoxOption):
3577         * accessibility/AccessibilityMediaControls.h:
3578         (WebCore::AccessibilityMediaControl::~AccessibilityMediaControl):
3579         (WebCore::AccessibilityMediaTimeline::~AccessibilityMediaTimeline):
3580         (WebCore::AccessibilityMediaTimeline::isMediaTimeline):
3581         (WebCore::AccessibilityMediaControlsContainer::~AccessibilityMediaControlsContainer):
3582         (WebCore::AccessibilityMediaControlsContainer::roleValue):
3583         (WebCore::AccessibilityMediaControlsContainer::accessibilityIsIgnored):
3584         (WebCore::AccessibilityMediaTimeDisplay::~AccessibilityMediaTimeDisplay):
3585         (WebCore::AccessibilityMediaTimeDisplay::roleValue):
3586         * accessibility/AccessibilityObject.cpp:
3587         (WebCore::AccessibilityObject::parentObjectUnignored):
3588         (WebCore::AccessibilityObject::rightLineVisiblePositionRange):
3589         (WebCore::replacedNodeNeedsCharacter):
3590         (WebCore::AccessibilityObject::stringForVisiblePositionRange):
3591         (WebCore::AccessibilityObject::lengthForVisiblePositionRange):
3592         (WebCore::AccessibilityObject::actionVerb):
3593         * accessibility/AccessibilityObject.h:
3594         (WebCore::PlainTextRange::isNull):
3595         (WebCore::AccessibilityObject::isAccessibilityRenderObject):
3596         (WebCore::AccessibilityObject::isAnchor):
3597         (WebCore::AccessibilityObject::isAttachment):
3598         (WebCore::AccessibilityObject::isHeading):
3599         (WebCore::AccessibilityObject::isLink):
3600         (WebCore::AccessibilityObject::isImage):
3601         (WebCore::AccessibilityObject::isNativeImage):
3602         (WebCore::AccessibilityObject::isImageButton):
3603         (WebCore::AccessibilityObject::isPasswordField):
3604         (WebCore::AccessibilityObject::isTextControl):
3605         (WebCore::AccessibilityObject::isNativeTextControl):
3606         (WebCore::AccessibilityObject::isWebArea):
3607         (WebCore::AccessibilityObject::isCheckboxOrRadio):
3608         (WebCore::AccessibilityObject::isListBox):
3609         (WebCore::AccessibilityObject::isFileUploadButton):
3610         (WebCore::AccessibilityObject::isProgressIndicator):
3611         (WebCore::AccessibilityObject::isSlider):
3612         (WebCore::AccessibilityObject::isControl):
3613         (WebCore::AccessibilityObject::isList):
3614         (WebCore::AccessibilityObject::isDataTable):
3615         (WebCore::AccessibilityObject::isTableRow):
3616         (WebCore::AccessibilityObject::isTableColumn):
3617         (WebCore::AccessibilityObject::isTableCell):
3618         (WebCore::AccessibilityObject::isFieldset):
3619         (WebCore::AccessibilityObject::isGroup):
3620         (WebCore::AccessibilityObject::isChecked):
3621         (WebCore::AccessibilityObject::isEnabled):
3622         (WebCore::AccessibilityObject::isSelected):
3623         (WebCore::AccessibilityObject::isFocused):
3624         (WebCore::AccessibilityObject::isHovered):
3625         (WebCore::AccessibilityObject::isIndeterminate):
3626         (WebCore::AccessibilityObject::isLoaded):
3627         (WebCore::AccessibilityObject::isMultiSelect):
3628         (WebCore::AccessibilityObject::isOffScreen):
3629         (WebCore::AccessibilityObject::isPressed):
3630         (WebCore::AccessibilityObject::isReadOnly):
3631         (WebCore::AccessibilityObject::isVisited):
3632         (WebCore::AccessibilityObject::isRequired):
3633         (WebCore::AccessibilityObject::canSetFocusAttribute):