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