2009-06-29 Xan Lopez <xlopez@igalia.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2009-06-29  Xan Lopez  <xlopez@igalia.com>
2
3         Reviewed by Jan Alonzo.
4
5         Remove unused function.
6
7         * plugins/gtk/PluginPackageGtk.cpp:
8
9 2009-06-29  Simon Fraser  <simon.fraser@apple.com>
10
11         Reviewed by Dan Bernstein.
12
13         Change RenderLayer::updateLayerPositions() to use a bitmask instead of two
14         boolean arguments. FullUpdate is unused at present, but will be used soon.
15
16         * page/FrameView.cpp:
17         (WebCore::FrameView::layout):
18         * rendering/RenderLayer.cpp:
19         (WebCore::RenderLayer::updateLayerPositions):
20         (WebCore::RenderLayer::scrollToOffset):
21         * rendering/RenderLayer.h:
22         (WebCore::RenderLayer::):
23
24 2009-06-29  Nate Chapin  <japhet@chromium.org>
25
26         Reviewed by Dimitri Glazkov.
27
28         Fix one more bad merge in V8Proxy.
29
30         https://bugs.webkit.org/show_bug.cgi?id=26819
31
32         * bindings/v8/V8Proxy.cpp:
33         (WebCore::V8Proxy::setDOMException): setDOMExceptionHelper() instead of convertToV8Object().
34
35 2009-06-29  Sam Weinig  <sam@webkit.org>
36
37         Reviewed by Mark Rowe.
38
39         Remove more unused scons support.
40
41         * SConstruct: Removed.
42
43 2009-06-29  Sam Weinig  <sam@webkit.org>
44
45         Reviewed by Dave Hyatt.
46
47         Fix some incorrect create functions.
48
49         * html/DataGridColumn.h:
50         (WebCore::DataGridColumn::create):
51         * html/DataGridColumnList.h:
52         (WebCore::DataGridColumnList::create):
53
54 2009-06-29  Sam Weinig  <sam@webkit.org>
55
56         Reviewed by Dave Hyatt.
57
58         Remove initialize method from DataGridDataSource and add
59         DOMDataGridDataSource.
60
61         * GNUmakefile.am:
62         * WebCore.pro:
63         * WebCore.vcproj/WebCore.vcproj:
64         * WebCore.xcodeproj/project.pbxproj:
65         * WebCoreSources.bkl:
66         * bindings/js/JSDataGridDataSource.cpp:
67         * bindings/js/JSDataGridDataSource.h:
68         * bindings/js/JSHTMLDataGridElementCustom.cpp:
69         (WebCore::JSHTMLDataGridElement::setDataSource):
70         * html/DOMDataGridDataSource.cpp: Added.
71         (WebCore::DOMDataGridDataSource::DOMDataGridDataSource):
72         (WebCore::DOMDataGridDataSource::~DOMDataGridDataSource):
73         * html/DOMDataGridDataSource.h: Added.
74         (WebCore::DOMDataGridDataSource::create):
75         (WebCore::DOMDataGridDataSource::isDOMDataGridDataSource):
76         (WebCore::asDOMDataGridDataSource):
77         * html/DataGridDataSource.h:
78         (WebCore::DataGridDataSource::isDOMDataGridDataSource):
79         (WebCore::DataGridDataSource::isJSDataGridDataSource):
80         * html/HTMLDataGridElement.cpp:
81         (WebCore::HTMLDataGridElement::HTMLDataGridElement):
82         (WebCore::HTMLDataGridElement::setDataSource):
83         (WebCore::HTMLDataGridElement::dataSource):
84         * html/HTMLDataGridElement.h:
85
86 2009-06-29  Nate Chapin  <japhet@chromium.org>
87
88         Reviewed by Dimitri Glazkov.
89
90         Fix a couple of bad merge items from my previous V8Proxy patch.
91
92         https://bugs.webkit.org/show_bug.cgi?id=26813
93
94         * bindings/v8/V8Collection.h:
95         (WebCore::nodeCollectionNamedPropertyGetter):  Fix a bad function name that slipped through.
96         * bindings/v8/V8Proxy.cpp:
97         (WebCore::V8Proxy::setDOMException):  Fix a bad merge that caused a couple of lines of extraneous, breaking code to get in.
98
99 2009-06-29  Chris Marrin  <cmarrin@apple.com>
100
101         Reviewed by Simon Fraser  <simon.fraser@apple.com>.
102
103         https://bugs.webkit.org/show_bug.cgi?id=26706
104
105         Fixed crash due to dereference of m_toStyle
106
107         * page/animation/ImplicitAnimation.cpp:
108         (WebCore::ImplicitAnimation::isTargetPropertyEqual):
109
110 2009-06-29  Eric Carlson  <eric.carlson@apple.com>
111
112         Reviewed by Simon Fraser.
113
114         <rdar://problem/7014813> Ask media engine if a movie is streamed or downloaded.
115
116         * WebCore.base.exp: 
117             Export _wkQTMovieGetType
118
119         * platform/graphics/MediaPlayer.cpp:
120         (WebCore::MediaPlayer::hasSingleSecurityOrigin):
121             Move to keep with other non-callback functions.
122         (WebCore::MediaPlayer::movieLoadType):
123             New, returns the movie type.
124         * platform/graphics/MediaPlayer.h:
125             Declare MovieLoadType enum and movieLoadType method.
126
127         * platform/graphics/MediaPlayerPrivate.h:
128         (WebCore::MediaPlayerPrivateInterface::movieLoadType):
129             Default implementation of movieLoadType
130
131         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
132         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
133         (WebCore::MediaPlayerPrivate::createQTMovie):
134             Don't base m_isStreaming on protocol, there are other types of streaming movies.
135         (WebCore::MediaPlayerPrivate::maxTimeBuffered):
136             Don't assume all streams are unbuffered.
137         (WebCore::MediaPlayerPrivate::updateStates):
138             Update m_isStreaming once we have metadata.
139         (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
140             Tracks that are disabled to begin with shouldn't be included in m_enabledTrackCount.
141         (WebCore::MediaPlayerPrivate::movieLoadType):
142             New, return movie type.
143
144         * platform/mac/WebCoreSystemInterface.h:
145         * platform/mac/WebCoreSystemInterface.mm:
146             Add wkQTMovieGetType.
147
148 2009-06-29  Alice Liu  <alice.liu@apple.com>
149
150         Fixed <rdar://problem/6930280> Reproducible crash at USA Today photo gallery
151
152         Reviewed by Anders Carlsson.
153
154         No test added because the crash requires a flash plugin
155
156         * plugins/win/PluginMessageThrottlerWin.cpp:
157         Rely on the hWnd of the plugin to tell us whether the PluginView has 
158         been deleted during execution of its wndProc.
159         (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
160
161 2009-06-29  Dmitry Titov  <dimich@chromium.org>
162
163         Reviewed by David Levin.
164
165         https://bugs.webkit.org/show_bug.cgi?id=26811
166          [Chromium] Remove a flag and functions used to enable workers in runtime.
167
168         * bindings/v8/WorkerContextExecutionProxy.cpp:
169         * bindings/v8/WorkerContextExecutionProxy.h:
170
171 2009-06-29  Simon Fraser  <simon.fraser@apple.com>
172
173         Reviewed by Dave Hyatt.
174         
175         <rdar://problem/6976712> Text antialiasing problems when rendering into compositing layers.
176         
177         Improve the appearance of text in compositing layers by making use of
178         CA's layer geometry flipping, rather that doing it ourselves with a flip
179         transform. This allows CG to use font autohinting in the layer text.
180
181         * platform/graphics/GraphicsLayer.h:
182         (WebCore::GraphicsLayer::setGeometryOrientation):
183         (WebCore::GraphicsLayer::geometryOrientation):
184         New methods to set whether this layer uses flipped geometry.
185         
186         * platform/graphics/mac/GraphicsLayerCA.h:
187         * platform/graphics/mac/GraphicsLayerCA.mm:
188         (WebCore::GraphicsLayerCA::setGeometryOrientation):
189         (WebCore::GraphicsLayerCA::geometryOrientation):
190         Subclass in order to call into CA
191         
192         (WebCore::GraphicsLayerCA::setContentsLayer):
193         Now that CA is doing the geometry flipping, we no longer need to flip the content
194         layers for image and video manually
195         
196         * rendering/RenderLayerCompositor.cpp:
197         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
198         Turn on flipping on the root layer.
199
200 2009-06-29  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
201
202         Reviewed by Adam Treat.
203
204         Fixes: https://bugs.webkit.org/show_bug.cgi?id=26246
205
206         Implement most WML specific <select> element features.
207         Add 'iname' / 'ivalue' support and support variable references.
208
209         Add two tests covering most select/variable related functionality.
210         Needs more tests when adding full 'iname' / 'ivalue' support (used in conjuction with onpick).
211
212         Tests: http/tests/wml/post-data-to-server.html
213                wml/select-element-variables.html
214
215         * dom/SelectElement.cpp:
216         (WebCore::SelectElement::optionCount): Refactored from HTMLSelectElement::length() for use within HTML & WML.
217         * dom/SelectElement.h:
218         * html/HTMLSelectElement.cpp:
219         (WebCore::HTMLSelectElement::length): Use new SelectElement::optionCount() function. (no functional changes for HTML).
220         * wml/WMLCardElement.cpp:
221         (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): Activated commented code taking care of WMLSelectElement initialization.
222         * wml/WMLSelectElement.cpp: Add a bunch of new code handling WML specific feature processing.
223         (WebCore::WMLSelectElement::title):
224         (WebCore::WMLSelectElement::formControlName):
225         (WebCore::WMLSelectElement::defaultEventHandler):
226         (WebCore::WMLSelectElement::selectInitialOptions):
227         (WebCore::WMLSelectElement::calculateDefaultOptionIndices):
228         (WebCore::WMLSelectElement::selectDefaultOptions):
229         (WebCore::WMLSelectElement::initializeVariables):
230         (WebCore::WMLSelectElement::updateVariables):
231         (WebCore::WMLSelectElement::parseIndexValueString):
232         (WebCore::WMLSelectElement::valueStringToOptionIndices):
233         (WebCore::WMLSelectElement::optionIndicesToValueString):
234         (WebCore::WMLSelectElement::optionIndicesToString):
235         (WebCore::WMLSelectElement::name):
236         (WebCore::WMLSelectElement::value):
237         (WebCore::WMLSelectElement::iname):
238         (WebCore::WMLSelectElement::ivalue):
239         * wml/WMLSelectElement.h:
240
241 2009-06-29  David Hyatt  <hyatt@apple.com>
242
243         Reviewed by Adam Roben.
244
245         Put <datagrid> behind an ifdef.
246
247         * Configurations/FeatureDefines.xcconfig:
248         * bindings/js/JSDataGridColumnListCustom.cpp:
249         * bindings/js/JSDataGridDataSource.cpp:
250         * bindings/js/JSDataGridDataSource.h:
251         * bindings/js/JSHTMLDataGridElementCustom.cpp:
252         * html/DataGridColumn.cpp:
253         * html/DataGridColumn.h:
254         * html/DataGridColumn.idl:
255         * html/DataGridColumnList.cpp:
256         * html/DataGridColumnList.h:
257         * html/DataGridColumnList.idl:
258         * html/DataGridDataSource.h:
259         * html/HTMLDataGridCellElement.cpp:
260         * html/HTMLDataGridCellElement.h:
261         * html/HTMLDataGridCellElement.idl:
262         * html/HTMLDataGridColElement.cpp:
263         * html/HTMLDataGridColElement.h:
264         * html/HTMLDataGridColElement.idl:
265         * html/HTMLDataGridElement.cpp:
266         * html/HTMLDataGridElement.h:
267         * html/HTMLDataGridElement.idl:
268         * html/HTMLDataGridRowElement.cpp:
269         * html/HTMLDataGridRowElement.h:
270         * html/HTMLDataGridRowElement.idl:
271         * html/HTMLTagNames.in:
272         * page/DOMWindow.idl:
273         * rendering/RenderDataGrid.cpp:
274         * rendering/RenderDataGrid.h:
275
276 2009-06-29  Simon Hausmann  <simon.hausmann@nokia.com>
277
278         Reviewed by Ariya Hidayat and Adam Roben.
279
280         Fix compilation with MINGW. Ported MSVC inline assembly to
281         GNU inline assembly. Also fixed casting errors where gcc
282         refused to cast a pointer-to-function to a pointer-to-object,
283         without an intermediate cast to a non-pointer type.
284
285         * plugins/win/PluginViewWin.cpp:
286         (WebCore::PluginView::hookedBeginPaint):
287         (WebCore::PluginView::hookedEndPaint):
288         (WebCore::hook):
289         (WebCore::setUpOffscreenPaintingHooks):
290
291 2009-06-26  John Sullivan  <sullivan@apple.com>
292
293         Added Speech submenu to context menu on Mac when there's a non-editable selection
294         (it was already present when there's an editable selection). 
295         Also added support for disabling "Stop Speaking" when there is no speaking to stop.
296
297         Reviewed by Tim Hatcher.
298
299         * loader/EmptyClients.h:
300         (WebCore::EmptyContextMenuClient::isSpeaking):
301         implemented this new virtual function to return false
302         
303         * page/ContextMenuClient.h:
304         declared this new pure virtual function
305         
306         * platform/ContextMenu.cpp:
307         (WebCore::ContextMenu::populate):
308         insert Speech item (after a separator) on Mac when there's selected non-editable text
309         (WebCore::ContextMenu::checkOrEnableIfNeeded):
310         enable Stop Speaking item only if the context menu client returns true for isSpeaking()
311
312 2009-06-28  Dan Bernstein  <mitz@apple.com>
313
314         Reviewed by Simon Fraser.
315
316         - fix https://bugs.webkit.org/show_bug.cgi?id=26783
317           <rdar://problem/7014543> REGRESSION (r45296): Subfolders not displayed
318           in MobileMe iDisk Web App
319
320         Test: added a case to fast/dom/Element/scrollWidth.html
321
322         Ensure that scroll{Width, Height} is greater or equal to
323         client{Width, Height}.
324
325         * rendering/RenderBox.cpp:
326         (WebCore::RenderBox::scrollWidth):
327         (WebCore::RenderBox::scrollHeight):
328
329 2009-06-27  Simon Fraser  <simon.fraser@apple.com>
330
331         Reviewed by Eric Seidel.
332
333         https://bugs.webkit.org/show_bug.cgi?id=26780
334         
335         Do not make compositing layers for non-self-painting RenderLayers,
336         since these exist only to push a clip onto the clipping stack. If such
337         a layer gets compositied for some other reason, it should not paint.
338         
339         Also ensure that we update composited layer positions correctly
340         inside overflow:scroll layers. We can't assume that the contents
341         are child layers, so we have to go up to the compositing ancestor,
342         and tell it to update all its child layer positions as we do 
343         after layout.
344
345         Tests: compositing/layers-inside-overflow-scroll.html
346                compositing/self-painting-layers.html
347
348         * rendering/RenderLayer.cpp:
349         (WebCore::RenderLayer::scrollToOffset):
350         * rendering/RenderLayerBacking.cpp:
351         (WebCore::RenderLayerBacking::paintIntoLayer):
352         * rendering/RenderLayerCompositor.cpp:
353         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
354         (WebCore::RenderLayerCompositor::needsToBeComposited):
355
356 2009-06-28  Luke Kenneth Casson Leighton  <lkcl@lkcl.net>
357
358         Reviewed by Eric Seidel.
359
360         PurgeableBuffer #defines leave out functions on gtk MacOSX 10.4 build
361         https://bugs.webkit.org/show_bug.cgi?id=23057
362
363         Define these functions for Gtk as well.
364
365         * platform/PurgeableBuffer.h:
366
367 2009-06-28  Nate Chapin  <japhet@chromium.org>
368
369         Reviewed by Dimitri Glazkov.
370
371         Update CodeGeneratorV8.pm to match the new api for V8Proxy.
372
373         https://bugs.webkit.org/show_bug.cgi?id=26765
374
375         * bindings/scripts/CodeGeneratorV8.pm: Match the current version of V8Proxy.
376
377 2009-06-28  Nicolas Sylvain  <nsylvain@chromium.org>
378
379         Reviewed by Dimitri Glazkov.
380
381         If loading a font fails because of the sandbox, we ask the browser process to 
382         try to load it by calling ensureFontLoaded. If it still fails after 
383         ensureFontLoaded, we hit a ASSERT_NOT_REACHED. 
384
385         This case happens once in a while during browser shutdown. The browser will 
386         queue a message to the renderer to shutdown, and will then stop answering sync 
387         messages from the renderer. If the renderer is still loading a page during this 
388         time, it might try to call the browser process to ask to load a font. The 
389         browser process will ignore the request, and the font will fail to load, even 
390         after the second try. 
391
392         This is unfortunate, but there is no real risk here, since the renderer will be 
393         going away as soon as it processes another message. 
394
395         This can't be layout tested as it depends on the sandbox. 
396
397         https://bugs.webkit.org/show_bug.cgi?id=26743 
398
399         * platform/graphics/chromium/FontChromiumWin.cpp:
400         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
401         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
402         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
403
404 2009-06-28  John Abd-El-Malek  <jam@chromium.org>
405
406         Reviewed by Eric Seidel.
407
408         https://bugs.webkit.org/show_bug.cgi?id=15457
409
410         Test: plugins/netscape-plugin-map-data-to-src.html
411
412         Fix problems with Real or WMP plugins not displaying because "data" was set
413         on the OBJECT tag instead of "src".  This is based on what Firefox does, see
414         http://mxr.mozilla.org/mozilla-central/source/layout/generic/nsObjectFrame.cpp#3045
415
416         * rendering/RenderPartObject.cpp:
417         (WebCore::mapDataParamToSrc):
418         (WebCore::RenderPartObject::updateWidget):
419
420 2009-06-27  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
421
422         Reviewed by Jan Alonzo.
423
424         [Qt] Build fix after r45290
425         https://bugs.webkit.org/show_bug.cgi?id=26769
426
427         * WebCore.pro:
428
429 2009-06-27  Emilio Pozuelo Monfort  <pochu27@gmail.com>
430
431         Reviewed by Jan Alonzo.
432
433         [GTK] Don't use deprecated GTK+ symbols.
434         https://bugs.webkit.org/show_bug.cgi?id=26583
435
436         * plugins/gtk/gtk2xtbin.c:
437         (gtk_xtbin_class_init):
438         (gtk_xtbin_new):
439         (gtk_xtbin_destroy):
440
441 2009-06-27  Simon Fraser  <simon.fraser@apple.com>
442
443         Reviewed by Dan Bernstein.
444
445         https://bugs.webkit.org/show_bug.cgi?id=26780
446         
447         Fix up previous change. When computeCompositingRequirements() determines
448         that the current layer is composited, it needs to inform its parent
449         by setting compositingState.m_subtreeIsCompositing() to true. That didn't
450         always happen after the previous patch. Clarified the logic here.
451         
452         * rendering/RenderLayerCompositor.cpp:
453         (WebCore::CompositingState::CompositingState):
454         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
455
456 2009-06-27  Simon Fraser  <simon.fraser@apple.com>
457
458         Reviewed by Dan Bernstein.
459
460         https://bugs.webkit.org/show_bug.cgi?id=26780
461         
462         First part: fix the RenderLayer::hasCompositingDescendant() flag to be set
463         correctly.
464
465         * rendering/RenderLayerCompositor.cpp:
466         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
467         Do not unconditionally set compositingState.m_subtreeIsCompositing, because
468         that can clobber the value from an earlier sibling. Add some more comments.
469         
470         Remove a final use of Vector iterators.
471         
472         (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
473         Move the normalFlowList() processing outside the test for isStackingContext().
474
475 2009-06-27  Dan Bernstein  <mitz@apple.com>
476
477         Reviewed by Simon Fraser and Antti Koivisto.
478
479         - make paintFillLayerExtended() non-virtual and remove its clipY and
480           clipH parameters
481
482         These parameters were computed and passed along to
483         paintFillLayerExtended in order to vertically constrain the rect fill to
484         the damage rect, because Qt cannot paint tall rectangles (see
485         <http://websvn.kde.org/?view=rev&revision=42721>). Since the damage rect
486         is passed along in the PaintInfo, the extra parameters are redundant,
487         and the intersection can just take place in paintFillLayerExtended().
488
489         * rendering/InlineFlowBox.cpp:
490         (WebCore::InlineFlowBox::paintFillLayers):
491         (WebCore::InlineFlowBox::paintFillLayer):
492         (WebCore::InlineFlowBox::paintBoxDecorations):
493         (WebCore::InlineFlowBox::paintMask):
494         * rendering/InlineFlowBox.h:
495         * rendering/RenderBox.cpp:
496         (WebCore::RenderBox::paintRootBoxDecorations):
497         (WebCore::RenderBox::paintBoxDecorations):
498         (WebCore::RenderBox::paintMask):
499         (WebCore::RenderBox::paintMaskImages):
500         (WebCore::RenderBox::paintFillLayers):
501         (WebCore::RenderBox::paintFillLayer):
502         * rendering/RenderBox.h:
503         * rendering/RenderBoxModelObject.cpp:
504         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
505         * rendering/RenderBoxModelObject.h:
506         * rendering/RenderFieldset.cpp:
507         (WebCore::RenderFieldset::paintBoxDecorations):
508         (WebCore::RenderFieldset::paintMask):
509         * rendering/RenderTable.cpp:
510         (WebCore::RenderTable::paintBoxDecorations):
511         (WebCore::RenderTable::paintMask):
512         * rendering/RenderTableCell.cpp:
513         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
514         (WebCore::RenderTableCell::paintMask):
515
516 2009-06-27  Ryosuke Niwa  <rniwa@google.com>
517
518         Reviewed by Eric Seidel.
519
520         https://bugs.webkit.org/show_bug.cgi?id=26762
521
522         Clean up for IndentOutdentCommand::indentRegion, and solved most of problems related to the bug 21712.
523         https://bugs.webkit.org/show_bug.cgi?id=21712
524
525         Added few utility functions to htmlediting.h/cpp
526
527         isVisibilyAdjacent checks whether the first position is visibly next to the second position.
528         i.e. there is no visible node between the first and second positions
529
530         canMergeLists checks whether two lists can be merged.
531         It checks the type of list, the editing boundary, and adjacency of the lists.
532
533         Tests: editing/execCommand/indent-nested-lists-1.html
534                editing/execCommand/indent-nested-lists-2.html
535                editing/execCommand/indent-nested-lists-3.html
536                editing/execCommand/indent-nested-lists-4.html
537                editing/execCommand/indent-nested-lists-5.html
538                editing/execCommand/indent-nested-lists-6.html
539                editing/execCommand/indent-nested-lists-7.html
540                editing/execCommand/outdent-nested-lists-1.html
541                editing/execCommand/outdent-nested-lists-2.html
542                editing/execCommand/outdent-nested-lists-3.html
543                editing/execCommand/outdent-nested-lists-4.html
544
545         * editing/IndentOutdentCommand.cpp:
546         (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion):
547         (WebCore::IndentOutdentCommand::tryIndentingAsListItem):
548         (WebCore::IndentOutdentCommand::indentIntoBlockquote):
549         (WebCore::IndentOutdentCommand::indentRegion):
550         * editing/IndentOutdentCommand.h:
551         * editing/htmlediting.cpp:
552         (WebCore::enclosingListChild):
553         (WebCore::canMergeLists):
554         (WebCore::isVisibilyAdjacent):
555         * editing/htmlediting.h:
556
557 2009-06-27  Pavel Feldman  <pfeldman@chromium.org>
558
559         Reviewed by Timothy Hatcher.
560
561         WebInspector: Fix completion when iterating options using Tab.
562
563         https://bugs.webkit.org/show_bug.cgi?id=26722
564
565         * inspector/front-end/TextPrompt.js:
566         (WebInspector.TextPrompt.prototype._completionsReady):
567
568 2009-06-27  Gustavo Noronha Silva  <gns@gnome.org>
569
570         Reviewed by Holger Freyther.
571
572         https://bugs.webkit.org/show_bug.cgi?id=25889
573         [GTK] scrollbar policy for main frame is not implementable
574
575         Override visibleContentRect to handle GTK+'s case, in which
576         scrollbars or equivalent decoration are painted by the parent
577         widget.
578
579         * platform/ScrollView.cpp:
580         * platform/gtk/ScrollViewGtk.cpp:
581         (WebCore::ScrollView::visibleContentRect):
582
583 2009-06-27  Daniel Bates  <dbates@intudata.com>
584
585         Reviewed by Adam Barth.
586
587         https://bugs.webkit.org/show_bug.cgi?id=26708
588         
589         Fix addresses false negatives with respect to scheme relative paths, iFrame JavaScript URLs,
590         and UTF-7 encoded payloads.   
591
592         Tests: http/tests/security/xssAuditor/http-equiv-utf-7-encoded.html
593                http/tests/security/xssAuditor/iframe-javascript-url.html
594                http/tests/security/xssAuditor/script-tag-utf-7-encoded.html
595                http/tests/security/xssAuditor/script-tag-with-source-relative-scheme.html
596
597         * html/HTMLTokenizer.cpp:
598         (WebCore::HTMLTokenizer::scriptHandler): Moved XSSAuditor check to HTMLTokenizer::parseTag.
599         (WebCore::HTMLTokenizer::parseTag):
600         * loader/FrameLoader.cpp:
601         (WebCore::FrameLoader::loadSubframe): Modified to inform XSSAuditor of parent frame so
602         as to compare against iFrame javascript URL.
603         * page/XSSAuditor.cpp: Removed method XSSAuditor::isControlCharacter. Instead, exposed method
604         isControlCharacter in ResourceResponseBase.cpp.
605         (WebCore::XSSAuditor::XSSAuditor):
606         (WebCore::XSSAuditor::decodeURL): Modified to decode string using specified encoder.
607         (WebCore::XSSAuditor::findInRequest): Generalized to arbitrary frame so as to prevent execution
608         of iFrame javascript URL.
609         * page/XSSAuditor.h: Added field m_parentFrame.
610         * platform/network/ResourceResponseBase.cpp:
611         (WebCore::isControlCharacter):
612         * platform/network/ResourceResponseBase.h:
613
614 2009-06-27  Oliver Hunt  <oliver@apple.com>
615
616         Reviewed by Maciej Stachowiak.
617
618         Bug 26771: Canvas is incorrectly tainted when drawing from a video element that uses <source> elements
619
620         The drawImage(<video>) logic naively assumes that it just needs
621         to check the src attribute of the video element when in fact it
622         needs to look at the url that is being played instead.  Failure
623         to do this means that video provided through source elements 
624         taints the canvas.
625
626         Test: media/video-canvas-source.html
627
628         * html/CanvasRenderingContext2D.cpp:
629         (WebCore::CanvasRenderingContext2D::checkOrigin):
630         (WebCore::CanvasRenderingContext2D::drawImage):
631         * html/CanvasRenderingContext2D.h:
632
633 2009-06-26  Brian Weinstein  <bweinstein@apple.com>
634
635         Reviewed by Simon Fraser.
636
637         https://bugs.webkit.org/show_bug.cgi?id=26695
638         
639         Added the ability to do scrollbar hit testing in EventHandler, changed the
640         signature of a PlatformWheelEvent constructor, and changed scrollbarUnderMouse
641         to scrollbarUnderPoint, and updated all calls to that function.        
642
643         * page/EventHandler.cpp:
644         (WebCore::EventHandler::hitTestResultAtPoint):
645         (WebCore::EventHandler::handleMousePressEvent):
646         (WebCore::EventHandler::handleMouseMoveEvent):
647         * page/EventHandler.h:
648         (WebCore::):
649         * platform/PlatformWheelEvent.h:
650         * platform/ScrollView.cpp:
651         (WebCore::ScrollView::scrollbarUnderPoint):
652         * platform/ScrollView.h:
653         * platform/chromium/PopupMenuChromium.cpp:
654         (WebCore::PopupListBox::handleMouseDownEvent):
655         (WebCore::PopupListBox::handleMouseMoveEvent):
656         * platform/win/WheelEventWin.cpp:
657         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
658
659
660 2009-06-26  Simon Fraser  <simon.fraser@apple.com>
661
662         Reviewed by Dan Bernstein.
663
664         <rdar://problem/7011924> Opacity transitions should not trigger hardware compositing mode
665         
666         Don't go into compositing mode just for opacity transitions, but they will be
667         hardware acclerated if we're already compositing.
668
669         * rendering/RenderLayerCompositor.cpp:
670         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
671         (WebCore::RenderLayerCompositor::requiresCompositingForTransform):
672         (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
673         * rendering/RenderLayerCompositor.h:
674
675 2009-06-26  Simon Fraser  <simon.fraser@apple.com>
676
677         Rubber-stamped by Dave Levin
678
679         Rename ioCompState to compositingState to better match WebCore coding style.
680         
681         * rendering/RenderLayerCompositor.cpp:
682         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
683         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
684
685 2009-06-26  Dan Bernstein  <mitz@apple.com>
686
687         Reviewed by Mark Rowe.
688
689         - revert unintentional project changes from r45277
690
691         * WebCore.xcodeproj/project.pbxproj:
692
693 2009-06-26  Mark Rowe  <mrowe@apple.com>
694
695         Fix the Windows build.
696
697         * WebCore.vcproj/WebCore.vcproj: Remove ColorSafari.cpp as
698         the file was deleted from SVN.
699
700 2009-06-26  Simon Fraser  <simon.fraser@apple.com>
701
702         Reviewed by Dan Bernstein.
703
704         https://bugs.webkit.org/show_bug.cgi?id=26766
705
706         Change to use array indexing rather than Vector enumerators; the former
707         are preferred style.
708
709         * rendering/RenderLayerBacking.cpp:
710         (WebCore::RenderLayerBacking::hasNonCompositingContent):
711         * rendering/RenderLayerCompositor.cpp:
712         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
713         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
714         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
715         (WebCore::RenderLayerCompositor::updateCompositingChildrenGeometry):
716         (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
717         (WebCore::RenderLayerCompositor::layerHas3DContent):
718
719 2009-06-26  Dan Bernstein  <mitz@apple.com>
720
721         Reviewed by Oliver Hunt.
722
723         - fix <rdar://problem/6961476> REGRESSION (r42043): scrollWidth reported
724           as 1 px
725
726         Test: fast/dom/Element/scrollWidth.html
727
728         Changed scrollWidth and scrollHeight to use the same logic for
729         visible overflow boxes that is used for clipped overflow boxes. In
730         particular, borders are not included and
731         {leftmost,rightmost,lowest}Position() are used. This logic matches IE8.
732
733         * rendering/RenderBox.cpp:
734         (WebCore::RenderBox::scrollWidth):
735         (WebCore::RenderBox::scrollHeight):
736
737 2009-06-26  Chris Fleizach  <cfleizach@apple.com>
738
739         Reviewed by Oliver Hunt.
740
741         Bug 26725: aria-hidden, aria-disabled, aria-readonly need to be implemented
742         https://bugs.webkit.org/show_bug.cgi?id=26725
743
744         Tests: accessibility/aria-disabled.html
745                accessibility/aria-hidden.html
746                accessibility/aria-readonly.html
747
748         * accessibility/AccessibilityRenderObject.cpp:
749         (WebCore::AccessibilityRenderObject::ariaIsHidden):
750         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
751         (WebCore::AccessibilityRenderObject::isEnabled):
752         (WebCore::AccessibilityRenderObject::canSetValueAttribute):
753         * accessibility/AccessibilityRenderObject.h:
754         * html/HTMLAttributeNames.in:
755
756 2009-06-26  Brett Wilson  <brettw@chromium.org>
757
758         Reviewed by David Levin.
759
760         https://bugs.webkit.org/show_bug.cgi?id=26759
761
762         GIFImageDecoder is broken.
763
764         Make the GIFImageDecoder.repetitionCount function const to match the
765         base class. The mismatched definitions were causing the function to not
766         get called.
767
768         * platform/image-decoders/gif/GIFImageDecoder.cpp:
769         (WebCore::GIFImageDecoder::repetitionCount):
770         * platform/image-decoders/gif/GIFImageDecoder.h:
771
772 2009-06-26  Chris Marrin  <cmarrin@apple.com>
773
774         Reviewed by Simon Fraser  <simon.fraser@apple.com>.
775
776         Additional fix for https://bugs.webkit.org/show_bug.cgi?id=26651
777
778         The flag should always default to true to avoid it getting set
779         to false in a build with accelerated compositing turned off
780         and then disabling accelerated compositing when subsequently
781         running a build with it turned on.
782
783         * page/Settings.cpp:
784         (WebCore::Settings::Settings):
785
786 2009-06-26  Brady Eidson  <beidson@apple.com>
787
788         Reviewed by Sam Weinig.
789
790         Followup for the fix for <rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails
791
792         Now that other MIME type correction stuff is in our swizzled method, Tiger needs it too!
793
794         * platform/network/mac/ResourceHandleMac.mm:
795         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
796         * platform/network/mac/WebCoreURLResponse.h:
797
798 2009-06-26  Jeremy Orlow  <jorlow@chromium.org>
799
800         Reviewed by Darin Fisher.
801
802         https://bugs.webkit.org/show_bug.cgi?id=26732
803
804         For the final step of https://bugs.webkit.org/show_bug.cgi?id=25376,
805         combine LocalStorage and SessionStorage into StorageNamespace. The
806         synching code (for LocalStorage) has already been removed, so these
807         classes are now very similar.  All they do is essentially contain a
808         logical grouping of origins that are attached to specific contexts
809         (be it PageGroups for LocalStorage and Page for SessionStorage).
810
811         * GNUmakefile.am:
812         * WebCore.vcproj/WebCore.vcproj:
813         * WebCore.xcodeproj/project.pbxproj:
814         * WebCoreSources.bkl:
815         * page/Chrome.cpp:
816         (WebCore::Chrome::createWindow):
817         * page/DOMWindow.cpp:
818         (WebCore::DOMWindow::localStorage):
819         * page/DOMWindow.h:
820         * page/Page.cpp:
821         (WebCore::Page::sessionStorage):
822         (WebCore::Page::setSessionStorage):
823         * page/Page.h:
824         * page/PageGroup.cpp:
825         (WebCore::PageGroup::localStorage):
826         * page/PageGroup.h:
827         * storage/LocalStorage.cpp: Removed.
828         * storage/LocalStorage.h: Removed.
829         * storage/LocalStorageTask.cpp:
830         * storage/LocalStorageThread.cpp:
831         * storage/SessionStorage.cpp: Removed.
832         * storage/SessionStorage.h: Removed.
833         * storage/StorageArea.cpp:
834         (WebCore::StorageArea::create):
835         (WebCore::StorageArea::StorageArea):
836         (WebCore::StorageArea::copy):
837         (WebCore::StorageArea::length):
838         (WebCore::StorageArea::key):
839         (WebCore::StorageArea::getItem):
840         (WebCore::StorageArea::setItem):
841         (WebCore::StorageArea::removeItem):
842         (WebCore::StorageArea::clear):
843         (WebCore::StorageArea::contains):
844         (WebCore::StorageArea::importItem):
845         (WebCore::StorageArea::close):
846         (WebCore::StorageArea::dispatchStorageEvent):
847         * storage/StorageArea.h:
848         (WebCore::):
849         * storage/StorageAreaSync.cpp:
850         (WebCore::StorageAreaSync::scheduleFinalSync):
851         * storage/StorageNamespace.cpp: Copied from WebCore/storage/LocalStorage.cpp.
852         (WebCore::localStorageNamespaceMap):
853         (WebCore::StorageNamespace::localStorageNamespace):
854         (WebCore::StorageNamespace::sessionStorageNamespace):
855         (WebCore::StorageNamespace::StorageNamespace):
856         (WebCore::StorageNamespace::~StorageNamespace):
857         (WebCore::StorageNamespace::copy):
858         (WebCore::StorageNamespace::storageArea):
859         (WebCore::StorageNamespace::close):
860         * storage/StorageNamespace.h: Copied from WebCore/storage/LocalStorage.h.
861
862 2009-06-26  Nate Chapin  <japhet@chromium.org>
863
864         Reviewed by David Levin.
865
866         Upstream V8Proxy.  This involved updating a lot of function and variable names to match WebKit style, hence the large size.
867
868         https://bugs.webkit.org/show_bug.cgi?id=26623
869
870         * bindings/v8/ScheduledAction.cpp:
871         (WebCore::ScheduledAction::ScheduledAction):
872         (WebCore::ScheduledAction::~ScheduledAction):
873         (WebCore::ScheduledAction::execute):
874         * bindings/v8/ScriptCallStack.cpp:
875         (WebCore::ScriptCallStack::ScriptCallStack):
876         * bindings/v8/ScriptController.cpp:
877         (WebCore::ScriptController::isSafeScript):
878         (WebCore::ScriptController::gcProtectJSWrapper):
879         (WebCore::ScriptController::gcUnprotectJSWrapper):
880         (WebCore::ScriptController::processingUserGesture):
881         (WebCore::ScriptController::evaluate):
882         (WebCore::ScriptController::setEventHandlerLineNumber):
883         (WebCore::ScriptController::bindToWindowObject):
884         (WebCore::ScriptController::collectGarbage):
885         (WebCore::ScriptController::haveInterpreter):
886         (WebCore::createScriptObject):
887         (WebCore::ScriptController::createScriptObjectForPluginElement):
888         * bindings/v8/ScriptInstance.cpp:
889         (WebCore::V8ScriptInstance::clear):
890         (WebCore::V8ScriptInstance::set):
891         * bindings/v8/ScriptObject.cpp:
892         (WebCore::ScriptGlobalObject::set):
893         * bindings/v8/ScriptObjectQuarantine.cpp:
894         (WebCore::getQuarantinedScriptObject):
895         * bindings/v8/ScriptScope.cpp:
896         (WebCore::ScriptScope::ScriptScope):
897         * bindings/v8/ScriptValue.h:
898         (WebCore::ScriptValue::ScriptValue):
899         (WebCore::ScriptValue::operator=):
900         (WebCore::ScriptValue::clear):
901         * bindings/v8/V8AbstractEventListener.cpp:
902         (WebCore::V8AbstractEventListener::invokeEventHandler):
903         (WebCore::V8AbstractEventListener::handleEvent):
904         (WebCore::V8AbstractEventListener::disposeListenerObject):
905         (WebCore::V8AbstractEventListener::getReceiverObject):
906         * bindings/v8/V8Collection.cpp:
907         (WebCore::toOptionsCollectionSetter):
908         * bindings/v8/V8Collection.h:
909         (WebCore::getV8Object):
910         (WebCore::getNamedPropertyOfCollection):
911         (WebCore::nodeCollectionNamedPropertyGetter):
912         (WebCore::getIndexedPropertyOfCollection):
913         (WebCore::nodeCollectionIndexedPropertyGetter):
914         (WebCore::nodeCollectionIndexedPropertyEnumerator):
915         (WebCore::collectionIndexedPropertyEnumerator):
916         (WebCore::collectionStringOrNullIndexedPropertyGetter):
917         * bindings/v8/V8DOMMap.cpp:
918         (WebCore::weakDOMObjectCallback):
919         (WebCore::DOMData::removeObjectsFromWrapperMap):
920         * bindings/v8/V8Helpers.cpp:
921         (WebCore::wrapNPObject):
922         (WebCore::toV8Context):
923         * bindings/v8/V8LazyEventListener.cpp:
924         (WebCore::V8LazyEventListener::~V8LazyEventListener):
925         (WebCore::V8LazyEventListener::getListenerFunction):
926         (WebCore::V8LazyEventListener::callListenerFunction):
927         (WebCore::V8LazyEventListener::getWrappedListenerFunction):
928         * bindings/v8/V8NodeFilterCondition.cpp:
929         (WebCore::V8NodeFilterCondition::V8NodeFilterCondition):
930         (WebCore::V8NodeFilterCondition::~V8NodeFilterCondition):
931         (WebCore::V8NodeFilterCondition::acceptNode):
932         * bindings/v8/V8ObjectEventListener.cpp:
933         (WebCore::weakObjectEventListenerCallback):
934         (WebCore::V8ObjectEventListener::~V8ObjectEventListener):
935         * bindings/v8/V8Proxy.cpp: Added.
936         * bindings/v8/V8Proxy.h:
937         (WebCore::):
938         (WebCore::GlobalHandleInfo::GlobalHandleInfo):
939         (WebCore::V8Proxy::):
940         (WebCore::V8Proxy::V8Proxy):
941         (WebCore::V8Proxy::frame):
942         (WebCore::V8Proxy::inlineCode):
943         (WebCore::V8Proxy::setInlineCode):
944         (WebCore::V8Proxy::timerCallback):
945         (WebCore::V8Proxy::setTimerCallback):
946         (WebCore::V8Proxy::setEventHandlerLineNumber):
947         (WebCore::V8Proxy::finishedWithEvent):
948         (WebCore::V8Proxy::wrapCPointer):
949         (WebCore::V8Proxy::extractCPointer):
950         (WebCore::V8Proxy::convertDOMWrapperToNative):
951         (WebCore::V8Proxy::convertDOMWrapperToNode):
952         (WebCore::V8Proxy::convertToV8Object):
953         (WebCore::V8Proxy::convertToNativeObject):
954         (WebCore::V8Proxy::convertToNativeEvent):
955         (WebCore::V8Proxy::context):
956         (WebCore::V8Proxy::extractCPointerImpl):
957         (WebCore::V8Proxy::utilityContext):
958         (WebCore::V8Proxy::constructDOMObject):
959         (WebCore::throwError):
960         (WebCore::toV8):
961         * bindings/v8/V8Utilities.h:
962         * bindings/v8/WorkerContextExecutionProxy.cpp:
963         (WebCore::WorkerContextExecutionProxy::retrieve):
964         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
965         (WebCore::WorkerContextExecutionProxy::GetConstructor):
966         (WebCore::WorkerContextExecutionProxy::ToV8Object):
967         (WebCore::WorkerContextExecutionProxy::EventToV8Object):
968         (WebCore::WorkerContextExecutionProxy::toV8):
969         (WebCore::WorkerContextExecutionProxy::forgetV8EventObject):
970         (WebCore::WorkerContextExecutionProxy::evaluate):
971         (WebCore::WorkerContextExecutionProxy::runScript):
972         * bindings/v8/custom/V8AttrCustom.cpp:
973         (WebCore::ACCESSOR_SETTER):
974         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
975         (WebCore::NAMED_PROPERTY_GETTER):
976         (WebCore::NAMED_PROPERTY_SETTER):
977         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
978         (WebCore::INDEXED_PROPERTY_GETTER):
979         (WebCore::INDEXED_PROPERTY_SETTER):
980         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
981         (WebCore::toV8):
982         (WebCore::toCanvasStyle):
983         (WebCore::ACCESSOR_GETTER):
984         (WebCore::ACCESSOR_SETTER):
985         (WebCore::CALLBACK_FUNC_DECL):
986         * bindings/v8/custom/V8ClientRectListCustom.cpp:
987         (WebCore::INDEXED_PROPERTY_GETTER):
988         * bindings/v8/custom/V8ClipboardCustom.cpp:
989         (WebCore::ACCESSOR_GETTER):
990         (WebCore::CALLBACK_FUNC_DECL):
991         * bindings/v8/custom/V8CustomBinding.cpp:
992         (WebCore::allowSettingFrameSrcToJavascriptUrl):
993         (WebCore::ACCESSOR_GETTER):
994         (WebCore::INDEXED_ACCESS_CHECK):
995         (WebCore::NAMED_ACCESS_CHECK):
996         (WebCore::V8Custom::GetTargetFrame):
997         * bindings/v8/custom/V8CustomEventListener.cpp:
998         (WebCore::V8EventListener::V8EventListener):
999         (WebCore::V8EventListener::~V8EventListener):
1000         (WebCore::V8EventListener::callListenerFunction):
1001         * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
1002         (WebCore::V8CustomSQLStatementCallback::handleEvent):
1003         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
1004         (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
1005         * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
1006         (WebCore::V8CustomSQLTransactionCallback::handleEvent):
1007         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
1008         (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
1009         * bindings/v8/custom/V8CustomVoidCallback.cpp:
1010         (WebCore::V8CustomVoidCallback::handleEvent):
1011         (WebCore::invokeCallback):
1012         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
1013         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
1014         * bindings/v8/custom/V8DOMParserConstructor.cpp:
1015         (WebCore::CALLBACK_FUNC_DECL):
1016         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1017         (WebCore::V8Custom::WindowSetTimeoutImpl):
1018         (WebCore::convertBase64):
1019         (WebCore::ACCESSOR_SETTER):
1020         (WebCore::CALLBACK_FUNC_DECL):
1021         (WebCore::ACCESSOR_GETTER):
1022         (WebCore::createWindow):
1023         (WebCore::INDEXED_PROPERTY_GETTER):
1024         (WebCore::NAMED_PROPERTY_GETTER):
1025         (WebCore::V8Custom::ClearTimeoutImpl):
1026         (WebCore::NAMED_ACCESS_CHECK):
1027         (WebCore::INDEXED_ACCESS_CHECK):
1028         * bindings/v8/custom/V8DatabaseCustom.cpp:
1029         (WebCore::CALLBACK_FUNC_DECL):
1030         * bindings/v8/custom/V8DocumentCustom.cpp:
1031         (WebCore::CALLBACK_FUNC_DECL):
1032         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
1033         (WebCore::ACCESSOR_GETTER):
1034         (WebCore::ACCESSOR_SETTER):
1035         * bindings/v8/custom/V8ElementCustom.cpp:
1036         (WebCore::CALLBACK_FUNC_DECL):
1037         (WebCore::ACCESSOR_SETTER):
1038         (WebCore::ACCESSOR_GETTER):
1039         * bindings/v8/custom/V8EventCustom.cpp:
1040         (WebCore::ACCESSOR_SETTER):
1041         (WebCore::ACCESSOR_GETTER):
1042         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1043         (WebCore::CALLBACK_FUNC_DECL):
1044         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
1045         (WebCore::getNamedItems):
1046         (WebCore::getItem):
1047         (WebCore::NAMED_PROPERTY_GETTER):
1048         (WebCore::CALLBACK_FUNC_DECL):
1049         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1050         (WebCore::NAMED_PROPERTY_GETTER):
1051         (WebCore::CALLBACK_FUNC_DECL):
1052         (WebCore::ACCESSOR_GETTER):
1053         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
1054         (WebCore::INDEXED_PROPERTY_GETTER):
1055         (WebCore::NAMED_PROPERTY_GETTER):
1056         (WebCore::CALLBACK_FUNC_DECL):
1057         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
1058         (WebCore::ACCESSOR_SETTER):
1059         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
1060         (WebCore::NAMED_PROPERTY_GETTER):
1061         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
1062         (WebCore::ACCESSOR_SETTER):
1063         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1064         (WebCore::CALLBACK_FUNC_DECL):
1065         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
1066         (WebCore::ACCESSOR_GETTER):
1067         (WebCore::ACCESSOR_SETTER):
1068         (WebCore::CALLBACK_FUNC_DECL):
1069         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
1070         (WebCore::CALLBACK_FUNC_DECL):
1071         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
1072         (WebCore::CALLBACK_FUNC_DECL):
1073         (WebCore::ACCESSOR_GETTER):
1074         (WebCore::ACCESSOR_SETTER):
1075         (WebCore::INDEXED_PROPERTY_GETTER):
1076         (WebCore::INDEXED_PROPERTY_SETTER):
1077         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
1078         (WebCore::NAMED_PROPERTY_GETTER):
1079         (WebCore::NAMED_PROPERTY_SETTER):
1080         (WebCore::INDEXED_PROPERTY_GETTER):
1081         (WebCore::INDEXED_PROPERTY_SETTER):
1082         * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
1083         (WebCore::NAMED_PROPERTY_GETTER):
1084         (WebCore::INDEXED_PROPERTY_SETTER):
1085         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
1086         (WebCore::CALLBACK_FUNC_DECL):
1087         (WebCore::removeElement):
1088         * bindings/v8/custom/V8InspectorControllerCustom.cpp:
1089         (WebCore::CALLBACK_FUNC_DECL):
1090         * bindings/v8/custom/V8LocationCustom.cpp:
1091         (WebCore::ACCESSOR_SETTER):
1092         (WebCore::ACCESSOR_GETTER):
1093         (WebCore::CALLBACK_FUNC_DECL):
1094         (WebCore::INDEXED_ACCESS_CHECK):
1095         (WebCore::NAMED_ACCESS_CHECK):
1096         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
1097         (WebCore::CALLBACK_FUNC_DECL):
1098         * bindings/v8/custom/V8MessagePortCustom.cpp:
1099         (WebCore::ACCESSOR_GETTER):
1100         (WebCore::ACCESSOR_SETTER):
1101         (WebCore::CALLBACK_FUNC_DECL):
1102         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
1103         (WebCore::INDEXED_PROPERTY_GETTER):
1104         (WebCore::NAMED_PROPERTY_GETTER):
1105         * bindings/v8/custom/V8NavigatorCustom.cpp:
1106         (WebCore::ACCESSOR_GETTER):
1107         * bindings/v8/custom/V8NodeCustom.cpp:
1108         (WebCore::CALLBACK_FUNC_DECL):
1109         * bindings/v8/custom/V8NodeIteratorCustom.cpp:
1110         (WebCore::toV8):
1111         (WebCore::CALLBACK_FUNC_DECL):
1112         * bindings/v8/custom/V8NodeListCustom.cpp:
1113         (WebCore::NAMED_PROPERTY_GETTER):
1114         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
1115         (WebCore::CALLBACK_FUNC_DECL):
1116         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
1117         (WebCore::CALLBACK_FUNC_DECL):
1118         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
1119         (WebCore::CALLBACK_FUNC_DECL):
1120         * bindings/v8/custom/V8SVGLengthCustom.cpp:
1121         (WebCore::ACCESSOR_GETTER):
1122         (WebCore::CALLBACK_FUNC_DECL):
1123         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
1124         (WebCore::CALLBACK_FUNC_DECL):
1125         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
1126         (WebCore::NAMED_PROPERTY_GETTER):
1127         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
1128         (WebCore::toV8):
1129         (WebCore::CALLBACK_FUNC_DECL):
1130         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
1131         (WebCore::CALLBACK_FUNC_DECL):
1132         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
1133         (WebCore::CALLBACK_FUNC_DECL):
1134         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1135         (WebCore::ACCESSOR_GETTER):
1136         (WebCore::ACCESSOR_SETTER):
1137         (WebCore::SetTimeoutOrInterval):
1138         (WebCore::CALLBACK_FUNC_DECL):
1139         * bindings/v8/custom/V8WorkerCustom.cpp:
1140         (WebCore::CALLBACK_FUNC_DECL):
1141         (WebCore::getEventListener):
1142         (WebCore::ACCESSOR_GETTER):
1143         (WebCore::ACCESSOR_SETTER):
1144         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
1145         (WebCore::CALLBACK_FUNC_DECL):
1146         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1147         (WebCore::getEventListener):
1148         (WebCore::ACCESSOR_GETTER):
1149         (WebCore::ACCESSOR_SETTER):
1150         (WebCore::CALLBACK_FUNC_DECL):
1151         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
1152         (WebCore::ACCESSOR_GETTER):
1153         (WebCore::ACCESSOR_SETTER):
1154         (WebCore::CALLBACK_FUNC_DECL):
1155         * bindings/v8/custom/V8XMLSerializerConstructor.cpp:
1156         (WebCore::CALLBACK_FUNC_DECL):
1157         * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp:
1158         (WebCore::CALLBACK_FUNC_DECL):
1159         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
1160         (WebCore::CALLBACK_FUNC_DECL):
1161
1162 2009-06-26  Kevin McCullough  <kmccullough@apple.com>
1163
1164         Reviewed by Tim Hatcher.
1165
1166         <rdar://problem/7011047> Profiler shows the record button 'on' even
1167         though it's finished
1168
1169         I consolidated the creation of the user initiated profile name into
1170         its own function and then called it from console::profile instead of
1171         calling startUserInitiatedProfiling().  This way we don't call
1172         toggleRecordButton() which turns on the record button.
1173
1174         * inspector/InspectorController.cpp:
1175         (WebCore::InspectorController::didCommitLoad):
1176         (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
1177         (WebCore::InspectorController::startUserInitiatedProfiling):
1178         (WebCore::InspectorController::stopUserInitiatedProfiling):
1179         * inspector/InspectorController.h:
1180         * page/Console.cpp:
1181         (WebCore::Console::profile):
1182         (WebCore::Console::profileEnd):
1183
1184 2009-06-26  Jeremy Moskovich  <jeremy@chromium.org>
1185
1186         Reviewed by Eric Seidel.
1187
1188         https://bugs.webkit.org/show_bug.cgi?id=26691
1189
1190         Cleanup: Move focusRingColor to RenderTheme.
1191
1192         Most of this CL involves deleting files and removing dead code.
1193
1194         focusRingColor() is now defined in RenderTheme rather than in
1195         misc. places on each port.  The default color is specified as
1196         black in renderTheme and ports can override it in their own
1197         custom renderThemes.
1198
1199         Behavior should be identical except for the following cases,
1200         this lists platform and what the focus ring color used to be
1201         before this cl and the file where it used to be defined:
1202
1203         Android - red
1204         WebCore/platform/android/TemporaryLinkStubs.cpp
1205
1206         Cairo - aqua focus ring color - 0xFF7DADD9
1207         WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp
1208
1209         wx - red
1210         WebCore/platform/wx/TemporaryLinkStubs.cpp
1211
1212         QT - black
1213         WebCore/platform/graphics/qt/GraphicsContextQt.cpp
1214
1215         Manual test: manual-tests/focusringcolor-change-on-theme-change.html
1216
1217         * css/CSSStyleSelector.cpp:
1218         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
1219         * manual-tests/focusringcolor-change-on-theme-change.html: Added.
1220         * platform/android/TemporaryLinkStubs.cpp:
1221         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1222         * platform/graphics/chromium/ColorChromium.cpp: Removed.
1223         * platform/graphics/chromium/ColorChromiumMac.mm: Removed.
1224         * platform/graphics/mac/ColorMac.h:
1225         * platform/graphics/mac/ColorMac.mm:
1226         (WebCore::oldAquaFocusRingColor):
1227         (WebCore::setUsesTestModeFocusRingColor):
1228         (WebCore::usesTestModeFocusRingColor):
1229         * platform/graphics/qt/GraphicsContextQt.cpp:
1230         * platform/graphics/skia/GraphicsContextSkia.cpp:
1231         (WebCore::GraphicsContext::drawFocusRing):
1232         * platform/graphics/win/ColorSafari.cpp: Removed.
1233         * platform/wx/TemporaryLinkStubs.cpp:
1234         * rendering/RenderTheme.cpp:
1235         (WebCore::RenderTheme::focusRingColor):
1236         * rendering/RenderTheme.h:
1237         * rendering/RenderThemeChromiumMac.h:
1238         * rendering/RenderThemeChromiumMac.mm:
1239         (WebCore::RenderThemeChromiumMac::focusRingColor):
1240         (WebCore::RenderThemeChromiumMac::systemColor):
1241         * rendering/RenderThemeChromiumSkia.cpp:
1242         (WebCore::RenderThemeChromiumSkia::focusRingColor):
1243         * rendering/RenderThemeChromiumSkia.h:
1244         * rendering/RenderThemeMac.h:
1245         * rendering/RenderThemeMac.mm:
1246         (WebCore::RenderThemeMac::focusRingColor):
1247         (WebCore::RenderThemeMac::systemColor):
1248         * rendering/RenderThemeSafari.cpp:
1249         (WebCore::makeRGBAFromCGColor):
1250         (WebCore::RenderThemeSafari::focusRingColor):
1251         * rendering/RenderThemeSafari.h:
1252
1253 2009-06-26  Dmitry Titov  <dimich@chromium.org>
1254
1255         Reviewed by David Levin.
1256
1257         https://bugs.webkit.org/show_bug.cgi?id=26761
1258         [Chromium] Enable Dedicated Workers in Chromium.
1259
1260         * bindings/v8/custom/V8WorkerCustom.cpp:
1261         (WebCore::CALLBACK_FUNC_DECL):
1262         Remove the check that prevented workers from being created w/o a command-line switch.
1263         The flag itself and methods will be removed in a subsequent patch, after
1264         corresponding change in Chromium.
1265
1266 2009-06-26  Jessie Berlin  <jberlin@apple.com>
1267
1268         Reviewed by Mark Rowe.
1269         
1270         Fix: https://bugs.webkit.org/show_bug.cgi?id=26723
1271         Where the m_mouseDown event was never being set on windows, so the
1272         client X and Y coordinates were always being reported as zero in a
1273         dragstart handler.
1274
1275         Test: editing/selection/drag-start-event-client-x-y.html
1276
1277         * page/EventHandler.cpp:
1278         (WebCore::EventHandler::handleMousePressEvent):
1279         Set the m_mouseDown event when the mouse press is handled.
1280         * page/mac/EventHandlerMac.mm:
1281         (WebCore::EventHandler::mouseDown):
1282         Removed now redundant setting of m_mouseDown.
1283
1284 2009-06-26  Brady Eidson  <beidson@apple.com>
1285
1286         Tiger build fix
1287
1288         * WebCore.xcodeproj/project.pbxproj:
1289         * platform/network/mac/WebCoreURLResponse.mm:
1290         (swizzleMIMETypeMethodIfNecessary):
1291
1292 2009-06-26  Alexey Proskuryakov  <ap@webkit.org>
1293
1294         Reviewed by Sam Weinig.
1295
1296         https://bugs.webkit.org/show_bug.cgi?id=26681
1297         Problem updating applicationCache when server returns 304
1298         
1299         Improve the fix, make the test pass on Tiger.
1300
1301         * loader/appcache/ApplicationCacheGroup.cpp:
1302         (WebCore::ApplicationCacheGroup::didReceiveResponse): Fix another code path to remove the
1303         current item from list.
1304
1305         * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::start): On Tiger,
1306         conditional requests that cannot be cached by network layer cause errors with default cache
1307         policy.
1308
1309 2009-06-26  Brady Eidson  <beidson@apple.com>
1310
1311         Reviewed by Sam Weinig
1312
1313         <rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails
1314
1315         When we disabled content sniffing for file urls we lost knowledge of many file extensions that we
1316         didn't intend to lose.  Turns out the CoreTypes UTI database doesn't know about every extension Gatekeeper
1317         knew about.
1318
1319         By comparing CoreTypes' database to Gatekeepers, this patch adds a hardcoded list of file extension to MIME
1320         type mappings that are missing in CoreType's database.
1321
1322         Test: platform/mac/fast/loader/file-url-mimetypes.html
1323
1324         * platform/network/mac/ResourceHandleMac.mm:
1325         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Move the MIME Type swizzling code to
1326           WebCoreURLResponse.
1327
1328         * platform/network/mac/ResourceResponseMac.mm:
1329         (WebCore::ResourceResponse::platformLazyInit): _webcore_MIMEType -> MIMEType, as we now have only one place
1330           where we do all MIMEType correction.
1331
1332         * platform/network/mac/WebCoreURLResponse.h: Remove _webcore_MIMEType, as it is now folded into the swizzled
1333           implementation of MIMEType.
1334         * platform/network/mac/WebCoreURLResponse.mm:
1335         (createBinaryExtensionsSet):
1336         (createExtensionToMIMETypeMap):
1337         (swizzleMIMETypeMethodIfNecessary):
1338         (webNSURLResponseMIMEType): If it's a file URL and there's no MIME type, see if the extension exists in the 
1339           extension -> MIME type map before turning to the default MIME type.  Also roll in what was previously
1340           implemented in _webcore_MIMEType.
1341
1342         * svg/graphics/SVGImage.cpp:
1343         (WebCore::SVGImage::~SVGImage): Tweak this ASSERT - SVGImages might get destroyed without ever having a client.
1344
1345 2009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>
1346
1347         Reviewed by Simon Fraser.
1348
1349         Show the fullscreen button only if the backend has support for it.
1350
1351         https://bugs.webkit.org/show_bug.cgi?id=26661
1352
1353         No test since this is not reachable via the DOM.
1354
1355         * html/HTMLMediaElement.h:
1356         (WebCore::HTMLMediaElement::supportsFullscreen): new
1357         * html/HTMLVideoElement.h:
1358         (WebCore::HTMLVideoElement::supportsFullscreen): new
1359         * platform/graphics/MediaPlayer.cpp:
1360         (WebCore::NullMediaPlayerPrivate::supportsFullscreen): new
1361         (WebCore::MediaPlayer::supportsFullscreen): new
1362         * platform/graphics/MediaPlayer.h: new
1363         * platform/graphics/MediaPlayerPrivate.h: new
1364         (WebCore::MediaPlayerPrivateInterface::supportsFullscreen): new
1365         * rendering/MediaControlElements.cpp:
1366         (WebCore::MediaControlFullscreenButtonElement::rendererIsNeeded): new
1367         * rendering/MediaControlElements.h:
1368
1369 2009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>
1370
1371         Reviewed by Simon Fraser.
1372
1373         <rdar://problem/7007776> Controller doesn't automatically update counters when file
1374         is playing ( http://www.jazzguitar.be/mp3/Michael%20Lewis%20-%20SSSJ.mp3 )
1375
1376         Update the time display when the movie time changes.
1377
1378         * rendering/RenderMedia.cpp:
1379         (WebCore::RenderMedia::updateControls):
1380
1381 2009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>
1382
1383         Reviewed by Simon Fraser.
1384
1385         https://bugs.webkit.org/show_bug.cgi?id=26659
1386
1387         Support hidding a control bar element from the Media element controller.
1388
1389         Update layout tests since the fullscreen button no longer has a renderer.
1390
1391         * rendering/MediaControlElements.cpp:
1392         (WebCore::MediaTextDisplayElement::update): call updateStyle() so everything
1393         is updated properly.
1394         (WebCore::MediaControlInputElement::MediaControlInputElement):
1395         (WebCore::MediaControlInputElement::update): call updateStyle()
1396         (WebCore::MediaControlInputElement::updateStyle): create the renderer properly
1397         or not depending on what rendererIsNeeded() return.
1398         * rendering/MediaControlElements.h:
1399
1400 2009-06-26  Kevin McCullough  <kmccullough@apple.com>
1401
1402         Reviewed by Oliver Hunt.
1403
1404         <rdar://problem/6968137> Profiler title numbers increment even after a
1405         reload.
1406
1407         - Now the numbers are reset when the profiles are.
1408
1409         * inspector/InspectorController.cpp:
1410         (WebCore::InspectorController::didCommitLoad):
1411
1412 2009-06-26  Adele Peterson  <adele@apple.com>
1413
1414         Reviewed by Darin Adler.
1415
1416         Fix for <rdar://problem/7000796>
1417         REGRESSION(34681): Breaking up quoted text makes new, unquoted text blue after certain steps; repros with some messages
1418
1419         Test: editing/inserting/break-blockquote-after-delete.html
1420
1421         Keep track of whether the typing style should be preserved after the TypingCommand is applied.  When adding onto an open
1422         typing command, keep that flag up to date.
1423
1424         In this case, an InsertParagraphSeparatorInQuotedContent command, which should not preserve typing style, 
1425         was following an open Delete command, which does preserve the typing style.  So we were applying the original
1426         typing style (from before the delete, so blue text) to the cursor in the unquoted area after breaking up the blockquote.
1427
1428         * editing/TypingCommand.cpp:
1429         (WebCore::TypingCommand::TypingCommand):
1430         (WebCore::TypingCommand::typingAddedToOpenCommand):
1431         (WebCore::TypingCommand::insertTextRunWithoutNewlines):
1432         (WebCore::TypingCommand::insertLineBreak):
1433         (WebCore::TypingCommand::insertParagraphSeparator):
1434         (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
1435         (WebCore::TypingCommand::deleteKeyPressed):
1436         (WebCore::TypingCommand::forwardDeleteKeyPressed):
1437         (WebCore::TypingCommand::deleteSelection):
1438         (WebCore::TypingCommand::updatePreservesTypingStyle):
1439         * editing/TypingCommand.h: (WebCore::TypingCommand::preservesTypingStyle):
1440
1441 2009-06-26  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
1442
1443         Reviewed by Simon Hausmann.
1444
1445         Add support for saving and loading of QWebHistory to and from a QByteArray.
1446
1447         This includes streaming operators for QWebHistory. for convenience.
1448
1449         New autotests that test QWebHistory and QWebHistoryItem serialization.
1450
1451         * WebCore.pro:
1452         * history/HistoryItem.h:
1453         (WebCore::HistoryItem::dailyVisitCounts):
1454         (WebCore::HistoryItem::weeklyVisitCounts):
1455         * history/qt/HistoryItemQt.cpp: Added.
1456         (WebCore::HistoryItem::restoreState):
1457         (WebCore::HistoryItem::saveState):
1458
1459 2009-06-26  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
1460
1461         Reviewed by Simon Hausmann.
1462
1463         Add support for QDataStream operators to String and IntPoint.
1464
1465         * platform/graphics/IntPoint.h:
1466         (WebCore::operator<<):
1467         (WebCore::operator>>):
1468         * platform/text/PlatformString.h:
1469         * platform/text/qt/StringQt.cpp:
1470         (WebCore::operator<<):
1471         (WebCore::operator>>):
1472
1473 2009-06-26  Ben Murdoch  <benm@google.com>
1474
1475         Reviewed by Darin Fisher.
1476
1477         Add #if ENABLE(DOM_STORAGE) to the V8 custom bindings for local/session storage.
1478         https://bugs.webkit.org/show_bug.cgi?id=26757
1479
1480         * bindings/v8/custom/V8StorageCustom.cpp
1481
1482 2009-06-26  Yongjun Zhang  <yongjun.zhang@nokia.com>
1483
1484         Reviewed by Eric Seidel.
1485
1486         Test: platform/qt/fast/events/event-sender-keydown-frame.html
1487
1488         Bug 20303: [Qt] Key events are not working in frames.
1489
1490         Merge scrolling handling code in qt and win port, move it to
1491         EventHandler.
1492
1493         * page/EventHandler.cpp:
1494         (WebCore::EventHandler::scrollRecursively):
1495         * page/EventHandler.h:
1496
1497 2009-06-26  Rob Buis  <rwlbuis@gmail.com>
1498
1499         Reviewed by Eric Seidel.
1500
1501         https://bugs.webkit.org/show_bug.cgi?id=26682
1502         Bug 26682: It should be possible to add image to SVG DOM programmatically (using JavaScript)
1503
1504         Make sure the xlink:href animated property setting syncs the corresponding attribute with the right namespace.
1505
1506         Test: svg/custom/createImageElement.svg
1507
1508         * svg/SVGAnimatedProperty.h:
1509         (WebCore::synchronizeProperty):
1510
1511 2009-06-26  Takeshi Yoshino  <tyoshino@google.com>
1512
1513         Reviewed by Timothy Hatcher.
1514
1515         Bug 26156: In view-source mode, always render the contents using HTMLViewSourceDocument
1516         https://bugs.webkit.org/show_bug.cgi?id=26156
1517
1518         When in view-source mode, render the contents using HTMLViewSourceDocument
1519         regardless it's applicable for any plugin or not.
1520
1521         Chromium tells WebCore to render the contents of specified URL when
1522         view-source: prefix is added to the URL. But currently, DOMImplementation
1523         ignores inViewSourceMode() when the MIME type is indicating that the contents
1524         are neither texts nor HTML family documents.
1525
1526         For example, we can check the contents of asf file without launching media
1527         player. Rendering contents for view-source:-specified input is not what user
1528         expects.
1529
1530         http://code.google.com/p/chromium/issues/detail?id=10545
1531
1532         I want to fix this issue by this patch. IMHO, regardless of this Chromium
1533         specific issue, I think we should force use of HTMLViewSourceDocument when
1534         inViewSourceMode() is specified.
1535
1536         Test: fast/frames/viewsource-on-image-file.html
1537
1538         * dom/DOMImplementation.cpp:
1539         (WebCore::DOMImplementation::createDocument):
1540         * html/HTMLViewSourceDocument.cpp:
1541         (WebCore::HTMLViewSourceDocument::createTokenizer):
1542         * html/HTMLViewSourceDocument.h:
1543
1544 2009-06-26  Xan Lopez  <xlopez@igalia.com>
1545
1546         Reviewed by Jan Alonzo.
1547
1548         https://bugs.webkit.org/show_bug.cgi?id=25529
1549         [Gtk] Expected states not exposed to assistive technologies
1550
1551         Add support for VISIBLE, EDITABLE and SENSITIVE states.
1552
1553         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1554         (setAtkStateSetFromCoreObject):
1555
1556 2009-06-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1557
1558         Reviewed by Darin Adler.
1559
1560         "Pointer to incomplete class type is not allowed" error with RVCT
1561         https://bugs.webkit.org/show_bug.cgi?id=26721
1562
1563         Based on Norbert Leser's work.
1564
1565         * dom/Document.cpp:
1566         (WebCore::Document::setFocusedNode):
1567         * dom/Node.cpp:
1568         (WebCore::Node::dispatchMouseEvent):
1569         * dom/Node.h: Remove the default value for PassRefPtr<Event> args,
1570         to eliminate dependency on the Event class definition
1571
1572 2009-06-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1573
1574         Reviewed by Maciej Stachowiak.
1575
1576         [Qt] Build fix after r45183
1577         https://bugs.webkit.org/show_bug.cgi?id=26748
1578
1579         * WebCore.pro:
1580
1581 2009-06-25  Alexey Proskuryakov  <ap@webkit.org>
1582
1583         Reviewed by Darin Adler.
1584
1585         https://bugs.webkit.org/show_bug.cgi?id=26681
1586         <rdar://problem/7003461> Problem updating applicationCache when server returns 304
1587
1588         Test: http/tests/appcache/update-cache.html
1589
1590         * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::didReceiveResponse):
1591         We're already done with the resource, don't try to load it again.
1592
1593 2009-06-25  Simon Fraser  <simon.fraser@apple.com>
1594
1595         Reviewed by Oliver Hunt.
1596         
1597         <rdar://problem/6990481>
1598         
1599         Handle perspective computation on non-layer objects.
1600
1601         Test: transforms/3d/general/perspective-non-layer.html
1602
1603         * rendering/RenderObject.cpp:
1604         (WebCore::RenderObject::getTransformFromContainer):
1605
1606 2009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>
1607
1608         Reviewed by Eric Seidel.
1609
1610         https://bugs.webkit.org/show_bug.cgi?id=26653
1611
1612         Use flex box in the mediaControls.css style, to nicely scale if a button gets
1613         dynamically added or removed.
1614
1615         Media tests results are affected by this changes.
1616
1617         * css/mediaControls.css:
1618         * css/mediaControlsQT.css:
1619
1620 2009-06-25  Albert J. Wong  <ajwong@chromium.org>
1621
1622         Reviewed by Darin Fisher.
1623
1624         https://bugs.webkit.org/show_bug.cgi?id=26724
1625
1626         Move relavent part of setDefaultFontSize from RenderThemeChromiumWin
1627         up into RenderThemeChromiumSkia.
1628
1629         * rendering/RenderThemeChromiumSkia.cpp:
1630         (WebCore::RenderThemeChromiumSkia::setDefaultFontSize):
1631         * rendering/RenderThemeChromiumSkia.h:
1632         * rendering/RenderThemeChromiumWin.cpp:
1633         (WebCore::RenderThemeChromiumWin::setDefaultFontSize):
1634         * rendering/RenderThemeChromiumWin.h:
1635
1636 2009-06-25  Matt Perry  <mpcomplete@chromium.org>
1637
1638         Reviewed by Darin Fisher.
1639
1640         https://bugs.webkit.org/show_bug.cgi?id=26733
1641
1642         Add V8-only methods to FrameLoaderClient that V8 can use to send
1643         out notifications when it creates/destroys a script context.
1644
1645         * loader/EmptyClients.h:
1646         (WebCore::EmptyFrameLoaderClient::didCreateScriptContext):
1647         (WebCore::EmptyFrameLoaderClient::didDestroyScriptContext):
1648         * loader/FrameLoaderClient.h:
1649         (WebCore::FrameLoaderClient::didCreateScriptContext):
1650         (WebCore::FrameLoaderClient::didDestroyScriptContext):
1651
1652 2009-06-25  Dimitri Glazkov  <dglazkov@chromium.org>
1653
1654         Reviewed by David Levin.
1655
1656         Correct a few typos that snuck in when I was reformatting CodeGeneratorV8.pm
1657         to match WebKit style.
1658
1659         * bindings/scripts/CodeGeneratorV8.pm: Corrected lots of typos.
1660
1661 2009-06-25  Adam Langley  <agl@google.com>
1662
1663         TBRed: fix for Chromium tree.
1664
1665         Add missing include for r45199.
1666
1667         https://bugs.webkit.org/show_bug.cgi?id=26736
1668
1669         r45199 added a reference to throwError without including V8Proxy.h
1670
1671         * bindings/v8/WorkerScriptController.cpp:
1672
1673 2009-06-25  Adam Langley  <agl@google.com>
1674
1675         TBRed: fix for Chromium tree.
1676
1677         https://bugs.webkit.org/show_bug.cgi?id=26735
1678
1679         Fix V8IsolatedWorld to point to the correct include file.
1680
1681         The deprecated v8_index.h was removed from the Chromium tree in r19291
1682         and upstreamed into WebKit with r45193. However V8IsolatedWorld
1683         slipped in between the cracks and broke the build.
1684
1685         * bindings/v8/V8IsolatedWorld.h: update with new header location.
1686
1687 2009-06-25  Chris Marrin  <cmarrin@apple.com>
1688
1689         Reviewed by Simon Fraser  <simon.fraser@apple.com>.
1690
1691         https://bugs.webkit.org/show_bug.cgi?id=26651
1692         
1693         Preference is named "WebKitAcceleratedCompositingEnabled"
1694         and is a boolean value. When false, prevents compositing layers from
1695         being created, which prevents hardware animation from running.
1696         Also forces video to do software rendering. Added a cache for
1697         the flag in RenderLayerCompositing and made it all work
1698         on-the-fly when the flag is changed while a page is loaded.
1699
1700         * WebCore.base.exp:
1701         * page/FrameView.cpp:
1702         (WebCore::FrameView::updateCompositingLayers):
1703         * page/Settings.cpp:
1704         (WebCore::setNeedsReapplyStylesInAllFrames):
1705         (WebCore::Settings::Settings):
1706         (WebCore::Settings::setAcceleratedCompositingEnabled):
1707         * page/Settings.h:
1708         (WebCore::Settings::acceleratedCompositingEnabled):
1709         * rendering/RenderLayer.cpp:
1710         (WebCore::RenderLayer::hasAcceleratedCompositing):
1711         (WebCore::RenderLayer::updateTransform):
1712         (WebCore::RenderLayer::currentTransform):
1713         * rendering/RenderLayer.h:
1714         * rendering/RenderLayerBacking.cpp:
1715         (WebCore::RenderLayerBacking::updateLayerTransform):
1716         * rendering/RenderLayerCompositor.cpp:
1717         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
1718         (WebCore::RenderLayerCompositor::enableCompositingMode):
1719         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingEnabledFlag):
1720         (WebCore::RenderLayerCompositor::updateCompositingLayers):
1721         (WebCore::RenderLayerCompositor::canAccelerateVideoRendering):
1722         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
1723         (WebCore::RenderLayerCompositor::needsToBeComposited):
1724         (WebCore::RenderLayerCompositor::destroyRootPlatformLayer):
1725         * rendering/RenderLayerCompositor.h:
1726         (WebCore::RenderLayerCompositor::hasAcceleratedCompositing):
1727         * rendering/RenderObject.h:
1728         (WebCore::makeMatrixRenderable):
1729
1730 2009-06-25  Jian Li  <jianli@chromium.org>
1731
1732         Reviewed by Dimitri Glazkov.
1733
1734         Bug 26701: Implement the missing code for "FIXME: Need to return an
1735         exception" in WorkerScriptController::evaluate for v8 bindings.
1736         https://bugs.webkit.org/show_bug.cgi?id=26701
1737
1738         * bindings/v8/WorkerScriptController.cpp:
1739         (WebCore::WorkerScriptController::evaluate):
1740
1741 2009-06-25  Nate Chapin  <japhet@chromium.org>
1742
1743         Reviewed by Dimitri Glazkov.
1744
1745         Upstream V8Index.
1746
1747         https://bugs.webkit.org/show_bug.cgi?id=26495
1748
1749         * bindings/v8/V8Index.cpp: Added.
1750         (WebCore::V8ClassIndex::GetFactory): Moved from src.chromium.org.
1751         (WebCore::V8ClassIndex::GetCache): Moved from src.chromium.org.
1752         * bindings/v8/V8Index.h:
1753         (WebCore::V8ClassIndex::): Moved from src.chromium.org.
1754         (WebCore::V8ClassIndex::ToInt): Moved from src.chromium.org.
1755         (WebCore::V8ClassIndex::FromInt): Moved from src.chromium.org.
1756
1757 2009-06-25  Adam Langley  <agl@google.com>
1758
1759         Reviewed by Darin Fisher.
1760
1761         https://bugs.webkit.org/show_bug.cgi?id=26529
1762
1763         This is hopefully the last step before our renderers can run
1764         cleanly in a chroot.
1765
1766         WebKit needs to be able to ask for the correct font to use in
1767         the case that the current font doesn't include glyphs for
1768         certain code points. Currently we make a fontconfig call in our
1769         WebKit port to handle this.
1770
1771         This patch changes this so that the call is sent our via
1772         ChromiumBridge.
1773
1774         http://codereview.chromium.org/132007
1775
1776         This should not affect any layout tests.
1777
1778         * platform/chromium/ChromiumBridge.h:
1779         * platform/graphics/chromium/FontCacheLinux.cpp:
1780         (WebCore::FontCache::getFontDataForCharacters):
1781
1782 2009-06-25  Albert J. Wong  <ajwong@chromium.org>
1783
1784         Reviewed by David Levin.
1785
1786         https://bugs.webkit.org/show_bug.cgi?id=26566
1787         Upstream these files from the chromium v8 code.  No tests were
1788         affected because this is essentially a code move.
1789
1790         * bindings/v8/NPV8Object.cpp: Added.
1791         (allocV8NPObject):
1792         (freeV8NPObject):
1793         (listFromVariantArgs):
1794         (npIdentifierToV8Identifier):
1795         (npCreateV8ScriptObject):
1796         (NPN_Invoke):
1797         (NPN_InvokeDefault):
1798         (NPN_Evaluate):
1799         (NPN_EvaluateHelper):
1800         (NPN_GetProperty):
1801         (NPN_SetProperty):
1802         (NPN_RemoveProperty):
1803         (NPN_HasProperty):
1804         (NPN_HasMethod):
1805         (NPN_SetException):
1806         (NPN_Enumerate):
1807         (NPN_Construct):
1808         * bindings/v8/NPV8Object.h: Added.
1809         (PrivateIdentifier::):
1810         * bindings/v8/V8NPUtils.cpp: Added.
1811         (convertV8ObjectToNPVariant):
1812         (convertNPVariantToV8Object):
1813         (getStringIdentifier):
1814         * bindings/v8/V8NPUtils.h: Added.
1815
1816 2009-06-25  Shinichiro Hamaji  <hamaji@chromium.org>
1817
1818         Reviewed by Dimitri Glazkov.
1819
1820         https://bugs.webkit.org/show_bug.cgi?id=26436
1821
1822         Windows Chromium bug fix: save context of destination canvas in
1823         TransparencyWin::compositeTextComposite() before the function
1824         modifies the context.
1825
1826         Test: fast/canvas/translate-text.html
1827
1828         * platform/graphics/chromium/TransparencyWin.cpp:
1829         (WebCore::TransparencyWin::compositeTextComposite):
1830
1831 2009-06-25  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
1832
1833         Reviewed by Timothy Hatcher.
1834
1835         Show the filename and first line for "(program)" in the Profiler/Debugger
1836         https://bugs.webkit.org/show_bug.cgi?id=25475
1837
1838         Add support to associate a sourceURL with an eval()'d string
1839         via a @sourceURL comment.  Currently the sourceURL is only available
1840         in the script debugger, not in the console or profiler, but it's
1841         most needed in the script debugger.
1842
1843         * English.lproj/localizedStrings.js: added new "(program): %s" string
1844         * inspector/front-end/Script.js:
1845         (WebInspector.Script): if no sourceURL is available for the Script,
1846         search for a comment of the form //@ sourceURL=(url) to use
1847         as the sourceURL instead.
1848         * manual-tests/inspector/named-evals.html: Added.
1849
1850 2009-06-25  John Gregg  <johnnyg@google.com>
1851
1852         Reviewed by Sam Weinig.
1853
1854         Bug 23721: Changing dropdown's selectedIndex within onchange handler fires another onchange
1855         https://bugs.webkit.org/show_bug.cgi?id=23721
1856
1857         onchange events fire when a SELECT element has
1858         focus and the selectedIndex is updated by script in some way--either
1859         during another onchange, onkeypress, onfocus, or timer--and then
1860         focus is lost. 
1861
1862         Fixed by making a separate method for user-driven selectedIndex 
1863         changes, leaving scripts to use one which doesn't cause onchange to
1864         be queued.
1865         
1866         Test: fast/forms/select-script-onchange.html
1867
1868         * dom/SelectElement.cpp: check if the pending change is user driven
1869         before calling onchange
1870         (WebCore::SelectElement::menuListOnChange):
1871         (WebCore::SelectElement::setSelectedIndex):
1872         * dom/SelectElement.h: store whether the pending change is user driven
1873         (WebCore::SelectElementData::userDrivenChange):
1874         (WebCore::SelectElementData::setUserDrivenChange):
1875         * html/HTMLSelectElement.cpp: split into two methods -- script version
1876         [non-user-driven] corresponds to IDL defined property name
1877         (WebCore::HTMLSelectElement::setSelectedIndex):
1878         (WebCore::HTMLSelectElement::setSelectedIndexByUser):
1879         * html/HTMLSelectElement.h: 
1880         * rendering/RenderMenuList.cpp: use ByUser method when coming through
1881         the renderer
1882         (WebCore::RenderMenuList::valueChanged):
1883
1884 2009-06-25  Jeremy Orlow  <jorlow@chromium.org>
1885
1886         Reviewed by Darin Fisher.
1887
1888         https://bugs.webkit.org/show_bug.cgi?id=26698
1889
1890         Combined LocalStorageArea and SessionStorageArea into StorageArea since
1891         (after my other refactorings) there are no longer substantial
1892         differences between the two.
1893
1894         * GNUmakefile.am:
1895         * WebCore.vcproj/WebCore.vcproj:
1896         * WebCore.xcodeproj/project.pbxproj:
1897         * WebCoreSources.bkl:
1898         * storage/LocalStorage.cpp:
1899         (WebCore::LocalStorage::storageArea):
1900         * storage/LocalStorage.h:
1901         * storage/LocalStorageArea.cpp: Removed.
1902         * storage/LocalStorageArea.h: Removed.
1903         * storage/SessionStorage.cpp:
1904         (WebCore::SessionStorage::copy):
1905         (WebCore::SessionStorage::storageArea):
1906         * storage/SessionStorage.h:
1907         * storage/SessionStorageArea.cpp: Removed.
1908         * storage/SessionStorageArea.h: Removed.
1909         * storage/StorageArea.cpp:
1910         (WebCore::StorageArea::createLocalStorage):
1911         (WebCore::StorageArea::StorageArea):
1912         (WebCore::StorageArea::createSessionStorage):
1913         (WebCore::StorageArea::copy):
1914         (WebCore::StorageArea::setItem):
1915         (WebCore::StorageArea::removeItem):
1916         (WebCore::StorageArea::clear):
1917         (WebCore::StorageArea::scheduleFinalSync):
1918         (WebCore::StorageArea::blockUntilImportComplete):
1919         (WebCore::StorageArea::dispatchStorageEvent):
1920         * storage/StorageArea.h:
1921         * storage/StorageAreaSync.cpp:
1922         (WebCore::StorageAreaSync::StorageAreaSync):
1923         (WebCore::StorageAreaSync::scheduleFinalSync):
1924         (WebCore::StorageAreaSync::syncTimerFired):
1925         (WebCore::StorageAreaSync::performImport):
1926         * storage/StorageAreaSync.h:
1927         * storage/StorageSyncManager.h:
1928
1929 2009-06-25  Dan Bernstein  <mitz@apple.com>
1930
1931         Reviewed by Darin Adler.
1932
1933         - fix https://bugs.webkit.org/show_bug.cgi?id=26671
1934           <rdar://problem/7001880> Safari 4.0 crashes in
1935           WebCore::DOMTimer::fired()
1936
1937         Test: fast/dom/style-sheet-candidate-remove-unrendered-document.html
1938
1939         When a "style sheet candidate" element is removed from a document,
1940         call Document::removeStyleSheetCandidateNode() regardless of whether
1941         the document is rendered. Otherwise, the document's style sheet
1942         candidate set can end up containing stale references.
1943
1944         * dom/ProcessingInstruction.cpp:
1945         (WebCore::ProcessingInstruction::removedFromDocument):
1946         * html/HTMLLinkElement.cpp:
1947         (WebCore::HTMLLinkElement::removedFromDocument):
1948         * html/HTMLStyleElement.cpp:
1949         (WebCore::HTMLStyleElement::removedFromDocument):
1950
1951 2009-06-25  Dimitri Glazkov  <dglazkov@chromium.org>
1952
1953         Reviewed by Darin Fisher.
1954
1955         Update CodeGeneratorV8.pm to sync up with the changes downstream.
1956
1957         * bindings/scripts/CodeGeneratorV8.pm: Added HTMLFrameSetElement check,
1958           FileList as a ref-counted type, and DataGridColumn as typeCanFailConversion.
1959
1960 2009-06-25  Dimitri Glazkov  <dglazkov@chromium.org>
1961
1962         Unreviewed, build fix.
1963
1964         Add FileList.h include to fix Chromium build.
1965
1966         * platform/chromium/ClipboardChromium.cpp: Added FileList.h include.
1967
1968 2009-06-25  Joseph Pecoraro  <joepeck02@gmail.com>
1969
1970         Reviewed by Jan Alonzo.
1971
1972         Bug 26489: Web Inspector: Typo in DatabaseQuery Error Message
1973         https://bugs.webkit.org/show_bug.cgi?id=26489
1974
1975         Fixed a Typo in a Web Inspector error message.
1976
1977         * English.lproj/localizedStrings.js:
1978         * inspector/front-end/DatabaseQueryView.js:
1979         (WebInspector.DatabaseQueryView.prototype._queryError):
1980
1981 2009-06-25  Simon Hausmann  <simon.hausmann@nokia.com>
1982
1983         Fix the Qt build, add missing StorageAreaSync files to the build.
1984
1985         * WebCore.pro:
1986
1987 2009-06-25  Simon Hausmann  <simon.hausmann@nokia.com>
1988
1989         Reviewed by and done with Tor Arne Vestbø.
1990
1991         Fix shortcut keyboard handling with plugins on the Qt/Mac build.
1992
1993         When we receive shortcut events like Ctrl+V then the text in the QKeyEvent is
1994         empty. If we're asked to disambiguate the event into a Char keyboard event,
1995         we try to detect this situation and still set the text, to ensure that the
1996         general event handling sends a key press event after this disambiguation.
1997
1998         * platform/qt/PlatformKeyboardEventQt.cpp:
1999         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
2000
2001 2009-06-25  Eric Seidel  <eric@webkit.org>
2002
2003         Build fix only, no review.
2004
2005         Add FileList.h and NotImplemented.h includes in an attempt to fix bots.
2006
2007         * platform/gtk/ClipboardGtk.cpp:
2008         * platform/qt/ClipboardQt.cpp:
2009         * platform/win/ClipboardWin.cpp:
2010         * platform/wx/ClipboardWx.cpp:
2011
2012 2009-05-21  Eric Seidel  <eric@webkit.org>
2013
2014         Reviewed by Maciej Stachowiak.
2015
2016         Expose files in the clipboard in ondrop events
2017         https://bugs.webkit.org/show_bug.cgi?id=25916
2018
2019         Make it possible for applications like gmail to implement
2020         drag and drop of attachments onto email messages.
2021
2022         This patch exposes an event.dataTransfer.files accessor
2023         on the drop event.  No information is exposed during dragover.
2024         This follows the HTML 5 drag and drop security model:
2025         http://www.w3.org/TR/html5/editing.html#security-risks-in-the-drag-and-drop-model
2026         The test http/tests/security/clipboard/clipboard-file-access.html
2027         verifies this behavior.
2028
2029         Internet Explorer shows historical documentation of supporting
2030         getData('File') as a way of exposing files on the pasteboard.  The current version of their docs:
2031         http://msdn.microsoft.com/en-us/library/ms537658(VS.85).aspx
2032         has removed this reference (as far as I can tell IE never implemented it)
2033         I have a printed copy of that URL from 2008 on my desk describing getData('File') in IE.
2034         IE does not follow the HTML5 clipboard security model and always allows access to the full clipboard, even on dragover.
2035
2036         I choose not to use IE's getData('File') and instead added .files
2037         so that the accessor could have a type, matching WebKit's existing
2038         .files accessor on HTMLInputElement.
2039
2040         Mozilla has equivalent file access:
2041         event.dataTransfer.mozGetDataAt("application/x-moz-file", 0);
2042         which also does not return a typed value.
2043         https://developer.mozilla.org/En/DragDrop/Recommended_Drag_Types#Dragging_Files
2044
2045         This is only implemented for Mac WebKit.  All other platforms (including Apple's Win WebKit)
2046         have incomplete Clipboard implementations and will require experts from those platforms
2047         to add this functionality.  Right now they all have Clipboard*::files() methods which call notImplemented();
2048
2049         Test: http/tests/security/clipboard/clipboard-file-access.html
2050
2051         * dom/Clipboard.h:
2052         * dom/Clipboard.idl:
2053         * platform/chromium/ClipboardChromium.cpp:
2054         (WebCore::ClipboardChromium::files):
2055         * platform/chromium/ClipboardChromium.h:
2056         * platform/gtk/ClipboardGtk.cpp:
2057         (WebCore::ClipboardGtk::files):
2058         * platform/gtk/ClipboardGtk.h:
2059         * platform/mac/ClipboardMac.h:
2060         * platform/mac/ClipboardMac.mm:
2061         (WebCore::absoluteURLsFromPasteboardFilenames):
2062         (WebCore::absoluteURLsFromPasteboard):
2063         (WebCore::ClipboardMac::files):
2064         * platform/qt/ClipboardQt.cpp:
2065         (WebCore::ClipboardQt::files):
2066         * platform/qt/ClipboardQt.h:
2067         * platform/win/ClipboardWin.cpp:
2068         (WebCore::ClipboardWin::files):
2069         * platform/win/ClipboardWin.h:
2070         * platform/wx/ClipboardWx.cpp:
2071         (WebCore::ClipboardWx::files):
2072         * platform/wx/ClipboardWx.h:
2073
2074 2009-06-25  Eric Seidel  <eric@webkit.org>
2075
2076         No review, only completing revert of r45144.
2077
2078         Add back files deleted by r45144.
2079
2080         * storage/LocalStorageArea.cpp: Added.
2081         (WebCore::LocalStorageArea::create):
2082         (WebCore::LocalStorageArea::LocalStorageArea):
2083         (WebCore::LocalStorageArea::scheduleFinalSync):
2084         (WebCore::LocalStorageArea::itemChanged):
2085         (WebCore::LocalStorageArea::itemRemoved):
2086         (WebCore::LocalStorageArea::areaCleared):
2087         (WebCore::LocalStorageArea::blockUntilImportComplete):
2088         (WebCore::LocalStorageArea::dispatchStorageEvent):
2089         * storage/LocalStorageArea.h: Added.
2090         * storage/SessionStorageArea.cpp: Added.
2091         (WebCore::SessionStorageArea::copy):
2092         (WebCore::SessionStorageArea::SessionStorageArea):
2093         (WebCore::SessionStorageArea::itemChanged):
2094         (WebCore::SessionStorageArea::itemRemoved):
2095         (WebCore::SessionStorageArea::areaCleared):
2096         (WebCore::SessionStorageArea::blockUntilImportComplete):
2097         (WebCore::SessionStorageArea::dispatchStorageEvent):
2098         * storage/SessionStorageArea.h: Added.
2099         (WebCore::SessionStorageArea::create):
2100
2101 2009-06-25  Eric Seidel  <eric@webkit.org>
2102
2103         No review, reverting r45144 only.
2104
2105         Roll out r45144 after 18 test failures appeared on the bots.
2106         https://bugs.webkit.org/show_bug.cgi?id=26698
2107
2108         * GNUmakefile.am:
2109         * WebCore.vcproj/WebCore.vcproj:
2110         * WebCore.xcodeproj/project.pbxproj:
2111         * WebCoreSources.bkl:
2112         * storage/LocalStorage.cpp:
2113         (WebCore::LocalStorage::storageArea):
2114         * storage/LocalStorage.h:
2115         * storage/SessionStorage.cpp:
2116         (WebCore::SessionStorage::copy):
2117         (WebCore::SessionStorage::storageArea):
2118         * storage/SessionStorage.h:
2119         * storage/StorageArea.cpp:
2120         (WebCore::StorageArea::StorageArea):
2121         (WebCore::StorageArea::~StorageArea):
2122         (WebCore::StorageArea::setItem):
2123         (WebCore::StorageArea::removeItem):
2124         (WebCore::StorageArea::clear):
2125         * storage/StorageArea.h:
2126         * storage/StorageAreaSync.cpp:
2127         (WebCore::StorageAreaSync::StorageAreaSync):
2128         (WebCore::StorageAreaSync::scheduleFinalSync):
2129         (WebCore::StorageAreaSync::syncTimerFired):
2130         (WebCore::StorageAreaSync::performImport):
2131         * storage/StorageAreaSync.h:
2132         * storage/StorageSyncManager.h:
2133
2134 2009-06-24  Jeremy Orlow  <jorlow@chromium.org>
2135
2136         Reviewed by Darin Fisher.
2137
2138         https://bugs.webkit.org/show_bug.cgi?id=26698
2139
2140         Combined LocalStorageArea and SessionStorageArea into StorageArea since
2141         (after my other refactorings) there are no longer substantial
2142         differences between the two.
2143
2144         * GNUmakefile.am:
2145         * WebCore.vcproj/WebCore.vcproj:
2146         * WebCore.xcodeproj/project.pbxproj:
2147         * WebCoreSources.bkl:
2148         * storage/LocalStorage.cpp:
2149         (WebCore::LocalStorage::storageArea):
2150         * storage/LocalStorage.h:
2151         * storage/LocalStorageArea.cpp: Removed.
2152         * storage/LocalStorageArea.h: Removed.
2153         * storage/SessionStorage.cpp:
2154         (WebCore::SessionStorage::copy):
2155         (WebCore::SessionStorage::storageArea):
2156         * storage/SessionStorage.h:
2157         * storage/SessionStorageArea.cpp: Removed.
2158         * storage/SessionStorageArea.h: Removed.
2159         * storage/StorageArea.cpp:
2160         (WebCore::StorageArea::createLocalStorage):
2161         (WebCore::StorageArea::StorageArea):
2162         (WebCore::StorageArea::createSessionStorage):
2163         (WebCore::StorageArea::copy):
2164         (WebCore::StorageArea::setItem):
2165         (WebCore::StorageArea::removeItem):
2166         (WebCore::StorageArea::clear):
2167         (WebCore::StorageArea::scheduleFinalSync):
2168         (WebCore::StorageArea::blockUntilImportComplete):
2169         (WebCore::StorageArea::dispatchStorageEvent):
2170         * storage/StorageArea.h:
2171         * storage/StorageAreaSync.cpp:
2172         (WebCore::StorageAreaSync::StorageAreaSync):
2173         (WebCore::StorageAreaSync::scheduleFinalSync):
2174         (WebCore::StorageAreaSync::syncTimerFired):
2175         (WebCore::StorageAreaSync::performImport):
2176         * storage/StorageAreaSync.h:
2177         * storage/StorageSyncManager.h:
2178
2179 2009-06-24  Dan Bernstein  <mitz@apple.com>
2180
2181         Reviewed by Simon Fraser.
2182
2183         - fix <rdar://problem/7001817> REGRESSION (r41902): Base position track
2184           at UCSC Genome Browser doesn't work because image map prevents img
2185           from hit-testing
2186
2187         Test: fast/replaced/image-map-2.html
2188
2189         * rendering/RenderImage.cpp:
2190         (WebCore::RenderImage::nodeAtPoint): Do not reset 'inside' to false if
2191         the image map failed the hit test.
2192
2193 2009-06-22  Adam Barth  <abarth@webkit.org>
2194
2195         Reviewed by Dimitri Glazkov.
2196
2197         https://bugs.webkit.org/show_bug.cgi?id=26366
2198
2199         Refactor V8DOMMap to support isolated worlds.
2200
2201         * bindings/v8/ScriptController.cpp:
2202         (WebCore::ScriptController::evaluateInNewWorld):
2203         * bindings/v8/ScriptController.h:
2204         * bindings/v8/V8DOMMap.cpp:
2205         (WebCore::DOMDataStore::InternalDOMWrapperMap::InternalDOMWrapperMap):
2206         (WebCore::DOMDataStore::allStores):
2207         (WebCore::DOMDataStore::allStoresMutex):
2208         (WebCore::DOMDataStore::domData):
2209         (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
2210         (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
2211         (WebCore::StaticDOMDataStore::StaticDOMDataStore):
2212         (WebCore::):
2213         (WebCore::MainThreadDOMData::MainThreadDOMData):
2214         (WebCore::MainThreadDOMData::getStore):
2215         (WebCore::ChildThreadDOMData::ChildThreadDOMData):
2216         (WebCore::ChildThreadDOMData::getStore):
2217         (WebCore::DOMDataStore::DOMDataStore):
2218         (WebCore::DOMDataStore::~DOMDataStore):
2219         (WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
2220         (WebCore::DOMDataStoreHandle::~DOMDataStoreHandle):
2221         (WebCore::::forget):
2222         (WebCore::getDOMNodeMap):
2223         (WebCore::getDOMObjectMap):
2224         (WebCore::getActiveDOMObjectMap):
2225         (WebCore::getDOMSVGElementInstanceMap):
2226         (WebCore::getDOMSVGObjectWithContextMap):
2227         (WebCore::DOMData::getCurrent):
2228         (WebCore::DOMData::handleWeakObject):
2229         (WebCore::DOMData::ensureDeref):
2230         (WebCore::weakDOMObjectCallback):
2231         (WebCore::weakActiveDOMObjectCallback):
2232         (WebCore::weakNodeCallback):
2233         (WebCore::weakSVGElementInstanceCallback):
2234         (WebCore::weakSVGObjectWithContextCallback):
2235         (WebCore::DOMData::derefObject):
2236         (WebCore::DOMData::derefDelayedObjects):
2237         (WebCore::DOMData::derefDelayedObjectsInCurrentThread):
2238         (WebCore::DOMData::removeObjectsFromWrapperMap):
2239         (WebCore::removeAllDOMObjectsInCurrentThreadHelper):
2240         (WebCore::visitDOMNodesInCurrentThread):
2241         (WebCore::visitDOMObjectsInCurrentThread):
2242         (WebCore::visitActiveDOMObjectsInCurrentThread):
2243         (WebCore::visitDOMSVGElementInstancesInCurrentThread):
2244         (WebCore::visitSVGObjectsInCurrentThread):
2245         * bindings/v8/V8DOMMap.h:
2246         (WebCore::DOMDataStoreHandle::getStore):
2247         * bindings/v8/V8IsolatedWorld.cpp: Added.
2248         (WebCore::getIsolatedWorldKey):
2249         (WebCore::contextWeakReferenceCallback):
2250         (WebCore::V8IsolatedWorld::evaluate):
2251         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
2252         (WebCore::V8IsolatedWorld::~V8IsolatedWorld):
2253         (WebCore::V8IsolatedWorld::getEntered):
2254         * bindings/v8/V8IsolatedWorld.h: Added.
2255         (WebCore::V8IsolatedWorld::getDOMDataStore):
2256
2257 2009-06-24  Mikhail Naganov  <mnaganov@chromium.org>
2258
2259         Reviewed by Timothy Hatcher.
2260
2261         Bug 26604: Search doesn't work in Web Inspector Profiler
2262         https://bugs.webkit.org/show_bug.cgi?id=26604
2263
2264         Seems like search was damaged in revision 42808.
2265
2266         * inspector/front-end/ProfileView.js:
2267         (WebInspector.ProfileView.prototype.refresh):
2268         Here and in other functions: nodes we're searching in are profile data grid
2269         nodes, so there is no more need for '_dataGridNode' references.
2270         (WebInspector.ProfileView.prototype.searchCanceled):
2271         (WebInspector.ProfileView.prototype.performSearch.matchesQuery):
2272         Fixed accidental semicolon that caused 'matchesQuery' always return true.
2273         (WebInspector.ProfileView.prototype.performSearch):
2274         To perform search correctly in the case of bottom up tree, we need to populate
2275         the tree, because there's no 1-to-1 correspondence between profile nodes and
2276         data grid nodes in this case.
2277         (WebInspector.ProfileView.prototype._jumpToSearchResult):
2278
2279 2009-06-24  Simon Fraser  <simon.fraser@apple.com>
2280
2281         Reviewed by Darin Adler.
2282         
2283         <rdar://problem/6450239&6574516>
2284     
2285         Fix flashing issues caused by compositing layers rendering content before
2286         a deferred layout has happened. Because the -viewWillDraw machinery doesn't
2287         work for composited layers, we need to use scheduleViewUpdate() to queue
2288         up a layout via the run loop observer in WebKit, whenever we know we
2289         are going to be painting soon.
2290
2291         * rendering/RenderLayerBacking.cpp:
2292         (WebCore::RenderLayerBacking::setContentsNeedDisplay):
2293         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
2294
2295 2009-06-24  David Levin  <levin@chromium.org>
2296
2297         Fix all builds.
2298
2299         * ForwardingHeaders/wtf/FastAllocBase.h: Added.
2300
2301 2009-06-24  Jeremy Orlow  <jorlow@chromium.org>
2302
2303         Reviewed by Darin Fisher.
2304
2305         https://bugs.webkit.org/show_bug.cgi?id=26658
2306
2307         Split the syncing portions of LocalStorageArea into StorageAreaSync.
2308         This name will make more sense in the next patch (in this set) when
2309         LocalStorageArea and SessionStorageArea are merged to become simply
2310         StorageArea.  (Thus the synching portion of StorageArea is in
2311         StorageAreaSync.)
2312
2313         This looks like a big patch, but really all it's doing is splitting
2314         code and patching split-related things up.
2315
2316         * GNUmakefile.am:
2317         * WebCore.vcproj/WebCore.vcproj:
2318         * WebCore.xcodeproj/project.pbxproj:
2319         * WebCoreSources.bkl:
2320         * storage/LocalStorageArea.cpp:
2321         (WebCore::LocalStorageArea::create):
2322         (WebCore::LocalStorageArea::LocalStorageArea):
2323         (WebCore::LocalStorageArea::scheduleFinalSync):
2324         (WebCore::LocalStorageArea::itemChanged):
2325         (WebCore::LocalStorageArea::itemRemoved):
2326         (WebCore::LocalStorageArea::areaCleared):
2327         (WebCore::LocalStorageArea::blockUntilImportComplete):
2328         * storage/LocalStorageArea.h:
2329         * storage/LocalStorageTask.cpp:
2330         (WebCore::LocalStorageTask::LocalStorageTask):
2331         * storage/LocalStorageTask.h:
2332         (WebCore::LocalStorageTask::createImport):
2333         (WebCore::LocalStorageTask::createSync):
2334         * storage/LocalStorageThread.cpp:
2335         (WebCore::LocalStorageThread::scheduleImport):
2336         (WebCore::LocalStorageThread::scheduleSync):
2337         * storage/LocalStorageThread.h:
2338         * storage/SessionStorageArea.cpp:
2339         (WebCore::SessionStorageArea::blockUntilImportComplete):
2340         * storage/SessionStorageArea.h:
2341         * storage/StorageArea.h:
2342         * storage/StorageAreaSync.cpp: Copied from WebCore/storage/LocalStorageArea.cpp.
2343         * storage/StorageAreaSync.h: Copied from WebCore/storage/LocalStorageArea.h.
2344         * storage/StorageSyncManager.cpp:
2345         (WebCore::StorageSyncManager::scheduleImport):
2346         (WebCore::StorageSyncManager::scheduleSync):
2347         * storage/StorageSyncManager.h:
2348
2349 2009-06-24  Adam Treat  <adam.treat@torchmobile.com>
2350
2351         Fix Qt build.
2352
2353         * WebCore.pro:
2354
2355 2009-06-24  David Levin  <levin@chromium.org>
2356
2357         Reviewed by David Hyatt.
2358
2359         Bug 26696: Member functions in DataGridColumnList should return pointers instead of PassRefPtr.
2360         https://bugs.webkit.org/show_bug.cgi?id=26696
2361
2362         * html/DataGridColumnList.cpp:
2363         (WebCore::DataGridColumnList::itemWithName):
2364         (WebCore::DataGridColumnList::add):
2365         * html/DataGridColumnList.h:
2366         (WebCore::DataGridColumnList::item):
2367         (WebCore::DataGridColumnList::primaryColumn):
2368         (WebCore::DataGridColumnList::sortColumn):
2369
2370 2009-06-24  Sam Weinig  <sam@webkit.org>
2371
2372         Reviewed by Dave "Messy" Hyatt.
2373
2374         Little bit of style cleanup.
2375
2376         * html/DataGridColumn.cpp:
2377         * html/DataGridColumn.h:
2378         * html/DataGridColumn.idl:
2379         * html/DataGridColumnList.cpp:
2380         * html/DataGridColumnList.h:
2381         * html/DataGridColumnList.idl:
2382         * html/HTMLDataGridCellElement.cpp:
2383         * html/HTMLDataGridCellElement.h:
2384         * html/HTMLDataGridCellElement.idl:
2385         * html/HTMLDataGridColElement.cpp:
2386         * html/HTMLDataGridColElement.h:
2387         * html/HTMLDataGridColElement.idl:
2388         * html/HTMLDataGridElement.h:
2389         * html/HTMLDataGridElement.idl:
2390         * html/HTMLDataGridRowElement.cpp:
2391         * html/HTMLDataGridRowElement.h:
2392         * html/HTMLDataGridRowElement.idl:
2393
2394 2009-06-24  Chris Fleizach  <cfleizach@apple.com>
2395
2396         Reviewed by Oliver Hunt.
2397
2398         Bug 26668: AX: need a way to retrieve the language for an element
2399         
2400         Provides a way to retrieve the language associated with a specific accessibility element.
2401
2402         Test: accessibility/language-attribute.html
2403
2404         * accessibility/AccessibilityObject.cpp:
2405         (WebCore::AccessibilityObject::language):
2406         * accessibility/AccessibilityObject.h:
2407         * accessibility/AccessibilityRenderObject.cpp:
2408         (WebCore::AccessibilityRenderObject::language):
2409         * accessibility/AccessibilityRenderObject.h:
2410         * accessibility/mac/AccessibilityObjectWrapper.mm:
2411         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2412
2413 2009-06-24  Brady Eidson  <beidson@apple.com>
2414
2415         Reviewed by Dan Bernstein.
2416         
2417         <rdar://problem/6893811> Instead of downloading files linked from Google Earth, file contents displayed in browser window as text.
2418
2419         * platform/network/mac/WebCoreURLResponse.mm:
2420         (createBinaryExtensionsSet): Add '.kmz' to the list of known-to-be-binary extensions.
2421
2422 2009-06-24  Nicolas Weber  <thakis@chromium.org>
2423
2424         Reviewed by Eric Seidel.
2425
2426         https://bugs.webkit.org/show_bug.cgi?id=26685
2427         Accomodate for backwards-incompatible skia api changes.
2428
2429         * platform/graphics/skia/GraphicsContextSkia.cpp:
2430         (WebCore::GraphicsContext::clearRect):
2431         (WebCore::GraphicsContext::setCompositeOperation):
2432         * platform/graphics/skia/ImageBufferSkia.cpp:
2433         (WebCore::ImageBuffer::ImageBuffer):
2434         * platform/graphics/skia/ImageSkia.cpp:
2435         (WebCore::paintSkBitmap):
2436         (WebCore::Image::drawPattern):
2437         * platform/graphics/skia/PlatformContextSkia.cpp:
2438         (PlatformContextSkia::State::State):
2439         (PlatformContextSkia::setupPaintCommon):
2440         (PlatformContextSkia::setXfermodeMode):
2441         (PlatformContextSkia::applyClipFromImage):
2442         * platform/graphics/skia/PlatformContextSkia.h:
2443         * platform/graphics/skia/SkiaUtils.cpp:
2444         (WebCore::):
2445         (WebCore::WebCoreCompositeToSkiaComposite):
2446         * platform/graphics/skia/SkiaUtils.h:
2447
2448 2009-06-24  Jan Michael Alonzo  <jmalonzo@webkit.org>
2449
2450         Gtk build fix. Add files that were added in r45093 and r45096
2451
2452         * GNUmakefile.am:
2453
2454 2009-06-24  Brady Eidson  <beidson@apple.com>
2455
2456         Fix 64-bit SnowLeopard build.
2457
2458         * html/DataGridColumnList.cpp:
2459         (WebCore::DataGridColumnList::remove):
2460         (WebCore::DataGridColumnList::move):
2461
2462 2009-06-24  Rob Buis  <rwlbuis@gmail.com>
2463
2464         Reviewed by Eric Seidel.
2465
2466         https://bugs.webkit.org/show_bug.cgi?id=26392
2467         Bug 26392: In html, modification of xlink:href of an newly inserted svg image does not work.
2468         https://bugs.webkit.org/show_bug.cgi?id=26328
2469         Bug 26328: changing href attribute of svg images does not work when changing display attribute as well
2470
2471         React to href updates even when there is no renderer, i.e. display=none.
2472
2473         Tests: svg/custom/js-update-image-and-display.svg
2474                svg/custom/js-update-image-and-display2.svg
2475                svg/custom/js-update-image-and-display3.svg
2476
2477         * svg/SVGImageElement.cpp:
2478         (WebCore::SVGImageElement::svgAttributeChanged):
2479
2480 2009-06-24  David Hyatt  <hyatt@apple.com>
2481
2482         Reviewed by Sam Weinig.
2483
2484         https://bugs.webkit.org/show_bug.cgi?id=26687
2485
2486         Add basic back-end column support to datagrid.
2487
2488         Added fast/dom/HTMLDataGridElement/ column tests.
2489
2490         * DerivedSources.cpp:
2491         * DerivedSources.make:
2492         * WebCore.pro:
2493         * WebCore.vcproj/WebCore.vcproj:
2494         * WebCore.xcodeproj/project.pbxproj:
2495         * WebCoreSources.bkl:
2496         * html/DataGridColumn.cpp: Added.
2497         (WebCore::DataGridColumn::setPrimary):
2498         * html/DataGridColumn.h: Added.
2499         (WebCore::DataGridColumn::create):
2500         (WebCore::DataGridColumn::id):
2501         (WebCore::DataGridColumn::setId):
2502         (WebCore::DataGridColumn::label):
2503         (WebCore::DataGridColumn::setLabel):
2504         (WebCore::DataGridColumn::type):
2505         (WebCore::DataGridColumn::setType):
2506         (WebCore::DataGridColumn::sortable):
2507         (WebCore::DataGridColumn::setSortable):
2508         (WebCore::DataGridColumn::sortDirection):
2509         (WebCore::DataGridColumn::setSortDirection):
2510         (WebCore::DataGridColumn::primary):
2511         (WebCore::DataGridColumn::detachFromColumnList):
2512         (WebCore::DataGridColumn::DataGridColumn):
2513         * html/DataGridColumn.idl: Added.
2514         * html/DataGridColumnList.cpp: Added.
2515         (WebCore::DataGridColumnList::~DataGridColumnList):
2516         (WebCore::DataGridColumnList::itemWithName):
2517         (WebCore::DataGridColumnList::add):
2518         (WebCore::DataGridColumnList::remove):
2519         (WebCore::DataGridColumnList::move):
2520         (WebCore::DataGridColumnList::clear):
2521         (WebCore::DataGridColumnList::primaryColumnChanged):
2522         * html/DataGridColumnList.h: Added.
2523         (WebCore::DataGridColumnList::create):
2524         (WebCore::DataGridColumnList::length):
2525         (WebCore::DataGridColumnList::item):
2526         (WebCore::DataGridColumnList::primaryColumn):
2527         (WebCore::DataGridColumnList::sortColumn):
2528         * html/DataGridColumnList.idl: Added.
2529         * html/HTMLDataGridColElement.cpp:
2530         (WebCore::HTMLDataGridColElement::sortable):
2531         (WebCore::HTMLDataGridColElement::setSortable):
2532         (WebCore::HTMLDataGridColElement::sortDirection):
2533         (WebCore::HTMLDataGridColElement::setSortDirection):
2534         * html/HTMLDataGridColElement.h:
2535         * html/HTMLDataGridColElement.idl:
2536         * html/HTMLDataGridElement.cpp:
2537         (WebCore::HTMLDataGridElement::HTMLDataGridElement):
2538         * html/HTMLDataGridElement.h:
2539         (WebCore::HTMLDataGridElement::columns):
2540         * html/HTMLDataGridElement.idl:
2541         * rendering/RenderDataGrid.cpp:
2542         (WebCore::RenderDataGrid::paintObject):
2543         (WebCore::RenderDataGrid::paintColumnHeaders):
2544         (WebCore::RenderDataGrid::rebuildColumns):
2545         * rendering/RenderDataGrid.h:
2546         (WebCore::RenderDataGrid::gridElement):
2547
2548 2009-06-24  Jessie Berlin  <jberlin@apple.com>
2549
2550         Reviewed by Adam Roben.
2551
2552         Partially fixes: https://bugs.webkit.org/show_bug.cgi?id=24735
2553         (<rdar://problem/5015942>)
2554         Where on windows it was not possible to set an element as the drag
2555         image using setDragImage on the dataTransfer object.
2556         
2557         Does not "fix" the case of dragging a link where the default link image
2558         is still used, even when the -webkit-user-drag is set to "element". This
2559         is the same behavior as is found on OS X.
2560         
2561         Added a manual test because it is not possible to check that what is
2562         contained in the image snapshot is indeed the requested element.
2563
2564         * dom/Clipboard.h:
2565         (WebCore::Clipboard::dragImageElement):
2566         Made getting the raw pointer from the RefPtr a const operation.
2567         * manual-tests/drag-with-div-or-image-as-data-image.html: Added.
2568         * platform/win/ClipboardWin.cpp:
2569         (WebCore::ClipboardWin::createDragImage):
2570         Get an image of the rendered element and its subtree.
2571
2572 2009-06-24  Darin Fisher  <darin@chromium.org>
2573
2574         Reviewed by David Levin.
2575
2576         https://bugs.webkit.org/show_bug.cgi?id=26683
2577         Fix Chromium build bustage: Add custom binding for HTMLDataGridElement.dataSource
2578
2579         This change just adds a stub implementation for now to help fix the build.
2580
2581         * bindings/v8/custom/V8CustomBinding.h:
2582         * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Added.
2583
2584 2009-06-24  David Kilzer  <ddkilzer@apple.com>
2585
2586         Build fixes for ENABLE(PLUGIN_PROXY_FOR_VIDEO)
2587
2588         Reviewed by Adam Roben.
2589
2590         * html/HTMLMediaElement.cpp:
2591         (WebCore::HTMLMediaElement::deliverNotification): Removed
2592         ExceptionCode parameter from togglePlayState().
2593         (WebCore::HTMLMediaElement::initialURL): Don't convert a KURL
2594         object to a String when assigning to a KURL variable.
2595
2596 2009-06-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2597
2598         Reviewed by Adam Treat.
2599
2600         Save memory by not storing attribute values in member variables, if not absolutely needed.
2601         Also fixes bugs where we're substituting variables too early (noticeable with the upcoming <select> element).
2602
2603         * wml/WMLDoElement.cpp:
2604         (WebCore::WMLDoElement::parseMappedAttribute):
2605         (WebCore::WMLDoElement::label):
2606         * wml/WMLDoElement.h:
2607         * wml/WMLFieldSetElement.cpp:
2608         (WebCore::WMLFieldSetElement::insertedIntoDocument):
2609         * wml/WMLFieldSetElement.h:
2610         * wml/WMLOptGroupElement.cpp:
2611         (WebCore::WMLOptGroupElement::title):
2612         (WebCore::WMLOptGroupElement::parseMappedAttribute):
2613         (WebCore::WMLOptGroupElement::groupLabelText):
2614         * wml/WMLOptGroupElement.h:
2615         * wml/WMLPostfieldElement.cpp:
2616         (WebCore::WMLPostfieldElement::name):
2617         (WebCore::WMLPostfieldElement::value):
2618         (WebCore::WMLPostfieldElement::encodeData):
2619         * wml/WMLPostfieldElement.h:
2620         * wml/WMLSetvarElement.cpp:
2621         (WebCore::WMLSetvarElement::parseMappedAttribute):
2622         (WebCore::WMLSetvarElement::name):
2623         (WebCore::WMLSetvarElement::value):
2624         * wml/WMLSetvarElement.h:
2625         * wml/WMLTimerElement.cpp:
2626         (WebCore::WMLTimerElement::parseMappedAttribute):
2627         (WebCore::WMLTimerElement::insertedIntoDocument):
2628         (WebCore::WMLTimerElement::timerFired):
2629         (WebCore::WMLTimerElement::start):
2630         (WebCore::WMLTimerElement::value):
2631         * wml/WMLTimerElement.h:
2632
2633 2009-06-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2634
2635         Reviewed by Adam Roben.
2636
2637         Forgot to initialize m_task member variable. Results in crashes sometimes.
2638
2639         * wml/WMLAnchorElement.cpp:
2640         (WebCore::WMLAnchorElement::WMLAnchorElement):
2641
2642 2009-06-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2643
2644         Not reviewed. Forgot to include within last patch.
2645
2646         * manual-tests/wml/card-title-attr.wml: Added.
2647
2648 2009-06-24  Wajahat Siddiqui <wajahatmeister@gmail.com>
2649  
2650         Reviewed by Nikolas Zimmermann.
2651
2652         Fixes: https://bugs.webkit.org/show_bug.cgi?id=26474
2653         Adding WML <card> title attribute handling.
2654
2655         * wml/WMLElement.h: marking parseValueSubstitutingVariableReferences and parseValueForbiddingVariableReferences as const
2656         * wml/WMLElement.cpp:
2657         * wml/WMLCardElement.h: 
2658         (WebCore::WMLCardElement::title):
2659         * wml/WMLCardElement.cpp:
2660         * wml/manual-test/card-title-attr.wml: Manual test  
2661  
2662 2009-06-24  Simon Hausmann  <simon.hausmann@nokia.com>
2663
2664         Reviewed by Tor Arne Vestbø.
2665
2666         Fix the build without ENABLE_VIDEO.
2667
2668         * html/CanvasRenderingContext2D.cpp: Add #if ENABLE guards.
2669         * html/CanvasRenderingContext2D.h: Ditto.
2670
2671 2009-06-24  Siddhartha Chattopadhyay  <sidchat@google.com>
2672
2673         Reviewed by Eric Seidel.
2674
2675         Fix for https://bugs.webkit.org/show_bug.cgi?id=26200 which I introduced earlier. I had
2676         the smartReplace set TRUE initially, which was wrong since the purpose of this call is
2677         to just replace the selection, and place the caret at the end of the selection it replaced.
2678
2679         * editing/Editor.cpp:
2680         (WebCore::Editor::markMisspellingsAfterTypingToPosition):
2681         * manual-tests/textarea-caret-position-after-auto-spell-correct.html: Added.
2682
2683 2009-06-24  Kevin Watters  <kevinwatters@gmail.com>
2684
2685         Reviewed by Kevin Ollivier.
2686
2687         Don't use an unsigned int for intervalInMS because we sometimes initialize
2688         it with a negative value.
2689
2690         * platform/wx/SharedTimerWx.cpp:
2691         (WebCore::setSharedTimerFireTime):
2692
2693 2009-06-24  Eric Seidel  <eric@webkit.org>
2694
2695         No review, build fix only.
2696
2697         The previous checkin had an improper merge.  This fixes the build.
2698
2699         * page/DragController.cpp:
2700         (WebCore::DragController::tryDocumentDrag):
2701
2702 2009-06-05  Eric Seidel  <eric@webkit.org>
2703
2704         Reviewed by Oliver Hunt.
2705
2706         https://bugs.webkit.org/show_bug.cgi?id=25922
2707         JS setting dropEffect = "none" causes tryDHTMLDrag
2708         to return DragOperationNone.  Which is also the value
2709         tryDHTMLDrag previously used to indicate JS did not
2710         want to handle the drag.
2711
2712         Make it possible for the DragController::try* methods
2713         to return a bool to indicate if javascript accepted
2714         or rejected the drag event, separate from the DragOperation.
2715
2716         Tests:
2717         - fast/events/drag-to-navigate.html
2718         - fast/events/prevent-drag-to-navigate.html
2719
2720         * page/DragController.cpp:
2721         (WebCore::DragController::dragEnteredOrUpdated):
2722         (WebCore::DragController::tryDocumentDrag):
2723         (WebCore::defaultOperationForDrag):
2724         (WebCore::DragController::tryDHTMLDrag):
2725         * page/DragController.h:
2726
2727 2009-06-23  Oliver Hunt  <oliver@apple.com> and Eric Carlson  <eric.carlson@apple.com>
2728
2729         Reviewed by Sam Weinig and Dave Hyatt.
2730
2731         <rdar://problem/6164797> Add Canvas API to allow drawing of <video> frames
2732         <https://bugs.webkit.org/show_bug.cgi?id=25920>
2733
2734         Add support for drawing the contents of the video element to the canvas
2735         in accordance with the current HTML5 draft.
2736
2737         Test: media/video-canvas.html
2738
2739         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2740         (WebCore::JSCanvasRenderingContext2D::drawImage):
2741           Standard custom bindings stuff we need to do for all canvas methods.
2742         * html/CanvasRenderingContext2D.cpp:
2743         (WebCore::size): Helper function for finding the size of a video element
2744         (WebCore::CanvasRenderingContext2D::checkOrigin): moved up in the file.
2745         (WebCore::CanvasRenderingContext2D::drawImage): The various overloads of HTML5's drawImage(<video>)
2746         * html/CanvasRenderingContext2D.h:
2747         * html/HTMLMediaElement.h:
2748         (WebCore::HTMLMediaElement::hasSingleSecurityOrigin):
2749           hasSingleSecurityOrigin is needed for security, currently all implementations are trivial
2750           as we force QT to maintain a single origin.
2751         * html/HTMLVideoElement.cpp:
2752         (WebCore::HTMLVideoElement::paint): 
2753             Paint routine on video so we don't have to look at MediaPlayer directly
2754         * html/HTMLVideoElement.h:
2755         * platform/graphics/MediaPlayer.cpp:
2756         (WebCore::NullMediaPlayerPrivate::hasSingleSecurityOrigin):
2757         (WebCore::MediaPlayer::hasSingleSecurityOrigin):
2758             Default implementations of hasSingleSecurityOrigin
2759         * platform/graphics/MediaPlayer.h:
2760         * platform/graphics/MediaPlayerPrivate.h:
2761         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2762         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2763         (WebCore::MediaPlayerPrivate::setUpVideoRendering):
2764             A video may need a player now even if it is not visible.
2765         (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
2766             Always return true due to restrictions we've placed on QT.
2767         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2768         (WebCore::MediaPlayerPrivate::paint):
2769             Jump through some hoops to allow windows QT to draw to an intermediate buffer.
2770             In the long term we'd like to cache the HDC, but this will do for now.
2771         (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
2772         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
2773             As for Mac we force QT to only allow same origin loads.
2774
2775 2009-06-23  Adam Langley  <agl@google.com>
2776
2777         Reviewed by Eric Seidel.
2778
2779         Chromium: Fix crash with inherited font-size in <option>
2780
2781         https://bugs.webkit.org/show_bug.cgi?id=26656
2782         http://code.google.com/p/chromium/issues/detail?id=14853
2783
2784         In r42597 (https://bugs.webkit.org/show_bug.cgi?id=25244), I changed
2785         the <select> handing for Chromium to fix a rendering bug. However,
2786         although the font-size is correctly ignored, getRowHeight wasn't
2787         updated and so was calculating the height of the rows in an
2788         inconsistent manner. This can lead to a crash.
2789
2790         * manual-tests/optgroup-empty-and-nested.html: adding test case for crash
2791         * platform/chromium/PopupMenuChromium.cpp:
2792         (WebCore::PopupListBox::getRowHeight):
2793
2794 2009-06-23  Brady Eidson  <beidson@apple.com>
2795
2796         Patch by Antti Koivisto.
2797         Reviewed by Brady Eidson.
2798
2799         <rdar://problem/6988010> Failed resources not reloaded when built against Tiger SDK
2800
2801         A latent bug that cache revalidation uncovered.  When a CachedResource failed to load,
2802         it should always be revalidated upon reload.
2803
2804         * loader/CachedResource.cpp:
2805         (WebCore::CachedResource::canUseCacheValidator):
2806         (WebCore::CachedResource::mustRevalidate):
2807
2808 2009-06-23  Dan Bernstein  <mitz@apple.com>
2809
2810         Reviewed by Darin Adler.
2811
2812         - fix <rdar://problem/6634228> Crash in [NSScroller mouseDown:] beneath
2813           EventHandler::passMouseDownEventToWidget()
2814
2815         * page/mac/EventHandlerMac.mm:
2816         (WebCore::EventHandler::passMouseDownEventToWidget): Surround the
2817         -mouseDown: call with calls to Widget::beforeMouseDown() and
2818         Widget::afterMouseDown(), which prevent the widget's view hierarchy from
2819         being removed from its parent view while the scroller is tracking the
2820         mouse.
2821
2822 2009-06-23  Sam Weinig  <sam@webkit.org>
2823
2824         Reviewed by Dave Hyatt.
2825
2826         Fix for https://bugs.webkit.org/show_bug.cgi?id=26516
2827         Add initial implementation of DataGridDataSource
2828
2829         - Initial implementation only supports the initialize callback function.
2830
2831         Test: fast/dom/HTMLDataGridElement/DataGridDataSource-basic.html
2832
2833         * WebCore.xcodeproj/project.pbxproj:
2834         * GNUmakefile.am:
2835         * WebCore.pro:
2836         * WebCore.vcproj/WebCore.vcproj:
2837         * WebCore.xcodeproj/project.pbxproj:
2838         * WebCoreSources.bkl:
2839         * bindings/js/JSDataGridDataSource.cpp: Added.
2840         (WebCore::JSDataGridDataSource::JSDataGridDataSource):
2841         (WebCore::JSDataGridDataSource::~JSDataGridDataSource):
2842         (WebCore::JSDataGridDataSource::initialize):
2843         * bindings/js/JSDataGridDataSource.h: Added.
2844         (WebCore::JSDataGridDataSource::create):
2845         (WebCore::JSDataGridDataSource::isJSDataGridDataSource):
2846         (WebCore::JSDataGridDataSource::jsDataSource):
2847         (WebCore::asJSDataGridDataSource):
2848         * bindings/js/JSHTMLDataGridElementCustom.cpp: Added.
2849         (WebCore::JSHTMLDataGridElement::listener):
2850         (WebCore::JSHTMLDataGridElement::setListener):
2851         * html/DataGridDataSource.h: Added.
2852         (WebCore::DataGridDataSource::~DataGridDataSource):
2853         (WebCore::DataGridDataSource::isJSDataGridDataSource):
2854         * html/HTMLDataGridElement.cpp:
2855         (WebCore::HTMLDataGridElement::HTMLDataGridElement):
2856         (WebCore::HTMLDataGridElement::setDataSource):
2857         (WebCore::HTMLDataGridElement::initializationTimerFired):
2858         * html/HTMLDataGridElement.h:
2859         (WebCore::HTMLDataGridElement::dataSource):
2860         * html/HTMLDataGridElement.idl:
2861
2862 2009-06-23  Ryosuke Niwa  <rniwa@google.com>
2863
2864         Reviewed by Justin Garcia.
2865
2866         Undo the changeset 21212 to fix the regression bug 14062.
2867         The changeset 21212 attempted to fix rdar://problem/5002441.
2868         The changeset 21212 modified InsertTextCommand::input so as to convert
2869         all spaces in text to non-breaking spaces for rdar://problem/5002441.
2870         However, the bug was originally caused by rebalanceWhitespaceAt
2871         and this workaround introduced a regression bug 14062.
2872         Because rebalanceWhitespaceAt appears to behave correctly now,
2873         the workaround introduced in 21212 is no longer needed.
2874
2875         Test: editing/inserting/space-after-removeformat.html
2876
2877         * editing/InsertTextCommand.cpp:
2878         (WebCore::InsertTextCommand::input):
2879
2880 2009-06-23  Beth Dakin  <bdakin@apple.com>
2881
2882         Reviewed by Dave Hyatt.
2883
2884         Fix for https://bugs.webkit.org/show_bug.cgi?id=26523 <col> 
2885         elements width can't be changed with javascript
2886
2887         This patch both fixes setting the width attribute directly in 
2888         JavaScript, and setting the width on the style attribute. 
2889
2890         * html/HTMLTableColElement.cpp:
2891         (WebCore::HTMLTableColElement::parseMappedAttribute): If we have a 
2892         new width, call setNeedsLayoutAndPrefWidthsRecalc()
2893
2894         Call calcPrefWidths() on the table cols.
2895         * rendering/AutoTableLayout.cpp:
2896         (WebCore::AutoTableLayout::recalcColumn):
2897         * rendering/FixedTableLayout.cpp:
2898         (WebCore::FixedTableLayout::calcWidthArray):
2899         
2900         Call layoutIfNeeded on the table cols.
2901         * rendering/RenderTable.cpp:
2902         (WebCore::RenderTable::layout):
2903
2904         * rendering/RenderTableCol.cpp:
2905         (WebCore::RenderTableCol::clippedOverflowRectForRepaint): Use new 
2906         table() convenience function.
2907         (WebCore::RenderTableCol::calcPrefWidths): Just call 
2908         setPrefWidthsDirty(false) on ourself and our children.
2909         (WebCore::RenderTableCol::table):
2910         * rendering/RenderTableCol.h:
2911
2912 2009-06-23  Ojan Vafai  <ojan@chromium.org>
2913
2914         Reviewed by Dan Bernstein.
2915
2916         Add logic to CSSStyleDeclaration::diff to deal with font-sizes that are 
2917         keyword values. When diff is called on a CSSStyleDeclaration, we check
2918         the keywordSize to see if font-size matches a keyword value.
2919         
2920         This ensures that when we diff a CSSMutableStyleDeclaration returned from
2921         copyInheritableProperties on a CSSComputedStyleDeclaration that we 
2922         correctly identify matching font-sizes.
2923         
2924         https://bugs.webkit.org/show_bug.cgi?id=26279
2925
2926         Test: editing/inserting/font-size-clears-from-typing-style.html
2927
2928         * css/CSSComputedStyleDeclaration.cpp:
2929         (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
2930         * css/CSSComputedStyleDeclaration.h:
2931         * css/CSSStyleDeclaration.cpp:
2932         (WebCore::CSSStyleDeclaration::cssPropertyMatches):
2933         (WebCore::CSSStyleDeclaration::diff):
2934         * css/CSSStyleDeclaration.h:
2935
2936 2009-06-23  Kevin McCullough  <kmccullough@apple.com>
2937
2938         Reviewed by Darin Adler.
2939
2940         <rdar://problem/6994790> CrashTracer: [USER] 8 crashes in Mail trying to
2941         add a blank line to pasted Facebook content (under
2942         CompositeEditCommand::positionAvoidingSpecialElementBoundary)
2943
2944         - Just added null checks and I will create a new bug to prevent the
2945         bad behavior.
2946
2947         * editing/CompositeEditCommand.cpp:
2948         (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
2949
2950 2009-06-23  Simon Fraser  <simon.fraser@apple.com>
2951
2952         Build fix.
2953
2954         Wrap shouldDoSoftwarePaint() in #if USE(ACCELERATED_COMPOSITING) to avoid warning when 
2955         ACCELERATED_COMPOSITING is not defined.
2956
2957         * rendering/RenderLayer.cpp:
2958
2959 2009-06-23  Simon Fraser  <simon.fraser@apple.com>
2960
2961         Reviewed by Dave Hyatt.
2962         
2963         https://bugs.webkit.org/show_bug.cgi?id=24863
2964         
2965         Fix reflection painting on elements with compositing layers.
2966
2967         Test: compositing/reflections/reflection-on-composited.html
2968
2969         * rendering/RenderLayer.h:
2970         Add a new PaintLayerPaintingReflection flag which is set while painting inside
2971         reflections.
2972         (WebCore::RenderLayer::setPaintingInsideReflection):
2973         Add a setter so that RenderLayerBacking can call it.
2974
2975         * rendering/RenderLayer.cpp:
2976         (WebCore::shouldDoSoftwarePaint):
2977         Utility to clarify the logic of when a composited layer should do a software paint.
2978         
2979         (WebCore::RenderLayer::paintLayer):
2980         Use shouldDoSoftwarePaint() to determine when to software-paint a reflected layer.
2981         Remove transform-related tests from the reflection-painting if test because they appear
2982         to be unnecessary.
2983
2984         * rendering/RenderLayerBacking.cpp:
2985         (WebCore::RenderLayerBacking::paintIntoLayer):
2986         Add the code to paint reflections to the composited layer painting method.
2987         
2988         * rendering/RenderReplica.cpp:
2989         (WebCore::RenderReplica::paint):
2990         Set the PaintLayerPaintingReflection flag.
2991
2992 2009-06-23  Antti Koivisto  <antti@apple.com>
2993
2994         Reviewed by Darin Adler.
2995         
2996         https://bugs.webkit.org/show_bug.cgi?id=26643
2997         Memory cache should respect Cache-Control: no-store
2998         
2999         Make resources with Cache-Control: no-store uncacheable in the memory cache.
3000         They get evicted immediately when all clients are gone and are always
3001         reloaded from the server.
3002
3003         Conforms to RFC2616 14.9.2 and seems also match Firefox behavior.
3004
3005         * loader/CachedResource.cpp:
3006         (WebCore::CachedResource::removeClient):
3007         (WebCore::CachedResource::canUseCacheValidator):
3008         (WebCore::CachedResource::mustRevalidate):
3009         * platform/network/ResourceResponseBase.cpp:
3010         (WebCore::ResourceResponseBase::ResourceResponseBase):
3011         (WebCore::ResourceResponseBase::parseCacheControlDirectives):
3012         (WebCore::ResourceResponseBase::cacheControlContainsNoStore):
3013         * platform/network/ResourceResponseBase.h:
3014
3015 2009-06-23  Brady Eidson  <beidson@apple.com>
3016
3017         Windows build fix.
3018
3019         * platform/graphics/win/QTMovieWin.cpp:
3020         (QTMovieWin::play):
3021         (QTMovieWin::pause):
3022         (QTMovieWin::setRate):
3023         (QTMovieWin::setCurrentTime):
3024
3025 2009-06-23  Kevin McCullough  <kmccullough@apple.com>
3026
3027         Reviewed by Adele Peterson.
3028
3029         <rdar://problem/6902203> REGRESSION: 'Return' insertion point incorrect
3030         after manually quoting blank line then hitting return
3031
3032         If the insertion point is both the begining and ending visible position
3033         then we need to insert at the end instead of the begining, which is what
3034         would normally happen if the insertion point was as the begining.
3035
3036         * editing/BreakBlockquoteCommand.cpp:
3037         (WebCore::BreakBlockquoteCommand::doApply):
3038
3039 2009-06-23  Brady Eidson  <beidson@apple.com>
3040
3041         Reviewed by Sam Weinig, and looked over by Eric Carlson.
3042
3043         <rdar://problem/6980466> Media elements should provide option for changing pitch correction
3044
3045         Introduce a new boolean property to HTMLMediaElement called webkitPreservesPitch for script to control this.
3046
3047         * html/HTMLMediaElement.cpp:
3048         (WebCore::HTMLMediaElement::HTMLMediaElement): Currently the platforms that have a flexible pitch preservation 
3049           property (Quicktime on Mac and Win) have had it on by default, so continue that default for now.
3050         (WebCore::HTMLMediaElement::loadResource):
3051         (WebCore::HTMLMediaElement::webkitPreservesPitch):
3052         (WebCore::HTMLMediaElement::setWebkitPreservesPitch):
3053         * html/HTMLMediaElement.h:
3054         * html/HTMLMediaElement.idl:
3055
3056         * platform/graphics/MediaPlayer.cpp:
3057         (WebCore::NullMediaPlayerPrivate::setPreservesPitch):
3058         (WebCore::MediaPlayer::MediaPlayer):
3059         (WebCore::MediaPlayer::preservesPitch):
3060         (WebCore::MediaPlayer::setPreservesPitch):
3061         * platform/graphics/MediaPlayer.h:
3062         * platform/graphics/MediaPlayerPrivate.h:
3063         (WebCore::MediaPlayerPrivateInterface::setPreservesPitch):
3064
3065         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
3066         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3067         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
3068         (WebCore::MediaPlayerPrivate::createQTMovie): Rework to allow recreation of the movie with almost the
3069           exact same attributes as before, with pitch preservation being the difference.
3070         (WebCore::MediaPlayerPrivate::setPreservesPitch): Recreate the QTMovie if the flag actually changes.
3071         (WebCore::MediaPlayerPrivate::updateStates): Restore current time and rate if this is a recreated movie.
3072         (WebCore::MediaPlayerPrivate::timeChanged): Clear the time-to-be-restored, as this callback means it
3073           has been effectively overwritten.
3074
3075         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
3076         (WebCore::MediaPlayerPrivate::load):
3077         (WebCore::MediaPlayerPrivate::setPreservesPitch):
3078         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
3079         * platform/graphics/win/QTMovieWin.cpp:
3080         (QTMovieWinPrivate::QTMovieWinPrivate):
3081         (QTMovieWinPrivate::~QTMovieWinPrivate):
3082         (QTMovieWinPrivate::task): Restore current time and rate if this is a re-created movie.
3083         (QTMovieWin::play): Clear the time-to-be-restored, as this effectively overwrites it.
3084         (QTMovieWin::pause): Ditto.
3085         (QTMovieWin::setRate): Ditto.
3086         (QTMovieWin::setCurrentTime): Ditto.
3087         (QTMovieWin::setPreservesPitch): Recreate the Movie if the flag actually changes.
3088         (QTMovieWin::load): Rework to allow recreation of the Movie with similar state as the movie before it, 
3089           but changing the pitch preservation flag.
3090         * platform/graphics/win/QTMovieWin.h:
3091
3092 2009-06-23  Eric Carlson  <eric.carlson@apple.com>
3093
3094         Reviewed by Simon Fraser.
3095
3096         <rdar://problem/6998286> Crash after leaving page with <video>
3097         
3098         Don't try to post events after going into the page cache.
3099
3100         * html/HTMLMediaElement.cpp:
3101         (WebCore::HTMLMediaElement::documentWillBecomeInactive): Cancel pending events and stop
3102         event timers so we won't try to post events after going into the cache.
3103
3104 2009-06-23  Jeremy Orlow  <jorlow@chromium.org>
3105
3106         Reviewed by Brady Eidson.
3107
3108         Simplify the interaction between LocalStorageArea/SessionStorageArea
3109         and StorageArea by creating a "blockUntilImportComplete()" function
3110         rather than bouncing back and forth between the child and parent
3111         classes in a somewhat unintuitive manner.
3112
3113         This patch also paves the way for LocalStorageArea and
3114         SessionStorageArea being merged into one.  It's part of several in a
3115         set which are separating syncing (to disk) code from the rest of the
3116         implementation so that local storage and session storage's code can be
3117         unified.
3118
3119         https://bugs.webkit.org/show_bug.cgi?id=25376
3120
3121         * storage/LocalStorageArea.cpp:
3122         (WebCore::LocalStorageArea::blockUntilImportComplete):
3123         * storage/LocalStorageArea.h:
3124         * storage/StorageArea.cpp:
3125         (WebCore::StorageArea::length):
3126         (WebCore::StorageArea::key):
3127         (WebCore::StorageArea::getItem):
3128         (WebCore::StorageArea::setItem):
3129         (WebCore::StorageArea::removeItem):
3130         (WebCore::StorageArea::clear):
3131         (WebCore::StorageArea::contains):
3132         * storage/StorageArea.h:
3133         (WebCore::StorageArea::blockUntilImportComplete):
3134
3135 2009-06-23  Simon Fraser  <simon.fraser@apple.com>
3136
3137         Reviewed by Dave Hyatt
3138
3139         First part of https://bugs.webkit.org/show_bug.cgi?id=26652
3140         
3141         * rendering/RenderLayer.cpp:
3142         (WebCore::RenderLayer::paint):
3143         (WebCore::RenderLayer::paintLayer):
3144         * rendering/RenderLayer.h:
3145         (WebCore::RenderLayer::):
3146         * rendering/RenderReplica.cpp:
3147         (WebCore::RenderReplica::paint):
3148         Replace the 3 boolean params to RenderLayer::paintLayer() with a bit mask for readability.
3149         
3150         * rendering/RenderLayerBacking.cpp:
3151         (WebCore::RenderLayerBacking::paintIntoLayer):
3152         (WebCore::RenderLayerBacking::paintContents):
3153         * rendering/RenderLayerBacking.h:
3154         Remove the unused 'haveTransparency' param to paintIntoLayer().
3155
3156 2009-06-23  Simon Fraser  <simon.fraser@apple.com>
3157
3158         Reviewed by Darin Adler.
3159
3160         <rdar://problem/6997929> Assertion at WebCore::RenderLayer::updateClipRects with hardware acceleration
3161
3162         The updatingControlTints() painting pass goes through compositing layer boundaries,
3163         so we need to ensure we don't cache clip rects computed with the wrong root by
3164         setting temporaryClipRects to true.
3165         
3166         * rendering/RenderLayer.cpp:
3167         (WebCore::RenderLayer::paintLayer):
3168         
3169         * rendering/RenderLayerBacking.cpp:
3170         (WebCore::RenderLayerBacking::contentOffsetInCompostingLayer):
3171         Remove a printf that I left in by mistake.
3172
3173 2009-06-23  Anders Carlsson  <andersca@apple.com>
3174
3175         Reviewed by Darin Adler.
3176
3177         WebCore side of <rdar://problem/6946094>.
3178         
3179         * platform/win/ClipboardWin.cpp:
3180         (WebCore::ClipboardWin::setExternalDataObject):
3181         * platform/win/ClipboardWin.h:
3182
3183 2009-06-23  Darin Fisher  <darin@chromium.org>
3184
3185         Reviewed by Darin Adler.
3186
3187         https://bugs.webkit.org/show_bug.cgi?id=26650
3188
3189         Add setFormContentType and setFormData since it is awkward for Chromium
3190         to use setFormInfoFromRequest to set the underlying members.  Also, add
3191         a clearChildren method that Chromium needs.  These methods are used as
3192         part of the Chromium code that serializes a HistoryItem for storing in
3193         the browser's session history.
3194
3195         * history/HistoryItem.cpp:
3196         * history/HistoryItem.h:
3197
3198 2009-06-23  Eric Carlson  <eric.carlson@apple.com>
3199
3200         Reviewed by Darin Adler.
3201
3202         <rdar://problem/6978938> Need HTML 5 event attributes for media elements
3203
3204         Test: media/event-attributes.html
3205
3206         * html/HTMLAttributeNames.in: Add media event attribute names.
3207         * html/HTMLMediaElement.cpp:
3208         (WebCore::HTMLMediaElement::parseMappedAttribute): Handle media event attributes.
3209
3210 2009-06-23  Thiago Macieira  <thiago.macieira@nokia.com>
3211
3212         Reviewed by Simon Hausmann.
3213
3214         Fix Qt build with Phonon.
3215
3216         The #include <phonon> header no longer exists. And the <Phonon> or
3217         <Phonon/Phonon> headers have never existed (neither for us nor for the
3218         Phonon sources). You have to select each and every header that you do
3219         want now.
3220
3221         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
3222
3223 2009-06-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3224
3225         Reviewed by Simon Hausmann.
3226
3227         Remove duplicated code in Qt & GTK logging initialization
3228
3229         We now share the getChannelFromName() function in Logging.cpp
3230
3231         * platform/gtk/LoggingGtk.cpp:
3232         * platform/qt/LoggingQt.cpp:
3233
3234 2009-06-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3235
3236         Reviewed by Simon Hausmann.
3237
3238         Rename the plugin logging channel to plural form 'Plugins'
3239
3240         This matches both the other logging channel names, as well as the
3241         WebKit logging channel used by Safari/Mac for plugins.
3242
3243         * platform/Logging.cpp:
3244         * platform/Logging.h:
3245         * platform/gtk/LoggingGtk.cpp:
3246         * platform/mac/LoggingMac.mm:
3247         * platform/qt/LoggingQt.cpp:
3248         * platform/win/LoggingWin.cpp:
3249         * plugins/PluginDebug.h:
3250         * plugins/gtk/PluginPackageGtk.cpp:
3251         * plugins/mac/PluginPackageMac.cpp:
3252         * plugins/mac/PluginViewMac.cpp:
3253         * plugins/qt/PluginPackageQt.cpp:
3254
3255 2009-06-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3256
3257         Reviewed by Simon Hausmann.
3258
3259         Fix NPAPI mouse translation issues on Mac
3260
3261         The WindowRef we pass to the plugin refers to the the top level window,
3262         so the x and y positions have to be relative to this position, but we
3263         have to manually compensate for title bar decorations and other parents
3264         of the QWebView since contentsToWindow() only traverses to the QWebView.
3265
3266         Previously we did this compensation when passing on mouse coordinates to
3267         the plugin, which caused various issues with translations such as not
3268         being able to close the Flash settings dialog, or the hand cursor not
3269         appearing over links.
3270
3271         We now do the compensation as part of the call to NPP_SetWindow, and
3272         then pass mouse coordinates in global context without any compensation,
3273         similar to how both Safari and Mozilla does it.
3274
3275         * plugins/mac/PluginViewMac.cpp:
3276         (WebCore::PluginView::updatePluginWidget):
3277         (WebCore::PluginView::globalMousePosForPlugin):
3278
3279 2009-06-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3280
3281         Rubber-stamped by Simon Hausmann.
3282
3283         [Qt] Resolve absolute path to library install_name manually
3284
3285         Since our target.path is set to the Qt directory (to be able
3286         to do 'make install') the 'absolute_library_soname' option
3287         to QMake did not do the right thing.
3288
3289         We now compute the absolute path manually using DESTDIR.
3290
3291         * WebCore.pro:
3292
3293 2009-06-22  Simon Fraser  <simon.fraser@apple.com>
3294
3295         Reviewed by Oliver Hunt.
3296
3297         <rdar://problem/6991146> Scrollbars in hardware layers don't change to the
3298         inactive look in background windows
3299
3300         * rendering/RenderLayer.cpp:
3301         (WebCore::RenderLayer::paintLayer):
3302         Don't short-circuit the "painting" pass that is used to udpate control tints.
3303
3304 2009-06-22  Dimitri Glazkov  <dglazkov@chromium.org>
3305
3306         Reviewed by Sam Weinig.
3307
3308         https://bugs.webkit.org/show_bug.cgi?id=26567
3309         Upstream V8 bindings code generator. With this change, also added interface ancestor
3310         traversal to IDL parser, which is necessary for V8 bindings. The traversal is used
3311         to determine whether an interface is a Node to facilitate proper casting and storage
3312         in V8DOMMap.
3313
3314         * bindings/scripts/CodeGenerator.pm: Added parent traversal sub, needed
3315             by V8 bindings.
3316         * bindings/scripts/CodeGeneratorV8.pm: Added.
3317         * bindings/scripts/IDLParser.pm: Modified to allow limited parsing for
3318             parent traversal cases.
3319
3320 2009-06-22  Sam Weinig  <sam@webkit.org>
3321
3322         Reviewed by Gavin Barraclough.
3323
3324         Add event handler attribute getter/setters to HTMLFrameSetElement
3325         as specified in HTML 5.  These match the ones on HTMLBodyElement.
3326
3327         * dom/Node.h:
3328         * html/HTMLFrameSetElement.cpp:
3329         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
3330         (WebCore::HTMLFrameSetElement::onblur):
3331         (WebCore::HTMLFrameSetElement::setOnblur):
3332         (WebCore::HTMLFrameSetElement::onerror):
3333         (WebCore::HTMLFrameSetElement::setOnerror):
3334         (WebCore::HTMLFrameSetElement::onfocus):
3335         (WebCore::HTMLFrameSetElement::setOnfocus):
3336         (WebCore::HTMLFrameSetElement::onload):
3337         (WebCore::HTMLFrameSetElement::setOnload):
3338         (WebCore::HTMLFrameSetElement::onbeforeunload):
3339         (WebCore::HTMLFrameSetElement::setOnbeforeunload):
3340         (WebCore::HTMLFrameSetElement::onmessage):
3341         (WebCore::HTMLFrameSetElement::setOnmessage):
3342         (WebCore::HTMLFrameSetElement::onoffline):
3343         (WebCore::HTMLFrameSetElement::setOnoffline):
3344         (WebCore::HTMLFrameSetElement::ononline):
3345         (WebCore::HTMLFrameSetElement::setOnonline):
3346         (WebCore::HTMLFrameSetElement::onresize):
3347         (WebCore::HTMLFrameSetElement::setOnresize):
3348         (WebCore::HTMLFrameSetElement::onstorage):
3349         (WebCore::HTMLFrameSetElement::setOnstorage):
3350         (WebCore::HTMLFrameSetElement::onunload):
3351         (WebCore::HTMLFrameSetElement::setOnunload):
3352         * html/HTMLFrameSetElement.h:
3353         * html/HTMLFrameSetElement.idl:
3354
3355 2009-06-22  Darin Adler  <darin@apple.com>
3356
3357         Reviewed by Sam Weinig.
3358
3359         Bug 25425: DOM attribute getter/setter functions should use const AtomicString& type
3360         https://bugs.webkit.org/show_bug.cgi?id=25425
3361
3362         * bindings/scripts/CodeGeneratorJS.pm: Added handling for ReflectURL.
3363         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
3364
3365         * dom/Element.cpp:
3366         (WebCore::Element::getURLAttribute): Added. For use implementing getters
3367         for ReflectURL.
3368         * dom/Element.h: Added getURLAttribute.
3369
3370         * html/HTMLImageElement.idl: Use Reflect and ReflectURL.
3371
3372 2009-06-22  Jian Li  <jianli@chromium.org>
3373
3374         Reviewed by Dimitri Glazkov.
3375
3376         Bug 26626: Make WorkerContextExecutionProxy::toV8Object handle exception
3377         objects.
3378         https://bugs.webkit.org/show_bug.cgi?id=26626
3379
3380         * bindings/v8/WorkerContextExecutionProxy.cpp:
3381         (WebCore::WorkerContextExecutionProxy::ToV8Object):
3382
3383 2009-06-22  David Hyatt  <hyatt@apple.com>
3384
3385         Reviewed by Sam Weinig.
3386
3387         Add RenderDataGrid to the build.  Give it some basic default styling (that more or less matches a listbox).  It has a default size
3388         of 300x150.
3389
3390         * GNUmakefile.am:
3391         * WebCore.pro:
3392         * WebCore.vcproj/WebCore.vcproj:
3393         * WebCore.xcodeproj/project.pbxproj:
3394         * WebCoreSources.bkl:
3395         * css/html4.css:
3396         * html/HTMLDataGridElement.cpp:
3397         (WebCore::HTMLDataGridElement::createRenderer):
3398         * html/HTMLDataGridElement.h:
3399         * html/HTMLDataGridElement.idl:
3400         * rendering/RenderDataGrid.cpp: Added.
3401         (WebCore::RenderDataGrid::RenderDataGrid):
3402         (WebCore::RenderDataGrid::~RenderDataGrid):
3403         (WebCore::RenderDataGrid::calcPrefWidths):
3404         (WebCore::RenderDataGrid::paintObject):
3405         (WebCore::RenderDataGrid::valueChanged):
3406         (WebCore::RenderDataGrid::invalidateScrollbarRect):
3407         (WebCore::RenderDataGrid::isActive):
3408         * rendering/RenderDataGrid.h: Added.
3409         (WebCore::RenderDataGrid::renderName):
3410         (WebCore::RenderDataGrid::canHaveChildren):
3411         (WebCore::RenderDataGrid::scrollbarCornerPresent):
3412
3413 2009-06-22  Simon Fraser  <simon.fraser@apple.com>
3414
3415         Reviewed by Dave Hyatt.
3416
3417         https://bugs.webkit.org/show_bug.cgi?id=26430
3418         <rdar://problem/6944442> Elements jump around when they become composited (WWDC checkers demo)
3419         <rdar://problem/6989006> Lots of time spent in RenderLayerCompositor::calculateCompositedBounds()
3420             during window resize when using hardware layers
3421         
3422         Fix an ordering dependency which caused the compositing position of a layer
3423         to be affected by some later sibling, which affected the compositing ancestor's
3424         composited bounds.
3425         
3426         The fix is to only update the compositing positions of layers in some subtree
3427         when updateAfterLayout() has been called on all the layers in that subtree,
3428         from the ancestor down.
3429         
3430         Also cache the composited bounds of a RenderLayerBacking, now that we can
3431         guarantee that those bounds are accurate.
3432         
3433         Test: compositing/sibling-positioning.html
3434
3435         * rendering/RenderLayer.cpp:
3436         (WebCore::RenderLayer::updateLayerPositions):
3437         (WebCore::RenderLayer::hitTestLayer):
3438         * rendering/RenderLayerBacking.cpp:
3439         (WebCore::RenderLayerBacking::RenderLayerBacking):
3440         (WebCore::RenderLayerBacking::updateAfterLayout):
3441         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3442         (WebCore::RenderLayerBacking::contentOffsetInCompostingLayer):
3443         (WebCore::RenderLayerBacking::paintContents):
3444         (WebCore::RenderLayerBacking::compositedBounds):
3445         (WebCore::RenderLayerBacking::setCompositedBounds):
3446         * rendering/RenderLayerBacking.h:
3447         * rendering/RenderLayerCompositor.cpp:
3448         (WebCore::RenderLayerCompositor::updateBacking):
3449         (WebCore::RenderLayerCompositor::updateLayerCompositingState):
3450         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
3451         (WebCore::RenderLayerCompositor::layerWillBeRemoved):
3452         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
3453         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
3454         (WebCore::RenderLayerCompositor::updateCompositingChildrenGeometry):
3455         * rendering/RenderLayerCompositor.h:
3456
3457 2009-06-22  Jeremy Orlow  <jorlow@chromium.org>
3458
3459         Reviewed by Darin Fisher.
3460
3461         First step in https://bugs.webkit.org/show_bug.cgi?id=25376
3462
3463         Add StorageSyncManager.cpp/h
3464
3465         * GNUmakefile.am:
3466         * WebCore.pro:
3467         * WebCore.vcproj/WebCore.vcproj:
3468         * WebCore.xcodeproj/project.pbxproj:
3469         * WebCoreSources.bkl:
3470
3471         In preparation for combining SessionStorage and LocalStorage into a
3472         single StorageManager, move the syncing bits out of LocalStorage and
3473         into its own class.
3474
3475         The next step is to combine LocalStorageArea and SessionStorageArea
3476         into one.  Then SessionStorage and LocalStorage can be combined.
3477
3478         Note that combining them will cut down on code paths that must be
3479         proxied, eliminate virtual dispatch, and allow Chromium to (eventually)
3480         write historical sessionStorage to disk when memory is getting tight.
3481
3482         Also remove a couple bits of cruft including code for quotas which is
3483         unnecessary (since a meta-data db is unnecessary since you can just
3484         count bytes as you read the local storage databases into memory).
3485
3486         * storage/LocalStorage.cpp:
3487         (WebCore::LocalStorage::LocalStorage):
3488         (WebCore::LocalStorage::storageArea):
3489         (WebCore::LocalStorage::close):
3490         * storage/LocalStorage.h:
3491         * storage/LocalStorageArea.cpp:
3492         (WebCore::LocalStorageArea::LocalStorageArea):
3493         (WebCore::LocalStorageArea::scheduleFinalSync):
3494         (WebCore::LocalStorageArea::syncTimerFired):
3495         (WebCore::LocalStorageArea::performImport):
3496         * storage/LocalStorageArea.h:
3497         (WebCore::LocalStorageArea::create):
3498         * storage/LocalStorageTask.cpp:
3499         (WebCore::LocalStorageTask::performTask):
3500         * storage/LocalStorageTask.h:
3501         (WebCore::LocalStorageTask::):
3502         (WebCore::LocalStorageTask::createImport):
3503         * storage/LocalStorageThread.cpp:
3504         * storage/LocalStorageThread.h:
3505         * storage/SessionStorage.h:
3506         * storage/StorageSyncManager.cpp: Copied from WebCore/storage/LocalStorage.cpp.
3507         (WebCore::StorageSyncManager::create):
3508         (WebCore::StorageSyncManager::StorageSyncManager):
3509         (WebCore::StorageSyncManager::fullDatabaseFilename):
3510         (WebCore::StorageSyncManager::close):
3511         (WebCore::StorageSyncManager::scheduleImport):
3512         (WebCore::StorageSyncManager::scheduleSync):
3513         * storage/StorageSyncManager.h: Copied from WebCore/storage/LocalStorage.h.
3514         (WebCore::):
3515
3516 2009-06-22  Darin Fisher  <darin@chromium.org>
3517
3518         Reviewed by Dimitri Glazkov.
3519
3520         https://bugs.webkit.org/show_bug.cgi?id=26622
3521         Add ChromiumDataObject::copy()
3522
3523         * platform/chromium/ChromiumDataObject.cpp:
3524         * platform/chromium/ChromiumDataObject.h:
3525
3526 2009-06-22  Timothy Hatcher  <timothy@apple.com>
3527
3528         Add a silhouette image for the enable view of the Resource panel.
3529
3530         Reviewed by Kevin McCullough.
3531
3532         * inspector/front-end/Images/resourcesSilhouette.png: Added.
3533         * inspector/front-end/inspector.css:
3534
3535 2009-06-22  Kyle Prete  <kylep@chromium.org>
3536
3537         Reviewed by Dimitri Glazkov.
3538
3539         https://bugs.webkit.org/show_bug.cgi?id=26552
3540         Add V8 JS bindings for Audio Constructor.
3541
3542         * bindings/v8/custom/V8CustomBinding.h:
3543         Added a callback declaration for audio ctor to macro.
3544         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
3545         Added the whole file.
3546
3547 2009-06-22  Alexey Proskuryakov  <ap@webkit.org>
3548
3549         Reviewed by David Levin.
3550
3551         https://bugs.webkit.org/show_bug.cgi?id=26600
3552         StringImpl::copy() no longer copies empty string correctly
3553
3554         * platform/text/StringImpl.cpp:
3555         (WebCore::StringImpl::ustring): Changed method calling syntax to look less like calling a
3556         static method.
3557         (WebCore::StringImpl::copy): Reverted part of r41917 that caused the problem.
3558
3559 2009-06-22  Xiaomei Ji  <xji@chromium.org>
3560
3561         Reviewed by Eric Seidel
3562
3563         Not auto-testable since it involves sending a keyboard event to
3564         the popup, which is not possible (eventSender sends the key
3565         events through webview, we want to go through the webwidget).
3566
3567         This patch is one part of the fix for issue "keyboard selection in
3568         Hebrew select element does not work in Windows". The other part of the
3569         fix is in chromium's webkit/glue layer.
3570         https://bugs.webkit.org/show_bug.cgi?id=25899
3571
3572         * manual-tests/keyboard_select_non_english.html: Added.
3573         * platform/chromium/PopupMenuChromium.cpp:
3574         (WebCore::isCharacterTypeEvent): Added. Check whether the event is a 
3575         character type event. "Char" in Windows or "KeyDown" in Mac is character
3576         type event.
3577         (WebCore::PopupListBox::typeAheadFind): Since m_lastCharTime is used to
3578         indicate whether user types multiple characters continuely as a search
3579         prefix or not, it should be only assigned when the event is character 
3580         type event. 
3581
3582 2009-06-22  Kevin McCullough  <kmccullough@apple.com>
3583
3584         Reviewed by Darin Adler.
3585
3586         <rdar://problem/6115819> Notify of profile start in console
3587
3588         Put a message in the console that announces that a profile has started,
3589         similar to how a console message announces that a profile has finished.
3590
3591         * inspector/InspectorController.cpp:
3592         (WebCore::InspectorController::addProfile): Use renamed function.
3593         (WebCore::InspectorController::addProfileFinishedMessageToConsole):
3594         Renamed.
3595         (WebCore::InspectorController::addStartProfilingMessageToConsole):
3596         New function that logs the message about the profile starting.
3597         (WebCore::InspectorController::startUserInitiatedProfiling): Ditto
3598         * inspector/InspectorController.h:
3599         * inspector/front-end/ProfilesPanel.js: Print the "run" of the profile's
3600         title if there are multiple profiles, and take into account the fact
3601         that titles are displayed twice as much now.