2009-12-19 Fumitoshi Ukai <ukai@chromium.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2009-12-19  Fumitoshi Ukai  <ukai@chromium.org>
2
3         Reviewed by Alexey Proskuryakov.
4
5         Invalid url should raise SYNTAX_ERR exception.
6         https://bugs.webkit.org/show_bug.cgi?id=32700
7
8         Check url is valid in WebSocket::connect.
9         Also log the detailed reason of websocket failures to console.
10
11         * websockets/WebSocket.cpp:
12         (WebCore::WebSocket::connect):
13
14 2009-12-19  Dan Bernstein  <mitz@apple.com>
15
16         Reviewed by Darin Adler.
17
18         REGRESSION: Up/down arrow keys do not step numeric CSS property values
19         https://bugs.webkit.org/show_bug.cgi?id=32776
20
21         * inspector/front-end/inspector.js:
22         (WebInspector.documentKeyDown): Call the focused element’s
23         handleKeyEvent method.
24
25 2009-12-19  Dirk Schulze  <krit@webkit.org>
26
27         Reviewed by Nikolas Zimmermann.
28
29         Speed-up SVG Masking
30         https://bugs.webkit.org/show_bug.cgi?id=32738
31
32         This patch makes SVG Masking faster. At the moment we create a new ImageBuffer
33         and copy the complete pixel array. That is rather inefficient. This patch
34         uses the mask image directly.
35         It also bounds the direct pixel manipultation to the viewable area to minimize
36         the calculation of the mask.
37
38         No change in functionality. So no new test.
39
40         * svg/SVGMaskElement.cpp:
41         (WebCore::SVGMaskElement::drawMaskerContent):
42         * svg/SVGMaskElement.h:
43         * svg/graphics/SVGResourceMasker.cpp:
44         (WebCore::SVGResourceMasker::applyMask):
45         * svg/graphics/SVGResourceMasker.h:
46
47 2009-12-19  Dirk Schulze  <krit@webkit.org>
48
49         Reviewed by Nikolas Zimmermann.
50
51         Add tests to check filter, mask, clip, opacity and marker ordering
52         https://bugs.webkit.org/show_bug.cgi?id=14010
53
54         The right ordering for applying effects on objects in SVG is filters,
55         clipper/masker and opacity. This patch fixes the order of filter and
56         clipper/masker. Opacity and marker need another test.
57         This change is according to the SVG Specification:
58         http://www.w3.org/TR/SVG11/render.html#Elements
59
60         Test: svg/filters/filter-clip.svg
61
62         * rendering/SVGRenderSupport.cpp:
63         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
64
65 2009-12-19  Evan Martin  <evan@chromium.org>
66
67         Reviewed by Gustavo Noronha Silva.
68
69         Revert my attempt at making --disable-geolocation work; it is
70         more complicated than I anticipated.  (It passed on the build bots
71         because they build with --enable-geolocation.)
72
73         * GNUmakefile.am:
74
75 2009-12-19  MORITA Hajime  <morrita@gmail.com>
76
77         Reviewed by Darin Adler.
78
79         WebCore::Range::surroundContents NULL pointer crash.
80
81         https://bugs.webkit.org/show_bug.cgi?id=31684
82
83         Test: fast/dom/Range/31684.html
84
85         * dom/Range.cpp:
86         (WebCore::Range::surroundContents):
87         throw exception when parentOfNewParent->parentNode() is NULL.
88
89 2009-12-19  Christian Dywan  <christian@twotoasts.de>
90
91         Reviewed by Gustavo Noronha Silva.
92
93         Don't use an icon for all spelling guess menu items.
94
95         * platform/gtk/ContextMenuItemGtk.cpp:
96         (WebCore::gtkStockIDFromContextMenuAction):
97
98 2009-12-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
99
100         Unreviewed build fix. Missing \.
101
102         * GNUmakefile.am:
103
104 2009-12-19  Evan Martin  <evan@chromium.org>
105
106         Reviewed by Gustavo Noronha Silva.
107
108         Make --disable-geolocation and --disable-svg work, by conditionally
109         building the relevant files.
110
111         * GNUmakefile.am:
112
113 2009-12-18  Peter Kasting  <pkasting@google.com>
114
115         Reviewed by Simon Fraser.
116
117         Add a comment about some confusing code that otherwise would look like
118         it might be a bug.
119         https://bugs.webkit.org/show_bug.cgi?id=32534
120
121         * rendering/RenderLayer.cpp:
122         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
123
124 2009-12-18  Nikolas Zimmermann  <nzimmermann@rim.com>
125
126         Not reviewed. Messed up the XCode file, trying to fix.
127
128         * WebCore.xcodeproj/project.pbxproj:
129
130 2009-12-18  Nikolas Zimmermann  <nzimmermann@rim.com>
131
132         Not reviewed, fix typos in WebCore.xcodeproj.
133
134         * WebCore.xcodeproj/project.pbxproj:
135
136 2009-12-18  Nikolas Zimmermann  <nzimmermann@rim.com>
137
138         Reviewed by Eric Seidel.
139
140         SVGAngle / SVGPreserveAspectRatio should be POD types
141         https://bugs.webkit.org/show_bug.cgi?id=32758
142
143         Convert SVGAngle / SVGPreserveAspectRatio to be non-refcounted types, just
144         like it has been done for SVGMatrix / SVGLength before.
145
146         This patch prepares removing the special DOMObjectWithSVGContext hack.
147         No change in functionality, thus no new tests.
148
149         * WebCore.xcodeproj/project.pbxproj: Add SVGNames.h to the 'Copy Generated Headers' phase, and set SVGAngle/SVGPreserveAspectRatio role to 'Private', so WebKit can access it.
150         * bindings/scripts/CodeGenerator.pm: Recognize SVGAngle / SVGPreserveAspectRatio as new POD-types (similar to SVGLength)
151         * bindings/scripts/CodeGeneratorJS.pm: Ditto. 
152         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
153         * bindings/v8/V8Index.h: Ditto.
154         * rendering/RenderSVGImage.cpp: All following changes, modify SVGAngle/SVGPreserveAspectRatio access, as they are non-refcounted now.
155         (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
156         (WebCore::RenderSVGImage::paint):
157         * rendering/RenderSVGImage.h:
158         * svg/SVGAngle.h:
159         * svg/SVGAngle.idl:
160         * svg/SVGAnimatedTemplate.h:
161         (WebCore::):
162         * svg/SVGFEImageElement.cpp:
163         (WebCore::SVGFEImageElement::SVGFEImageElement):
164         (WebCore::SVGFEImageElement::parseMappedAttribute):
165         * svg/SVGFitToViewBox.cpp:
166         (WebCore::SVGFitToViewBox::viewBoxToViewTransform):
167         (WebCore::SVGFitToViewBox::parseMappedAttribute):
168         * svg/SVGFitToViewBox.h:
169         * svg/SVGImageElement.cpp:
170         (WebCore::SVGImageElement::SVGImageElement):
171         (WebCore::SVGImageElement::parseMappedAttribute):
172         * svg/SVGMarkerElement.cpp:
173         (WebCore::SVGMarkerElement::SVGMarkerElement):
174         (WebCore::SVGMarkerElement::parseMappedAttribute):
175         (WebCore::SVGMarkerElement::setOrientToAuto):
176         (WebCore::SVGMarkerElement::setOrientToAngle):
177         (WebCore::SVGMarkerElement::canvasResource):
178         * svg/SVGMarkerElement.h:
179         * svg/SVGPatternElement.cpp:
180         (WebCore::SVGPatternElement::SVGPatternElement):
181         * svg/SVGPreserveAspectRatio.cpp:
182         (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
183         (WebCore::SVGPreserveAspectRatio::getCTM):
184         * svg/SVGPreserveAspectRatio.h:
185         (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
186         * svg/SVGPreserveAspectRatio.idl:
187         * svg/SVGSVGElement.cpp:
188         (WebCore::SVGSVGElement::SVGSVGElement):
189         (WebCore::SVGSVGElement::createSVGAngle):
190         (WebCore::SVGSVGElement::inheritViewAttributes):
191         * svg/SVGSVGElement.h:
192         * svg/SVGSymbolElement.cpp:
193         (WebCore::SVGSymbolElement::SVGSymbolElement):
194         * svg/SVGViewElement.cpp:
195         (WebCore::SVGViewElement::SVGViewElement):
196         * svg/SVGViewSpec.cpp:
197         (WebCore::SVGViewSpec::SVGViewSpec):
198         (WebCore::SVGViewSpec::setPreserveAspectRatioString):
199         (WebCore::SVGViewSpec::parseViewSpec):
200
201 2009-12-18  Dumitru Daniliuc  <dumi@chromium.org>
202
203         Chromium build fix, no review.
204
205         * storage/chromium/DatabaseTrackerChromium.cpp:
206
207 2009-12-18  Brent Fulgham  <bfulgham@webkit.org>
208
209         Build fix, no review.
210
211         * platform/graphics/win/FontCacheWin.cpp:
212         (WebCore::FontCache::createFontPlatformData): Correct my typo
213           on the CG build.
214
215 2009-12-18  Dumitru Daniliuc  <dumi@chromium.org>
216
217         Reviewed by Eric Seidel.
218
219         Make DatabaseTrackerChromium::removeOpenDatabase() send and IPC on
220         the main thread when a database is being closed.
221
222         https://bugs.webkit.org/show_bug.cgi?id=32627
223
224         * storage/chromium/DatabaseTrackerChromium.cpp:
225         (WebCore::removeOpenDatabaseOnMainThread):
226         (WebCore::DatabaseTracker::removeOpenDatabase):
227
228 2009-12-18  Brent Fulgham  <bfulgham@webkit.org>
229
230         Build fix, no review.
231
232         * page/win/FrameCairoWin.cpp: Add missing include.
233         * platform/graphics/win/FontCacheWin.cpp:
234         (WebCore::FontCache::createFontPlatformData): Conditionalize
235           Safari-only call.
236
237 2009-12-18  Dumitru Daniliuc  <dumi@chromium.org>
238
239         Reviewed by Dmitry Titov.
240
241         Move some code related to database closing from the destructor to
242         the close() method. This would allow us to do things such as post
243         tasks to other threads when a database closes, which cannot be
244         done now, because we cannot increment the ref count to a database
245         object when we're in its destructor.
246
247         https://bugs.webkit.org/show_bug.cgi?id=32626
248
249         * storage/Database.cpp:
250         (WebCore::Database::~Database):
251         (WebCore::Database::close):
252
253 2009-12-18  Jon Honeycutt  <jhoneycutt@apple.com>
254
255         REGRESSION(r52233): MSAA: Accessibility role of lists is wrong
256
257         https://bugs.webkit.org/show_bug.cgi?id=32736
258
259         Reviewed by Adam Roben.
260
261         Test: platform/win/accessibility/list-role.html
262
263         * accessibility/AccessibilityObject.h:
264         (WebCore::AccessibilityObject::roleValueForMSAA):
265         Return roleValue(), rather than m_role, as subclasses may override it.
266
267         * accessibility/AccessibilityRenderObject.cpp:
268         (WebCore::AccessibilityRenderObject::roleValueForMSAA):
269         Fallback to roleValue(), rather than m_role, as it may be overriden.
270
271 2009-12-17  Jon Honeycutt  <jhoneycutt@apple.com>
272
273         MSAA: Accessibility role of list items is wrong
274
275         https://bugs.webkit.org/show_bug.cgi?id=32688
276
277         Reviewed by Adam Roben.
278
279         Test: platform/win/accessibility/list-item-role.html
280
281         * accessibility/AccessibilityObject.h:
282         (WebCore::):
283         Add a ListItemRole to the enum.
284
285         * accessibility/AccessibilityRenderObject.cpp:
286         (WebCore::msaaRoleForRenderer):
287         Return the role for the RenderObject, or UnknownRole if unknown.
288         (WebCore::AccessibilityRenderObject::roleValueForMSAA):
289         Call msaaRoleForRenderer() to get the role. If it is UnknownRole, fall
290         back to m_role.
291
292 2009-12-18  Simon Fraser  <simon.fraser@apple.com>
293
294         Reviewed by Darin Adler.
295
296         Crash when accessing webkitTransition property after setting webkitTransitionProperty with invalid value.
297         https://bugs.webkit.org/show_bug.cgi?id=31559
298         
299         Fix an array bounds error when accessing the CSS value for a shorthand property that takes
300         a comma-separated list, after the list for one of the component properties has been set to a different length.
301
302         Test: fast/css/shorthand-mismatched-list-crash.html
303
304         * css/CSSMutableStyleDeclaration.cpp:
305         (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):
306
307 2009-12-18  Simon Fraser  <simon.fraser@apple.com>
308
309         Reviewed by Mark Rowe.
310
311         Remove WebCore.ClientBasedGeolocation.exp from Sources, and remove two IDL files from Resources.
312
313         * WebCore.xcodeproj/project.pbxproj:
314
315 2009-12-18  Sam Weinig  <sam@webkit.org>
316
317         Fix mac Geolocation build.
318
319         * DerivedSources.make:
320         * WebCore.ClientBasedGeolocation.exp: Added.
321         * WebCore.xcodeproj/project.pbxproj:
322         * page/Geolocation.h:
323         * page/GeolocationError.h:
324         (WebCore::GeolocationError::GeolocationError):
325         * page/GeolocationPosition.h:
326
327 2009-12-18  Brian Weinstein  <bweinstein@apple.com>
328
329         Reviewed by Adam Roben.
330
331         Fixes <http://webkit.org/b/32613>.
332         REGRESSION (r52008): Middle-clicking on a linked image starts a pan scroll,
333         but should follow the link instead.
334
335         The node itself isn't the only possible node that can be a link (that was the
336         original check), any of its ancestors could be links as well, we need to climb
337         up the tree to see. Created a new function (enclosingAnchorNode), that finds a
338         node's enclosing anchor element (if it exists), that we can share between RenderLayer
339         and Node, and also added tests that test pan scrolling behavior in image maps.
340
341         Tests: platform/win/fast/events/panScroll-image-no-scroll.html
342                platform/win/fast/events/panScroll-imageMap-href-no-scroll.html
343                platform/win/fast/events/panScroll-imageMap-noHref-scroll.html
344
345         * dom/Node.cpp:
346         (WebCore::Node::enclosingAnchorNode):
347         (WebCore::Node::defaultEventHandler):
348         * dom/Node.h:
349         * rendering/RenderLayer.cpp:
350         (WebCore::RenderLayer::hitTest):
351
352 2009-12-18  Benjamin Otte  <otte@gnome.org>
353
354         Reviewed by Xan Lopez.
355
356         [GTK] RemoveDashboard support. It's useless.
357
358         * GNUmakefile.am:
359
360 2009-12-18  Christian Dywan  <christian@twotoasts.de>
361
362         Reviewed by Xan Lopez.
363
364         [GTK] context menu overriding API is very limited
365         https://bugs.webkit.org/show_bug.cgi?id=27546
366
367         Omit SearchWeb from the context menu in the GTK+ port.
368
369         * platform/ContextMenu.cpp:
370         (WebCore::ContextMenu::populate):
371
372 2009-12-18  Sam Weinig  <sam@webkit.org>
373
374         Reviewed by Anders Carlsson.
375
376         Add export the new symbol in WebCoreSystemInterface.
377
378         * WebCore.base.exp:
379         * platform/mac/WebCoreSystemInterface.h:
380         * platform/mac/WebCoreSystemInterface.mm:
381
382 2009-12-18  Sam Weinig  <sam@webkit.org>
383
384         Reviewed by Anders Carlsson.
385
386         Forward declare NSMutableArray when not compiling for Objective-C.
387
388         * platform/mac/WebCoreSystemInterface.h:
389
390 2009-12-18  Gavin Barraclough  <barraclough@apple.com>
391
392         Reviewed by Sam Weinig.
393
394         https://bugs.webkit.org/show_bug.cgi?id=32720
395         Replace UString addition/append with use of JSC::StringBuilder.
396
397         * ForwardingHeaders/runtime/StringBuilder.h: Added.
398         * bindings/js/ScriptString.h:
399         (WebCore::ScriptString::operator+=):
400         * bridge/jni/jni_runtime.cpp:
401         (appendClassName):
402         (JavaMethod::signature):
403         * inspector/InspectorController.cpp:
404         (WebCore::InspectorController::addProfileFinishedMessageToConsole):
405         (WebCore::InspectorController::addStartProfilingMessageToConsole):
406         (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
407
408 2009-12-18  Kenneth Russell  <kbr@google.com>
409
410         Reviewed by Darin Fisher.
411
412         Index validation for drawElements examines too many indices
413         https://bugs.webkit.org/show_bug.cgi?id=32692
414
415         Test: fast/canvas/webgl/bug-32692.html
416
417         * html/canvas/WebGLRenderingContext.cpp:
418         (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
419
420 2009-12-18  Sam Weinig  <sam@webkit.org>
421
422         Reviewed by Anders Carlsson.
423
424         Update WebKitSystemInterface for <rdar://problem/7237059>.        
425
426         * platform/mac/WebCoreSystemInterface.h:
427         * platform/mac/WebCoreSystemInterface.mm:
428
429 2009-12-18  Adam Roben  <aroben@apple.com>
430
431         GTK build fix
432
433         * plugins/gtk/PluginViewGtk.cpp: Added #include.
434
435 2009-12-18  Adam Roben  <aroben@apple.com>
436
437         Chromium build fix
438
439         * platform/chromium/PopupMenuChromium.cpp: Added #include.
440
441 2009-12-18  Adam Roben  <aroben@apple.com>
442
443         Chromium build fix
444
445         * html/HTMLLinkElement.cpp: Added #include.
446
447 2009-12-18  Adam Roben  <aroben@apple.com>
448
449         Qt build fix
450
451         * platform/qt/RenderThemeQt.cpp:
452         * plugins/qt/PluginDataQt.cpp:
453         * plugins/qt/PluginViewQt.cpp:
454         Added #includes.
455
456 2009-12-18  Adam Roben  <aroben@apple.com>
457
458         V8 build fix
459
460         * bindings/v8/custom/V8DOMWindowCustom.cpp: Added #include.
461
462 2009-12-18  Adam Roben  <aroben@apple.com>
463
464         GTK (and others?) build fix
465
466         * platform/text/StringImpl.h: Added #include.
467
468 2009-12-18  Adam Roben  <aroben@apple.com>
469
470         Reduce #includes in a few high-use headers
471
472         Removed unnecessary #includes in these headers:
473           - Frame.h
474           - FrameWin.h
475           - Node.h
476           - Page.h
477           - StringImpl.h
478
479         The rest of the patch is all adding #includes to source files that now
480         require them.
481
482         Fixes <http://webkit.org/b/32718>.
483
484         Rubber-stamped by Anders Carlsson.
485
486         * dom/Node.h:
487         * page/Frame.h:
488         * page/Page.h:
489         * page/win/FrameWin.h:
490         * platform/text/StringImpl.h:
491         Removed unnecessary #includes.
492
493         * accessibility/win/AXObjectCacheWin.cpp:
494         * bindings/js/JSDOMWindowBase.cpp:
495         * bindings/js/JSDOMWindowCustom.cpp:
496         * dom/Document.cpp:
497         * dom/InputElement.cpp:
498         * dom/Node.cpp:
499         * dom/SelectElement.cpp:
500         * editing/EditorCommand.cpp:
501         * html/HTMLFormControlElement.cpp:
502         * html/HTMLFormElement.cpp:
503         * html/HTMLMediaElement.cpp:
504         * html/HTMLParser.cpp:
505         * html/HTMLTextAreaElement.cpp:
506         * html/HTMLVideoElement.cpp:
507         * inspector/InspectorController.cpp:
508         * loader/FrameLoader.cpp:
509         * loader/HistoryController.cpp:
510         * loader/appcache/ApplicationCacheGroup.cpp:
511         * page/Console.cpp:
512         * page/EventHandler.cpp:
513         * page/Frame.cpp:
514         * page/FrameView.cpp:
515         * page/Navigator.cpp:
516         * page/PageGroup.cpp:
517         * page/Settings.cpp:
518         * page/mac/EventHandlerMac.mm:
519         * platform/KURL.h:
520         * platform/ScrollbarThemeComposite.cpp:
521         * platform/cf/BinaryPropertyList.cpp:
522         * platform/graphics/mac/GraphicsLayerCA.h:
523         * platform/graphics/win/WKCACFLayerRenderer.cpp:
524         * platform/mac/PopupMenuMac.mm:
525         * platform/mac/WidgetMac.mm:
526         * platform/network/cf/DNSCFNet.cpp:
527         * platform/text/StringImpl.cpp:
528         * platform/win/FileSystemWin.cpp:
529         * platform/win/PlatformScreenWin.cpp:
530         * platform/win/PopupMenuWin.cpp:
531         * platform/win/WidgetWin.cpp:
532         * plugins/PluginView.cpp:
533         * plugins/win/PluginViewWin.cpp:
534         * rendering/InlineTextBox.cpp:
535         * rendering/RenderBox.cpp:
536         * rendering/RenderFileUploadControl.cpp:
537         * rendering/RenderInline.cpp:
538         * rendering/RenderLayerCompositor.cpp:
539         * rendering/RenderObject.cpp:
540         * rendering/RootInlineBox.cpp:
541         * storage/DatabaseTracker.cpp:
542         * storage/DatabaseTracker.h:
543         * storage/SQLTransactionClient.cpp:
544         * svg/graphics/SVGImage.cpp:
545         Added now-needed #includes.
546
547 2009-12-18  Shu Chang  <Chang.Shu@nokia.com>
548
549         Reviewed by Darin Adler.
550
551         Implemented isId as specified by DOM Level 3. See detailed description below.
552         https://bugs.webkit.org/show_bug.cgi?id=5578
553
554         Added isId property and implementation:
555         Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
556                fast/dom/Element/attrisid-extra01.html
557         * dom/Attr.cpp:
558         (WebCore::Attr::isId):
559         * dom/Attr.h:
560         * dom/Attr.idl:
561
562         Replaced instances of HTMLNames::idAttr with Element::idAttributeName()
563         for the reason that id attribute name could be customized to a different
564         string other than "id". A test case is associated to each code change.
565         * dom/Document.cpp:
566         (WebCore::Document::getElementById): Test: fast/dom/Element/id-in-getelement01.html
567         * dom/Element.cpp: Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
568         (WebCore::Element::setAttribute):
569         (WebCore::Element::setAttributeMap):
570         (WebCore::Element::insertedIntoDocument):
571         (WebCore::Element::removedFromDocument):
572         (WebCore::Element::formatForDebugger):
573         (WebCore::Element::rareIDAttributeName):
574         * dom/Element.h: Added function idAttributeName().
575         (WebCore::Element::idAttributeName):
576         * dom/ElementRareData.h: Added member variable to store customized id name in ElementRareData.
577         (WebCore::ElementRareData::ElementRareData):
578         * dom/NamedAttrMap.cpp: Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
579         (WebCore::NamedNodeMap::setNamedItem):
580         (WebCore::NamedNodeMap::removeNamedItem):
581         (WebCore::NamedNodeMap::setAttributes):
582         * dom/Node.cpp: Removed ASSERT as it may not hold any more.
583         (WebCore::Node::querySelector):
584         * dom/SelectorNodeList.cpp: Removed ASSERT as it may not hold any more.
585         (WebCore::createSelectorNodeList):
586         * dom/StyledElement.cpp: Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
587         (WebCore::StyledElement::parseMappedAttribute):
588         * editing/DeleteButtonController.cpp: Test: fast/dom/Element/id-in-deletebutton.html
589         (WebCore::DeleteButtonController::createDeletionUI):
590         * editing/EditorCommand.cpp: Test: fast/dom/Element/id-in-insert-hr.html
591         (WebCore::executeInsertHorizontalRule):
592         * html/HTMLAppletElement.cpp: Test: fast/dom/Element/id-in-applet.html
593         (WebCore::HTMLAppletElement::parseMappedAttribute):
594         (WebCore::HTMLAppletElement::createRenderer):
595         * html/HTMLCollection.cpp:
596         (WebCore::HTMLCollection::checkForNameMatch): Test: fast/forms/select-namedItem.html
597         (WebCore::HTMLCollection::updateNameCache): Test: fast/dom/collection-namedItem-via-item.html
598         * html/HTMLDataGridColElement.cpp:
599         (WebCore::HTMLDataGridColElement::ensureColumn): Test: fast/dom/HTMLDataGridElement/DataGridColumns-dom.html
600         (WebCore::HTMLDataGridColElement::parseMappedAttribute): Test: fast/dom/HTMLDataGridElement/DataGridColumns-dom-attributes.html
601         * html/HTMLElement.cpp:
602         (WebCore::HTMLElement::parseMappedAttribute):
603         * html/HTMLFormCollection.cpp: Test: fast/dom/Element/id-in-formcollection.html
604         (WebCore::HTMLFormCollection::getNamedFormItem):
605         (WebCore::HTMLFormCollection::nextNamedItem):
606         (WebCore::HTMLFormCollection::updateNameCache):
607         * html/HTMLFrameElementBase.cpp: Test: fast/dom/Element/id-in-frame.html
608         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
609         (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
610         * html/HTMLImageElement.cpp: Test: fast/dom/Element/id-in-deletebutton.html
611         (WebCore::HTMLImageElement::parseMappedAttribute):
612         * html/HTMLMapElement.cpp: Test: fast/dom/Element/id-in-map.html
613         (WebCore::HTMLMapElement::parseMappedAttribute):
614         * html/HTMLNameCollection.cpp: Test: fast/dom/Element/id-in-frameset.html
615         (WebCore::HTMLNameCollection::itemAfter):
616         * html/HTMLObjectElement.cpp: Test: fast/dom/HTMLDocument/object-by-name-or-id.html
617         (WebCore::HTMLObjectElement::parseMappedAttribute):
618         * html/HTMLParamElement.cpp: Test: fast/dom/Element/id-in-param.html
619         (WebCore::HTMLParamElement::parseMappedAttribute):
620         * loader/CachedFont.cpp: Test: svg/custom/acid3-test-77.html
621         (WebCore::CachedFont::getSVGFontById):
622         * rendering/RenderLayerBacking.cpp:
623         (WebCore::RenderLayerBacking::createGraphicsLayer): Debug-only code
624         * rendering/SVGRenderTreeAsText.cpp: Test: svg/text/text-gradient-positioning.svg
625         (WebCore::writeRenderResources):
626         * svg/SVGElement.cpp: Test: svg/custom/acid3-test-77.html
627         (WebCore::SVGElement::insertedIntoDocument):
628         * svg/SVGStyledElement.cpp: Test: svg/custom/js-update-image-and-display.svg
629         (WebCore::SVGStyledElement::isKnownAttribute):
630         * wml/WMLElement.cpp:
631         (WebCore::WMLElement::parseMappedAttribute):
632
633 2009-12-18  Simon Hausmann  <simon.hausmann@nokia.com>
634
635         Reviewed by Tor Arne Vestbø.
636
637         [Qt] Clean up the qmake build system to distinguish between trunk builds and package builds
638
639         https://bugs.webkit.org/show_bug.cgi?id=32716
640
641         Introduce standalone_package as config that is set when QTDIR_build is set or when
642         the directory for the generated files is present.
643
644         Renamed uses of QTDIR_build that apply to generic package builds to use standalone_package.
645         Others remain as they are specific to building inside Qt.
646
647         * WebCore.pro:
648
649 2009-12-18  Simon Hausmann  <simon.hausmann@nokia.com>
650
651         Reviewed by Tor Arne Vestbø.
652
653         [Qt] Fix the build on Symbian.
654
655         Use QFont::lastRestortFamily() instead of QFont::lastRestortFont(),
656         which is a missing symbol in Qt 4.6.0 on Symbian.
657
658         Functionally they should be equivalent, according to the source.
659
660         * platform/graphics/qt/FontCacheQt.cpp:
661         (WebCore::FontCache::getLastResortFallbackFont):
662
663 2009-12-18  Philippe Normand  <pnormand@igalia.com>
664
665         Reviewed by Xan Lopez.
666
667         [GTK] segfault during controls initialization if not GTK theme is present.
668         https://bugs.webkit.org/show_bug.cgi?id=32705
669
670         Create empty images for the controls if no GTK theme is set.
671
672         * platform/graphics/gtk/ImageGtk.cpp:
673         (WebCore::getThemeIconFileName):
674         (WebCore::loadImageFromFile):
675
676 2009-12-18  Alejandro G. Castro  <alex@igalia.com>
677
678         Reviewed by Darin Adler.
679
680         REGRESSION (r38898): Using the up arrow in a textarea gets "stuck"
681         at the beginning.
682         https://bugs.webkit.org/show_bug.cgi?id=31920
683
684         Moving up from a position after the end of the previous lines
685         should use UPSTREAM affinity to render the caret in the previous
686         line.
687
688         Test: editing/selection/wrapped-line-caret-3.html
689
690         * rendering/RenderText.cpp:
691         (WebCore::RenderText::positionForPoint):
692
693 2009-12-17  Eric Seidel  <eric@webkit.org>
694
695         Reviewed by Darin Adler.
696
697         HTMLInputElement::stepMismatch() uses ambiguous overload of pow()
698         https://bugs.webkit.org/show_bug.cgi?id=32675
699
700         Use the double constant 2.0 instead of static_cast<double>(2).
701
702         * html/HTMLInputElement.cpp:
703         (WebCore::HTMLInputElement::stepMismatch):
704
705 2009-12-17  Justin Schuh  <jschuh@chromium.org>
706
707         Reviewed by Dan Bernstein.
708
709         Bug 32357: SVG test case crashes WebKit (invalid font URL)
710         https://bugs.webkit.org/show_bug.cgi?id=32357
711
712         Added check for NULL return value from DocLoader::requestFont()
713
714         * svg/SVGFontFaceUriElement.cpp:
715         (WebCore::SVGFontFaceUriElement::loadFont):
716
717 2009-12-17  Shinichiro Hamaji  <hamaji@chromium.org>
718
719         Reviewed by Dan Bernstein.
720
721         marquee with display:inline causes crash
722         https://bugs.webkit.org/show_bug.cgi?id=32374
723
724         Test: fast/inline/inline-marquee-crash.html
725
726         * html/HTMLMarqueeElement.cpp:
727         (WebCore::HTMLMarqueeElement::start):
728         (WebCore::HTMLMarqueeElement::stop):
729         (WebCore::HTMLMarqueeElement::suspend):
730         (WebCore::HTMLMarqueeElement::resume):
731         (WebCore::HTMLMarqueeElement::renderMarquee):
732         * html/HTMLMarqueeElement.h:
733         * rendering/RenderLayer.cpp:
734         (WebCore::RenderLayer::styleChanged):
735
736 2009-12-17  Zoltan Horvath  <zoltan@webkit.org>
737
738         Reviewed by Darin Adler.
739
740         Allow custom memory allocation control for inspector's classes
741         https://bugs.webkit.org/show_bug.cgi?id=32660                               
742
743         Inherits the following classes from Noncopyable because these are
744         instantiated by 'new' and no need to be copyable:                                           
745
746         class name                  - instantiated at:  WebCore/'location'
747
748         class JavaScriptDebugServer - inspector/JavaScriptDebugServer.cpp:72
749         class ConsoleMessage        - inspector/InspectorController.cpp:329 
750         class InspectorController   - page/Page.cpp:119
751
752         * inspector/ConsoleMessage.h:
753         * inspector/InspectorController.h:
754         * inspector/JavaScriptDebugServer.h:
755
756 2009-12-17  Steve Block  <steveblock@google.com>
757
758         Reviewed by Eric Seidel.
759
760         Fixes HTMLInputElement::stepMismatch() to avoid ambiguous overload of pow().
761         https://bugs.webkit.org/show_bug.cgi?id=32675
762
763         Build fix only, no new tests.
764
765         * html/HTMLInputElement.cpp: Modified.
766         (WebCore::HTMLInputElement::stepMismatch): Cast first argument of pow to double to force 'double pow(double, int)'
767
768 2009-12-17  Marc-Antoine Ruel  <maruel@chromium.org>
769
770         Reviewed by Eric Seidel.
771
772         Fix link failure on LTCG builds on Windows for chromium port.
773
774         Reenable SVGAllInOne.cpp. This required some fixups.
775
776         Namely, there was conflicts in constants between HTMLNames and
777         SVGNames, and conflicts between static functions names.
778
779         No new tests as functionality has not changed.
780
781         * WebCore.gyp/WebCore.gyp:
782         * svg/SVGAllInOne.cpp:
783         * svg/SVGFontFaceElement.cpp:
784         (WebCore::SVGFontFaceElement::rebuildFontFace):
785         * svg/SVGGlyphElement.cpp:
786         (WebCore::SVGGlyphElement::invalidateGlyphCache):
787         (WebCore::SVGGlyphElement::buildGlyphIdentifier):
788         * svg/SVGHKernElement.cpp:
789         (WebCore::SVGHKernElement::insertedIntoDocument):
790         (WebCore::SVGHKernElement::removedFromDocument):
791         * svg/SVGStyleElement.cpp:
792         (WebCore::SVGStyleElement::type):
793         (WebCore::SVGStyleElement::setType):
794         (WebCore::SVGStyleElement::media):
795         (WebCore::SVGStyleElement::setMedia):
796         (WebCore::SVGStyleElement::title):
797         (WebCore::SVGStyleElement::setTitle):
798         (WebCore::SVGStyleElement::parseMappedAttribute):
799         * svg/SVGStyledElement.cpp:
800         (WebCore::mapAttributeToCSSProperty):
801         (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
802         * svg/SVGStyledElement.h:
803
804 2009-12-17  Adam Roben  <aroben@apple.com>
805
806         Chromium build fix VI
807
808         * svg/animation/SMILTimeContainer.h: Added now-needed #include.
809
810 2009-12-17  Adam Roben  <aroben@apple.com>
811
812         Chromium build fix V
813
814         * platform/KURLGoogle.cpp: Added now-needed #include.
815
816 2009-12-17  Adam Roben  <aroben@apple.com>
817
818         Chromium build fix IV
819
820         * loader/CrossOriginPreflightResultCache.h: Added now-needed
821         #includes.
822
823 2009-12-17  Adam Roben  <aroben@apple.com>
824
825         Chromium build fix III
826
827         * platform/graphics/Font.h: Added now-needed #include.
828
829 2009-12-17  Adam Roben  <aroben@apple.com>
830
831         Chromium build fix II
832
833         * dom/EventTarget.h: Added now-needed #include.
834
835 2009-12-17  Zoltan Horvath  <zoltan@webkit.org>
836
837         Reviewed by Eric Seidel.
838
839         Allow custom memory allocation control for js bindings
840         https://bugs.webkit.org/show_bug.cgi?id=32655
841
842         Inherits the following classes from Noncopyable because these are instantiated 
843         by 'new' and no need to be copyable:
844
845         class name                  - instantiated at:  WebCore/'location'
846
847         class ScriptCachedFrameData - history/CachedFrame.cpp:117
848         class WebCoreJSClientData   - bindings/js/JSDOMWindowBase.cpp:162
849         class ScheduledAction       - bindings/js/ScheduledAction.cpp:58
850
851         * bindings/js/JSDOMBinding.h:
852         * bindings/js/ScheduledAction.h:
853         * bindings/js/ScriptCachedFrameData.h:
854
855 2009-12-17  Adam Roben  <aroben@apple.com>
856
857         Chromium build fix
858
859         * dom/QualifiedName.h: Added now-needed #include of HashTraits.h
860         (which itself #includes HashFunctions.h).
861
862 2009-12-17  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
863
864         Reviewed by Timothy Hatcher.
865
866         Web Inspector: Incorrect Doctype.
867
868         REGRESSION(4.0.4-TOT):Web Inspector: Incorrect Doctype
869         https://bugs.webkit.org/show_bug.cgi?id=32671
870
871         * inspector/InspectorDOMAgent.cpp:
872         (WebCore::InspectorDOMAgent::buildObjectForNode):
873         * inspector/front-end/DOMAgent.js:
874         (WebInspector.DOMNode):
875
876 2009-12-17  Benjamin Otte  <otte@gnome.org>
877
878         Reviewed by Adam Roben.
879
880         Don't include all JSC headers everywhere
881         https://bugs.webkit.org/show_bug.cgi?id=32663
882
883         Remove HashMap HashSet and OwnPtr includes from PlatformString.h.
884         Reduces code size of Gtk build by another 5%.
885
886         * platform/text/PlatformString.h:
887
888 2009-12-17  Adam Roben  <aroben@apple.com>
889
890         Mac/Qt build fixes
891
892         * platform/graphics/mac/Canvas3DLayer.mm:
893         * platform/graphics/mac/GraphicsContext3DMac.cpp:
894         * platform/qt/Localizations.cpp:
895         Added missing #includes.
896
897 2009-12-17  Benjamin Otte  <otte@gnome.org>
898
899         Reviewed by Adam Roben.
900
901         Don't include all JSC headers everywhere
902         https://bugs.webkit.org/show_bug.cgi?id=32663
903
904         PlatformString.h included almost all of JSC via runtime/Identifier.h.
905         This patch gets rid of this include by forward-declaring the required
906         classes instead.
907         This reduces the build size of the object files on a Gtk debug build
908         by 10%. The resulting libwebkit.so gets 5% smaller.
909
910         No new tests as it's just a build improvement.
911
912         * platform/gtk/LocalizedStringsGtk.cpp:
913         include math.h here (it used to be pulled by JSC)
914         * platform/text/PlatformString.h:
915         * platform/text/String.cpp:
916
917 2009-12-17  Evan Martin  <evan@chromium.org>
918
919         Reviewed by Xan Lopez.
920
921         Always use all WebCore include paths in GtkWebKit.
922
923         With this patch, I can disable all optional features and still build.
924
925         * GNUmakefile.am:
926
927 2009-12-17  Yaar Schnitman  <yaar@chromium.org>
928
929         Reviewed by Darin Fisher.
930
931         Added WebPageSerializer to WebKit API.
932
933         https://bugs.webkit.org/show_bug.cgi?id=31737
934
935         * platform/text/StringBuilder.cpp: Added methods to make StringBuilder even more useful for large scale string concatenation.
936         (WebCore::StringBuilder::clear):
937         (WebCore::StringBuilder::length):
938         * platform/text/StringBuilder.h:
939
940 2009-12-10  Philippe Normand  <pnormand@igalia.com>
941
942         Reviewed by Xan Lopez.
943
944         [GTK] Add controls for playing html5 video.
945         https://bugs.webkit.org/show_bug.cgi?id=26304
946
947         Media controls UI, first step. This patch was written by Zan
948         Dobersek. In addition I fixed the compilation errors and
949         re-enabled some of the media tests involving the controls UI.
950
951         * GNUmakefile.am:
952         * css/mediaControlsGtk.css: Added.
953         * platform/graphics/Image.h:
954         * platform/graphics/gtk/ImageGtk.cpp:
955         (WebCore::getThemeIconFileName):
956         (WebCore::loadResourceSharedBuffer):
957         (WebCore::loadImageFromFile):
958         (WebCore::Image::loadPlatformResource):
959         (WebCore::Image::loadPlatformThemeIcon):
960         * platform/gtk/RenderThemeGtk.cpp:
961         (WebCore::getMediaElementFromRenderObject):
962         (WebCore::getIconNameForTextDirection):
963         (WebCore::RenderThemeGtk::initMediaStyling):
964         (WebCore::RenderThemeGtk::RenderThemeGtk):
965         (WebCore::RenderThemeGtk::~RenderThemeGtk):
966         (WebCore::supportsFocus):
967         (WebCore::RenderThemeGtk::baselinePosition):
968         (WebCore::paintMozWidget):
969         (WebCore::setToggleSize):
970         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
971         (WebCore::RenderThemeGtk::gtkContainer):
972         (WebCore::RenderThemeGtk::platformColorsDidChange):
973         (WebCore::RenderThemeGtk::extraMediaControlsStyleSheet):
974         (WebCore::paintMediaButton):
975         (WebCore::RenderThemeGtk::paintMediaFullscreenButton):
976         (WebCore::RenderThemeGtk::paintMediaMuteButton):
977         (WebCore::RenderThemeGtk::paintMediaPlayButton):
978         (WebCore::RenderThemeGtk::paintMediaSeekBackButton):
979         (WebCore::RenderThemeGtk::paintMediaSeekForwardButton):
980         (WebCore::RenderThemeGtk::paintMediaSliderTrack):
981         (WebCore::RenderThemeGtk::paintMediaSliderThumb):
982         * platform/gtk/RenderThemeGtk.h:
983
984 2009-12-17  Yael Aharon  <yael.aharon@nokia.com>
985
986         Reviewed by Kenneth Rohde Christiansen.
987
988         [Qt] support navigator.onLine and ononline/onoffline events.
989         https://bugs.webkit.org/show_bug.cgi?id=32555
990
991         Hooked up Bearer Management to NetworkStateNotifier. This solution is available 
992         only if QtMobility's Bearer Management is installed.
993
994         * WebCore.pro:
995         * platform/network/NetworkStateNotifier.h:
996         * platform/network/qt/NetworkStateNotifierPrivate.h: Added.
997         * platform/network/qt/NetworkStateNotifierQt.cpp: Added.
998         (WebCore::NetworkStateNotifierPrivate::NetworkStateNotifierPrivate):
999         (WebCore::NetworkStateNotifierPrivate::onlineStateChanged):
1000         (WebCore::NetworkStateNotifierPrivate::~NetworkStateNotifierPrivate):
1001         (WebCore::NetworkStateNotifier::updateState):
1002         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
1003
1004 2009-12-17  Pavel Feldman  <pfeldman@chromium.org>
1005
1006         Reviewed by Timothy Hatcher.
1007
1008         Web Inspector: Switch to 11px as default for source-code in WebKit.
1009
1010         https://bugs.webkit.org/show_bug.cgi?id=32646
1011
1012         * inspector/front-end/inspector.css:
1013
1014 2009-12-17  Simon Hausmann  <simon.hausmann@nokia.com>
1015
1016         Reviewed by Tor Arne Vestbø.
1017
1018         [Qt] Symbian build fix: Don't include QtXml/qxmlstream.h but omit the prefix, to
1019         make sure we pick up the header file from QtCore. That is where the implementation
1020         is compiled.
1021
1022         * dom/XMLTokenizer.h:
1023
1024 2009-12-17  Martin Robinson  <martin.james.robinson@gmail.com>
1025
1026         Reviewed by Gustavo Noronha Silva.
1027
1028         [GTK] WebKit GTK needs a wrapper for ref counted glib/gobject structs
1029         https://bugs.webkit.org/show_bug.cgi?id=21599
1030
1031         Add GRefPtr support for GTK types to WebCore, as JSC does not link against
1032         GTK+. Also convert PopupMenu::m_poup from a raw pointer to a GRefPtr.
1033
1034         No new tests as functionality has not changed.
1035
1036         * GNUmakefile.am:
1037         * platform/PopupMenu.h:
1038         * platform/gtk/GRefPtrGtk.cpp: Added.
1039         (WTF::refGPtr):
1040         (WTF::derefGPtr):
1041         * platform/gtk/GRefPtrGtk.h: Added.
1042         * platform/gtk/PopupMenuGtk.cpp:
1043         (WebCore::PopupMenu::PopupMenu):
1044         (WebCore::PopupMenu::~PopupMenu):
1045         (WebCore::PopupMenu::show):
1046         (WebCore::PopupMenu::hide):
1047         (WebCore::PopupMenu::menuRemoveItem):
1048
1049 2009-12-17  Mikhail Naganov  <mnaganov@chromium.org>
1050
1051         Reviewed by Pavel Feldman.
1052
1053         Advice links to source code in CPU profiler to open in debugger,
1054         not in resources tab.
1055
1056         Also work around the case when resources are disabled, but scripts are present.
1057
1058         https://bugs.webkit.org/show_bug.cgi?id=32610
1059
1060         * inspector/front-end/Panel.js:
1061         (WebInspector.Panel.prototype.updateMainViewWidth):
1062         (WebInspector.Panel.prototype.canShowSourceLineForURL):
1063         (WebInspector.Panel.prototype.showSourceLineForURL):
1064         * inspector/front-end/ProfileDataGridTree.js:
1065         (WebInspector.ProfileDataGridNode.prototype.createCell):
1066         * inspector/front-end/ResourcesPanel.js:
1067         (WebInspector.ResourcesPanel.prototype.canShowSourceLineForURL):
1068         (WebInspector.ResourcesPanel.prototype.showSourceLineForURL):
1069         * inspector/front-end/ScriptsPanel.js:
1070         (WebInspector.ScriptsPanel.prototype.scriptForURL):
1071         (WebInspector.ScriptsPanel.prototype.canShowSourceLineForURL):
1072         (WebInspector.ScriptsPanel.prototype.showSourceLineForURL):
1073         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
1074         * inspector/front-end/inspector.js:
1075         (WebInspector.documentClick.followLink):
1076         (WebInspector.documentClick):
1077         (WebInspector._choosePanelToShowSourceLineForURL):
1078         (WebInspector.canShowSourceLineForURL):
1079         (WebInspector.showSourceLineForURL):
1080
1081 2009-12-15  Philippe Normand  <pnormand@igalia.com>
1082
1083         Reviewed by Xan Lopez.
1084
1085         [GTK] display FPS stats for video element
1086         https://bugs.webkit.org/show_bug.cgi?id=32560
1087
1088         Display FPS statistics if WEBKIT_DEBUG environment variable
1089         contains the Media log category. This feature requires a very
1090         recent (>= 0.10.18) version of gst-plugins-bad.
1091
1092         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1093         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1094         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
1095         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
1096         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
1097
1098 2009-11-11  Philippe Normand  <pnormand@igalia.com>
1099
1100         Reviewed by Gustavo Noronha Silva.
1101
1102         [GStreamer] Should emit {networkState,readyState,volume,time,size,rate,duration}Changed signals
1103         https://bugs.webkit.org/show_bug.cgi?id=30377
1104
1105         Emit volumeChanged and durationChanged upon notification from
1106         GStreamer.
1107
1108         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1109         (WebCore::mediaPlayerPrivateMessageCallback):
1110         (WebCore::mediaPlayerPrivateVolumeCallback):
1111         (WebCore::notify_volume_idle_cb):
1112         (WebCore::MediaPlayerPrivate::didEnd):
1113         (WebCore::MediaPlayerPrivate::durationChanged):
1114         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
1115         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
1116
1117 2009-12-16  Philippe Normand  <pnormand@igalia.com>
1118
1119         Reviewed by Gustavo Noronha Silva.
1120
1121         [GTK] segfault during volume notification
1122         https://bugs.webkit.org/show_bug.cgi?id=32603
1123
1124         Emit volumeChanged and durationChanged upon notification from
1125         GStreamer. Also don't reset the volume property on playbin, it is
1126         not needed as it is 1.0 by default both on playbin and in the
1127         MediaPlayer.
1128
1129         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1130         (WebCore::mediaPlayerPrivateMessageCallback):
1131         (WebCore::mediaPlayerPrivateVolumeChangedCallback):
1132         (WebCore::notifyVolumeIdleCallback):
1133         (WebCore::doGstInit):
1134         (WebCore::MediaPlayerPrivate::isAvailable):
1135         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1136         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
1137         (WebCore::MediaPlayerPrivate::volumeChanged):
1138         (WebCore::MediaPlayerPrivate::didEnd):
1139         (WebCore::MediaPlayerPrivate::durationChanged):
1140         (WebCore::mimeTypeCache):
1141         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
1142         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
1143
1144 2009-12-17  Evan Martin  <evan@chromium.org>
1145
1146         Reviewed by Xan Lopez.
1147
1148         gtk: always use standard include paths, regardless of settings.
1149         WebKit style is to wrap the body of a header in #if ENABLE(FOO),
1150         so they're always safe to include whether the features are enabled or
1151         not.
1152
1153         This fixes building with --disable-database and other flags.
1154
1155         * GNUmakefile.am:
1156
1157 2009-12-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1158
1159         Unreviewed. Build fixes for make distcheck.
1160
1161         * GNUmakefile.am:
1162
1163 2009-12-17  Philippe Normand  <pnormand@igalia.com>
1164
1165         Rubber-stamped by Gustavo Noronha Silva.
1166
1167         Trivial WebKit coding style fix.
1168
1169         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1170         (WebCore::MediaPlayerPrivate::paint):
1171
1172 2009-12-15 MORITA Hajime <morrita@gmail.com>
1173
1174         Reviewed by Eric Seidel.
1175
1176         Bug 28306: double-clicking a word inside <b> beside newline select two words
1177         https://bugs.webkit.org/show_bug.cgi?id=28306
1178         
1179         SimplifiedBackwardsTextIterator missed trailing whitespaces just
1180         before folding line-break, which is used to detect word
1181         boundaries. This fix checks strings on RenderText and expand text
1182         range on SimplifiedBackwardsTextIterator to include trailing
1183         whitespaces if availble.
1184
1185         Test: editing/selection/doubleclick-beside-cr-span.html
1186
1187         * editing/TextIterator.cpp:
1188         (WebCore::collapsedSpaceLength):
1189         (WebCore::maxOffsetIncludingCollapsedSpaces):
1190         (WebCore::SimplifiedBackwardsTextIterator::advance):
1191
1192 2009-12-16  Fumitoshi Ukai  <ukai@chromium.org>
1193
1194         Reviewed by Alexey Proskuryakov.
1195
1196         Fix flakiness in WebSocket handshake console message.
1197         https://bugs.webkit.org/show_bug.cgi?id=32598
1198
1199         In chromium, LayoutTests/websocket/tests/handshake-error.html is
1200         flaky, because it outputs the following console message several times:
1201           CONSOLE MESSAGE: line 0: Unexpected response code:101
1202         Update m_mode in WebSocketHandshake correctly: Once it finds
1203         error in handshake message, set m_mode to Failed and don't try
1204         reading handshake message again.  If handshake message is not yet
1205         fully received, set m_mode to Incomplete, so next didReceiveData()
1206         will try to check handshake message again.
1207
1208         * websockets/WebSocketChannel.cpp:
1209         (WebCore::WebSocketChannel::didReceiveData):
1210         * websockets/WebSocketHandshake.cpp:
1211         (WebCore::WebSocketHandshake::readServerHandshake):
1212
1213 2009-12-16  Jon Honeycutt  <jhoneycutt@apple.com>
1214
1215         MSAA: Accessibility role of text nodes is wrong
1216
1217         https://bugs.webkit.org/show_bug.cgi?id=32631
1218         <rdar://problem/7369084>
1219
1220         Reviewed by Alice Liu.
1221
1222         Test: platform/win/accessibility/text-role.html
1223
1224         * accessibility/AccessibilityObject.h:
1225         (WebCore::):
1226         Add a new role to the enum.
1227         (WebCore::AccessibilityObject::roleValueForMSAA):
1228         Declare a function to return the accessibility role for MSAA; the base
1229         implementation returns the old role value.
1230
1231         * accessibility/AccessibilityRenderObject.cpp:
1232         (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
1233         Initialize m_roleForMSAA.
1234         (WebCore::AccessibilityRenderObject::roleValueForMSAA):
1235         If m_roleForMSAA has been set, return it. If the renderer is a
1236         RenderText, set the role to EditableTextRole to match IE and Firefox.
1237         Otherwise, set the role for MSAA to the old role value.
1238
1239         * accessibility/AccessibilityRenderObject.h:
1240         Add a member to hold the role for MSAA, and declare an override of
1241         roleValueForMSAA().
1242
1243 2009-12-16  Eric Seidel  <eric@webkit.org>
1244
1245         No review, rolling out r52206.
1246         http://trac.webkit.org/changeset/52206
1247         https://bugs.webkit.org/show_bug.cgi?id=31187
1248
1249         This broke pixel tests on Mac.  Presumably the code in
1250         ImageCG is wrong here.
1251
1252         * platform/graphics/BitmapImage.h:
1253         * platform/graphics/GeneratedImage.cpp:
1254         (WebCore::GeneratedImage::drawPattern):
1255         * platform/graphics/GeneratedImage.h:
1256         * platform/graphics/Image.cpp:
1257         (WebCore::Image::drawTiled):
1258         * platform/graphics/Image.h:
1259         * platform/graphics/cairo/ImageCairo.cpp:
1260         (WebCore::Image::drawPattern):
1261         * platform/graphics/cg/ImageCG.cpp:
1262         (WebCore::Image::drawPattern):
1263         * platform/graphics/haiku/ImageHaiku.cpp:
1264         (WebCore::Image::drawPattern):
1265         * platform/graphics/qt/ImageQt.cpp:
1266         (WebCore::Image::drawPattern):
1267         * platform/graphics/skia/ImageSkia.cpp:
1268         (WebCore::Image::drawPattern):
1269         * platform/graphics/wince/GraphicsContextWince.cpp:
1270         (WebCore::GraphicsContext::drawBitmapPattern):
1271         * platform/graphics/wince/ImageBufferWince.cpp:
1272         (WebCore::):
1273         (WebCore::BufferedImage::drawPattern):
1274         * platform/graphics/wx/ImageWx.cpp:
1275         (WebCore::BitmapImage::drawPattern):
1276         (WebCore::Image::drawPattern):
1277
1278 2009-12-16  Dimitri Glazkov  <dglazkov@chromium.org>
1279
1280         Reviewed by David Levin.
1281
1282         https://bugs.webkit.org/show_bug.cgi?id=32637
1283         [V8] Generate most named property getters.
1284
1285         Covered by existing tests.
1286
1287         * bindings/scripts/CodeGeneratorV8.pm: Added generation of SetNamedPropertyHandler call.
1288         * bindings/v8/V8DOMWrapper.cpp:
1289         (WebCore::V8DOMWrapper::getTemplate): Removed now-generated SetNamedPropertyHandler callsites.
1290
1291 2009-12-16  Luiz Agostini  <luiz.agostini@openbossa.org>
1292
1293         Reviewed by Kenneth Rohde Christiansen.
1294
1295         [Qt] Implement combobox delegate for Qt
1296         https://bugs.webkit.org/show_bug.cgi?id=32550
1297
1298         Abstract popup menu factory.
1299
1300         A static method from QtAbstractPopupMenu is used to create its instances. If a factory
1301         has been suplied to class QtAbstractPopupMenu the factory will be used to create the
1302         objects. If not an instance of QtFallbackPopupMenu will be created.
1303
1304         The objective is to make it easy to replace the combobox popup at WebCore layer providing
1305         support to the combobox popup delegation API. Future patches will make it possible to
1306         replace the combobox popup at WebKit layer.
1307
1308         No behavior changes.
1309
1310         * platform/qt/PopupMenuQt.cpp:
1311         (WebCore::PopupMenu::PopupMenu):
1312         * platform/qt/QtAbstractWebPopup.cpp:
1313         (WebCore::QtAbstractWebPopup::setFactory):
1314         (WebCore::QtAbstractWebPopup::create):
1315         * platform/qt/QtAbstractWebPopup.h:
1316         * platform/qt/QtFallbackWebPopup.cpp:
1317
1318 2009-12-16  Mark Rowe  <mrowe@apple.com>
1319
1320         Build fix.  Disable debug variants of WebKit frameworks.
1321
1322         * WebCore.xcodeproj/project.pbxproj:
1323
1324 2009-12-16  Enrica Casucci  <enrica@apple.com>
1325
1326         Reviewed by Eric Seidel.
1327
1328         Right clicking in a table cell creates a selection that extends into the next cell.
1329         <rdar://problem/5565465>
1330         https://bugs.webkit.org/show_bug.cgi?id=32622
1331         
1332         Avoid extending the selection to the next cell if we start from an empty cell.
1333
1334         Test: editing/selection/empty-cell-right-click.html
1335
1336         * editing/TypingCommand.cpp:
1337         (WebCore::TypingCommand::deleteKeyPressed): Replaced the code that check for empty table cell
1338         with a call to the new function.
1339         * editing/VisibleSelection.cpp:
1340         (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity): Extends the
1341         selection only if we are not starting from an empty table cell.
1342         * editing/htmlediting.cpp:
1343         (WebCore::isEmptyTableCell): Added a function since this check is performed now in two places.
1344         * editing/htmlediting.h: Added isEmptyTableCell declaration.
1345
1346 2009-12-16  Dirk Schulze  <krit@webkit.org>
1347
1348         Reviewed by Nikolas Zimmermann.
1349
1350         feMerge crahses if feMergeNodes attribute in is empty
1351         https://bugs.webkit.org/show_bug.cgi?id=32489
1352
1353         SVGFEMergeElement only stored pointers to all effects of it's nodes
1354         in a list. But it should store the RefPtr otherwise the effects get
1355         dereferenced and WebKit crashes.
1356         I also made a short clean-up in SVGFilterBuilder. No change in
1357         functionality.
1358
1359         Test: I updated svg/custom/empty-merge.svg to cover this problem.
1360
1361         * svg/SVGFEMergeElement.cpp:
1362         (WebCore::SVGFEMergeElement::build):
1363         * svg/graphics/filters/SVGFEMerge.cpp:
1364         (WebCore::FEMerge::FEMerge):
1365         (WebCore::FEMerge::create):
1366         (WebCore::FEMerge::mergeInputs):
1367         (WebCore::FEMerge::setMergeInputs):
1368         * svg/graphics/filters/SVGFEMerge.h:
1369         * svg/graphics/filters/SVGFilterBuilder.cpp:
1370         (WebCore::SVGFilterBuilder::add):
1371
1372 2009-12-16  Brian Weinstein  <bweinstein@apple.com>
1373
1374         Reviewed by Timothy Hatcher.
1375
1376         Part of <http://webkit.org/b/32568>.
1377         Web Inspector: Context Menus should be used in more places.
1378         
1379         Add a context menu entry in the console to clear the console. This
1380         is only shown when there is no user selection of text, because if
1381         there is selection of the text, then we want to give the user the Copy +
1382         Spell Check context menu that they are used to.
1383
1384         * English.lproj/localizedStrings.js: Added "Clear Console".
1385         * inspector/front-end/ConsoleView.js:
1386         (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
1387
1388 2009-12-16  Brian Weinstein  <bweinstein@apple.com>
1389
1390         Reviewed by Pavel Feldman.
1391
1392         Fixes <https://bugs.webkit.org/show_bug.cgi?id=32621>.
1393         Web Inspector: [REGRESSION (52095-52100)] Resources filter disappears when switching 
1394         from / to resources panel.
1395
1396         Changed style in sidebar-resizer-vertical, because if the min-height was 100%, we start
1397         to cover the scope bar.
1398
1399         * inspector/front-end/inspector.css:
1400
1401 2009-12-16  Dimitri Glazkov  <dglazkov@chromium.org>
1402
1403         Reviewed by Adam Barth.
1404
1405         [V8] Switch all indexers to be generated.
1406         https://bugs.webkit.org/show_bug.cgi?id=32569
1407
1408         Covered by existing tests.
1409
1410         * WebCore.gypi: Remove V8FileListCustom.cpp and V8ClientRecListCustom.cpp,
1411             as they are now generated.
1412         * bindings/v8/V8DOMWrapper.cpp:
1413         (WebCore::V8DOMWrapper::getTemplate): Remove customization of ClientRectList,
1414             FileList, and DataGridColumnList templates.
1415         * bindings/v8/custom/V8ClientRectListCustom.cpp: Removed.
1416         * bindings/v8/custom/V8CustomBinding.h: Remove custom indexer getter decls.
1417         * bindings/v8/custom/V8DataGridColumnListCustom.cpp: Remove indexer getter definition.
1418         * bindings/v8/custom/V8FileListCustom.cpp: Removed.
1419
1420 2009-12-16  anton muhin  <antonm@chromium.org>
1421
1422         Reviewed by Darin Adler.
1423
1424         [dom] make dom/Node.cpp compile if DUMP_NODE_STATISTICS is on
1425         https://bugs.webkit.org/show_bug.cgi?id=32617
1426
1427         * dom/Node.cpp:
1428         (WebCore::Node::dumpStatistics):
1429
1430 2009-12-16  Dimitri Glazkov  <dglazkov@chromium.org>
1431
1432         Reviewed by Darin Fisher.
1433
1434         [V8] There is no such thing as HTMLSelectElementCollection.
1435         https://bugs.webkit.org/show_bug.cgi?id=32616
1436
1437         Refactoring, covered by existing tests.
1438
1439         * WebCore.gypi: Removed V8HTMLSelectElementCollectionCustom.cpp
1440         * bindings/v8/V8Collection.h: Removed one-off template.
1441         * bindings/v8/V8DOMWrapper.cpp:
1442         (WebCore::V8DOMWrapper::getTemplate): Renamed all references to HTMLSelectElementCollection
1443             to HTMLSelectElement.
1444         * bindings/v8/custom/V8CustomBinding.h: Renamed custom indexer decls.
1445         * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp: Removed.
1446         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: Moved code as-is from
1447             V8HTMLSelectElementCollectionCustom.cpp
1448
1449 2009-12-16  Dan Winship  <danw@gnome.org>
1450
1451         Reviewed by Gustavo Noronha Silva.
1452
1453         [Gtk] Content-Encoding support
1454
1455         https://bugs.webkit.org/show_bug.cgi?id=25855
1456
1457         * platform/network/soup/ResourceHandleSoup.cpp:
1458         (WebCore::startHttp): Don't force "Accept-Encoding: identity" any
1459         more
1460
1461 2009-12-16  Benjamin Otte  <otte@gnome.org>
1462
1463         Reviewed by Darin Adler.
1464
1465         Get rid of the phase argument to Image::drawPattern.
1466         https://bugs.webkit.org/show_bug.cgi?id=31187
1467
1468         The argument can be expressed equally well as part of the
1469         patternTransform. All backends but the Qt one did exactly that
1470         manually anyway.
1471
1472         * platform/graphics/BitmapImage.h:
1473         * platform/graphics/GeneratedImage.cpp:
1474         (WebCore::GeneratedImage::drawPattern):
1475         * platform/graphics/GeneratedImage.h:
1476         * platform/graphics/Image.cpp:
1477         (WebCore::Image::drawTiled):
1478         * platform/graphics/Image.h:
1479         * platform/graphics/cairo/ImageCairo.cpp:
1480         (WebCore::Image::drawPattern):
1481         * platform/graphics/cg/ImageCG.cpp:
1482         (WebCore::Image::drawPattern):
1483         * platform/graphics/haiku/ImageHaiku.cpp:
1484         (WebCore::Image::drawPattern):
1485         * platform/graphics/qt/ImageQt.cpp:
1486         (WebCore::Image::drawPattern):
1487         * platform/graphics/skia/ImageSkia.cpp:
1488         (WebCore::Image::drawPattern):
1489         * platform/graphics/wince/GraphicsContextWince.cpp:
1490         (WebCore::GraphicsContext::drawBitmapPattern):
1491         * platform/graphics/wince/ImageBufferWince.cpp:
1492         (WebCore::):
1493         (WebCore::BufferedImage::drawPattern):
1494         * platform/graphics/wx/ImageWx.cpp:
1495         (WebCore::BitmapImage::drawPattern):
1496         (WebCore::Image::drawPattern):
1497
1498 2009-12-16  Kenneth Russell  <kbr@google.com>
1499
1500         Reviewed by Darin Fisher.
1501
1502         Performance problems with index validation code for drawElements
1503         https://bugs.webkit.org/show_bug.cgi?id=32466
1504
1505         Added a cache of the maximum index for each element type to
1506         WebGLBuffer, querying it before iterating through the indices in
1507         the client-side copy of the buffer's data. Hoisted checks of the
1508         size of the element array itself into validateElementArraySize to
1509         avoid duplicating code.
1510
1511         The performance improvement has been measured with manual tests.
1512         Existing layout tests cover the index validation functionality
1513         and continue to pass as before.
1514
1515         * html/canvas/WebGLBuffer.cpp:
1516         (WebCore::WebGLBuffer::WebGLBuffer):
1517         (WebCore::WebGLBuffer::associateBufferData):
1518         (WebCore::WebGLBuffer::associateBufferSubData):
1519         (WebCore::WebGLBuffer::getCachedMaxIndex):
1520         (WebCore::WebGLBuffer::setCachedMaxIndex):
1521         (WebCore::WebGLBuffer::clearCachedMaxIndices):
1522         * html/canvas/WebGLBuffer.h:
1523         * html/canvas/WebGLRenderingContext.cpp:
1524         (WebCore::WebGLRenderingContext::validateElementArraySize):
1525         (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
1526         (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
1527         (WebCore::WebGLRenderingContext::validateRenderingState):
1528         (WebCore::WebGLRenderingContext::drawElements):
1529         * html/canvas/WebGLRenderingContext.h:
1530
1531 2009-12-16  Zelidrag Hornung  <zelidrag@chromium.org>
1532
1533         Reviewed by Darin Adler.
1534
1535         https://bugs.webkit.org/show_bug.cgi?id=32261
1536         Added ability to separate the autocomplete suggestion previewing from
1537         the actual accepting of the suggested value in HTMLInputElement.
1538         This element (it's single line text incarnation) can now
1539         be put in suggestion mode where renderer might display the suggested
1540         value without making it automatically exposed to JavaScript.
1541
1542         No new tests. This new methods are not exposed yet. It's use will be
1543         platform specific. PopupMenu and Chromium specific changes will be
1544         separated based on Darin Adler's comments.
1545
1546         * dom/InputElement.h:
1547         (WebCore::InputElementData::suggestedValue):
1548         (WebCore::InputElementData::setSuggestedValue):
1549         * html/HTMLInputElement.cpp:
1550         (WebCore::HTMLInputElement::suggestedValue):
1551         (WebCore::HTMLInputElement::setSuggestedValue):
1552         (WebCore::HTMLInputElement::setValue):
1553         (WebCore::HTMLInputElement::setValueFromRenderer):
1554         * html/HTMLInputElement.h:
1555         * rendering/RenderTextControlSingleLine.cpp:
1556         (WebCore::RenderTextControlSingleLine::updateFromElement):
1557         * wml/WMLInputElement.cpp:
1558         (WebCore::WMLInputElement::suggestedValue):
1559         * wml/WMLInputElement.h:
1560
1561 2009-12-16  Pavel Feldman  <pfeldman@chromium.org>
1562
1563         Reviewed by Timothy Hatcher.
1564
1565         Web Inspector: Make Elements tree, properties section and resources
1566         view monospace.
1567
1568         https://bugs.webkit.org/show_bug.cgi?id=32609
1569
1570         * inspector/front-end/ElementsPanel.js:
1571         * inspector/front-end/PropertiesSection.js:
1572         (WebInspector.PropertiesSection):
1573         * inspector/front-end/ResourceView.js:
1574         (WebInspector.ResourceView):
1575         * inspector/front-end/inspector.css:
1576
1577 2009-12-16  Dirk Schulze  <krit@webkit.org>
1578
1579         Reviewed by Darin Adler.
1580
1581         sourceGraphic wrong if positive x,y is >0 and objectBB is selected on Filter
1582         https://bugs.webkit.org/show_bug.cgi?id=32575
1583
1584         On SVG Filters, the rest of the source graphic gets clipped to the filter
1585         rest. This helps us to minimize the size of intermediate ImageBuffers. If
1586         the position moves to the right or to the bottom, we have to adjust the
1587         GraphicContext of this intermediate ImageBuffer.
1588         This patch fixes the adjustment of the context, according to the clipping.
1589
1590         Test: svg/filters/filter-source-position.svg
1591
1592         * svg/graphics/SVGResourceFilter.cpp:
1593         (WebCore::SVGResourceFilter::prepareFilter):
1594
1595 2009-12-16  Enrica Casucci  <enrica@apple.com>
1596
1597         Reviewed by Adele Peterson.
1598
1599         CrashTracer: [USER] 1 crash in Safari at com.apple.WebCore: WebCore::endsOfNodeAreVisuallyDistinctPositions + 115
1600         <rdar://problem/7467108>
1601         https://bugs.webkit.org/show_bug.cgi?id=32590
1602
1603         If the element is a button there is no need to look at the children to calculate the caret position.
1604         
1605         Test: editing/selection/button-right-click.html
1606
1607         * dom/Position.cpp:
1608         (WebCore::Position::getInlineBoxAndOffset): Avoid calling recursively this method,
1609         when starting from a button element.
1610
1611 2009-12-16  Luiz Agostini  <luiz.agostini@openbossa.org>
1612
1613         Reviewed by Kenneth Rohde Christiansen.
1614
1615         [Qt] Implement combobox delegate for Qt
1616         https://bugs.webkit.org/show_bug.cgi?id=32550
1617
1618         Refactoring of class QWebPopup.
1619
1620         Class QWebPopup has been split in QtAbstractWebPopup and QtFallbackWebPopup.
1621         Both new classes are now in corresponding files and files QWebPopup.* have been removed.
1622
1623         Custom combo popup classes will inherit from QtAbstractWebPopup. It is not the public API as it is
1624         in WebCore and will not be visible by users of QtWebKit. It will be used in implementation of
1625         public QtWebKit combobox popup delegation API.
1626
1627         Class QtFallbackWebPopup inherits from QtAbstractWebPopup and implements the currently used combobox popup.
1628         It needs to be improved to provide standard features that are missing like style or indentation.
1629
1630         No behavior changes.
1631
1632         * WebCore.pro:
1633         * platform/PopupMenu.h:
1634         * platform/qt/PopupMenuQt.cpp:
1635         (WebCore::PopupMenu::PopupMenu):
1636         * platform/qt/QWebPopup.cpp: Removed.
1637         * platform/qt/QWebPopup.h: Removed.
1638         * platform/qt/QtAbstractWebPopup.cpp: Added.
1639         (WebCore::QtAbstractWebPopup::QtAbstractWebPopup):
1640         (WebCore::QtAbstractWebPopup::~QtAbstractWebPopup):
1641         (WebCore::QtAbstractWebPopup::client):
1642         * platform/qt/QtAbstractWebPopup.h: Added.
1643         * platform/qt/QtFallbackWebPopup.cpp: Added.
1644         (WebCore::QtFallbackWebPopup::QtFallbackWebPopup):
1645         (WebCore::QtFallbackWebPopup::show):
1646         (WebCore::QtFallbackWebPopup::populate):
1647         (WebCore::QtFallbackWebPopup::showPopup):
1648         (WebCore::QtFallbackWebPopup::hidePopup):
1649         (WebCore::QtFallbackWebPopup::activeChanged):
1650         * platform/qt/QtFallbackWebPopup.h: Added.
1651         (WebCore::QtFallbackWebPopup::hide):
1652
1653 2009-12-15  Pavel Feldman  <pfeldman@chromium.org>
1654
1655         Reviewed by Timothy Hatcher.
1656
1657         Web Inspector: beautify HTTP info section.
1658
1659         https://bugs.webkit.org/show_bug.cgi?id=32583
1660
1661         * English.lproj/localizedStrings.js:
1662         * inspector/front-end/ResourceView.js:
1663         (WebInspector.ResourceView):
1664         (WebInspector.ResourceView.prototype._refreshURL):
1665         (WebInspector.ResourceView.prototype._refreshHTTPInformation):
1666         * inspector/front-end/inspector.css:
1667
1668 2009-12-13  Roland Steiner  <rolandsteiner@chromium.org>
1669
1670         Reviewed by Adam Barth.
1671
1672         Fix crash when encountering illegal HTML within a continuation inside <ruby>.
1673         (https://bugs.webkit.org/show_bug.cgi?id=32316)
1674
1675         Avoid having the anonymous blocks utilized in the ruby renderers being
1676         re-used as continuation blocks.
1677         Avoid having ruby runs collected as "leftover blocks".
1678
1679         Test: fast/ruby/ruby-illegal.html
1680
1681         * rendering/RenderRuby.h:
1682         (WebCore::RenderRubyAsInline::removeLeftoverAnonymousBlock): mustn't be called
1683         (WebCore::RenderRubyAsInline::isRuby): made private
1684         (WebCore::RenderRubyAsInline::renderName): made private
1685         (WebCore::RenderRubyAsInline::createsAnonymousWrapper): return true
1686         (WebCore::RenderRubyAsBlock::removeLeftoverAnonymousBlock): mustn't be called
1687         (WebCore::RenderRubyAsBlock::isRuby): made private
1688         (WebCore::RenderRubyAsBlock::renderName): made private
1689         (WebCore::RenderRubyAsBlock::createsAnonymousWrapper): return true
1690         * rendering/RenderRubyRun.h:
1691         (WebCore::RenderRubyRun::removeLeftoverAnonymousBlock): avoid
1692         (WebCore::RenderRubyRun::isRubyRun): made private
1693         (WebCore::RenderRubyRun::renderName): made private
1694         (WebCore::RenderRubyRun::createsAnonymousWrapper): return true
1695
1696 2009-12-15  Nate Chapin  <japhet@chromium.org>
1697
1698         Reviewed by Darin Adler.
1699
1700         Rename skipCanLoadCheck to skipSecurityCheck in a bunch of places in WebCore/loader.
1701
1702         https://bugs.webkit.org/show_bug.cgi?id=32529
1703
1704         * loader/Cache.cpp:
1705         (WebCore::Cache::requestUserCSSStyleSheet):
1706         * loader/CachedImage.cpp:
1707         (WebCore::CachedImage::load):
1708         * loader/CachedResource.cpp:
1709         (WebCore::CachedResource::load):
1710         * loader/CachedResource.h:
1711         (WebCore::CachedResource::load):
1712         * loader/DocumentThreadableLoader.cpp:
1713         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
1714         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
1715         (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
1716         (WebCore::DocumentThreadableLoader::preflightSuccess):
1717         (WebCore::DocumentThreadableLoader::loadRequest):
1718         * loader/DocumentThreadableLoader.h:
1719         * loader/FrameLoaderTypes.h:
1720         (WebCore::):
1721         * loader/Request.cpp:
1722         (WebCore::Request::Request):
1723         * loader/Request.h:
1724         (WebCore::Request::shouldDoSecurityCheck):
1725         * loader/SubresourceLoader.cpp:
1726         (WebCore::SubresourceLoader::create):
1727         * loader/SubresourceLoader.h:
1728         * loader/loader.cpp:
1729         (WebCore::Loader::load):
1730         (WebCore::Loader::Host::servePendingRequests):
1731         * loader/loader.h:
1732
1733 2009-12-15  Dan Bernstein  <mitz@apple.com>
1734
1735         Reviewed by Darin Adler.
1736
1737         <rdar://problem/7470452> Safari/Chromium crashes on complicated @font-face rule
1738         https://bugs.webkit.org/show_bug.cgi?id=32257
1739
1740         Test: fast/css/font-face-unused-source-loaded.html
1741
1742         The loading of a font resource caused a CSSFontFace that had the resource in one of its
1743         sources, but wasn’t using it (due to using an earlier source) to invalidate its
1744         CSSSegmentedFontFaces. This caused FontData for the active source (the one that did not just
1745         finish loading) to be deleted, but that went unnoticed by Font::operator==(), since the
1746         corresponding FontFallbackLists were not in the loading state. The fix is for CSSFontFace to
1747         ignore loads from unused sources.
1748
1749         * css/CSSFontFace.cpp:
1750         (WebCore::CSSFontFace::fontLoaded): Bail out if the loaded source is not the active source.
1751         (WebCore::CSSFontFace::getFontData): Set m_activeSource to the source that supplied the
1752             FontData.
1753         * css/CSSFontFace.h:
1754         (WebCore::CSSFontFace::CSSFontFace): Initialize m_activeSource.
1755
1756 2009-12-15  Yael Aharon  <yael.aharon@nokia.com>
1757
1758         Reviewed by Kenneth Rohde Christiansen.
1759
1760         [Qt] Cannot load flash files from a local file.
1761         https://bugs.webkit.org/show_bug.cgi?id=32572
1762
1763         When loading the main resource and its mime type is application/octet-stream,
1764         use the file extenstion to check if it is a supported plugin.
1765
1766         No new tests were added since any existing swf file can be used as a manual test.
1767
1768         * loader/MainResourceLoader.cpp:
1769         (WebCore::MainResourceLoader::didReceiveResponse):
1770         * loader/MainResourceLoader.h:
1771         * plugins/PluginDatabase.h:
1772
1773 2009-12-15  Brian Weinstein  <bweinstein@apple.com>
1774
1775         Reviewed by Timothy Hatcher.
1776
1777         Fixes <https://bugs.webkit.org/show_bug.cgi?id=18498>.
1778         REGRESSION: Tips are not shown for resources anymore.
1779         
1780         As discussed in the bug, Tips are not coming back, and the feature
1781         will be moved to the audits panel. This patch is to remove the Tips
1782         code and the resources that it needed.
1783
1784         * WebCore.gypi: Removed tips files.
1785         * inspector/front-end/Images/tipBalloon.png: Removed.
1786         * inspector/front-end/Images/tipBalloonBottom.png: Removed.
1787         * inspector/front-end/Images/tipIcon.png: Removed.
1788         * inspector/front-end/Images/tipIconPressed.png: Removed.
1789         * inspector/front-end/Resource.js: Removed tips code.
1790         (WebInspector.Resource.prototype.set finished): 
1791         * inspector/front-end/WebKit.qrc: Removed tips files.
1792         * inspector/front-end/inspector.css: Removes tips style rules.
1793         
1794 2009-12-15  Pavel Feldman  <pfeldman@chromium.org>
1795
1796         Reviewed by Timothy Hatcher.
1797
1798         Web Inspector: Display request headers for main resource
1799         having redirects.
1800
1801         https://bugs.webkit.org/show_bug.cgi?id=32577
1802
1803         * inspector/InspectorController.cpp:
1804         (WebCore::InspectorController::identifierForInitialRequest):
1805         (WebCore::InspectorController::willSendRequest):
1806         * inspector/InspectorResource.cpp:
1807         (WebCore::InspectorResource::InspectorResource):
1808         (WebCore::InspectorResource::appendRedirect):
1809         (WebCore::InspectorResource::createCached):
1810         (WebCore::InspectorResource::updateRequest):
1811         * inspector/InspectorResource.h:
1812         (WebCore::InspectorResource::create):
1813
1814 2009-12-15  Brian Weinstein  <bweinstein@apple.com>
1815
1816         Reviewed by Timothy Hatcher.
1817
1818         Fixes <https://bugs.webkit.org/show_bug.cgi?id=32578>.
1819         Web Inspector: No Need for ?="" now that we have context menus.
1820         
1821         Remove the toggleNewAttributeButton function and callers to it, as
1822         we don't need this behavior anymore, now that we have context menus.
1823
1824         * inspector/front-end/ElementsTreeOutline.js:
1825         (WebInspector.ElementsTreeElement.prototype.set hovered):
1826         (WebInspector.ElementsTreeElement.prototype.toggleNewAttributeButton):
1827         (WebInspector.ElementsTreeElement.prototype._startEditing):
1828
1829 2009-12-15  Dimitri Glazkov  <dglazkov@chromium.org>
1830
1831         Reviewed by Eric Seidel.
1832
1833         [V8] Generate trivial named property getters.
1834         https://bugs.webkit.org/show_bug.cgi?id=32562
1835
1836         Covered by existing tests.
1837
1838         * bindings/scripts/CodeGeneratorV8.pm: Added GenerateImplementationNamedPropertyGetter.
1839         * bindings/v8/V8Collection.h:
1840         (WebCore::getNamedPropertyOfCollection): Fixed a booboo by using AtomicString like we're supposed to.
1841         * bindings/v8/V8DOMWrapper.cpp:
1842         (WebCore::V8DOMWrapper::getTemplate): Removed code that's now generated.
1843
1844 2009-12-15  Brian Weinstein  <bweinstein@apple.com>
1845
1846         Reviewed by Timothy Hatcher.
1847
1848         Part of <http://webkit.org/b/32568>.
1849         New Web Inspector: The Context Menu should be used in more places.
1850         
1851         Add support for context menu entries for editing and deleting elements
1852         in the datagrid. This gives support to deleting cookies, and editing and
1853         deleting session storage and local storage.
1854
1855         * English.lproj/localizedStrings.js: Added "Edit" and "Add New" entries (delete was already there)
1856         * inspector/front-end/DataGrid.js:
1857         (WebInspector.DataGrid): Added context menu listener.
1858         (WebInspector.DataGrid.prototype._contextMenuInDataTable):
1859
1860 2009-12-15  Kenneth Russell  <kbr@google.com>
1861
1862         Reviewed by Darin Fisher.
1863
1864         Don't allow default framebuffer to be mutated
1865         https://bugs.webkit.org/show_bug.cgi?id=32391
1866
1867         * html/canvas/WebGLRenderingContext.cpp:
1868         (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
1869         (WebCore::WebGLRenderingContext::framebufferTexture2D):
1870         * platform/graphics/mac/GraphicsContext3DMac.cpp:
1871         (WebCore::GraphicsContext3D::bindFramebuffer):
1872
1873 2009-12-15  Zoltan Horvath  <zoltan@webkit.org>
1874
1875         Reviewed by Darin Adler.
1876
1877         Allow custom memory allocation control for FontPlatformDataCacheKey class
1878         https://bugs.webkit.org/show_bug.cgi?id=32552
1879
1880         Inherits the following struct from FastAllocBase because it is instantiated by 'new':
1881
1882         struct name                     - instantiated at: WebCore/'location'
1883         struct FontPlatformDataCacheKey - platform/graphics/FontCache.cpp:118
1884
1885         * platform/graphics/FontCache.cpp:
1886
1887 2009-12-15  Jian Li  <jianli@chromium.org>
1888
1889         Reviewed by Dmitry Titov.
1890
1891         Bug 31090 - [Chromium] Add DownloadURL format to Chromium clipboard.
1892         https://bugs.webkit.org/show_bug.cgi?id=31090
1893
1894         The proposal to whatwg can be found here:
1895         http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-August/022118.html
1896
1897         * platform/chromium/ChromiumDataObject.cpp:
1898         (WebCore::ChromiumDataObject::clear):
1899         (WebCore::ChromiumDataObject::hasData):
1900         (WebCore::ChromiumDataObject::ChromiumDataObject):
1901         * platform/chromium/ChromiumDataObject.h:
1902         * platform/chromium/ClipboardChromium.cpp:
1903         (WebCore::):
1904         (WebCore::clipboardTypeFromMIMEType):
1905         (WebCore::ClipboardChromium::setData):
1906
1907 2009-12-15  Chris Fleizach  <cfleizach@apple.com>
1908
1909         Reviewed by Darin Adler.
1910
1911         WAI-ARIA: implement treegrid
1912         https://bugs.webkit.org/show_bug.cgi?id=31299
1913
1914         Test: platform/mac/accessibility/aria-treegrid.html
1915
1916         * accessibility/AXObjectCache.cpp:
1917         (WebCore::AXObjectCache::getOrCreate):
1918         * accessibility/AccessibilityARIAGrid.h:
1919         (WebCore::AccessibilityARIAGrid::supportsSelectedRows):
1920         * accessibility/AccessibilityARIAGridRow.cpp:
1921         (WebCore::AccessibilityARIAGridRow::isARIATreeGridRow):
1922         (WebCore::AccessibilityARIAGridRow::disclosedRows):
1923         (WebCore::AccessibilityARIAGridRow::disclosedByRow):
1924         * accessibility/AccessibilityARIAGridRow.h:
1925         * accessibility/AccessibilityObject.cpp:
1926         (WebCore::createARIARoleMap):
1927         * accessibility/AccessibilityObject.h:
1928         (WebCore::):
1929         (WebCore::AccessibilityObject::isARIATreeGridRow):
1930         * accessibility/AccessibilityRenderObject.cpp:
1931         (WebCore::AccessibilityRenderObject::isMultiSelectable):
1932         (WebCore::AccessibilityRenderObject::setIsExpanded):
1933         (WebCore::AccessibilityRenderObject::setSelectedRows):
1934         (WebCore::AccessibilityRenderObject::ariaSelectedRows):
1935         (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
1936         (WebCore::AccessibilityRenderObject::selectedChildren):
1937         * accessibility/AccessibilityRenderObject.h:
1938         * accessibility/AccessibilityTable.h:
1939         (WebCore::AccessibilityTable::supportsSelectedRows):
1940         * accessibility/mac/AccessibilityObjectWrapper.mm:
1941         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
1942         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
1943         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1944         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
1945
1946 2009-12-15  Zoltan Horvath  <zoltan@webkit.org>
1947
1948         Reviewed by Darin Adler.
1949
1950         Allow custom memory allocation control for EmptyEditorClient and EmptyInspectorClient
1951         https://bugs.webkit.org/show_bug.cgi?id=32557
1952
1953         Inherits the following classes from Noncopyable because these are instantiated
1954         by 'new' and no need to be copyable:
1955
1956         class name                 - instantiated at: WebCore/'location'
1957         class EmptyEditorClient    - svg/graphics/SVGImage.cpp:230
1958         class EmptyInspectorClient - svg/graphics/SVGImage.cpp:241
1959
1960         * loader/EmptyClients.h:
1961
1962 2009-12-15  Zoltan Horvath  <zoltan@webkit.org>
1963
1964         Reviewed by Darin Adler.
1965
1966         Allow custom memory allocation control for WebCore/inspector directory's classes
1967         https://bugs.webkit.org/show_bug.cgi?id=32556
1968
1969         Inherits the following class from Noncopyable because these are instantiated
1970         by 'new' and no need to be copyable:
1971
1972         class name                   - instantiated at: WebCore/'location'
1973         class InspectorFrontend      - inspector/InspectorController.cpp:538
1974         class InspectorTimelineAgent - inspector/InspectorController.cpp:1097
1975
1976         * inspector/InspectorFrontend.h:
1977         * inspector/InspectorTimelineAgent.h:
1978
1979 2009-12-15  Zoltan Horvath  <zoltan@webkit.org>
1980
1981         Reviewed by Darin Adler.
1982
1983         Allow custom memory allocation control for WebCore/platform/network directory's classes
1984         https://bugs.webkit.org/show_bug.cgi?id=32553
1985
1986         Inherits the following class from Noncopyable because it is instantiated
1987         by 'new' and no need to be copyable:
1988
1989         class/struct name                      - instantiated at: WebCore/'location'
1990
1991         struct CrossThreadResourceResponseData - platform/network/ResourceResponseBase.cpp:109
1992
1993         Inherits the following classes from FastAllocBase because these are
1994         instantiated by 'new':
1995
1996         class ResourceResponseBase - (its child class) platform/network/ResourceResponseBase.cpp:90
1997         class ResourceRequestBase  - (its child class) loader/DocumentThreadableLoader.cpp:88
1998
1999         * platform/network/ResourceRequestBase.h:
2000         * platform/network/ResourceResponseBase.h:
2001
2002 2009-12-15  Zoltan Horvath  <zoltan@webkit.org>
2003
2004         Reviewed by Darin Adler.
2005
2006         Allow custom memory allocation control for AnimationControllerPrivate and FillLayerPropertyWrapperGetter
2007         https://bugs.webkit.org/show_bug.cgi?id=32549
2008
2009         Inherits AnimationControllerPrivate and FillLayerPropertyWrapperGetter
2010         classes from Noncopyable because these are instantiated by 'new' and no need to be copyable:
2011
2012         class/struct name              - instantiated at: WebCore/'location'
2013
2014         AnimationControllerPrivate     - page/animation/AnimationController.cpp:439
2015         FillLayerPropertyWrapperGetter - (its child class) page/animation/AnimationBase.cpp:464
2016
2017         * page/animation/AnimationBase.cpp:
2018         * page/animation/AnimationControllerPrivate.h:
2019
2020 2009-12-15  Pavel Feldman  <pfeldman@chromium.org>
2021
2022         Reviewed by Timothy Hatcher.
2023
2024         Web Inspector: Do not lose HTTP redirect information, display it
2025         in the Resources Panel.
2026
2027         https://bugs.webkit.org/show_bug.cgi?id=32551
2028
2029         * inspector/InspectorController.cpp:
2030         (WebCore::InspectorController::populateScriptObjects):
2031         (WebCore::InspectorController::didCommitLoad):
2032         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
2033         (WebCore::InspectorController::identifierForInitialRequest):
2034         (WebCore::InspectorController::willSendRequest):
2035         (WebCore::InspectorController::didReceiveResponse):
2036         (WebCore::InspectorController::didReceiveContentLength):
2037         (WebCore::InspectorController::didFinishLoading):
2038         (WebCore::InspectorController::didFailLoading):
2039         * inspector/InspectorFrontend.cpp:
2040         * inspector/InspectorFrontend.h:
2041         * inspector/InspectorResource.cpp:
2042         (WebCore::InspectorResource::InspectorResource):
2043         (WebCore::InspectorResource::appendRedirect):
2044         (WebCore::InspectorResource::updateScriptObject):
2045         (WebCore::InspectorResource::releaseScriptObject):
2046         (WebCore::InspectorResource::type):
2047         * inspector/InspectorResource.h:
2048         (WebCore::InspectorResource::):
2049         (WebCore::InspectorResource::Changes::setAll):
2050         * inspector/front-end/inspector.js:
2051         (WebInspector._addResource):
2052         (WebInspector.updateResource):
2053
2054 2009-12-15  Holger Hans Peter Freyther  <zecke@selfish.org>
2055
2056         Reviewed by Simon Hausmann.
2057
2058         [Qt] Followup for direct signals and slots connections in QNetworkReplyHandler
2059         https://bugs.webkit.org/show_bug.cgi?id=32113
2060
2061         For Qt versions prior to 4.6.1 we will need to use QueuedConnection
2062         for the signal and slot connection to avoid running into a bug in.
2063
2064         Add a comment that we want to remove one signal to forward
2065         queued items when moving our minimum requirements.
2066
2067         * platform/network/qt/QNetworkReplyHandler.cpp:
2068         (WebCore::QNetworkReplyHandler::start):
2069
2070 2009-12-14  Holger Hans Peter Freyther  <zecke@selfish.org>
2071
2072         Reviewed by Kenneth Rohde Christiansen.
2073
2074         [Qt] Add manual test for JavaScript prompt corner case
2075         https://bugs.webkit.org/show_bug.cgi?id=30914
2076
2077         The patch is based on the work done by Gupta Manish.
2078
2079         Verify behavior of the JavaScript prompt function. Currently
2080         Qt is not behaving like other WebKit ports and Firefox in
2081         regards to accepting the prompt but not entering a text.
2082
2083         * manual-tests/qt/java-script-prompt.html: Added.
2084
2085 2009-12-15  Luiz Agostini  <luiz.agostini@openbossa.org>
2086
2087         Reviewed by Kenneth Rohde Christiansen.
2088
2089         Moving list populate methods from PopupMenuQt to QWebPopup.
2090         
2091         In preparation to future implementation of a delegation API for the combobox.
2092
2093         * platform/PopupMenu.h:
2094         * platform/qt/PopupMenuQt.cpp:
2095         (WebCore::PopupMenu::show):
2096         (WebCore::PopupMenu::hide):
2097         * platform/qt/QWebPopup.cpp:
2098         (WebCore::QWebPopup::show):
2099         (WebCore::QWebPopup::populate):
2100         * platform/qt/QWebPopup.h:
2101         (WebCore::QWebPopup::hide):
2102
2103 2009-12-15  Alexander Pavlov  <apavlov@chromium.org>
2104
2105         Reviewed by Pavel Feldman.
2106
2107         Extract WebInspector.Section from WebInspector.PropertiesSection.
2108         https://bugs.webkit.org/show_bug.cgi?id=32523
2109
2110         * WebCore.gypi:
2111         * WebCore.vcproj/WebCore.vcproj:
2112         * inspector/front-end/PropertiesSection.js:
2113         (WebInspector.PropertiesSection):
2114         * inspector/front-end/Section.js: Added.
2115         (WebInspector.Section):
2116         (WebInspector.Section.prototype.get title):
2117         (WebInspector.Section.prototype.set title):
2118         (WebInspector.Section.prototype.get subtitle):
2119         (WebInspector.Section.prototype.set subtitle):
2120         (WebInspector.Section.prototype.get expanded):
2121         (WebInspector.Section.prototype.set expanded):
2122         (WebInspector.Section.prototype.get populated):
2123         (WebInspector.Section.prototype.set populated):
2124         (WebInspector.Section.prototype.expand):
2125         (WebInspector.Section.prototype.collapse):
2126         (WebInspector.Section.prototype.toggleExpanded):
2127         * inspector/front-end/WebKit.qrc:
2128         * inspector/front-end/inspector.html:
2129
2130 2009-12-15  Eric Seidel  <eric@webkit.org>
2131
2132         No review, rolling out r52140.
2133         http://trac.webkit.org/changeset/52140
2134         https://bugs.webkit.org/show_bug.cgi?id=31299
2135
2136         The commit broke the Leopard bots and unfortunately
2137         Chris wasn't around to fix them, so I'm rolling the change
2138         out after 3 hours so that the bots can roll green again. :)
2139
2140         * accessibility/AXObjectCache.cpp:
2141         (WebCore::AXObjectCache::getOrCreate):
2142         * accessibility/AccessibilityARIAGrid.h:
2143         * accessibility/AccessibilityARIAGridRow.cpp:
2144         * accessibility/AccessibilityARIAGridRow.h:
2145         * accessibility/AccessibilityObject.cpp:
2146         (WebCore::createARIARoleMap):
2147         * accessibility/AccessibilityObject.h:
2148         (WebCore::):
2149         * accessibility/AccessibilityRenderObject.cpp:
2150         (WebCore::AccessibilityRenderObject::isMultiSelect):
2151         (WebCore::AccessibilityRenderObject::setIsExpanded):
2152         (WebCore::AccessibilityRenderObject::setSelectedRows):
2153         (WebCore::AccessibilityRenderObject::ariaTreeSelectedRows):
2154         (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
2155         (WebCore::AccessibilityRenderObject::selectedChildren):
2156         * accessibility/AccessibilityRenderObject.h:
2157         * accessibility/AccessibilityTable.h:
2158         * accessibility/mac/AccessibilityObjectWrapper.mm:
2159         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
2160         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2161         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2162         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
2163
2164 2009-12-14  Holger Hans Peter Freyther  <zecke@selfish.org>
2165
2166         Reviewed by Eric Seidel.
2167
2168         [Qt] Remove dead code from FontPlatformDataQt.cpp
2169         https://bugs.webkit.org/show_bug.cgi?id=32540
2170
2171         In r51758 the code that used familyNames was removed
2172         and we should remove the creation of the familyNames
2173         as well.
2174
2175         * platform/graphics/qt/FontPlatformDataQt.cpp:
2176         (WebCore::FontPlatformData::FontPlatformData):
2177
2178 2009-12-15  Dan Bernstein  <mitz@apple.com>
2179
2180         Reviewed by Adam Roben.
2181
2182         WebCore part of <rdar://problem/7173515> Use LOGFONT support in Core
2183         Graphics when available
2184
2185         When using a version of Core Graphics with LOGFONT support, this fixes
2186         <rdar://problem/5764844> First-time launch is painfully slow due to font
2187         plist creation
2188         and <rdar://problem/6576281> 12px synthetic-italics Tahoma text is less
2189         readable in Safari than in Firefox/IE due to poorly-spaced letters
2190
2191         * platform/graphics/win/FontCGWin.cpp:
2192         (WebCore::Font::drawGlyphs): No longer call drawGDIGlyphs for stroked
2193         text.
2194         * platform/graphics/win/FontCacheWin.cpp:
2195         (WebCore::createGDIFont): Added a synthesizeItalic parameter. When set
2196         to true, if italics are desired but the best match lacks italics,
2197         creates and returns a synthetic italics font.
2198         (WebCore::FontCache::createFontPlatformData): Ask to synthesize italics
2199         if needed.
2200         * platform/graphics/win/FontCustomPlatformData.cpp:
2201         (WebCore::FontCustomPlatformData::fontPlatformData): Updated an
2202         assertion, and changed to create the CGFont from the LOGFONT.
2203         (WebCore::createFontCustomPlatformData): Changed cgFont to be a
2204         RetainPtr. Do not create a CGFont from the font data if it can be
2205         created from the LOGFONT in fontPlatformData().
2206         * platform/graphics/win/FontDatabase.cpp:
2207         (WebCore::populateFontDatabase): Avoid font database work if fonts are
2208         not going to be looked up by name.
2209         * platform/graphics/win/FontPlatformDataCGWin.cpp:
2210         (WebCore::FontPlatformData::platformDataInit): Create the CGFont from
2211         a LOGFONT based on the HFONT.
2212
2213 2009-12-14  Chris Fleizach  <cfleizach@apple.com>
2214
2215         Reviewed by Darin Adler.
2216
2217         WAI-ARIA: implement treegrid
2218         https://bugs.webkit.org/show_bug.cgi?id=31299
2219
2220         Test: platform/mac/accessibility/aria-treegrid.html
2221
2222         * accessibility/AXObjectCache.cpp:
2223         (WebCore::AXObjectCache::getOrCreate):
2224         * accessibility/AccessibilityARIAGrid.h:
2225         (WebCore::AccessibilityARIAGrid::supportsSelectedRows):
2226         * accessibility/AccessibilityARIAGridRow.cpp:
2227         (WebCore::AccessibilityARIAGridRow::isARIATreeGridRow):
2228         (WebCore::AccessibilityARIAGridRow::disclosedRows):
2229         (WebCore::AccessibilityARIAGridRow::disclosedByRow):
2230         * accessibility/AccessibilityARIAGridRow.h:
2231         * accessibility/AccessibilityObject.cpp:
2232         (WebCore::createARIARoleMap):
2233         * accessibility/AccessibilityObject.h:
2234         (WebCore::AccessibilityObject::isARIATreeGridRow):
2235         * accessibility/AccessibilityRenderObject.cpp:
2236         (WebCore::AccessibilityRenderObject::isMultiSelectable):
2237         (WebCore::AccessibilityRenderObject::setIsExpanded):
2238         (WebCore::AccessibilityRenderObject::setSelectedRows):
2239         (WebCore::AccessibilityRenderObject::ariaSelectedRows):
2240         (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
2241         (WebCore::AccessibilityRenderObject::selectedChildren):
2242         * accessibility/AccessibilityRenderObject.h:
2243         * accessibility/AccessibilityTable.h:
2244         (WebCore::AccessibilityTable::supportsSelectedRows):
2245         * accessibility/mac/AccessibilityObjectWrapper.mm:
2246         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
2247         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2248         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2249         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
2250
2251 2009-12-14  Dan Bernstein  <mitz@apple.com>
2252
2253         Reviewed by Darin Adler.
2254
2255         <rdar://problem/7460655> REGRESSION (r47255): Content shifted down at software.opensuse.org
2256         https://bugs.webkit.org/show_bug.cgi?id=32382
2257
2258         Test: fast/block/float/in-margin.html
2259
2260         * rendering/RenderBlock.cpp:
2261         (WebCore::RenderBlock::getClearDelta): Floats that do not intrude into the line (because
2262         they are in the margin) do not need to be cleared.
2263
2264 2009-12-14  Enrica Casucci  <enrica@apple.com>
2265
2266         Reviewed by John Sullivan.
2267
2268         Pressing backspace inside a table cell erases all empty rows below it.
2269         <rdar://problem/5565461>
2270         https://bugs.webkit.org/show_bug.cgi?id=32526
2271
2272         No deletion is performed when the caret selection is on an empty table cell.
2273         
2274         Test: editing/deleting/delete-empty-table.html
2275
2276         * editing/TypingCommand.cpp:
2277         (WebCore::TypingCommand::deleteKeyPressed): Added check for empty table cells in
2278         case of caret selection.
2279
2280 2009-12-14  Andrei Popescu  <andreip@google.com>
2281
2282         Reviewed by Darin Adler.
2283
2284         [Android] Android needs ResourceHandle implementation
2285         https://bugs.webkit.org/show_bug.cgi?id=32515
2286
2287         Adds implementation of ResourceHandle on Android.
2288
2289         No new tests needed, this is platform-specific code, so existing
2290         tests are sufficient.
2291
2292         * platform/network/android/ResourceHandleAndroid.cpp: Added.
2293         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
2294         (WebCore::ResourceHandle::~ResourceHandle):
2295         (WebCore::ResourceHandle::start):
2296         (WebCore::ResourceHandle::cancel):
2297         (WebCore::ResourceHandle::bufferedData):
2298         (WebCore::ResourceHandle::supportsBufferedData):
2299         (WebCore::ResourceHandle::setDefersLoading):
2300         (WebCore::ResourceHandle::willLoadFromCache):
2301         (WebCore::ResourceHandle::loadsBlocked):
2302         (WebCore::SyncLoader::SyncLoader):
2303         (WebCore::SyncLoader::~SyncLoader):
2304         (WebCore::SyncLoader::didReceiveResponse):
2305         (WebCore::SyncLoader::didReceiveData):
2306         (WebCore::SyncLoader::didFail):
2307         (WebCore::ResourceHandle::loadResourceSynchronously):
2308         * platform/network/android/ResourceLoaderAndroid.h: Added.
2309         (WebCore::ResourceLoaderAndroid::~ResourceLoaderAndroid):
2310         (WebCore::ResourceLoaderAndroid::ResourceLoaderAndroid):
2311
2312 2009-12-14  Marco Martin  <notmart@gmail.com>
2313
2314         Reviewed by Kenneth Rohde Christiansen.
2315
2316         In the Scrollbar painting of the Qt theme integration,
2317         intersects any previous clip rects with the one needed to paint the scrollbar.
2318         This fixes the painting in QGraphicsview, when the parent of the widget that 
2319         paints the QWebPage has the QGraphicsItem::ItemClipsChildrenToShape set and
2320         a piece of the scrollbar should be cipped away
2321         https://bugs.webkit.org/show_bug.cgi?id=30366
2322
2323         No new tests.
2324
2325         * platform/qt/ScrollbarThemeQt.cpp:
2326         (WebCore::ScrollbarThemeQt::paint):
2327
2328 2009-12-14  Dimitri Glazkov  <dglazkov@chromium.org>
2329
2330         Reviewed by Eric Seidel.
2331
2332         [V8] Generate bindings for trivial indexers.
2333         https://bugs.webkit.org/show_bug.cgi?id=32455
2334
2335         Covered by existing tests.
2336
2337         * bindings/scripts/CodeGeneratorV8.pm:
2338             Added detecting indexers and generating code for them.
2339         * bindings/v8/V8Collection.h: Removed code that's now generated.
2340         * bindings/v8/V8DOMWrapper.cpp:
2341         (WebCore::V8DOMWrapper::getTemplate): Ditto.
2342
2343 2009-12-14  Alexey Proskuryakov  <ap@apple.com>
2344
2345         Reviewed by Dave Hyatt.
2346
2347         https://bugs.webkit.org/show_bug.cgi?id=31660
2348         REGRESSION (r49394): Image load event fires before the document fragment is attached.
2349
2350         Test: fast/images/image-load-event-in-fragment.html
2351
2352         We cannot fire load events immediately after parsing a fragment - an element inserted via
2353         innerHTML or equivalent should be reachable via getElementById() by the time its load event
2354         fires.
2355
2356         * dom/Document.cpp: (WebCore::Document::implicitClose): Call dispatchPendingBeforeLoadEvents()
2357         and dispatchPendingLoadEvents() individually. I'm not sure why these calls are here, just
2358         preserving existing behavior.
2359
2360         * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::write):
2361         * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::write):
2362         Load events for elements that have just been parsed cannot be dispatched yet, we should give
2363         the elements a chance to be inserted into a document first. There is no compatibility baggage
2364         for beforeload, so it seems OK to dispatch it right away.
2365
2366         * loader/ImageLoader.cpp:
2367         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvents):
2368         (WebCore::ImageLoader::dispatchPendingLoadEvents):
2369         * loader/ImageLoader.h:
2370         Separated dispatchPendingEvents() into individual functions for each event kind.
2371
2372 2009-12-14  Jakob Petsovits  <jpetsovits@rim.com>
2373
2374         Reviewed by Simon Fraser.
2375
2376         Add FloatQuad::isRectilinear() to check whether it can be represented as FloatRect.
2377         https://bugs.webkit.org/show_bug.cgi?id=30442
2378
2379         This enables optimizations for distinguishing between
2380         arbitrary FloatQuads and rectilinear ones.
2381
2382         * platform/graphics/FloatQuad.cpp:
2383         (WebCore::FloatQuad::isRectilinear):
2384         * platform/graphics/FloatQuad.h:
2385
2386 2009-12-14  Simon Hausmann  <hausmann@webkit.org>
2387
2388         Reviewed by Holger Freyther.
2389
2390         [Qt] Add support for keyboard modifiers to TouchEvent
2391
2392         https://bugs.webkit.org/show_bug.cgi?id=32482
2393
2394         Similar to other ui events with keyboard state, get the alt, shift,
2395         meta and ctrl modifiers straight from the platform event.
2396
2397         * dom/TouchEvent.cpp:
2398         (WebCore::TouchEvent::TouchEvent):
2399         (WebCore::TouchEvent::initTouchEvent):
2400         * dom/TouchEvent.h:
2401         (WebCore::TouchEvent::create):
2402         * dom/TouchEvent.idl:
2403         * page/EventHandler.cpp:
2404         (WebCore::EventHandler::handleTouchEvent):
2405         * platform/PlatformTouchEvent.h:
2406         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
2407         (WebCore::PlatformTouchEvent::shiftKey):
2408         (WebCore::PlatformTouchEvent::ctrlKey):
2409         (WebCore::PlatformTouchEvent::altKey):
2410         (WebCore::PlatformTouchEvent::metaKey):
2411         * platform/qt/PlatformTouchEventQt.cpp:
2412         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
2413
2414 2009-12-14  Benjamin Poulain  <benjamin.poulain@nokia.com>
2415
2416         Reviewed by Kenneth Rohde Christiansen.
2417
2418         [Qt] crash when clicking "Sign out" in GMail
2419         https://bugs.webkit.org/show_bug.cgi?id=32300
2420
2421         When the ResourceLoader cancels the handle we have to make sure not to access
2422         the resource handle afterwards again.
2423         This complete r29515
2424
2425         * platform/network/qt/QNetworkReplyHandler.cpp:
2426         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2427
2428 2009-12-14  Alexander Pavlov  <apavlov@chromium.org>
2429
2430         Reviewed by Pavel Feldman.
2431
2432         Implement InjectedScript.evaluateOnSelf() that evaluates functions in the InjectedScript context.
2433         https://bugs.webkit.org/show_bug.cgi?id=32517
2434
2435         * inspector/front-end/InjectedScript.js:
2436         (InjectedScript.evaluateOnSelf):
2437         * inspector/front-end/InjectedScriptAccess.js:
2438
2439 2009-12-14  Nayan Kumar K  <nayankk@gmail.com>
2440
2441         Reviewed by Darin Adler.
2442
2443         Fix for compilation errors in WML enabled builds.
2444
2445         https://bugs.webkit.org/show_bug.cgi?id=32481
2446
2447         * wml/WMLInputElement.cpp:
2448         (WebCore::WMLInputElement::setValue):
2449         (WebCore::WMLInputElement::setValueForUser):
2450         * wml/WMLInputElement.h:
2451
2452 2009-12-14  Andrei Popescu  <andreip@google.com>
2453
2454         Reviewed by Darin Adler.
2455
2456         [Android] Android needs ResourceError, ResourceResponse and
2457         ResourceRequest implementation.
2458         https://bugs.webkit.org/show_bug.cgi?id=32522
2459
2460         Add implementation of ResourceError, ResourceResponse and ResourceRequest.
2461         No new tests needed, the existing tests should be sufficient.
2462
2463         * platform/network/android/ResourceError.h: Added.
2464         (WebCore::ResourceError::ResourceError):
2465         * platform/network/android/ResourceRequest.h: Added.
2466         (WebCore::ResourceRequest::ResourceRequest):
2467         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2468         (WebCore::ResourceRequest::doUpdateResourceRequest):
2469         (WebCore::ResourceRequest::setUserGesture):
2470         (WebCore::ResourceRequest::getUserGesture):
2471         * platform/network/android/ResourceResponse.h: Added.
2472         (WebCore::ResourceResponse::ResourceResponse):
2473         (WebCore::ResourceResponse::doUpdateResourceResponse):
2474
2475 2009-12-14  Sam Weinig  <sam@webkit.org>
2476
2477         Fix the build.
2478
2479         * page/Geolocation.cpp:
2480         * page/Geolocation.h:
2481
2482 2009-12-13  Sam Weinig  <sam@webkit.org>
2483
2484         Reviewed by Dan Bernstein.
2485
2486         Fix for https://bugs.webkit.org/show_bug.cgi?id=32499
2487         Add client based Geolocation provider
2488
2489         Add first cut of a client based Geolocation provider. This is guarded by
2490         ENABLE(CLIENT_BASED_GEOLOCATION) and is off by default for now. This adds a
2491         GeolocationControllerClient interface that no-one currently implements,
2492         but will in a subsequent patch.
2493
2494         * GNUmakefile.am:
2495         * WebCore.base.exp:
2496         * WebCore.gypi:
2497         * WebCore.pro:
2498         * WebCore.vcproj/WebCore.vcproj:
2499         * WebCore.xcodeproj/project.pbxproj:
2500         * WebCoreSources.bkl:
2501         * page/Geolocation.cpp:
2502         (WebCore::createGeopositionFromGeolocationPosition):
2503         (WebCore::createPositionErrorFromGeolocationError):
2504         (WebCore::Geolocation::Geolocation):
2505         (WebCore::Geolocation::~Geolocation):
2506         (WebCore::Geolocation::disconnectFrame):
2507         (WebCore::Geolocation::lastPosition):
2508         (WebCore::Geolocation::startRequest):
2509         (WebCore::Geolocation::fatalErrorOccurred):
2510         (WebCore::Geolocation::requestTimedOut):
2511         (WebCore::Geolocation::clearWatch):
2512         (WebCore::Geolocation::handleError):
2513         (WebCore::Geolocation::positionChanged):
2514         (WebCore::Geolocation::makeSuccessCallbacks):
2515         (WebCore::Geolocation::errorOccurred):
2516         (WebCore::Geolocation::geolocationServicePositionChanged):
2517         (WebCore::Geolocation::geolocationServiceErrorOccurred):
2518         (WebCore::Geolocation::startUpdating):
2519         (WebCore::Geolocation::stopUpdating):
2520         * page/Geolocation.h:
2521         * page/GeolocationController.cpp: Added.
2522         (WebCore::GeolocationController::GeolocationController):
2523         (WebCore::GeolocationController::~GeolocationController):
2524         (WebCore::GeolocationController::addObserver):
2525         (WebCore::GeolocationController::removeObserver):
2526         (WebCore::GeolocationController::positionChanged):
2527         (WebCore::GeolocationController::errorOccurred):
2528         (WebCore::GeolocationController::lastPosition):
2529         * page/GeolocationController.h: Added.
2530         * page/GeolocationControllerClient.h: Added.
2531         (WebCore::GeolocationControllerClient::~GeolocationControllerClient):
2532         * page/GeolocationError.h: Added.
2533         (WebCore::GeolocationError::):
2534         (WebCore::GeolocationError::create):
2535         (WebCore::GeolocationError::code):
2536         (WebCore::GeolocationError::message):
2537         * page/GeolocationPosition.h: Added.
2538         (WebCore::GeolocationPosition::create):
2539         (WebCore::GeolocationPosition::timestamp):
2540         (WebCore::GeolocationPosition::latitude):
2541         (WebCore::GeolocationPosition::longitude):
2542         (WebCore::GeolocationPosition::accuracy):
2543         (WebCore::GeolocationPosition::altitude):
2544         (WebCore::GeolocationPosition::altitudeAccuracy):
2545         (WebCore::GeolocationPosition::heading):
2546         (WebCore::GeolocationPosition::speed):
2547         (WebCore::GeolocationPosition::canProvideAltitude):
2548         (WebCore::GeolocationPosition::canProvideAltitudeAccuracy):
2549         (WebCore::GeolocationPosition::canProvideHeading):
2550         (WebCore::GeolocationPosition::canProvideSpeed):
2551         (WebCore::GeolocationPosition::GeolocationPosition):
2552         * page/Geoposition.h:
2553         (WebCore::Geoposition::create):
2554         * page/Page.cpp:
2555         (WebCore::Page::Page):
2556         * page/Page.h:
2557         (WebCore::Page::geolocationController):
2558         * svg/graphics/SVGImage.cpp:
2559         (WebCore::SVGImage::dataChanged):
2560
2561 2009-12-14  Adam Langley  <agl@google.com>
2562
2563         Reviewed by Darin Adler.
2564
2565         Test that an image's size is valid before reading it.
2566
2567         Previously, an image that failed to load (m_failed == true) would
2568         trigger an assertion failure when WebKit tried to get its size.
2569
2570         https://bugs.webkit.org/show_bug.cgi?id=32176
2571         http://code.google.com/p/chromium/issues/detail?id=28566
2572
2573         Test: fast/images/size-failure.html
2574
2575         * platform/graphics/ImageSource.cpp:
2576         (WebCore::ImageSource::createFrameAtIndex):
2577
2578 2009-12-14  Dan Bernstein  <mitz@apple.com>
2579
2580         Reviewed by Darin Adler.
2581
2582         <rdar://problem/7458272> REGRESSION (r50470) Reproducible ASSERT in
2583         RenderWidget::setWidgetGeometry()
2584
2585         Test: fast/forms/defer-updateFromElement.html
2586
2587         * html/HTMLFormControlElement.cpp:
2588         (WebCore::updateFromElementCallback): Added this post-attach callback
2589         that invokes updateFromElement().
2590         (WebCore::HTMLFormControlElement::recalcStyle): Instead of calling
2591         updateFromElement(), enqueue a post-attach (in this case, post-style
2592         recalc) callback to do it. updateFromElement() can cause the selection
2593         to change, and in turn trigger synchronous layout, so it must not be
2594         called during style recalc.
2595
2596 2009-12-14  Pavel Feldman  <pfeldman@chromium.org>
2597
2598         Reviewed by Timothy Hatcher.
2599
2600         Web Inspector: [regression] inspector deletes nodes when editing css.
2601
2602         Now all the treeoutlines are focusable, sections and their titles
2603         are also focusable. Change contains couple of drive-by fixes such as
2604         canceling of the attribute edit nuking attr info and maintaining proper
2605         selection while deleting nodes.
2606
2607         https://bugs.webkit.org/show_bug.cgi?id=32460
2608
2609         * inspector/front-end/CallStackSidebarPane.js:
2610         (WebInspector.CallStackSidebarPane.prototype.handleShortcut):
2611         * inspector/front-end/ConsoleView.js:
2612         (WebInspector.ConsoleView.prototype._promptKeyDown):
2613         * inspector/front-end/DataGrid.js:
2614         (WebInspector.DataGrid.prototype._keyDown):
2615         * inspector/front-end/DatabaseQueryView.js:
2616         (WebInspector.DatabaseQueryView):
2617         (WebInspector.DatabaseQueryView.prototype._promptKeyDown):
2618         * inspector/front-end/ElementsPanel.js:
2619         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
2620         (WebInspector.ElementsPanel.prototype.get defaultFocusedElement):
2621         (WebInspector.ElementsPanel.prototype.handleShortcut):
2622         * inspector/front-end/ElementsTreeOutline.js:
2623         (WebInspector.ElementsTreeOutline):
2624         (WebInspector.ElementsTreeOutline.prototype._keyDown):
2625         (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted):
2626         (WebInspector.ElementsTreeElement.prototype._editingCancelled):
2627         * inspector/front-end/Panel.js:
2628         (WebInspector.Panel.prototype.show):
2629         (WebInspector.Panel.prototype.get defaultFocusedElement):
2630         * inspector/front-end/PropertiesSection.js:
2631         (WebInspector.PropertiesSection):
2632         * inspector/front-end/ScriptsPanel.js:
2633         (WebInspector.ScriptsPanel):
2634         (WebInspector.ScriptsPanel.prototype.get defaultFocusedElement):
2635         (WebInspector.ScriptsPanel.prototype.handleShortcut):
2636         * inspector/front-end/SidebarPane.js:
2637         (WebInspector.SidebarPane):
2638         (WebInspector.SidebarPane.prototype.toggleExpanded):
2639         (WebInspector.SidebarPane.prototype._onTitleKeyDown):
2640         * inspector/front-end/SourceFrame.js:
2641         (WebInspector.SourceFrame.prototype._loaded):
2642         * inspector/front-end/TextPrompt.js:
2643         (WebInspector.TextPrompt):
2644         * inspector/front-end/inspector.css:
2645         * inspector/front-end/inspector.html:
2646         * inspector/front-end/inspector.js:
2647         (WebInspector.loaded):
2648         (WebInspector.documentKeyDown):
2649         (WebInspector.documentCanCopy):
2650         (WebInspector.documentCopy):
2651         (WebInspector._searchFieldManualFocus):
2652         (WebInspector._searchKeyDown):
2653         (WebInspector.startEditing.cleanUpAfterEditing):
2654         (WebInspector.startEditing.keyDownEventListener):
2655         (WebInspector.startEditing):
2656         * inspector/front-end/treeoutline.js:
2657         (TreeOutline):
2658         (TreeOutline._removeChildAtIndex):
2659         (TreeOutline.prototype._treeKeyDown):
2660         (TreeElement.prototype.deselect):
2661         * inspector/front-end/utilities.js:
2662         ():
2663
2664 2009-12-14  Dimitri Glazkov  <dglazkov@chromium.org>
2665
2666         Unreviewed, build fix.
2667
2668         [Chromium] Guard all of JSC's wrapper cache-related members on Document.
2669
2670         * dom/Document.cpp:
2671         (WebCore::Document::createWrapperCache): Widened the guards to the whole method.
2672         * dom/Document.h: Added JSC guards to wrapper cache-related members.
2673
2674 2009-12-14  Chris Fleizach  <cfleizach@apple.com>
2675
2676         Reviewed by Adele Peterson.
2677
2678         AX: there's an infinite loop going on for some webpages - facebook.com
2679         https://bugs.webkit.org/show_bug.cgi?id=32501
2680
2681         The problem is that parentObjectUnignored() cannot be called
2682         while in accessibilityIsIgnored, because it leads to
2683         recursiveness. Specifically, there were checks to determine
2684         if an object was within a ARIA tree. That check should
2685         1) be moved to all platforms, and 2) not call parentObjectUnignored().
2686
2687         Test: accessibility/hang-in-isignored.html
2688
2689         * accessibility/AccessibilityRenderObject.cpp:
2690         (WebCore::AccessibilityRenderObject::isAllowedChildOfTree):
2691         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2692         * accessibility/AccessibilityRenderObject.h:
2693         * accessibility/mac/AccessibilityObjectMac.mm:
2694         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
2695
2696 2009-12-14  Eric Carlson  <eric.carlson@apple.com>
2697
2698         Reviewed by Dan Bernstein.
2699
2700         <rdar://problem/6293979> Adopt shared control drawing for <video> controls on Leopard and Windows
2701
2702         Use MediaControllerThemeQuickTime on Leopard.
2703
2704         * rendering/RenderThemeMac.mm:
2705         (WebCore::mediaControllerTheme):
2706
2707 2009-12-14  Adam Roben  <aroben@apple.com>
2708
2709         Move QuartzCore-related build settings into a vsprops file
2710
2711         Fixes <http://webkit.org/b/32518>
2712
2713         Reviewed by Dan Bernstein.
2714
2715         * WebCore.vcproj/WebCore.vcproj: Let VS reformat the files list, added
2716         WebCoreQuartzCore.vsprops to the non-Cairo configurations, moved all
2717         other QuartzCore-related build settings from here...
2718         * WebCore.vcproj/WebCoreQuartzCore.vsprops: ...to here.
2719
2720 2009-12-14  Yael Aharon  <yael.aharon@nokia.com>
2721
2722         Reviewed by Antti Koivisto.
2723
2724         handling scripts can block UI
2725         https://bugs.webkit.org/show_bug.cgi?id=27612
2726
2727         Break execution of external scrips to smaller chunks. 
2728         No new tests since no new functionality was introduced.
2729
2730         * html/HTMLTokenizer.cpp:
2731         (WebCore::HTMLTokenizer::HTMLTokenizer):
2732         (WebCore::HTMLTokenizer::reset):
2733         (WebCore::HTMLTokenizer::notifyFinished):
2734         (WebCore::HTMLTokenizer::executeExternalScriptsIfReady):
2735         (WebCore::HTMLTokenizer::executeExternalScriptsTimerFired):
2736         (WebCore::HTMLTokenizer::continueExecutingExternalScripts):
2737         * html/HTMLTokenizer.h:
2738
2739 2009-12-03  Holger Hans Peter Freyther  <zecke@selfish.org>
2740
2741         Reviewed by Simon Hausmann.
2742
2743         [Qt] Connect QNetworkReply via direct connections.
2744         https://bugs.webkit.org/show_bug.cgi?id=32113
2745
2746         In the past we have switched from auto connections to queued
2747         connections to get some more stability. The problem with the
2748         Queued connections is latency. Even when running simple loading
2749         tests the time it takes to runs highly varies and by using
2750         direct connections these tests produce a stable result.
2751
2752         We will have to look out for crashes coming from within the
2753         QNetworkAccessManager due this patch and address them then.
2754
2755         * platform/network/qt/QNetworkReplyHandler.cpp:
2756         (WebCore::QNetworkReplyHandler::start):
2757
2758 2009-12-14  Holger Hans Peter Freyther  <zecke@selfish.org>
2759
2760         Rubber-stamped by Simon Hausmann.
2761
2762         [Qt] QtWebKit should use QImageReader::setQuality(49)
2763         https://bugs.webkit.org/show_bug.cgi?id=30740
2764
2765         Using QImageReader::setQuality(49) will influence the JPEG
2766         decoder of Qt to use the JDCT_IFAST routines for decompressing. This
2767         is showing a 5% improvement in a reduction that decodes all images
2768         used during the page loading test. The libjpeg documentation mentions
2769         that the IFAST routine is not as accurate as other routines but in
2770         our tests we couldn't see a difference.
2771
2772         * platform/graphics/qt/ImageDecoderQt.cpp:
2773         (WebCore::ImageDecoderQt::setData):
2774
2775 2009-12-13  Geoffrey Garen  <ggaren@apple.com>
2776
2777         Reviewed by Sam Weinig.
2778         
2779         Changed GC from mark-sweep to mark-allocate.
2780
2781         * ForwardingHeaders/runtime/WeakGCMap.h: Added.
2782         * bindings/js/GCController.cpp:
2783         (WebCore::collect):
2784         (WebCore::GCController::gcTimerFired):
2785         (WebCore::GCController::garbageCollectNow): Updated for rename.
2786
2787         * bindings/js/JSDOMBinding.cpp:
2788         (WebCore::removeWrappers):
2789         (WebCore::hasCachedDOMObjectWrapperUnchecked):
2790         (WebCore::hasCachedDOMObjectWrapper):
2791         (WebCore::hasCachedDOMNodeWrapperUnchecked):
2792         (WebCore::forgetDOMObject):
2793         (WebCore::forgetDOMNode):
2794         (WebCore::isObservableThroughDOM):
2795         (WebCore::markDOMNodesForDocument):
2796         (WebCore::markDOMObjectWrapper):
2797         (WebCore::markDOMNodeWrapper):
2798         * bindings/js/JSDOMBinding.h: Changed DOM wrapper maps to be WeakGCMaps.
2799         Don't ASSERT that an item must be in the WeakGCMap when its destructor
2800         runs, since it might have been overwritten in the map first.
2801
2802         * bindings/js/JSDocumentCustom.cpp:
2803         (WebCore::toJS): Changed Document from a DOM object wrapper to a DOM node
2804         wrapper, to simplify some code.
2805
2806         * bindings/js/JSInspectedObjectWrapper.cpp:
2807         (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
2808         (WebCore::JSInspectedObjectWrapper::~JSInspectedObjectWrapper):
2809         * bindings/js/JSInspectorCallbackWrapper.cpp: Use a WeakGCMap for these
2810         wrappers.
2811
2812         * bindings/js/JSNodeCustom.cpp:
2813         (WebCore::JSNode::markChildren): Updated for WeakGCMap and Document using
2814         a DOM node wrapper instead of a DOM object wrapper.
2815
2816         * bindings/js/JSSVGPODTypeWrapper.h:
2817         (WebCore::JSSVGDynamicPODTypeWrapperCache::wrapperMap):
2818         (WebCore::JSSVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
2819         (WebCore::JSSVGDynamicPODTypeWrapperCache::forgetWrapper):
2820         (WebCore::::~JSSVGDynamicPODTypeWrapper): Shined a small beam of sanity light
2821         on this code. Use hashtable-based lookup in JSSVGPODTypeWrapper.h instead
2822         of linear lookup through iteration, since that's what hashtables were
2823         invented for. Make JSSVGPODTypeWrapper.h responsible for reomving itself
2824         from the table, instead of its JS wrapper, to decouple these objects from
2825         GC, and because these objects are refCounted, not solely owned by their
2826         JS wrappers.
2827
2828         * bindings/scripts/CodeGeneratorJS.pm:
2829         * dom/Document.h: Adopted changes above.
2830
2831 2009-12-13  Geoffrey Garen  <ggaren@apple.com>
2832
2833         Windows build fix: Removed an incorrect #ifdef.
2834
2835         * bindings/js/GCController.cpp:
2836
2837 2009-12-13  Charles Reis  <creis@chromium.org>
2838
2839         Reviewed by Adam Barth.
2840
2841         Refactor some security code out of V8 bindings
2842         https://bugs.webkit.org/show_bug.cgi?id=32326
2843
2844         No new tests. There should be no functionality changes in this patch,
2845         since it is only refactoring code.
2846
2847         * WebCore.gyp/WebCore.gyp:
2848         * WebCore.gypi:
2849         * bindings/BindingSecurity.h: Added.
2850         (WebCore::BindingSecurity::BindingSecurity):
2851         (WebCore::::canAccessWindow):
2852         (WebCore::::canAccessFrame):
2853         (WebCore::::checkNodeSecurity):
2854         * bindings/BindingSecurityBase.cpp: Added.
2855         (WebCore::BindingSecurityBase::getDOMWindow):
2856         (WebCore::BindingSecurityBase::getFrame):
2857         (WebCore::BindingSecurityBase::canAccessWindow):
2858         * bindings/BindingSecurityBase.h: Added.
2859         * bindings/GenericBinding.h: Added.
2860         (WebCore::):
2861         * bindings/scripts/CodeGeneratorV8.pm:
2862         * bindings/v8/ScriptController.cpp:
2863         (WebCore::ScriptController::isSafeScript):
2864         * bindings/v8/V8Binding.h:
2865         * bindings/v8/V8BindingState.cpp: Added.
2866         (WebCore::::Only):
2867         (WebCore::::getActiveWindow):
2868         (WebCore::::immediatelyReportUnsafeAccessTo):
2869         * bindings/v8/V8BindingState.h: Added.
2870         (WebCore::):
2871         * bindings/v8/V8Proxy.cpp:
2872         (WebCore::V8Proxy::reportUnsafeAccessTo):
2873         (WebCore::reportUnsafeJavaScriptAccess):
2874         * bindings/v8/V8Proxy.h:
2875         (WebCore::V8Proxy::):
2876         * bindings/v8/custom/V8CustomBinding.cpp:
2877         (WebCore::allowSettingFrameSrcToJavascriptUrl):
2878         (WebCore::INDEXED_ACCESS_CHECK):
2879         (WebCore::NAMED_ACCESS_CHECK):
2880         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2881         (WebCore::V8Custom::WindowSetTimeoutImpl):
2882         (WebCore::ACCESSOR_GETTER):
2883         (WebCore::ACCESSOR_SETTER):
2884         (WebCore::CALLBACK_FUNC_DECL):
2885         (WebCore::V8Custom::ClearTimeoutImpl):
2886         (WebCore::NAMED_ACCESS_CHECK):
2887         (WebCore::INDEXED_ACCESS_CHECK):
2888         * bindings/v8/custom/V8LocationCustom.cpp:
2889         (WebCore::ACCESSOR_GETTER):
2890         (WebCore::CALLBACK_FUNC_DECL):
2891         (WebCore::INDEXED_ACCESS_CHECK):
2892         (WebCore::NAMED_ACCESS_CHECK):
2893
2894 2009-11-30  Holger Hans Peter Freyther  <zecke@selfish.org>
2895
2896         Reviewed by Simon Hausmann.
2897
2898         [Qt] Implement initializeMaximumHTTPConnectionCountPerHost.
2899         https://bugs.webkit.org/show_bug.cgi?id=31849
2900
2901         Qt allows to have three connections per host on Symbian, for
2902         every other platform the limit is set to six connections per
2903         host but the default implementation will only schedule four
2904         connections per host.
2905         In a manual test we seem to get the best loading speed by
2906         going with Qt's limit and schedule two more jobs to allow Qt
2907         to prepare them.
2908
2909         * platform/network/ResourceRequestBase.cpp:
2910         * platform/network/qt/ResourceRequestQt.cpp:
2911         (WebCore::initializeMaximumHTTPConnectionCountPerHost):
2912
2913 2009-12-13  Dan Bernstein  <mitz@apple.com>
2914
2915         Reviewed by Simon Fraser.
2916
2917         <rdar://problem/7341364> Crash at HTMLParser::popOneBlockCommon() after
2918         handling misnested residual style tags
2919
2920         Test: fast/parser/residual-style-close-ref-clone.html
2921
2922         * html/HTMLParser.cpp:
2923         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Gave the
2924         block stack a strong reference to the cloned residual style element. 
2925
2926 2009-12-13  Adele Peterson  <adele@apple.com>
2927
2928         Reviewed by Sam Weinig.
2929
2930         Reverting changes from http://trac.webkit.org/changeset/49585 to fix:
2931         <rdar://problem/7382815> REGRESSION (4.0.4-TOT): Home photo slider is too narrow at http://www.ziprealty.com/
2932         https://bugs.webkit.org/show_bug.cgi?id=32078
2933
2934         * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cssText):
2935
2936 2009-12-08  Jeremy Moskovich  <jeremy@chromium.org>
2937
2938         Reviewed by Eric Seidel.
2939
2940         Add code to allow toggling ATSUI/Core Text rendering at runtime in ComplexTextController.
2941         https://bugs.webkit.org/show_bug.cgi?id=31802
2942
2943         The goal here is to allow for a zero runtime hit for ports that decide to select
2944         the API at compile time.
2945         When both USE(ATSUI) and USE(CORE_TEXT) are true, the API is toggled
2946         at runtime.  Core Text is used for OS Versions >= 10.6.
2947
2948         No test since this is already covered by existing pixel tests.
2949
2950         * platform/graphics/SimpleFontData.h:  Change #ifdef to define getNSFont() on Chrome/Mac .
2951         * platform/graphics/mac/ComplexTextController.cpp:
2952         (WebCore::shouldUseATSUIAPI): Cache decision about which API to use.
2953         (WebCore::ComplexTextController::ComplexTextRun::indexAt):
2954         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Stub function to call through
2955         to ATSUI/Core text variants.
2956         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): The actual work for object construction
2957         is delegate to createTextRunFromFontDataATSUI/createTextRunFromFontDataCoreText.
2958         * platform/graphics/mac/ComplexTextController.h:
2959         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
2960         (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation): Small style fix.
2961         (WebCore::ComplexTextController::ComplexTextRun::createTextRunFromFontDataATSUI):
2962         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI):
2963         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
2964         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
2965         (WebCore::ComplexTextController::ComplexTextRun::createTextRunFromFontDataCoreText):
2966         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
2967
2968 2009-12-13  Eric Carlson  <eric.carlson@apple.com>
2969
2970         No review, rolling out r52059 until I can generate new Tiger
2971         test results.
2972
2973         * rendering/RenderThemeMac.mm:
2974         (WebCore::mediaControllerTheme):
2975
2976 2009-12-12  Sam Weinig  <sam@webkit.org>
2977
2978         Rubber-stamped by Dan Bernstein.
2979
2980         Fix the EXPERIMENTAL_SINGLE_VIEW_MODE build.
2981
2982         * Configurations/WebCore.xcconfig:
2983         * page/EventHandler.cpp:
2984         (WebCore::EventHandler::EventHandler):
2985         (WebCore::EventHandler::clearDragState):
2986         * page/mac/DragControllerMac.mm:
2987         (WebCore::DragController::isCopyKeyDown):
2988         * page/mac/EventHandlerMac.mm:
2989         (WebCore::EventHandler::eventActivatedView):
2990         * platform/PlatformKeyboardEvent.h:
2991         * platform/PlatformMouseEvent.h:
2992         * platform/PlatformWheelEvent.h:
2993         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2994         * platform/ScrollView.cpp:
2995         (WebCore::ScrollView::wheelEvent):
2996         * platform/mac/KeyEventMac.mm:
2997         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2998         * platform/mac/PlatformMouseEventMac.mm:
2999         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3000         * platform/mac/PopupMenuMac.mm:
3001         (WebCore::PopupMenu::show):
3002         * platform/mac/WidgetMac.mm:
3003
3004 2009-12-12  Sam Weinig  <sam@webkit.org>
3005
3006         Rubber-stamped by Dan Bernstein.
3007
3008         Fix the !ENABLE(VIDEO) build.
3009
3010         * rendering/RenderLayerCompositor.cpp:
3011         (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
3012
3013 2009-12-12  Sam Weinig  <sam@webkit.org>
3014
3015         Rubber-stamped by Dan Bernstein.
3016
3017         Fix the !ENABLE(DATABASE) build.
3018
3019         * storage/SQLTransactionClient.cpp:
3020         * storage/SQLTransactionClient.h:
3021         * storage/SQLTransactionCoordinator.cpp:
3022         * storage/SQLTransactionCoordinator.h:
3023         * loader/FrameLoader.cpp:
3024         (WebCore::FrameLoader::stopLoading):
3025
3026 2009-12-12  Eric Carlson  <eric.carlson@apple.com>
3027
3028         Reviewed by Dan Bernstein.
3029
3030         <rdar://problem/6293979> Adopt shared control drawing for <video> controls on Leopard and Windows
3031
3032         Use MediaControllerThemeQuickTime on Leopard.
3033
3034         * rendering/RenderThemeMac.mm:
3035         (WebCore::mediaControllerTheme):
3036
3037 2009-12-12  Kenneth Russell  <kbr@google.com>
3038
3039         Reviewed by Oliver Hunt.
3040
3041         Errors in WebGL[T]Array set() and get() methods
3042         https://bugs.webkit.org/show_bug.cgi?id=32456
3043
3044         Test: fast/canvas/webgl/bug-32456.html
3045
3046         * bindings/js/JSWebGLFloatArrayCustom.cpp:
3047         (WebCore::JSWebGLFloatArray::set):
3048         * bindings/js/JSWebGLIntArrayCustom.cpp:
3049         (WebCore::JSWebGLIntArray::set):
3050         * bindings/js/JSWebGLShortArrayCustom.cpp:
3051         (WebCore::JSWebGLShortArray::set):
3052         * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp:
3053         (WebCore::JSWebGLUnsignedByteArray::set):
3054         * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp:
3055         (WebCore::JSWebGLUnsignedIntArray::set):
3056         * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp:
3057         (WebCore::JSWebGLUnsignedShortArray::set):
3058         * bindings/v8/custom/V8WebGLArrayCustom.h:
3059         (WebCore::setWebGLArray):
3060         * html/canvas/WebGLFloatArray.idl:
3061         * html/canvas/WebGLUnsignedIntArray.idl:
3062
3063 2009-12-12  Kenneth Russell  <kbr@google.com>
3064
3065         Reviewed by Oliver Hunt.
3066
3067         Update WebGL tests to released versions
3068         https://bugs.webkit.org/show_bug.cgi?id=32457
3069
3070         * manual-tests/webgl/Earth.html:
3071         * manual-tests/webgl/ManyPlanetsDeep.html:
3072         * manual-tests/webgl/SpinningBox.html:
3073         * manual-tests/webgl/TeapotPerPixel.html:
3074         * manual-tests/webgl/TeapotPerVertex.html:
3075         * manual-tests/webgl/resources/CanvasMatrix.js:
3076         (CanvasMatrix4.prototype.getAsWebGLFloatArray):
3077         * manual-tests/webgl/resources/utils3d.js:
3078         (initWebGL.gl.console.window.console.log):
3079         (initWebGL):
3080         (loadShader):
3081         (makeBox):
3082         (makeSphere):
3083         (processLoadObj):
3084         (doLoadObj):
3085         (doLoadImageTexture):
3086
3087 2009-12-12  Christian Dywan  <christian@twotoasts.de>
3088
3089         Reviewed by Dirk Schulze.
3090
3091         Remove the include to SVGFEDisplacementMap.h, it's not needed at all.
3092
3093         * platform/graphics/filters/FEComponentTransfer.h:
3094
3095 2009-12-12  Christian Dywan  <christian@twotoasts.de>
3096
3097         Rubber-stamped by Maciej Stachowiak.
3098
3099         Only include SVGFEDisplacementMap.h if SVG is enabled.
3100
3101         * platform/graphics/filters/FEComponentTransfer.h:
3102
3103 2009-12-12  Dirk Schulze  <krit@webkit.org>
3104
3105         Reviewed by Eric Seidel.
3106
3107         [Cairo][Qt] Alpha blending in SVG filters is wrong
3108         https://bugs.webkit.org/show_bug.cgi?id=32427
3109
3110         This patch is a follow-up to:
3111         http://trac.webkit.org/changeset/51950
3112         It fixes the alpha blending for Cairo and Qt on SVG Filters.
3113
3114         Covered by: * LayoutTests/svg/filters/feGaussianBlur.svg
3115                     * LayoutTests/svg/filters/feComposite.svg
3116                      and others.
3117
3118         * platform/graphics/cairo/ImageBufferCairo.cpp:
3119         (WebCore::ImageBuffer::platformTransformColorSpace):
3120         * platform/graphics/qt/ImageBufferQt.cpp:
3121         (WebCore::ImageBuffer::platformTransformColorSpace):
3122
3123 2009-12-11  Eric Roman  <eroman@chromium.org>
3124
3125         Unreviewed build fix.
3126
3127         [V8] Add a method on ScriptController to get it compiling after http://trac.webkit.org/changeset/52033.
3128
3129         * bindings/v8/ScriptController.cpp:
3130         (WebCore::ScriptController::anyPageIsProcessingUserGesture):
3131         * bindings/v8/ScriptController.h:
3132
3133 2009-12-11  Dimitri Glazkov  <dglazkov@chromium.org>
3134
3135         Unreviewed, build fix.
3136
3137         [V8] Change bindings to catch up with http://trac.webkit.org/changeset/52033.
3138
3139         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
3140         (WebCore::CALLBACK_FUNC_DECL): Added retrieval of calling frame and passing
3141           to the submit method.
3142
3143 2009-12-11  Sam Weinig  <sam@webkit.org>
3144
3145         Reviewed by Mark Rowe.
3146
3147         Put -umbrella linker flag into a variable so that it can be overridden.
3148
3149         * Configurations/WebCore.xcconfig:
3150
3151 2009-12-11  Shinichiro Hamaji  <hamaji@chromium.org>
3152
3153         Reviewed by Darin Adler.
3154
3155         body with display:inline causes crash
3156         https://bugs.webkit.org/show_bug.cgi?id=32371
3157
3158         Tests: fast/inline/inline-body-crash.html
3159                fast/inline/inline-body-with-scrollbar-crash.html
3160
3161         * page/FrameView.cpp:
3162         (WebCore::FrameView::createScrollbar):
3163         (WebCore::FrameView::layout):
3164
3165 2009-12-11  Brady Eidson  <beidson@apple.com>
3166
3167         Rubberstamped by Sam Weinig.
3168
3169         https://webkit.org/b/22851 - Remove defunct FIXME.
3170
3171         * html/HTMLPlugInElement.cpp:
3172         (WebCore::HTMLPlugInElement::HTMLPlugInElement): This flag was removed completely
3173           from the HTMLFrameOwnerElement chain of classes.
3174
3175 2009-12-11  Darin Adler  <darin@apple.com>
3176
3177         Reviewed by Dan Bernstein.
3178
3179         Small refactoring to get rid of some extra unneeded selection-related work
3180         in RenderLayer::scrollToOffset and separate caret and range selection
3181         logic in FrameView::layout. This may be useful later when changing how
3182         the range selection logic works to fix layout reentrancy problems.
3183
3184         * page/Frame.cpp: Removed invalidateSelection.
3185         * page/Frame.h: Ditto.
3186
3187         * page/FrameView.cpp:
3188         (WebCore::FrameView::layout): Call SelectionController::setNeedsLayout
3189         and Frame::selectionLayoutChanged instead of calling
3190         Frame::invalidateSelection, which was just a function that called
3191         both of those others.
3192
3193         * rendering/RenderLayer.cpp:
3194         (WebCore::RenderLayer::scrollToOffset): Call
3195         SelectionController::setNeedsLayout instead of calling
3196         Frame::invalidateSelection. This call site only needs the caret-related
3197         work in that first function, not the other work formerly done by
3198         Frame::invalidateSelection. The caret works outside the normal
3199         painting and rendering system, and the range selection highlight is
3200         more or less inside it and doesn't need special handling when scrolling.
3201
3202 2009-12-11  Brady Eidson  <beidson@apple.com>
3203
3204         Reviewed by Darin Adler.
3205
3206         <rdar://problem/7342725> and https://webkit.org/b/32383
3207         Selecting article text at sfgate.com results in spurious back/forward entries
3208
3209         If an iframe had a form and that form is submitted by javascript, IE and Opera don't add back/forward entries.
3210         
3211         In the case where the frame was added dynamically via createElement(), Firefox would like to add a back entry
3212         but has a bug that prevents this.
3213
3214         Therefore by a bizarre coincidence, WebKit is the loner and the only engine affected by sfgate.com's technique.
3215
3216         This patch changes us to willfully match IE and Opera and fixes sfgate.com in the process.
3217
3218         Tests: http/tests/navigation/dynamic-iframe-dynamic-form-back-entry.html
3219                http/tests/navigation/parsed-iframe-dynamic-form-back-entry.html
3220
3221         Capture whether the form was submitted by javascript:
3222         * loader/FormState.cpp:
3223         (WebCore::FormState::FormState):
3224         (WebCore::FormState::create):
3225         * loader/FormState.h:
3226         (WebCore::FormState::formSubmissionTrigger):
3227
3228         When deciding the value of the lockBackForwardList variable, take formSubmissionTrigger() into account:
3229         * loader/RedirectScheduler.cpp:
3230         (WebCore::RedirectScheduler::scheduleFormSubmission):
3231
3232         Rearrange the public HTMLFormElement::submit() method to be called only from DOM or JS bindings,
3233         and figure out the rest of the parameters for an internal submit() call including the formSubmissionTrigger:
3234         * bindings/js/JSHTMLFormElementCustom.cpp:
3235         (WebCore::JSHTMLFormElement::submit):
3236         * html/HTMLFormElement.cpp:
3237         (WebCore::HTMLFormElement::prepareSubmit):
3238         (WebCore::HTMLFormElement::submit):
3239         * html/HTMLFormElement.h:
3240
3241 2009-12-11  Alexey Proskuryakov  <ap@apple.com>
3242
3243         Reviewed by Darin Adler.
3244
3245         https://bugs.webkit.org/show_bug.cgi?id=32445
3246         REGRESSION: http://www.mcafee.com/japan/ displays unstyled
3247
3248         * css/CSSImportRule.cpp:
3249         (WebCore::CSSImportRule::setCSSStyleSheet):
3250         * html/HTMLLinkElement.cpp:
3251         (WebCore::HTMLLinkElement::setCSSStyleSheet):
3252         Add a quirk for mcafee.com/japan (http or https, with or without www).
3253
3254 2009-12-11  Sam Weinig  <sam@webkit.org>
3255
3256         Reviewed by Dan Bernstein.
3257
3258         Make PlatformWheelEvent.h private instead of project.
3259
3260         * WebCore.xcodeproj/project.pbxproj:
3261
3262 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
3263
3264         Reviewed by Darin Adler.
3265
3266         Support reflections on composited layers
3267         https://bugs.webkit.org/show_bug.cgi?id=31885
3268         
3269         First part of supporting composited reflections on compositing layers.
3270         
3271         Rename the m_transformLayer member variable to m_structuralLayer, since it
3272         will get used both for transform layers (for preserve-3d) and to hold a flattening
3273         layer related to reflections, both of which have similar requirements, and are
3274         mutually exclusive.
3275
3276         * platform/graphics/mac/GraphicsLayerCA.h:
3277         primaryLayer(), hostLayerForSublayers() and layerForSuperlayer() all now return
3278         a CALayer, since m_structuralLayer isn't always a WebLayer.
3279         
3280         * platform/graphics/mac/GraphicsLayerCA.mm:
3281         (WebCore::GraphicsLayerCA::commitLayerChanges):
3282         updateLayerPreserves3D() renamed to updateStructuralLayer()
3283         
3284         (WebCore::GraphicsLayerCA::updateLayerNames):
3285         New "update" method for updating layer names.
3286         
3287         (WebCore::GraphicsLayerCA::updateSublayerList):
3288         m_transformLayer -> m_structuralLayer. Also minor refactor to only
3289         allocate newSublayers in one place.
3290         
3291         (WebCore::GraphicsLayerCA::updateLayerSize):
3292         (WebCore::GraphicsLayerCA::removeAnimationFromLayer):
3293         (WebCore::GraphicsLayerCA::hostLayerForSublayers):
3294         (WebCore::GraphicsLayerCA::layerForSuperlayer):
3295         m_transformLayer -> m_structuralLayer
3296         
3297         (WebCore::GraphicsLayerCA::updateStructuralLayer):
3298         Call ensureStructuralLayer() which handles any deltas to the
3299         structural layer type.
3300         
3301         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
3302         Handle changes to the structural layer requirements
3303         
3304         (WebCore::GraphicsLayerCA::structuralLayerPurpose):
3305         Return an enum describing the purpose of the structural layer; for now
3306         this only returns NoStructuralLayer or StructuralLayerForPreserves3D, but
3307         will in future also have a value related to reflections.
3308
3309 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
3310
3311         Build fix for platforms where ACCELERATED_COMPOSITING is not defined.
3312
3313         * page/animation/KeyframeAnimation.cpp:
3314         (WebCore::KeyframeAnimation::pauseAnimation):
3315
3316 2009-12-11  Adam Roben  <aroben@apple.com>
3317
3318         Windows build fix
3319
3320         * platform/graphics/win/WKCACFLayerRenderer.cpp: Removed #include of
3321         non-existent header.
3322
3323 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
3324
3325         Build fix, no review.
3326
3327         Build fix for platforms where ACCELERATED_COMPOSITING is not defined.
3328
3329         * page/animation/KeyframeAnimation.cpp:
3330         (WebCore::KeyframeAnimation::startAnimation):
3331
3332 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
3333
3334         Build fix, no review.
3335
3336         Build fix for platforms where ACCELERATED_COMPOSITING is not defined.
3337
3338         * page/animation/ImplicitAnimation.cpp:
3339         (WebCore::ImplicitAnimation::startAnimation):
3340
3341 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
3342
3343         Reviewed by Darin Adler.
3344
3345         Negative values for animation-delay are ignored (treated as zero)
3346         https://bugs.webkit.org/show_bug.cgi?id=26150
3347         
3348         When we get the m_startTime for an animation or transition, subtract any negative
3349         delay so the animation/transition behaves like it started in the past, per spec.
3350
3351         Tests: animations/negative-delay.html
3352                transitions/negative-delay.html
3353
3354         * page/animation/AnimationBase.cpp:
3355         (WebCore::AnimationBase::updateStateMachine):
3356
3357 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
3358
3359         Reviewed by Dan Bernstein.
3360
3361         Accelerated transitions broken when mixed with paused animations
3362         https://bugs.webkit.org/show_bug.cgi?id=32387
3363
3364         Synchronization of a mixture of accelerated and software animations occurs via
3365         a callback from GraphicsLayerCA, which ends up in
3366         AnimationControllerPrivate::receivedStartTimeResponse(). The time passed in is
3367         the exact time at which the accelerated animations started, so is used as the
3368         start time for all animations and transitions which are marked as waiting.
3369
3370         The bug was that the callback called when re-starting animations that were
3371         paused sent back an old time value, but this was used to start normal
3372         transitions. Therefore the transition would start with a stale start time, and
3373         thus end prematurely.
3374
3375         The fix is to change the way that GraphicsLayerCA handles paused animations.
3376         Rather than setting the beginTime of the animation, it uses a beginTime of 0
3377         and a timeOffset that gets passed down. Thus the callbacks always come with
3378         beginTime for 'now'.
3379
3380         Also clarify the role of AnimationBase::endAnimation() by splitting it into
3381         pauseAnimation() and endAnimation(), and pass down timeOffsets, rather than
3382         beginTimes when starting and pausing.
3383
3384         Manual test only, because the bug requires a non-trivial combination of
3385         animation pausing and transitions which take time, and the bug only shows in
3386         pixel results.
3387         
3388         * manual-tests/animation/transitions-and-paused-animations.html
3389
3390         * page/animation/AnimationBase.cpp:
3391         (WebCore::AnimationBase::updateStateMachine):
3392         * page/animation/AnimationBase.h:
3393         (WebCore::AnimationBase::startAnimation):
3394         (WebCore::AnimationBase::pauseAnimation):
3395         (WebCore::AnimationBase::endAnimation):
3396         * page/animation/ImplicitAnimation.cpp:
3397         (WebCore::ImplicitAnimation::~ImplicitAnimation):
3398         (WebCore::ImplicitAnimation::startAnimation):
3399         (WebCore::ImplicitAnimation::endAnimation):
3400         (WebCore::ImplicitAnimation::onAnimationEnd):
3401         * page/animation/ImplicitAnimation.h:
3402         (WebCore::ImplicitAnimation::pauseAnimation):
3403         * page/animation/KeyframeAnimation.cpp:
3404         (WebCore::KeyframeAnimation::~KeyframeAnimation):
3405         (WebCore::KeyframeAnimation::startAnimation):
3406         (WebCore::KeyframeAnimation::pauseAnimation):
3407         (WebCore::KeyframeAnimation::endAnimation):
3408         (WebCore::KeyframeAnimation::onAnimationEnd):
3409         * page/animation/KeyframeAnimation.h:
3410         * platform/graphics/GraphicsLayer.h:
3411         (WebCore::GraphicsLayer::addAnimation):
3412         (WebCore::GraphicsLayer::pauseAnimation):
3413         * platform/graphics/mac/GraphicsLayerCA.h:
3414         (WebCore::GraphicsLayerCA::LayerAnimation::LayerAnimation):
3415         (WebCore::GraphicsLayerCA::AnimationProcessingAction::AnimationProcessingAction):
3416         * platform/graphics/mac/GraphicsLayerCA.mm:
3417         (WebCore::GraphicsLayerCA::addAnimation):
3418         (WebCore::GraphicsLayerCA::removeAnimationsForKeyframes):
3419         (WebCore::GraphicsLayerCA::pauseAnimation):
3420         (WebCore::GraphicsLayerCA::updateLayerAnimations):
3421         (WebCore::GraphicsLayerCA::setAnimationOnLayer):
3422         (WebCore::GraphicsLayerCA::pauseAnimationOnLayer):
3423         (WebCore::GraphicsLayerCA::createAnimationFromKeyframes):
3424         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
3425         * rendering/RenderLayerBacking.cpp:
3426         (WebCore::RenderLayerBacking::startAnimation):
3427         (WebCore::RenderLayerBacking::startTransition):
3428         (WebCore::RenderLayerBacking::animationPaused):
3429         * rendering/RenderLayerBacking.h:
3430
3431 2009-12-11  Brian Weinstein  <bweinstein@apple.com>
3432
3433         Reviewed by Darin Adler.
3434
3435         Fixes <http://webkit.org/b/32399>.
3436         Pan Scrolling Jumps out of frames if the initial location is in a frame that can't be scrolled.
3437         
3438         When we initially figure out the layer that we should begin scrolling, don't try to jump out
3439         of frames/iFrames to look at the owner document. We don't want to jump out of frames, so we
3440         don't need that logic anymore.
3441         
3442         Added a test to make sure that we don't pan scroll if we start to scroll in an empty
3443         iFrame that has a scrollable owner document.
3444
3445         Test: platform/win/fast/events/panScroll-no-iframe-jump.html
3446
3447         * dom/Node.cpp:
3448         (WebCore::Node::defaultEventHandler):
3449
3450 2009-12-11  Brian Weinstein  <bweinstein@apple.com>
3451
3452         Reviewed by Adam Roben.
3453
3454         Fixes <http://webkit.org/b/32303>.
3455         Middle-mouse button not firing mousedown DOM event when autoscroll happens.
3456         
3457         This fix moves the pan scrolling code into Node.cpp, as part of the default event handler.
3458         We get two wins out of this:
3459             1) Mousedown DOM events are now fired before pan scrolling.
3460             2) Calling event.preventDefault() on a middle mouse button will now prevent pan scrolling.
3461         
3462         Added tests to show that middle mousedown DOM events are fired when panscrolling happens, and
3463         that when event.preventDefault is called, pan scrolling doesn't happen.
3464
3465         Tests: platform/win/fast/events/panScroll-event-fired.html
3466                platform/win/fast/events/panScroll-preventDefault.html
3467
3468         * dom/Node.cpp:
3469         (WebCore::Node::defaultEventHandler): Moved pan scrolling starting code to here.
3470         * page/EventHandler.cpp:
3471         (WebCore::EventHandler::startPanScrolling): Function to initialize scrolling variables and start timer.
3472         (WebCore::EventHandler::handleMousePressEvent): From here.
3473         * page/EventHandler.h:
3474
3475 2009-12-11  Chris Marrin  <cmarrin@apple.com>
3476
3477         Reviewed by Adam Roben.
3478
3479         Delay load DLLs for accelerated compositing
3480         https://bugs.webkit.org/show_bug.cgi?id=31856
3481         
3482         Change calls that use the data export symbols from
3483         QuartzCore to use the functions in QuartzCoreInterface.
3484         This allows QuartzCore to be delay loaded.
3485
3486         * platform/graphics/win/GraphicsLayerCACF.cpp:
3487         (WebCore::GraphicsLayerCACF::GraphicsLayerCACF):
3488         (WebCore::GraphicsLayerCACF::updateLayerPreserves3D):
3489         (WebCore::GraphicsLayerCACF::updateContentsImage):
3490         * platform/graphics/win/WKCACFLayer.cpp:
3491         (WebCore::toCACFLayerType):
3492         (WebCore::toCACFContentsGravityType):
3493         (WebCore::fromCACFContentsGravityType):
3494         (WebCore::toCACFFilterType):
3495         (WebCore::fromCACFFilterType):
3496         (WebCore::WKCACFLayer::create):
3497         (WebCore::WKCACFLayer::WKCACFLayer):
3498         (WebCore::WKCACFLayer::setContentsGravity):
3499         (WebCore::WKCACFLayer::contentsGravity):
3500         (WebCore::WKCACFLayer::setMagnificationFilter):
3501         (WebCore::WKCACFLayer::magnificationFilter):
3502         (WebCore::WKCACFLayer::setMinificationFilter):
3503         (WebCore::WKCACFLayer::minificationFilter):
3504         * platform/graphics/win/WKCACFLayer.h:
3505         (WebCore::WKCACFLayer::):
3506         * platform/graphics/win/WKCACFLayerRenderer.cpp:
3507         (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
3508         (WebCore::WKCACFLayerRenderer::createRenderer):
3509
3510 2009-12-11  Steve Block  <steveblock@google.com>
3511
3512         Reviewed by Darin Fisher.
3513
3514         Adds an Android-specific implementation of initializeMaximumHTTPConnectionCountPerHost.
3515         https://bugs.webkit.org/show_bug.cgi?id=31810
3516
3517         * platform/network/ResourceRequestBase.cpp: Modified. Disable default implementation
3518             of initializeMaximumHTTPConnectionCountPerHost for Android.
3519         * platform/network/android: Added.
3520         * platform/network/android/ResourceRequestAndroid.cpp: Added.
3521         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Android-specific implementation.
3522
3523 2009-12-11  Kent Tamura  <tkent@chromium.org>
3524
3525         Reviewed by Darin Fisher.
3526
3527         Add acceptTypes() method to FileChooser.
3528         https://bugs.webkit.org/show_bug.cgi?id=32429
3529
3530         This method returns an 'accept' attribute value of the
3531         corresponding INPUT element. A ChromeClient::runOpenPanel()
3532         implementation can refer it through a FileChooser instance to
3533         support type-restricted file selecting.
3534
3535         This makes no user-visible changes for now.
3536
3537         * platform/FileChooser.h:
3538         (WebCore::FileChooser::acceptTypes):
3539         * rendering/RenderFileUploadControl.cpp:
3540         (WebCore::RenderFileUploadControl::acceptTypes):
3541         * rendering/RenderFileUploadControl.h:
3542
3543 2009-12-11  Victor Wang  <victorw@chromium.org>
3544
3545         Reviewed by Darin Fisher.
3546
3547         Changed PopupMenuChromium to keep the value selected from
3548         keyboard when popup is closed.
3549
3550         The problem is Chromium does not fire the onchange event
3551         when the popup is closed if an item is selected via
3552         keyboard by typing the first char of the item. This makes
3553         chromium popup not having consistent behaviours and also
3554         behaves differently from other major browsers.
3555         Calling popup->hide() instead of popup->hidePopup() in
3556         PopupMenu fixes the issues as it does extra step to check
3557         whethere there is a keyboard selection changed when closing
3558         the popup.
3559
3560         https://bugs.webkit.org/show_bug.cgi?id=32403
3561     
3562         TEST: add a manual test as the current layout test shell
3563         does not support sending keyboard events to popup list.
3564
3565         * manual-tests/chromium/select-close-popup-value-change.html: Added.
3566         * platform/chromium/PopupMenuChromium.cpp:
3567         (WebCore::PopupMenu::hide):
3568
3569 2009-12-11  anton muhin  <antonm@chromium.org>
3570
3571         Reviewed by Adam Barth.
3572
3573         [v8] refactor WeakReferenceMap.
3574         Move common bits of functionality to reduce duplication.
3575
3576         https://bugs.webkit.org/show_bug.cgi?id=32389
3577
3578         Should be covered by buildbots.
3579
3580         * bindings/v8/DOMData.h:
3581         (WebCore::DOMData::WrapperMapObjectRemover::visitDOMWrapper):
3582         (WebCore::DOMData::handleWeakObject):
3583         (WebCore::DOMData::removeObjectsFromWrapperMap):
3584         * bindings/v8/DOMDataStore.cpp:
3585         (WebCore::DOMDataStore::weakDOMObjectCallback):
3586         (WebCore::DOMDataStore::weakActiveDOMObjectCallback):
3587         (WebCore::DOMDataStore::weakNodeCallback):
3588         (WebCore::DOMDataStore::weakSVGElementInstanceCallback):
3589         (WebCore::DOMDataStore::weakSVGObjectWithContextCallback):
3590         * bindings/v8/DOMDataStore.h:
3591         * bindings/v8/V8DOMMap.cpp:
3592         (WebCore::visitDOMNodesInCurrentThread):
3593         (WebCore::visitDOMObjectsInCurrentThread):
3594         (WebCore::visitActiveDOMObjectsInCurrentThread):
3595         (WebCore::visitDOMSVGElementInstancesInCurrentThread):
3596         (WebCore::visitSVGObjectsInCurrentThread):
3597         * bindings/v8/V8DOMMap.h:
3598         (WebCore::WeakReferenceMap::removeIfPresent):
3599         (WebCore::WeakReferenceMap::clear):
3600         (WebCore::WeakReferenceMap::visit):
3601
3602 2009-12-11  anton muhin  <antonm@chromium.org>
3603         Reviewed by Adam Barth.
3604
3605         [v8] in Debug builds create an additional handle scope
3606         when doing debug build checks.
3607         https://bugs.webkit.org/show_bug.cgi?id=32335
3608
3609         Should be covered by buildbots.
3610
3611         * bindings/v8/V8DOMWrapper.h:
3612         (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
3613         (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
3614
3615 2009-12-11  Pavel Feldman  <pfeldman@chromium.org>
3616
3617         Reviewed by Timothy Hatcher.
3618
3619         Web Inspector: Do not use ContextMenuItem as value type in custom
3620         context menu implementation.
3621
3622         https://bugs.webkit.org/show_bug.cgi?id=32411
3623
3624         * GNUmakefile.am:
3625         * WebCore.gypi:
3626         * WebCore.pro:
3627         * WebCore.vcproj/WebCore.vcproj:
3628         * WebCore.xcodeproj/project.pbxproj: