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