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