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