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