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