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