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