Fetching a Worker with url that isn't allowed from a file based test causes DRT to...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-06-10  David Levin  <levin@chromium.org>
2
3         Reviewed by Dmitry Titov.
4
5         Fetching a Worker with url that isn't allowed from a file based test causes DRT to crash.
6         https://bugs.webkit.org/show_bug.cgi?id=62469
7
8         Test: fast/workers/worker-crash-with-invalid-location.html
9
10         * workers/DefaultSharedWorkerRepository.cpp:
11         (WebCore::SharedWorkerScriptLoader::load): Changed to using the RefCounted version of WorkerScriptLoader.
12         * workers/Worker.cpp:
13         (WebCore::Worker::create): Ditto.
14         * workers/Worker.h: Ditto.
15         * workers/WorkerContext.cpp:
16         (WebCore::WorkerContext::importScripts):  Ditto.
17         * workers/WorkerScriptLoader.cpp:
18         (WebCore::WorkerScriptLoader::~WorkerScriptLoader): Created to
19         allow removing some header includes in WorkerScriptLoader.h.
20         (WebCore::WorkerScriptLoader::loadAsynchronously): Fix the ordering
21         of setPendingActivity and keep WorkerScriptLoader alive during a
22         potential callback.
23         * workers/WorkerScriptLoader.h: Made this RefCounted to allow for
24         keeping it alive during callbacks. Also, removed unnecessary header
25         inclusions (and added a destructor to facilitate that).
26         (WebCore::WorkerScriptLoader::create):
27
28 2011-06-10  Alok Priyadarshi  <alokp@chromium.org>
29
30         Reviewed by James Robinson.
31
32         [chromium] Top portion of page is rendered messed up with accelerated drawing
33         https://bugs.webkit.org/show_bug.cgi?id=62484
34
35         Fixed the math in flipping the texture from bottom-up to top-down.
36         Test: compositing/repaint/shrink-layer.html (existing)
37
38         * platform/graphics/chromium/LayerTilerChromium.cpp:
39         (WebCore::LayerTilerChromium::draw):
40
41 2011-06-10  Tony Chang  <tony@chromium.org>
42
43         Reviewed by Ojan Vafai.
44
45         add a compile guard ENABLE(FLEXBOX)
46         https://bugs.webkit.org/show_bug.cgi?id=62049
47
48         * Configurations/FeatureDefines.xcconfig:
49
50 2011-06-10  Sam Weinig  <sam@webkit.org>
51
52         Roll out r88568. It is not the right fix for the problem.
53
54         * loader/appcache/ApplicationCacheHost.cpp:
55         (WebCore::ApplicationCacheHost::isApplicationCacheEnabled):
56
57 2011-06-10  Mark Rowe  <mrowe@apple.com>
58
59         Reviewed by Dimitri Glazkov.
60
61         <rdar://problem/9562114> Fix DumpRenderTree build for production configuration.
62
63         Rename the built WebCoreTestSupport dylib to libWebCoreTestSupport.dylib so
64         that it can be found via the library search path rather than requiring an
65         absolute path be passed to the linker.
66
67         Install the library and its associated header file in a more appropriate location
68         for the production configuration.
69
70         * Configurations/WebCoreTestSupport.xcconfig:
71
72 2011-06-10  Simon Fraser  <simon.fraser@apple.com>
73
74         Reviewed by Dave Hyatt.
75
76         Add a scheduleSetNeedsStyleRecalc() method to ContainerNode for use by RenderLayerCompositor
77         https://bugs.webkit.org/show_bug.cgi?id=62471
78
79         RenderLayerCompositor had some code that did a setNeedsStyleRecalc(), but
80         in a way that was safe to call during existing style recalc or layout.
81         
82         Move this code to ContainerElement so it can be called elsewhere.
83         Also add a param to the node callback so we can pass the style change type.
84
85         * dom/ContainerNode.cpp:
86         (WebCore::ContainerNode::queuePostAttachCallback):
87         (WebCore::ContainerNode::dispatchPostAttachCallbacks):
88         (WebCore::needsStyleRecalcCallback):
89         (WebCore::ContainerNode::scheduleSetNeedsStyleRecalc):
90         * dom/ContainerNode.h:
91         * dom/Node.h:
92         (WebCore::Node::scheduleSetNeedsStyleRecalc):
93         * html/HTMLFormControlElement.cpp:
94         (WebCore::focusPostAttach):
95         (WebCore::updateFromElementCallback):
96         * html/HTMLPlugInImageElement.cpp:
97         (WebCore::HTMLPlugInImageElement::updateWidgetCallback):
98         * html/HTMLPlugInImageElement.h:
99         * rendering/RenderLayerCompositor.cpp:
100         (WebCore::RenderLayerCompositor::attachRootPlatformLayer):
101         (WebCore::RenderLayerCompositor::detachRootPlatformLayer):
102         (WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange):
103         * rendering/RenderLayerCompositor.h:
104         * svg/SVGUseElement.cpp:
105         (WebCore::updateFromElementCallback):
106
107 2011-06-10  Mark Pilgrim  <pilgrim@chromium.org>
108
109         Reviewed by Tony Chang.
110
111         IndexedDB: indexedDB.open() name argument is required
112         https://bugs.webkit.org/show_bug.cgi?id=62398
113
114         Test: storage/indexeddb/database-name-undefined.html
115
116         * storage/IDBFactory.idl: use appropriate IDL magic to force undefined values to null, so we handle missing arguments as well as null arguments
117
118 2011-06-10  Sam Weinig  <sam@webkit.org>
119
120         Reviewed by Beth Dakin.
121
122         Common crash in ApplicationCacheHost::isApplicationCacheEnabled
123         <rdar://problem/9328684>
124
125         * loader/appcache/ApplicationCacheHost.cpp:
126         (WebCore::ApplicationCacheHost::isApplicationCacheEnabled):
127         Speculative fix for a null frame on ApplicationCacheHost's DocumentLoader.
128
129 2011-06-10  Adam Barth  <abarth@webkit.org>
130
131         Reviewed by Eric Seidel.
132
133         Remove Document::finishParsing
134         https://bugs.webkit.org/show_bug.cgi?id=62474
135
136         This function appears to exist only to confuse and befuddle us.  This
137         patch prepares for DocumentWriter to grab hold of the parser.
138
139         This patch removes one of the print statements from
140         INSTRUMENT_LAYOUT_SCHEDULING, but I'm not sure
141         INSTRUMENT_LAYOUT_SCHEDULING works anymore anyway.
142
143         * dom/Document.cpp:
144         * dom/Document.h:
145         * dom/XMLDocumentParser.cpp:
146         (WebCore::XMLDocumentParser::finish):
147         * html/parser/HTMLDocumentParser.cpp:
148         (WebCore::HTMLDocumentParser::finish):
149         * loader/DocumentWriter.cpp:
150         (WebCore::DocumentWriter::addData):
151         (WebCore::DocumentWriter::endIfNotLoadingMainResource):
152         * loader/FrameLoader.cpp:
153         (WebCore::FrameLoader::stop):
154
155 2011-06-10  Mark Pilgrim  <pilgrim@chromium.org>
156
157         Reviewed by Tony Chang.
158
159         IndexedDB: setVersion() version argument is required
160         https://bugs.webkit.org/show_bug.cgi?id=62401
161
162         Test: storage/indexeddb/setVersion-undefined.html
163
164         * storage/IDBDatabase.cpp:
165         (WebCore::IDBDatabase::setVersion): check for null version
166         * storage/IDBDatabase.idl: add IDL magic to force undefined to null so we can handle both missing and null arguments
167
168 2011-06-10  Simon Fraser  <simon.fraser@apple.com>
169
170         Reviewed by Dan Bernstein.
171
172         Null-check the layer owner again when painting layers
173         https://bugs.webkit.org/show_bug.cgi?id=62473
174
175         Speculative fix for a crash that occurs when the layer's owner
176         gets destroyed during painting.
177
178         * platform/graphics/mac/WebLayer.mm:
179         (drawLayerContents):
180
181 2011-06-08  Robert Hogan  <robert@webkit.org>
182
183         Reviewed by Andreas Kling.
184
185         [Qt] Lighten the --no-svg build a little
186         https://bugs.webkit.org/show_bug.cgi?id=62314
187
188         Only generate source from SVG*.idl if the build is svg-enabled.
189
190         * CodeGenerators.pri:
191
192 2011-06-10  Nikolas Zimmermann  <nzimmermann@rim.com>
193
194         Reviewed by Rob Buis.
195
196         Integrate SVG Fonts within GlyphPage concept, removing the special SVG code paths from Font, making it possible to reuse the simple text code path for SVG Fonts
197         https://bugs.webkit.org/show_bug.cgi?id=59085
198
199         Add glyph table to SVGFontElement mapping between SVGGlyph <-> Glyph
200         https://bugs.webkit.org/show_bug.cgi?id=62441
201
202         Preparation patch 1: Introduce the internal glyph table in SVGGlyphMap that will be used to identify each
203         SVGGlyph identifier with a Glyph (which is just an ushort). It will be used by follow-up patches.
204
205         Doesn't affect any test so far.
206
207         * platform/graphics/SVGGlyph.h:
208         (WebCore::SVGGlyph::SVGGlyph):
209         (WebCore::SVGGlyph::operator==):
210         * rendering/svg/SVGTextRunRenderingContext.cpp:
211         (WebCore::SVGTextRunWalker::walk):
212         * svg/SVGFontData.cpp:
213         (WebCore::SVGFontData::initializeFontData):
214         * svg/SVGFontElement.cpp:
215         (WebCore::SVGFontElement::SVGFontElement):
216         (WebCore::SVGFontElement::registerLigaturesInGlyphCache):
217         (WebCore::SVGFontElement::ensureGlyphCache):
218         (WebCore::kerningForPairOfStringsAndGlyphs):
219         (WebCore::SVGFontElement::horizontalKerningForPairOfStringsAndGlyphs):
220         (WebCore::SVGFontElement::verticalKerningForPairOfStringsAndGlyphs):
221         (WebCore::SVGFontElement::collectGlyphsForString):
222         (WebCore::SVGFontElement::collectGlyphsForGlyphName):
223         (WebCore::SVGFontElement::svgGlyphForGlyph):
224         (WebCore::SVGFontElement::missingGlyph):
225         * svg/SVGFontElement.h:
226         (WebCore::SVGKerningPair::SVGKerningPair):
227         * svg/SVGGlyphMap.h:
228         (WebCore::SVGGlyphMap::addGlyphByUnicodeString):
229         (WebCore::SVGGlyphMap::addGlyphByName):
230         (WebCore::SVGGlyphMap::appendToGlyphTable):
231         (WebCore::SVGGlyphMap::collectGlyphsForString):
232         (WebCore::SVGGlyphMap::clear):
233         (WebCore::SVGGlyphMap::svgGlyphForGlyph):
234         (WebCore::SVGGlyphMap::glyphIdentifierForGlyphName):
235
236 2011-06-10  Emil A Eklund  <eae@chromium.org>
237
238         Reviewed by Eric Seidel.
239
240         Regression r85573: Blank pages appear at the end of some wikipedia documents.
241         https://bugs.webkit.org/show_bug.cgi?id=62343
242
243         Fix regression caused by r85573. Cached document size not updated after layout.
244
245         Test: printing/page-count-relayout-shrink.html
246
247         * page/FrameView.cpp:
248         (WebCore::FrameView::forceLayoutForPagination):
249
250 2011-06-10  Rob Buis  <rbuis@rim.com>
251
252         Reviewed by Nikolas Zimmermann.
253
254         amation event handling broken: focusin
255         https://bugs.webkit.org/show_bug.cgi?id=12894
256
257         focusin, focusout, activate not implemented in SVG
258         https://bugs.webkit.org/show_bug.cgi?id=40545
259
260         Make elements that should support GraphicalEventAttribute handle focussing, since focusin, focusout is part of that:
261
262         http://www.w3.org/TR/SVG11/intro.html#TermGraphicalEventAttribute
263
264         Match Opera behaviour ; elements that support GraphicalEventAttribute can receive visual mouse focus when having either a focusin or focusout event handler. Elements that support GraphicalEventAttribute can receive visual keyboard focus when having either a focusin or focusout event handler. Keyboard focus does not advance to SVG elements that are not focusable at the time.
265
266         Tests: svg/custom/focus-event-handling-keyboard.xhtml
267                svg/custom/focus-event-handling.xhtml
268
269         * rendering/svg/SVGRenderSupport.cpp:
270         (WebCore::SVGRenderSupport::computeRectForRepaint):
271         * svg/SVGCircleElement.h:
272         (WebCore::SVGCircleElement::supportsFocus):
273         * svg/SVGEllipseElement.h:
274         (WebCore::SVGEllipseElement::supportsFocus):
275         * svg/SVGGElement.h:
276         (WebCore::SVGGElement::supportsFocus):
277         * svg/SVGImageElement.h:
278         (WebCore::SVGImageElement::supportsFocus):
279         * svg/SVGLineElement.h:
280         (WebCore::SVGLineElement::supportsFocus):
281         * svg/SVGPathElement.h:
282         (WebCore::SVGPathElement::supportsFocus):
283         * svg/SVGPolyElement.h:
284         (WebCore::SVGPolyElement::supportsFocus):
285         * svg/SVGRectElement.h:
286         (WebCore::SVGRectElement::supportsFocus):
287         * svg/SVGSVGElement.h:
288         (WebCore::SVGSVGElement::supportsFocus):
289         * svg/SVGStyledElement.cpp:
290         (WebCore::SVGStyledElement::isMouseFocusable):
291         (WebCore::SVGStyledElement::isKeyboardFocusable):
292         * svg/SVGStyledElement.h:
293         * svg/SVGSwitchElement.h:
294         (WebCore::SVGSwitchElement::supportsFocus):
295         * svg/SVGSymbolElement.h:
296         (WebCore::SVGSymbolElement::supportsFocus):
297         * svg/SVGTextElement.h:
298         (WebCore::SVGTextElement::supportsFocus):
299         * svg/SVGUseElement.h:
300         (WebCore::SVGUseElement::supportsFocus):
301
302 2011-06-10  Luke Macpherson   <macpherson@chromium.org>
303
304         Reviewed by Eric Seidel.
305
306         Clean up CSSPrimitiveValue::computeLength*
307         https://bugs.webkit.org/show_bug.cgi?id=61612
308
309         No new tests as no functionality changed.
310
311         * css/CSSGradientValue.cpp:
312         Use new computeLength functions.
313         * css/CSSPrimitiveValue.cpp:
314         (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
315         Reduce to a single function using default parameter values.
316         (WebCore::CSSPrimitiveValue::computeLength):
317         Redefine existing functions with separate names as a single function using templated function specialization.
318         * css/CSSPrimitiveValue.h:
319         Prototypes for computeLengthIntForLength and computeLength.
320         * css/CSSStyleApplyProperty.cpp:
321         Use new computeLength functions.
322         * css/CSSStyleSelector.cpp:
323         Use new computeLength functions.
324         * css/MediaQueryEvaluator.cpp:
325         Use new computeLength functions.
326         * css/SVGCSSStyleSelector.cpp:
327         Use new computeLength functions.
328
329 2011-06-10  Simon Fraser  <simon.fraser@apple.com>
330
331         Reviewed by Beth Dakin.
332
333         Add utility to RenderLayer to determine if the layer is scrollable
334         https://bugs.webkit.org/show_bug.cgi?id=62467
335
336         New method that returns true if either scrollbar is present and enabled.
337         Not called anywhere yet.
338
339         * rendering/RenderLayer.cpp:
340         (WebCore::RenderLayer::allowsScrolling):
341         * rendering/RenderLayer.h:
342
343 2011-06-10  Dimitri Glazkov  <dglazkov@chromium.org>
344
345         Reviewed by Tony Chang.
346
347         REGRESSION (r88332): prototype-inheritance-2 ASSERTS attempting to enumerate spellCheckRanges
348         https://bugs.webkit.org/show_bug.cgi?id=62460
349
350         Test: fast/dom/prototype-inheritance-2.html
351
352         * dom/DocumentMarkerController.cpp:
353         (WebCore::DocumentMarkerController::userSpellingMarkersForNode): Added an extra 0-check.
354
355 2011-06-10  James Simonsen  <simonjam@chromium.org>
356
357         Reviewed by Tony Gentilcore.
358
359         Don't execute scripts in shadow SVG.
360         https://bugs.webkit.org/show_bug.cgi?id=62225
361
362         Test: svg/dom/use-style-recalc-script-execute-crash.html
363
364         * dom/ScriptElement.cpp:
365         (WebCore::ScriptElement::prepareScript):
366
367 2011-06-10  Konstantin Tokarev  <ktokarev@smartlabs.tv>
368
369         Reviewed by Joseph Pecoraro.
370
371         Fixed build with enabled workers and disabled inspector
372         https://bugs.webkit.org/show_bug.cgi?id=62461
373
374         * inspector/InspectorWorkerAgent.cpp: Added inspector guard
375
376 2011-06-10  Darin Adler  <darin@apple.com>
377
378         Reviewed by Eric Carlson.
379
380         REGRESSION: Fullscreen video controller can't be dragged
381         https://bugs.webkit.org/show_bug.cgi?id=62462
382
383         No regression test because we don't have machinery for testing the fullscreen
384         mode. We may find a way to add this in the future.
385
386         * html/shadow/MediaControlElements.cpp:
387         (WebCore::MediaControlPanelElement::MediaControlPanelElement): Initialize new
388         booleans related to dragging.
389         (WebCore::MediaControlPanelElement::startDrag): Added. Starts drag if dragging
390         is allowed and a drag isn't already in progress.
391         (WebCore::MediaControlPanelElement::continueDrag): Added. Moves the window if
392         dragging is already in progress.
393         (WebCore::MediaControlPanelElement::endDrag): Added. Ends the capture that is
394         done during the dragging process.
395         (WebCore::MediaControlPanelElement::setPosition): Added. Positions the panel
396         using explicit top/left.
397         (WebCore::MediaControlPanelElement::resetPosition): Added. Removes the positioning
398         done by setPosition.
399         (WebCore::MediaControlPanelElement::defaultEventHandler): Added. Calls startDrag,
400         continueDrag, and endDrag in response to mouse events.
401         (WebCore::MediaControlPanelElement::setCanBeDragged): Added.
402         * html/shadow/MediaControlElements.h: Added new function and data members
403         as mentioned above.
404
405         * html/shadow/MediaControlRootElement.cpp:
406         (WebCore::MediaControlRootElement::enteredFullscreen): Call setCanBeDragged(true)
407         so you can drag the panel while in fullscreen.
408         (WebCore::MediaControlRootElement::exitedFullscreen): Call setCanBeDragged(false)
409         so you can't drag the panel while not in fullscreen. Also call resetPosition so
410         position changes from dragging don't affect the panel in other contexts.
411
412 2011-06-10  Darin Adler  <darin@apple.com>
413
414         Reviewed by Eric Carlson.
415
416         REGRESSION: Full screen video HUD is positioned too low for standalone video documents
417         https://bugs.webkit.org/show_bug.cgi?id=62463
418
419         No test because we don't currently have machinery for testing fullscreen.
420
421         * css/fullscreen.css: Removed rule that said bottom: 0px for the control panel
422         for full page media in full screen mode. This is not needed because the control
423         panel for full screen mode already has style rules to set its vertical position.
424         (:-webkit-full-screen-ancestor:not(iframe)): Fixed typo where it said
425         -webkit-tranform. This will fix a potential problem where fullscreen would
426         malfunction on a page that had a media element inside a transform.
427
428 2011-06-10  Sergio Villar Senin  <svillar@igalia.com>
429
430         Reviewed by Gustavo Noronha Silva.
431
432         [GTK] Add support for non-ASCII filenames in Content-Disposition header
433         https://bugs.webkit.org/show_bug.cgi?id=62454
434
435         Try latin1 as fallback for header parameter values as some servers
436         do not follow RFC 2045 for example with filename parameter in
437         Content-Disposition.
438
439         No new tests required as no functionality changed.
440
441         * platform/network/soup/ResourceResponseSoup.cpp:
442         (WebCore::ResourceResponse::updateFromSoupMessage):
443
444 2011-06-10  No'am Rosenthal  <noam.rosenthal@nokia.com> and Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
445
446         Reviewed by Kenneth Rohde Christiansen.
447
448         Add layer factory to GraphicsLayer for creating non-default layer type.
449         https://bugs.webkit.org/show_bug.cgi?id=61925
450
451         Added a static factory protected member to GraphicsLayer, which should be accessed from
452         a port-specific implementation of GraphicsLayer::create. For now this is enabled for Qt only.
453
454         This is needed for accelerated compositing across processes in WebKit2, since WebCore
455         doesn't know in compile time whether it's in WebKit or WebKit2, which makes having two
456         different implementations of GraphicsLayer coexist impossible without some runtime
457         factory that can be overridden by the web process.
458
459         Note that the use of the factory would be optional, and the port-specific GraphicsLayer::create
460         would have to explicitly call it, in order to be unintrusive with current implementations.
461
462         No new functionality, so no new tests.
463
464         * platform/graphics/GraphicsLayer.cpp:
465         (WebCore::GraphicsLayer::setGraphicsLayerFactory):
466         * platform/graphics/GraphicsLayer.h:
467
468 2011-06-10  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
469
470         Reviewed by Kenneth Rohde Christiansen.
471
472         [CMAKE] Add generic support for building with WebGL
473         https://bugs.webkit.org/show_bug.cgi?id=62376
474
475         Set new THIRDPARTY_DIR variable to compile sources under ThirdParty.
476
477         No change in functionality so no new tests.
478
479         * CMakeLists.txt:
480
481 2011-06-10  Ryuan Choi  <ryuan.choi@samsung.com>
482
483         Reviewed by Andreas Kling.
484
485         [GTK][EFL] m_imageInterpolationQuality is not initialized in PlatformContextCairo::PlatformContextCairo.
486         https://bugs.webkit.org/show_bug.cgi?id=62435
487
488         No new tests required as just fixed warning.
489
490         * platform/graphics/cairo/PlatformContextCairo.cpp:
491         (WebCore::PlatformContextCairo::PlatformContextCairo):
492
493 2011-06-11-06-09  Ilya Tikhonovsky  <loislo@chromium.org>
494
495         Reviewed by Yury Semikhatsky.
496
497         Web Inspector: protocol: json: Whitespace can be inserted between any pair of tokens.
498         https://bugs.webkit.org/show_bug.cgi?id=62377
499
500         * inspector/InspectorValues.cpp:
501
502 2011-06-10  Sheriff Bot  <webkit.review.bot@gmail.com>
503
504         Unreviewed, rolling out r88530.
505         http://trac.webkit.org/changeset/88530
506         https://bugs.webkit.org/show_bug.cgi?id=62440
507
508         qt build was broken (Requested by loislo on #webkit).
509
510         * inspector/InspectorValues.cpp:
511
512 2011-06-09  Ilya Tikhonovsky  <loislo@chromium.org>
513
514         Reviewed by Yury Semikhatsky.
515
516         Web Inspector: protocol: json: Whitespace can be inserted between any pair of tokens.
517         https://bugs.webkit.org/show_bug.cgi?id=62377
518
519         * inspector/InspectorValues.cpp:
520
521 2011-06-09  Jer Noble  <jer.noble@apple.com>
522
523         Reviewed by Darin Adler.
524
525         REGRESSION: Vertical scroll bar appears when taking videos into full screen at jerryseinfeld.com
526         https://bugs.webkit.org/show_bug.cgi?id=62402
527
528         Sites are able to override the "overflow:hidden" rule for root full-screen nodes
529         simply by adding a "html {}" rule.  Make this rule !important, and also make it apply
530         to root nodes who are merely ancestors of full-screen elements, to cover the case of
531         a root node containing an <iframe> whose contents have gone full-screen.
532
533         * css/fullscreen.css:
534         (:root:-webkit-full-screen-document:not(:-webkit-full-screen),
535             :root:-webkit-full-screen-ancestor): Apply the overflow rule to root elements
536             who are full-screen ancestors, and make them !important.
537
538 2011-06-09  Luke Macpherson   <macpherson@chromium.org>
539
540         Reviewed by Eric Seidel.
541
542         Rename RenderStyle visuallyOrdered property and use an enum instead of a bool.
543         https://bugs.webkit.org/show_bug.cgi?id=61495
544
545         No new tests required as no functionality changed.
546
547         * css/CSSPrimitiveValueMappings.h:
548         Support cast to/from Order
549         * css/CSSStyleSelector.cpp:
550         (WebCore::CSSStyleSelector::styleForDocument):
551         Convert from bool to enum type.
552         (WebCore::CSSStyleSelector::applyProperty):
553         Convert to macro that uses the cast defined in CSSPrimitiveValueMappings.
554         * dom/Document.cpp:
555         (WebCore::Document::setVisuallyOrdered):
556         Change call to RenderStyle::setRTLOrdering using enum parameter.
557         * rendering/style/RenderStyle.h:
558         rename visuallyOrdered proerties rtlOrdering and use appropriate enum types.
559         * rendering/style/RenderStyleConstants.h:
560         Define enum type.
561
562 2011-06-09  Luke Macpherson   <macpherson@chromium.org>
563
564         Reviewed by Eric Seidel.
565
566         Implement CSSPropertyOutlineStyle handler in CSSStyleApplyProperty
567         https://bugs.webkit.org/show_bug.cgi?id=61601
568
569         No new tests. No new functionality added / covered by existing tests.
570
571         * css/CSSPrimitiveValueMappings.h:
572         (WebCore::CSSPrimitiveValue::operator EBorderStyle):
573         Support CSSValueAuto as required by outline-style property.
574         (WebCore::CSSPrimitiveValue::operator OutlineIsAuto):
575         Add cast to new OutlineIsAuto enum.
576         * css/CSSStyleApplyProperty.cpp:
577         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
578         Initialize handler for CSSPropertyOutlineStyle.
579         * css/CSSStyleSelector.cpp:
580         (WebCore::CSSStyleSelector::applyProperty):
581         Remove old handler for CSSPropertyOutlineStyle.
582         * rendering/style/OutlineValue.h:
583         Use new OutlineIsAuto enum instead of bool.
584         * rendering/style/RenderStyle.h:
585         Split existing two-parameter setter setOutlineStyle into separate setters for style and auto properties.
586         Use new OutlineIsAuto enum type.
587         * rendering/style/RenderStyleConstants.h:
588         Define new enum OutlineIsAuto.
589
590 2011-06-09  Luke Macpherson   <macpherson@chromium.org>
591
592         Reviewed by Eric Seidel.
593
594         Code cleanup - add wrappers for function pointer dereferences to improve readability in ApplyPropertyDefaultBase and derived classes.
595         https://bugs.webkit.org/show_bug.cgi?id=62418
596
597         No new tests / cleanup only.
598
599         * css/CSSStyleApplyProperty.cpp:
600         (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
601         Use new wrapper functions.
602         (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
603         Use new wrapper functions.
604         (WebCore::ApplyPropertyDefaultBase::setValue):
605         Wrapper for calling m_setter function pointer.
606         (WebCore::ApplyPropertyDefaultBase::value):
607         Wrapper for calling m_getter function pointer.
608         (WebCore::ApplyPropertyDefaultBase::initial):
609         Wrapper for calling m_initial function pointer.
610         (WebCore::ApplyPropertyDefault::applyValue):
611         Use new setValue function.
612         (WebCore::ApplyPropertyLength::applyValue):
613         Use new setValue function.
614         (WebCore::ApplyPropertyWidth::applyValue):
615         Use new setValue function.
616
617 2011-06-09  Hyowon Kim  <hw1008.kim@samsung.com>
618
619         Reviewed by Antonio Gomes.
620
621         [EFL] Make accelerated compositing build in Webkit-EFL
622         https://bugs.webkit.org/show_bug.cgi?id=62361
623
624         Add a new class, GraphicsLayerEfl - not yet implemented.
625         Add ACCELERATED_COMPOSITING related files to CMakeLists.
626
627         * CMakeLists.txt:
628         * CMakeListsEfl.txt:
629         * platform/graphics/efl/GraphicsLayerEfl.cpp: Added.
630         (WebCore::GraphicsLayer::create):
631         (WebCore::GraphicsLayerEfl::GraphicsLayerEfl):
632         (WebCore::GraphicsLayerEfl::~GraphicsLayerEfl):
633         (WebCore::GraphicsLayerEfl::setNeedsDisplay):
634         (WebCore::GraphicsLayerEfl::setNeedsDisplayInRect):
635         * platform/graphics/efl/GraphicsLayerEfl.h: Added.
636
637 2011-06-09  Jian Li  <jianli@chromium.org>
638
639         Reviewed by David Levin.
640
641         Calling WebKitBlobBuilder.append with null argument should not crash
642         https://bugs.webkit.org/show_bug.cgi?id=62419
643
644         Test: fast/files/blob-builder-crash.html
645
646         * fileapi/WebKitBlobBuilder.cpp:
647         (WebCore::WebKitBlobBuilder::append):
648
649 2011-06-09  Jer Noble  <jer.noble@apple.com>
650
651         Reviewed by David Hyatt.
652
653         Roll out r88468, and fix bug #61911 without making Element::offset functions virtual.
654         https://bugs.webkit.org/show_bug.cgi?id=62400
655
656         No new tests; covered by existing fullscreen/full-screen-video-offset.html test.
657
658         * rendering/RenderVideo.cpp:
659         (WebCore::rendererPlaceholder): Added; returns the placeholder block, if it exists.
660         (WebCore::RenderVideo::offsetLeft): Pass the offset request to the placeholder block.
661         (WebCore::RenderVideo::offsetTop): Ditto.
662         (WebCore::RenderVideo::offsetWidth): Ditto.
663         (WebCore::RenderVideo::offsetHeight): Ditto.
664         * rendering/RenderVideo.h: Added virtual overrides for the offset functions.
665
666 2011-06-09  James Robinson  <jamesr@chromium.org>
667
668         Reviewed by Kenneth Russell.
669
670         [chromium] Scissor rect not set for clipping layers set offscreen
671         https://bugs.webkit.org/show_bug.cgi?id=62339
672
673         We set a scissorRect on each layer, but only layers with masksToBounds and their descendants should actually set
674         a scissor.  Layers that didn't need to scissor had empty scissorRects.  Unfortunately layers with masksToBounds
675         and their descendants that are scrolled offscreen also end up with an empty clipped scissor rect.
676
677         This patch sets an explicit bit on each layer that should scissor and then checks that bit instead of checking
678         for an empty scissor rect at draw time.  RenderSurfaceChromiums have different requirements for
679         setScissorToRect, so the old behavior is still available with a flag.  This can probably be cleaned up more.
680
681         Test: platform/chromium/compositing/scissor-out-of-viewport.html
682
683         * platform/graphics/chromium/LayerRendererChromium.cpp:
684         (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
685         (WebCore::LayerRendererChromium::drawLayer):
686         (WebCore::LayerRendererChromium::setScissorToRect):
687         * platform/graphics/chromium/LayerRendererChromium.h:
688         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
689         (WebCore::RenderSurfaceChromium::draw):
690         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
691         (WebCore::CCLayerImpl::CCLayerImpl):
692         * platform/graphics/chromium/cc/CCLayerImpl.h:
693         (WebCore::CCLayerImpl::setUsesLayerScissor):
694         (WebCore::CCLayerImpl::usesLayerScissor):
695
696 2011-06-09  Sheriff Bot  <webkit.review.bot@gmail.com>
697
698         Unreviewed, rolling out r88468.
699         http://trac.webkit.org/changeset/88468
700         https://bugs.webkit.org/show_bug.cgi?id=62408
701
702         It broke build if !ENABLE(FULLSCREEN_API) (Requested by Ossy
703         on #webkit).
704
705         * dom/Element.cpp:
706         (WebCore::adjustForLocalZoom):
707         * dom/Element.h:
708         * html/HTMLMediaElement.cpp:
709         * html/HTMLMediaElement.h:
710
711 2011-06-09  Kenneth Russell  <kbr@google.com>
712
713         Reviewed by Adam Barth.
714
715         Disallow use of cross-domain media (images, video) in WebGL
716         https://bugs.webkit.org/show_bug.cgi?id=62257
717
718         Updated WebGL implementation to track recent spec updates in this area.
719
720         Tests: http/tests/security/webgl-remote-read-remote-image-allowed-with-credentials.html
721                http/tests/security/webgl-remote-read-remote-image-allowed.html
722                http/tests/security/webgl-remote-read-remote-image-blocked-no-crossorigin.html
723
724         * html/canvas/CanvasRenderingContext.cpp:
725         (WebCore::CanvasRenderingContext::wouldTaintOrigin):
726         (WebCore::CanvasRenderingContext::checkOrigin):
727         * html/canvas/CanvasRenderingContext.h:
728         (WebCore::CanvasRenderingContext::checkOrigin):
729         * html/canvas/WebGLRenderingContext.cpp:
730         (WebCore::WebGLRenderingContext::readPixels):
731         (WebCore::WebGLRenderingContext::texImage2D):
732         (WebCore::WebGLRenderingContext::videoFrameToImage):
733         (WebCore::WebGLRenderingContext::texSubImage2D):
734         * html/canvas/WebGLRenderingContext.h:
735
736 2011-06-09  Adam Barth  <abarth@webkit.org>
737
738         Reviewed by Eric Seidel.
739
740         Add an ASSERT to HTMLTreeBuilder
741         https://bugs.webkit.org/show_bug.cgi?id=62403
742
743         This ASSERT was useful in investigating a re-entrancy bug.  We should
744         keep it.
745
746         * html/parser/HTMLTreeBuilder.cpp:
747         (WebCore::HTMLTreeBuilder::processEndOfFile):
748
749 2011-06-09  Dan Bernstein  <mitz@apple.com>
750
751         Reviewed by Darin Adler.
752
753         Fix a regression from r88478.
754
755         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
756         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Add the runs
757         in reverse order in the RTL case here, since the whole vector is reversed by collectComplexTextRuns()
758         afterwards.
759
760 2011-06-09  Julien Chaffraix  <jchaffraix@codeaurora.org>
761
762         Reviewed by Antti Koivisto.
763
764         REGRESSION(84329): Stylesheets on some pages do not load
765         https://bugs.webkit.org/show_bug.cgi?id=61400
766
767         Test: fast/css/link-disabled-attr.html
768
769         Fixed r84329: the change did not take into account the fact
770         that HTMLLinkElement did already contain the disabled information
771         and the 2 information were not linked as they should have!
772
773         The new logic pushes the information to the stylesheet as this
774         is what the spec mandates and what FF is doing. Also it keeps
775         one bit of information (that JS enabled the stylesheet) as it
776         is needed for the recalcStyleSelector logic.
777
778         * dom/Document.cpp:
779         (WebCore::Document::recalcStyleSelector): s/isDisabled/disabled.
780
781         * html/HTMLLinkElement.cpp:
782         (WebCore::HTMLLinkElement::HTMLLinkElement): Removed m_disabledState,
783         replaced by m_isEnabledViaScript.
784         (WebCore::HTMLLinkElement::setDisabled): Updated the logic after
785         m_disabledState removal. It also matches the spec by forwarding
786         the disabled state to our stylesheet if we have one.
787         (WebCore::HTMLLinkElement::parseMappedAttribute): Removed harmful
788         handling of the disabledAttr.
789         (WebCore::HTMLLinkElement::process): Updated after m_disabledState removal.
790         * html/HTMLLinkElement.h:
791         (WebCore::HTMLLinkElement::isEnabledViaScript): Ditto.
792         (WebCore::HTMLLinkElement::isAlternate): Ditto.
793
794 2011-06-09  Dan Bernstein  <mitz@apple.com>
795
796         Reviewed by Darin Adler.
797
798         Simplify ComplexTextController::collectComplexTextRuns()
799         https://bugs.webkit.org/show_bug.cgi?id=62387
800
801         No new test, since functionality is unchanged.
802
803         * platform/graphics/mac/ComplexTextController.cpp:
804         (WebCore::ComplexTextController::collectComplexTextRuns): Always iterate characters in logical order,
805         then reverse the run vector for RTL.
806
807 2011-06-09  Dimitri Glazkov  <dglazkov@chromium.org>
808
809         Reviewed by Kent Tamura.
810
811         Fold isShadowBoundary into isShadowRoot.
812         https://bugs.webkit.org/show_bug.cgi?id=62317
813
814         Since there are no longer cases where Node::isShadowBoundary() != Node::isShadowRoot, we can remove this function.
815
816         In one case where isShadowBoundary was also tested to find ShadowContentElemnt, added a new isContentElement function.
817
818         Refactoring, covered by existing tests.
819
820         * css/CSSStyleSelector.cpp:
821         (WebCore::isAtShadowBoundary): Changed to use isShadowRoot.
822         * dom/Element.cpp:
823         (WebCore::Element::isSpellCheckingEnabled): Ditto.
824         * dom/Node.cpp:
825         (WebCore::Node::nonBoundaryShadowTreeRootNode): Ditto.
826         (WebCore::Node::nonShadowBoundaryParentNode): Ditto.
827         * dom/Node.h:
828         (WebCore::Node::isContentElement): Added.
829         * dom/NodeRenderingContext.cpp:
830         (WebCore::NodeRenderingContext::NodeRenderingContext): Changed to use isShadowRoot.
831         * dom/Position.cpp:
832         (WebCore::Position::Position): Ditto.
833         * dom/ShadowContentElement.h:
834         (WebCore::ShadowContentElement::isContentElement): Added.
835         * dom/ShadowRoot.cpp:
836         (WebCore::ShadowRoot::hasContentElement): Changed to use isContentElement.
837         * editing/CompositeEditCommand.cpp:
838         (WebCore::CompositeEditCommand::insertNodeAfter): Changed to use isShadowRoot.
839         * editing/htmlediting.cpp:
840         (WebCore::visiblePositionBeforeNode): Ditto.
841         (WebCore::visiblePositionAfterNode): Ditto.
842         * page/DragController.cpp:
843         (WebCore::asFileInput): Ditto.
844         * rendering/RenderTreeAsText.cpp:
845         (WebCore::nodePosition): Ditto.
846
847 2011-06-09  Simon Fraser  <simon.fraser@apple.com>
848
849         Reviewed by Darin Adler.
850
851         Crashes in RenderLayerBacking::paintingGoesToWindow
852         https://bugs.webkit.org/show_bug.cgi?id=61159
853
854         Speculative fix for unreproducible crash that can occur when RenderObject::repaintUsingContainer()
855         finds a repaintContainer that is not the RenderView, but that is also not
856         composited (for unknown reasons), by checking to see if the layer is
857         compositing before using backing(). An assertion remains to try to catch
858         this in debug builds.
859
860         * rendering/RenderLayer.cpp:
861         (WebCore::RenderLayer::setBackingNeedsRepaintInRect):
862
863 2011-06-09  Julien Chaffraix  <jchaffraix@webkit.org>
864
865         Reviewed by Darin Adler.
866
867         WebCore::WebKitCSSKeyframesRuleInternal::nameAttrSetter() - crash
868         https://bugs.webkit.org/show_bug.cgi?id=62384
869
870         Test: fast/css/webkit-keyframes-crash.html
871
872         * css/WebKitCSSKeyframesRule.cpp:
873         (WebCore::WebKitCSSKeyframesRule::setName): stylesheet() is never garanteed
874         to return a non-null pointer. Thus null-check here like the rest of the code.
875
876 2011-06-09  Julien Chaffraix  <jchaffraix@codeaurora.org>
877
878         Reviewed by David Hyatt.
879
880         chrome.dll!WebCore::RenderStyle::fontMetrics ReadAV@NULL (two crashes)
881         https://bugs.webkit.org/show_bug.cgi?id=57756
882
883         Tests: fast/css/fontMetric-border-radius-null-crash.html
884                fast/css/fontMetric-webkit-border-end-width-null-crash.html
885
886         * css/CSSStyleSelector.cpp:
887         (WebCore::CSSStyleSelector::styleForElement): Added a call to Font::update
888         so that our FontFallbackList is allocated if we ever need it when applying our
889         style rules.
890
891 2011-06-09  Cary Clark  <caryclark@google.com>
892
893         Reviewed by Eric Seidel.
894
895         Create local CG context for Mac UI elements when Skia is renderer
896         https://bugs.webkit.org/show_bug.cgi?id=62213
897
898         When building Mac Chrome using Skia as the WebKit renderer,
899         add state to LocalCurrentGraphicsContext to convert the SkCanvas
900         context passed by WebKit into the CGContext needed by UI
901         rendering.
902
903         No new tests.  The define typo in question is
904         not yet enabled, so this change has no functional
905         impact.
906
907         * platform/mac/LocalCurrentGraphicsContext.h:
908         Add SkiaBitLocker to create and release the converted CGContext.
909         Add ContextContainer, a class for Skia to create and release
910         the converted CGContext. If Skia is not used, the class has no effect.
911
912         * platform/mac/LocalCurrentGraphicsContext.mm:
913         (WebCore::LocalCurrentGraphicsContext::LocalCurrentGraphicsContext):
914         When building with Skia, create the CGContext before passing it on.
915
916         (WebCore::LocalCurrentGraphicsContext::cgContext):
917         Get the CGContext from the SkiaBitLocker, or the saved context,
918         as appropriate.
919
920         * rendering/RenderThemeMac.mm:
921         Get the CGContext from Skia conversion or native, as appropriate.
922         Use the LocalCurrentGraphicsContext if there is one. Otherwise,
923         add a ContextContainer to house the SkCanvas to CGContext conversion.
924
925         (WebCore::RenderThemeMac::paintCapsLockIndicator):
926         (WebCore::RenderThemeMac::paintProgressBar):
927         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
928         (WebCore::RenderThemeMac::paintSliderTrack):
929         (WebCore::RenderThemeMac::paintMediaFullscreenButton):
930         (WebCore::RenderThemeMac::paintMediaMuteButton):
931         (WebCore::RenderThemeMac::paintMediaPlayButton):
932         (WebCore::RenderThemeMac::paintMediaSeekBackButton):
933         (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
934         (WebCore::RenderThemeMac::paintMediaSliderTrack):
935         (WebCore::RenderThemeMac::paintMediaSliderThumb):
936         (WebCore::RenderThemeMac::paintMediaRewindButton):
937         (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
938         (WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton):
939         (WebCore::RenderThemeMac::paintMediaControlsBackground):
940         (WebCore::RenderThemeMac::paintMediaCurrentTime):
941         (WebCore::RenderThemeMac::paintMediaTimeRemaining):
942         (WebCore::RenderThemeMac::paintMediaVolumeSliderContainer):
943         (WebCore::RenderThemeMac::paintMediaVolumeSliderTrack):
944         (WebCore::RenderThemeMac::paintMediaVolumeSliderThumb):
945
946 2011-06-02  Jer Noble  <jer.noble@apple.com>
947
948         Reviewed by Maciej Stachowiak.
949
950         REGRESSION: Page layout messed up after exiting full screen after video ends at jerryseinfeld.com
951         https://bugs.webkit.org/show_bug.cgi?id=61911
952         <rdar://problem/9523017>
953
954         Test: fullscreen/full-screen-video-offset.html
955
956         When the video element is taken full-screen in the new element full-screen API, return the
957         offset width and height of the placeholder renderer which is filling in for the full-screen
958         element.  To do so, override offsetWidth, Height, Left, and Top from Element.  These are
959         non-virtual functions, so make them virtual.
960
961         * dom/Element.cpp:
962         (WebCore::Element::adjustForLocalZoom): Made into a class-static function.
963         * dom/Element.h: Made offset functions virtual.
964         * html/HTMLMediaElement.cpp:
965         (WebCore::elementPlaceholder): Added; utility function.
966         (WebCore::HTMLMediaElement::offsetLeft): Added; virtual override of the 
967             Element function. Will be called directly via javascript.
968         (WebCore::HTMLMediaElement::offsetTop): Ditto.
969         (WebCore::HTMLMediaElement::offsetWidth): Ditto.
970         (WebCore::HTMLMediaElement::offsetHeight): Ditto.
971         * html/HTMLMediaElement.h:
972
973 2011-06-09  Dave Tapuska  <dtapuska@rim.com>
974
975         Reviewed by Daniel Bates.
976
977         PingLoader destructor could dereference 0 if the Resource
978         Handle creation failed.
979
980         https://bugs.webkit.org/show_bug.cgi?id=62304
981
982         * loader/PingLoader.cpp:
983         (WebCore::PingLoader::~PingLoader):
984
985 2011-06-08  Abhishek Arya  <inferno@chromium.org>
986
987         Reviewed by Ryosuke Niwa.
988
989         Make indexForVisiblePosition and isSelectableElement static.
990         https://bugs.webkit.org/show_bug.cgi?id=62329
991
992         This protects us when converting frame->selection->start() or end()
993         to VisiblePosition which blows away the RenderTextControl from
994         underneath (due to layout update).
995
996         Test: fast/forms/text-control-selection-crash.html
997
998         * accessibility/AccessibilityRenderObject.cpp:
999         (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
1000         * rendering/RenderTextControl.cpp:
1001         (WebCore::RenderTextControl::selectionStart):
1002         (WebCore::RenderTextControl::selectionEnd):
1003         (WebCore::RenderTextControl::isSelectableElement):
1004         (WebCore::RenderTextControl::indexForVisiblePosition):
1005         * rendering/RenderTextControl.h:
1006
1007 2011-06-09  Ben Murdoch  <benm@google.com>
1008
1009         Reviewed by Yury Semikhatsky.
1010
1011         Build break in ScriptProfile.cpp and inspector disabled.
1012         https://bugs.webkit.org/show_bug.cgi?id=62373
1013
1014         No new tests - build fix only.
1015
1016         * bindings/v8/ScriptProfile.cpp: Add necessary guards.
1017         * bindings/v8/ScriptProfile.h: ditto.
1018
1019 2011-06-09  Vsevolod Vlasov  <vsevik@chromium.org>
1020
1021         Reviewed by Yury Semikhatsky.
1022
1023         Web Inspector: Network panel preview tab does not reattach SourceFrame when switching between preview and response tabs.
1024         https://bugs.webkit.org/show_bug.cgi?id=62298
1025
1026         * inspector/front-end/ResourcePreviewView.js:
1027         (WebInspector.ResourcePreviewView.prototype._ensureInnerViewShown.callback):
1028         (WebInspector.ResourcePreviewView.prototype._ensureInnerViewShown):
1029
1030 2011-06-09  Csaba Osztrogonác  <ossy@webkit.org>
1031
1032         [Qt][Mac] Speculative buildfix after r88286.
1033
1034         * platform/graphics/IntPoint.h:
1035
1036 2011-06-09  Mike Lawther  <mikelawther@chromium.org>
1037
1038         Reviewed by Kent Tamura.
1039
1040         Parsing issue with -webkit-calc
1041         https://bugs.webkit.org/show_bug.cgi?id=62276
1042
1043         Set the CSSParserString for the calc functions.
1044
1045         Test: css3/calc/regression-62276.html
1046
1047         * css/CSSParser.cpp:
1048         (WebCore::CSSParser::lex):
1049
1050 2011-06-09  Robert Hogan  <robert@webkit.org>
1051
1052         Reviewed by Andreas Kling.
1053
1054         Teach Qt about window.internals
1055         https://bugs.webkit.org/show_bug.cgi?id=61074
1056
1057         A weakness of the Qt DRT setup is that things like JSContextRef are abstracted
1058         away from the QtWebKit API so we need DumpRenderTreeSupportQt to access WebCore internals.
1059         Since the window.internals object requires JSContextRef we need to implement it in DumpRenderTreeSupportQt
1060         where we can access it. DumpRenderTreeSupportQt cannot be compiled outside Qt's WebCore and as it
1061         is our only possible route into the WebCoreTestSupport class neither can the new window.internals plumbing.
1062         Likewise we can't put the accessor in WebCoreTestSupport because it would then need to know about QWebFrame
1063         and others. The only alternative seems like a compile time guard which we would have to teach the bots about.
1064
1065         * CodeGenerators.pri:
1066         * WebCore.pri:
1067         * WebCore.pro:
1068
1069 2011-06-08  Mikołaj Małecki  <m.malecki@samsung.com>
1070
1071         Reviewed by Pavel Feldman.
1072
1073         Web Inspector: Crash by buffer overrun crash when serializing inspector object tree.
1074         https://bugs.webkit.org/show_bug.cgi?id=52791
1075
1076         No new tests. The problem can be reproduced by trying to create InspectorValue
1077         from 1.0e-100 and call ->toJSONString() on this.
1078
1079         * inspector/InspectorValues.cpp:
1080         (WebCore::InspectorBasicValue::writeJSON):
1081         Added checking the predicted buffer size and choosing exponential format, or
1082         eventually "NaN" if the buffer is too small for decimal format.
1083
1084 2011-06-09  Sheriff Bot  <webkit.review.bot@gmail.com>
1085
1086         Unreviewed, rolling out r88387.
1087         http://trac.webkit.org/changeset/88387
1088         https://bugs.webkit.org/show_bug.cgi?id=62368
1089
1090         New tests introduced in 88387 fail on Leopard,GTK,Qt bots
1091         (Requested by Ossy on #webkit).
1092
1093         * html/canvas/CanvasRenderingContext.cpp:
1094         (WebCore::CanvasRenderingContext::checkOrigin):
1095         * html/canvas/CanvasRenderingContext.h:
1096         * html/canvas/WebGLRenderingContext.cpp:
1097         (WebCore::WebGLRenderingContext::readPixels):
1098         (WebCore::WebGLRenderingContext::texImage2D):
1099         (WebCore::WebGLRenderingContext::videoFrameToImage):
1100         (WebCore::WebGLRenderingContext::texSubImage2D):
1101         * html/canvas/WebGLRenderingContext.h:
1102
1103 2011-06-09  Adam Barth  <abarth@webkit.org>
1104
1105         Reviewed by Eric Seidel.
1106
1107         Running script from attach can remove elements from the stack of open elements
1108         https://bugs.webkit.org/show_bug.cgi?id=62160
1109
1110         When the tree build runs script synchronously, that script can remove
1111         arbitrary elements from the stack of open elements.  We need to hold a
1112         reference to |parent| in attach instead of rely upon the reference in
1113         the stack of open elements.
1114
1115         Test: fast/parser/document-write-onload-clear.html
1116
1117         * html/parser/HTMLConstructionSite.cpp:
1118         (WebCore::HTMLConstructionSite::attach):
1119
1120 2011-06-08  Luke Macpherson   <macpherson@chromium.org>
1121
1122         Reviewed by Eric Seidel.
1123
1124         Make CSSPrimitiveValue support cast to EVerticalAlign.
1125         https://bugs.webkit.org/show_bug.cgi?id=62356
1126
1127         No new tests / refactoring only.
1128
1129         * css/CSSPrimitiveValueMappings.h:
1130         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1131         (WebCore::CSSPrimitiveValue::operator EVerticalAlign):
1132         * css/CSSStyleSelector.cpp:
1133         (WebCore::CSSStyleSelector::applyProperty):
1134
1135 2011-06-08  Justin Novosad  <junov@chromium.org>
1136
1137         Reviewed by James Robinson.
1138
1139         [Chromium] Crash when closing a tab with accelerated 2d canvas
1140         https://bugs.webkit.org/show_bug.cgi?id=62324
1141         Upon graphics context destruction, it is important to signal skia
1142         to abandon all of its resource handles.  This prevents a crash caused
1143         by skia attempting to release resources that were in the destroyed
1144         graphics context.
1145
1146         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
1147         (WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D):
1148
1149 2011-06-08  James Robinson  <jamesr@chromium.org>
1150
1151         Reviewed by Darin Fisher.
1152
1153         REGRESSION(88260): 10-50% performance regression across many page cyclers
1154         https://bugs.webkit.org/show_bug.cgi?id=62349
1155
1156         r88260 fixed a font cache resource leak and lowered the inactive font cache threshold.  The latter caused a
1157         significant performance regression across many chromium page cyclers, for example
1158         http://build.chromium.org/f/chromium/perf/linux-release-webkit-latest/moz/report.html?history=50&rev=88279.
1159
1160         This restores the previous inactive font size thresholds to their previous values, but retains the font cleanup
1161         logic.
1162
1163         * platform/graphics/FontCache.cpp:
1164
1165 2011-06-08  Hayato Ito  <hayato@chromium.org>
1166
1167         Reviewed by Dimitri Glazkov.
1168
1169         A forward/backward tab traversal now visits focusable elements in a shadow root.
1170         https://bugs.webkit.org/show_bug.cgi?id=61410
1171
1172         Test: fast/dom/shadow/tab-order-iframe-and-shadow.html
1173
1174         Like a iframe element, a shadow host becomes a scope of
1175         tabindex. That means all descendant elements in a shadow root are
1176         skipped if the host node of the shadow root is not focusable.
1177
1178         The patch doesn't affect HTMLInputElement and HTMLTextAreaElement,
1179         which uses a shadow root and do extra works in their focus()
1180         method.
1181
1182         A shadow root's <content> is not considered in this patch.
1183         That will be addressed in a following patch.
1184
1185         * page/FocusController.cpp:
1186         (WebCore::shadowRoot):
1187         (WebCore::isTreeScopeOwner):
1188         (WebCore::FocusController::deepFocusableNode):
1189         (WebCore::FocusController::advanceFocusInDocumentOrder):
1190         (WebCore::FocusController::findFocusableNodeAcrossTreeScope):
1191         (WebCore::FocusController::findFocusableNode):
1192         (WebCore::FocusController::nextFocusableNode):
1193         (WebCore::FocusController::previousFocusableNode):
1194         (WebCore::FocusController::ownerOfTreeScope):
1195         * page/FocusController.h:
1196
1197 2011-06-08  Hayato Ito  <hayato@chromium.org>
1198
1199         Reviewed by Hajime Morita.
1200
1201         Makes sure that document.activeElement won't be an element in shadow root.
1202
1203         https://bugs.webkit.org/show_bug.cgi?id=61413
1204
1205         Test: fast/dom/shadow/activeelement-should-be-shadowhost.html
1206
1207         * html/HTMLDocument.cpp:
1208         (WebCore::focusedFrameOwnerElement):
1209         (WebCore::HTMLDocument::activeElement):
1210
1211 2011-06-08  Kent Tamura  <tkent@chromium.org>
1212
1213         Reviewed by Dimitri Glazkov.
1214
1215         Allow drawing a slider thumb for any nodes.
1216         https://bugs.webkit.org/show_bug.cgi?id=62196
1217
1218         RenderObject::node() should provide various information which is
1219         necessary for rendering. We don't need to refer the parent renderer.
1220
1221         * dom/Node.cpp:
1222         (WebCore::Node::focusDe1egate): Added.
1223         * dom/Node.h: Added a declaration.
1224         * html/shadow/MediaControlElements.cpp:
1225         (WebCore::toParentMediaElement):
1226           Added an overload of toParentMediaElement() with Node* parameter.
1227         * html/shadow/MediaControlElements.h:
1228         (WebCore::toParentMediaElement): ditto.
1229         * html/shadow/SliderThumbElement.cpp:
1230         (WebCore::SliderThumbElement::isEnabledFormControl):
1231           Returns the status of the host node.
1232         (WebCore::SliderThumbElement::isReadOnlyFormControl): ditto.
1233         (WebCore::SliderThumbElement::focusDe1egate):
1234           Returns the host node so that RenderTheme::isFocused() returns true.
1235         (WebCore::SliderThumbElement::detach): Style nit.
1236         (WebCore::SliderThumbElement::hostInput):
1237           Make it const because it is called by const functions.
1238         * html/shadow/SliderThumbElement.h:
1239           - Remove inDragMode()
1240           - Update declarations
1241         * platform/qt/RenderThemeQt.cpp:
1242         (WebCore::RenderThemeQt::paintMediaSliderThumb):
1243           Use Node::shadowAncestorNode() instead of RenderObject::parent() to
1244           support deeper thumb nodes.
1245         * rendering/RenderMediaControlsChromium.cpp:
1246         (WebCore::paintMediaSliderThumb): ditto.
1247         (WebCore::paintMediaVolumeSliderThumb): Remove isSlider() check.
1248         * rendering/RenderSlider.cpp:
1249         (WebCore::RenderSlider::inDragMode):
1250           SliderThumbElement::inDragMode() was removed, and Node::active() has
1251           the same information.
1252         * rendering/RenderTheme.cpp:
1253         (WebCore::RenderTheme::paint): Remove isSlider() checks.
1254         (WebCore::RenderTheme::isFocused): Apply Node::focusDelegate().
1255         * rendering/RenderThemeChromiumLinux.cpp:
1256         (WebCore::RenderThemeChromiumLinux::paintSliderThumb):
1257           isPressed() is enough.
1258         * rendering/RenderThemeChromiumWin.cpp:
1259           isEnabled(), isFocused(), and isPressed() are enough.
1260         (WebCore::RenderThemeChromiumWin::determineSliderThumbState):
1261         (WebCore::RenderThemeChromiumWin::determineClassicState):
1262         * rendering/RenderThemeMac.mm:
1263         (WebCore::RenderThemeMac::paintSliderThumb):
1264           - Remove isSlider() check.
1265           - Passing 'o' to udpateFooState functions is enough.
1266           - isPressed() is enough.
1267         * rendering/RenderThemeSafari.cpp:
1268         (WebCore::RenderThemeSafari::paintSliderThumb):
1269           We don't need special handling anymore.
1270         * rendering/RenderThemeWin.cpp:
1271         (WebCore::RenderThemeWin::determineSliderThumbState):
1272           isEnabled(), isFocused(), and isPressed() are enough.
1273
1274 2011-06-08  Adam Barth  <abarth@webkit.org>
1275
1276         Reviewed by Eric Seidel.
1277
1278         constructTreeFromToken can re-enter parser, causing ASSERTs
1279         https://bugs.webkit.org/show_bug.cgi?id=62160
1280
1281         This patch clears the HTMLToken before constructing the tree from the
1282         token, putting the HTMLDocumentParser in a good state to be re-entered.
1283
1284         Tests: fast/parser/document-write-onload-nesting.html
1285                fast/parser/document-write-onload-ordering.html
1286
1287         * html/parser/HTMLDocumentParser.cpp:
1288         (WebCore::HTMLDocumentParser::pumpTokenizer):
1289         * html/parser/HTMLToken.h:
1290         (WebCore::HTMLToken::isUninitialized):
1291         * html/parser/HTMLTreeBuilder.cpp:
1292         (WebCore::HTMLTreeBuilder::constructTreeFromToken):
1293
1294 2011-06-08  Kent Tamura  <tkent@chromium.org>
1295
1296         Fix Qt build for r88405.
1297         https://bugs.webkit.org/show_bug.cgi?id=62208
1298
1299         * platform/qt/RenderThemeQt.h:
1300
1301 2011-06-08  Kent Tamura  <tkent@chromium.org>
1302
1303         Reviewed by Dimitri Glazkov.
1304
1305         Change the argument of RenderTheme::adjustSliderThumbSize(): RenderObject* -> RenderStyle*
1306         https://bugs.webkit.org/show_bug.cgi?id=62208
1307
1308         Change the argument type of RenderTheme::adjustSliderThumbSize() and
1309         RenderMediaControls::adjustMediaSliderThumbSize() from RenderObject* to RenderStyle*.
1310
1311         Also, each of adjustSliderThumbStyle() overrides calls RenderTheme::
1312         adjustSliderThumbStyle() for future changes.
1313
1314         No new tests. This is a refactoring and should not change any behavior.
1315
1316         * html/shadow/SliderThumbElement.cpp:
1317         (WebCore::RenderSliderThumb::layout): Passing RenderStyle* and remove a FIXME comment.
1318         * platform/efl/RenderThemeEfl.cpp:
1319         (WebCore::RenderThemeEfl::adjustSliderThumbStyle): Calls RenderTheme::adjustSliderThumbStyle().
1320         * platform/gtk/RenderThemeGtk.cpp:
1321         (WebCore::RenderThemeGtk::adjustSliderThumbStyle): ditto.
1322         (WebCore::RenderThemeGtk::adjustMediaSliderThumbSize):
1323         * platform/gtk/RenderThemeGtk.h:
1324         * platform/gtk/RenderThemeGtk2.cpp:
1325         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
1326         * platform/gtk/RenderThemeGtk3.cpp:
1327         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
1328         * platform/qt/RenderThemeQt.cpp:
1329         (WebCore::RenderThemeQt::adjustSliderThumbStyle): ditto.
1330         (WebCore::RenderThemeQt::adjustSliderThumbSize):
1331         * rendering/RenderMediaControls.cpp:
1332         (WebCore::RenderMediaControls::adjustMediaSliderThumbSize):
1333         * rendering/RenderMediaControls.h:
1334         * rendering/RenderMediaControlsChromium.cpp:
1335         (WebCore::RenderMediaControlsChromium::adjustMediaSliderThumbSize):
1336         * rendering/RenderMediaControlsChromium.h:
1337         * rendering/RenderSlider.cpp:
1338         (WebCore::RenderSlider::layout): Passing RenderStyle* and remove a FIXME comment.
1339         * rendering/RenderTheme.cpp:
1340         (WebCore::RenderTheme::adjustSliderThumbStyle): Add a comment.
1341         (WebCore::RenderTheme::adjustSliderThumbSize):
1342         * rendering/RenderTheme.h:
1343         * rendering/RenderThemeChromiumLinux.cpp:
1344         (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
1345         * rendering/RenderThemeChromiumLinux.h:
1346         * rendering/RenderThemeChromiumMac.h:
1347         * rendering/RenderThemeChromiumMac.mm:
1348         (WebCore::RenderThemeChromiumMac::adjustMediaSliderThumbSize):
1349         * rendering/RenderThemeChromiumSkia.cpp:
1350         (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize):
1351         * rendering/RenderThemeChromiumSkia.h:
1352         * rendering/RenderThemeChromiumWin.cpp:
1353         (WebCore::RenderThemeChromiumWin::adjustSliderThumbSize):
1354         * rendering/RenderThemeChromiumWin.h:
1355         * rendering/RenderThemeMac.h:
1356         * rendering/RenderThemeMac.mm:
1357         (WebCore::RenderThemeMac::adjustSliderThumbStyle): Calls RenderTheme::adjustSliderThumbStyle().
1358         (WebCore::RenderThemeMac::adjustSliderThumbSize):
1359         (WebCore::RenderThemeMac::adjustMediaSliderThumbSize):
1360         * rendering/RenderThemeSafari.cpp:
1361         (WebCore::RenderThemeSafari::adjustSliderThumbStyle): Calls RenderTheme::adjustSliderThumbStyle().
1362         (WebCore::RenderThemeSafari::adjustSliderThumbSize):
1363         * rendering/RenderThemeSafari.h:
1364         * rendering/RenderThemeWin.cpp:
1365         (WebCore::RenderThemeWin::adjustSliderThumbSize):
1366         * rendering/RenderThemeWin.h:
1367         * rendering/RenderThemeWinCE.cpp:
1368         (WebCore::RenderThemeWinCE::adjustSliderThumbSize):
1369         * rendering/RenderThemeWinCE.h:
1370
1371 2011-06-08  Brian Salomon  <bsalomon@google.com>
1372
1373         Reviewed by James Robinson.
1374
1375         Avoid always binding FBO 0 implicitly when deleting FBO in DrawingBuffer code because it invalidates Ganesh's cache of the current FBO.
1376         https://bugs.webkit.org/show_bug.cgi?id=62318
1377
1378         Chromium-only crash
1379         Failures takes multiple seconds to occur, relying on JS garbage-collection to occur 
1380         http://www.hotbazooka.com/privatejoe-large
1381
1382         * platform/graphics/gpu/DrawingBuffer.cpp:
1383         (WebCore::DrawingBuffer::clear):
1384
1385 2011-06-08  Emil A Eklund  <eae@chromium.org>
1386
1387         Reviewed by Eric Seidel.
1388
1389         RenderEmbeddedObject::getReplacementTextGeometry
1390         https://bugs.webkit.org/show_bug.cgi?id=62313
1391
1392         Replace the last use of tx, ty with IntPoint.
1393
1394         Covered by existing tests.
1395
1396         * platform/graphics/FloatRect.h:
1397         (WebCore::FloatRect::move):
1398         (WebCore::FloatRect::moveBy):
1399         * rendering/RenderEmbeddedObject.cpp:
1400         (WebCore::RenderEmbeddedObject::paintReplaced):
1401         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
1402         (WebCore::RenderEmbeddedObject::isInMissingPluginIndicator):
1403         * rendering/RenderEmbeddedObject.h:
1404
1405 2011-06-08  Tim Horton  <timothy_horton@apple.com>
1406
1407         Reviewed by Ryosuke Niwa.
1408
1409         Use correct CFURLStorageSessionRef definition on Leopard, as
1410         we created an inconsistency in const-ness between
1411         WebCoreSystemInterface.h and these two files in the case
1412         of Leopard only.
1413         https://bugs.webkit.org/show_bug.cgi?id=62223
1414
1415         * platform/network/ResourceHandle.h:
1416         * platform/network/cf/ResourceRequest.h:
1417
1418 2011-06-08  Sailesh Agrawal  <sail@chromium.org>
1419
1420         Reviewed by Mihai Parparita.
1421
1422         Chromium Mac: Enable overlay scrollbars
1423         https://bugs.webkit.org/show_bug.cgi?id=59756
1424
1425         Sync ScrollbarThemeChromiumMac.mm/.h with ScrollbarThemeMac.mm to pick up support for overlay scrollbars. The only changes are renaming ScrollbarThemeMac to ScrollbarThemeChromiumMac and using runtime checks instead of #ifdef's.
1426
1427         No new tests, since this code is only enabled on future versions of Mac OS X.
1428
1429         * platform/chromium/ScrollAnimatorChromiumMac.mm: All changes to this file except in scroll() were to swap #if USE(WK_SCROLLBAR_PAINTER) with runtime checks.
1430         (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
1431         (WebCore::ScrollAnimatorChromiumMac::~ScrollAnimatorChromiumMac):
1432         (WebCore::ScrollAnimatorChromiumMac::notityPositionChanged):
1433         (WebCore::ScrollAnimatorChromiumMac::contentAreaWillPaint):
1434         (WebCore::ScrollAnimatorChromiumMac::mouseEnteredContentArea):
1435         (WebCore::ScrollAnimatorChromiumMac::mouseExitedContentArea):
1436         (WebCore::ScrollAnimatorChromiumMac::mouseMovedInContentArea):
1437         (WebCore::ScrollAnimatorChromiumMac::willStartLiveResize):
1438         (WebCore::ScrollAnimatorChromiumMac::contentsResized):
1439         (WebCore::ScrollAnimatorChromiumMac::willEndLiveResize):
1440         (WebCore::ScrollAnimatorChromiumMac::contentAreaDidShow):
1441         (WebCore::ScrollAnimatorChromiumMac::contentAreaDidHide):
1442         (WebCore::ScrollAnimatorChromiumMac::didBeginScrollGesture):
1443         (WebCore::ScrollAnimatorChromiumMac::didEndScrollGesture):
1444         (WebCore::ScrollAnimatorChromiumMac::didAddVerticalScrollbar):
1445         (WebCore::ScrollAnimatorChromiumMac::willRemoveVerticalScrollbar):
1446         (WebCore::ScrollAnimatorChromiumMac::didAddHorizontalScrollbar):
1447         (WebCore::ScrollAnimatorChromiumMac::willRemoveHorizontalScrollbar):
1448         (WebCore::ScrollAnimatorChromiumMac::cancelAnimations):
1449         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
1450         (preferredScrollerStyle): Disabled overlay scrollbar styles due to trailing artifacts.
1451         (wkScrollbarPainterPaint): Fixed a problem where the scrollbar track wasn't being drawn.
1452         (wkScrollbarPainterKnobRect): Implemented a previously unimplemented function.
1453         (wkSetScrollbarPainterKnobStyle): Implemented a function that's now supported by the latest Mac OS X seeds.
1454         (isScrollbarOverlayAPIAvailable): Enabled new scrollbar code.
1455         * platform/chromium/ScrollbarThemeChromiumMac.h:
1456         * platform/chromium/ScrollbarThemeChromiumMac.mm: Sync with ScrollbarThemeMac.mm.
1457         (WebCore::scrollbarMap):
1458         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
1459         (WebCore::updateArrowPlacement):
1460         (WebCore::ScrollbarThemeChromiumMac::registerScrollbar):
1461         (WebCore::ScrollbarThemeChromiumMac::unregisterScrollbar):
1462         (WebCore::ScrollbarThemeChromiumMac::setNewPainterForScrollbar):
1463         (WebCore::ScrollbarThemeChromiumMac::painterForScrollbar):
1464         (WebCore::ScrollbarThemeChromiumMac::scrollbarThickness):
1465         (WebCore::ScrollbarThemeChromiumMac::usesOverlayScrollbars):
1466         (WebCore::ScrollbarThemeChromiumMac::hasButtons):
1467         (WebCore::ScrollbarThemeChromiumMac::hasThumb):
1468         (WebCore::buttonRepaintRect):
1469         (WebCore::ScrollbarThemeChromiumMac::minimumThumbLength):
1470         (WebCore::ScrollbarThemeChromiumMac::shouldDragDocumentInsteadOfThumb):
1471         (WebCore::toScrollbarPainterKnobStyle):
1472         (WebCore::ScrollbarThemeChromiumMac::paint):
1473
1474 2011-06-06  Nate Chapin  <japhet@chromium.org>
1475
1476         Reviewed by Adam Barth.
1477
1478         Remove all knowledge of CachedResourceRequests from
1479         CachedResourceLoader. This puts the full burden of
1480         canceling these requests on DocumentLoader (via
1481         SubresourceLoader), and makes a CachedResourceRequest
1482         an OwnPtr in CachedResource.
1483
1484         https://bugs.webkit.org/show_bug.cgi?id=62308
1485
1486         * loader/FrameLoader.cpp:
1487         (WebCore::FrameLoader::stopLoading):
1488         * loader/cache/CachedResource.cpp:
1489         (WebCore::CachedResource::CachedResource):
1490         (WebCore::CachedResource::load):
1491         (WebCore::CachedResource::stopLoading):
1492         * loader/cache/CachedResource.h:
1493         * loader/cache/CachedResourceLoader.cpp:
1494         (WebCore::CachedResourceLoader::~CachedResourceLoader):
1495         (WebCore::CachedResourceLoader::loadDone):
1496         * loader/cache/CachedResourceLoader.h:
1497         * loader/cache/CachedResourceRequest.cpp:
1498         (WebCore::CachedResourceRequest::CachedResourceRequest):
1499         (WebCore::CachedResourceRequest::~CachedResourceRequest):
1500         (WebCore::CachedResourceRequest::load):
1501         (WebCore::CachedResourceRequest::didFinishLoading):
1502         (WebCore::CachedResourceRequest::didFail):
1503         (WebCore::CachedResourceRequest::didReceiveResponse):
1504         (WebCore::CachedResourceRequest::end):
1505         * loader/cache/CachedResourceRequest.h:
1506
1507 2011-06-08  Mike Reed  <reed@google.com>
1508
1509         Reviewed by James Robinson.
1510
1511         [Skia] check for null-shader from gradient factory
1512         https://bugs.webkit.org/show_bug.cgi?id=62319
1513
1514         * platform/graphics/skia/GradientSkia.cpp:
1515         (WebCore::Gradient::platformDestroy):
1516         (WebCore::Gradient::platformGradient):
1517
1518 2011-06-08  Kenneth Russell  <kbr@google.com>
1519
1520         Reviewed by Adam Barth.
1521
1522         Disallow use of cross-domain media (images, video) in WebGL
1523         https://bugs.webkit.org/show_bug.cgi?id=62257
1524
1525         Updated WebGL implementation to track recent spec updates in this area.
1526
1527         Tests: http/tests/security/webgl-remote-read-remote-image-allowed-with-credentials.html
1528                http/tests/security/webgl-remote-read-remote-image-allowed.html
1529                http/tests/security/webgl-remote-read-remote-image-blocked-no-crossorigin.html
1530
1531         * html/canvas/CanvasRenderingContext.cpp:
1532         (WebCore::CanvasRenderingContext::wouldTaintOrigin):
1533         (WebCore::CanvasRenderingContext::checkOrigin):
1534         * html/canvas/CanvasRenderingContext.h:
1535         (WebCore::CanvasRenderingContext::checkOrigin):
1536         * html/canvas/WebGLRenderingContext.cpp:
1537         (WebCore::WebGLRenderingContext::readPixels):
1538         (WebCore::WebGLRenderingContext::texImage2D):
1539         (WebCore::WebGLRenderingContext::videoFrameToImage):
1540         (WebCore::WebGLRenderingContext::texSubImage2D):
1541         * html/canvas/WebGLRenderingContext.h:
1542
1543 2011-06-08  John Bauman  <jbauman@chromium.org>
1544
1545         Reviewed by James Robinson.
1546
1547         Only draw portions of tiles in contentRect
1548         https://bugs.webkit.org/show_bug.cgi?id=62243
1549
1550         Old garbage data can remain in tiles, so make sure to draw only those
1551         portions that are supposed to be drawn.
1552
1553         Test: compositing/repaint/shrink-layer.html
1554
1555         * platform/graphics/chromium/LayerTilerChromium.cpp:
1556         (WebCore::LayerTilerChromium::draw):
1557
1558 2011-06-08  Emil A Eklund  <eae@chromium.org>
1559
1560         Reviewed by Eric Seidel.
1561
1562         Convert RenderBlock::isPointInOverflowControl to IntPoint
1563         https://bugs.webkit.org/show_bug.cgi?id=62312
1564
1565         Covered by existing tests.
1566
1567         * rendering/RenderBlock.cpp:
1568         (WebCore::RenderBlock::isPointInOverflowControl):
1569         (WebCore::RenderBlock::nodeAtPoint):
1570         * rendering/RenderBlock.h:
1571         * rendering/RenderListBox.cpp:
1572         (WebCore::RenderListBox::isPointInOverflowControl):
1573         * rendering/RenderListBox.h:
1574
1575 2011-06-08  James Simonsen  <simonjam@chromium.org>
1576
1577         Reviewed by Tony Gentilcore.
1578
1579         Fix clang issue, virtual function const mismatch
1580         https://bugs.webkit.org/show_bug.cgi?id=62307
1581
1582         No new tests. Built with clang & ran layout tests.
1583
1584         * page/MediaStreamFrameController.h:
1585         (WebCore::MediaStreamFrameController::GenericClient::isGenericClient):
1586
1587 2011-06-08  Chris Rogers  <crogers@google.com>
1588
1589         Reviewed by Kenneth Russell.
1590
1591         Implement BiquadFilterNode for filter types: LOWPASS, HIGHPASS, BANDPASS, LOWSHELF, HIGHSHELF, PEAKING, NOTCH, ALLPASS
1592         https://bugs.webkit.org/show_bug.cgi?id=62078
1593
1594         No new tests since audio API is not yet implemented.
1595
1596         * DerivedSources.make:
1597         * WebCore.gypi:
1598         * WebCore.xcodeproj/project.pbxproj:
1599         * platform/audio/Biquad.cpp:
1600         (WebCore::Biquad::Biquad):
1601         (WebCore::Biquad::reset):
1602         (WebCore::Biquad::setLowpassParams):
1603         (WebCore::Biquad::setHighpassParams):
1604         (WebCore::Biquad::setNormalizedCoefficients):
1605         (WebCore::Biquad::setLowShelfParams):
1606         (WebCore::Biquad::setHighShelfParams):
1607         (WebCore::Biquad::setPeakingParams):
1608         (WebCore::Biquad::setAllpassParams):
1609         (WebCore::Biquad::setNotchParams):
1610         (WebCore::Biquad::setBandpassParams):
1611         (WebCore::Biquad::setZeroPolePairs):
1612         (WebCore::Biquad::setAllpassPole):
1613         * platform/audio/Biquad.h:
1614         * webaudio/AudioContext.cpp:
1615         (WebCore::AudioContext::createBiquadFilter):
1616         (WebCore::AudioContext::createLowPass2Filter):
1617         (WebCore::AudioContext::createHighPass2Filter):
1618         * webaudio/AudioContext.h:
1619         * webaudio/AudioContext.idl:
1620         * webaudio/AudioNode.h:
1621         * webaudio/BiquadDSPKernel.cpp:
1622         (WebCore::BiquadDSPKernel::process):
1623         * webaudio/BiquadFilterNode.cpp: Added.
1624         (WebCore::BiquadFilterNode::BiquadFilterNode):
1625         * webaudio/BiquadFilterNode.h: Added.
1626         (WebCore::BiquadFilterNode::create):
1627         (WebCore::BiquadFilterNode::type):
1628         (WebCore::BiquadFilterNode::setType):
1629         (WebCore::BiquadFilterNode::frequency):
1630         (WebCore::BiquadFilterNode::q):
1631         (WebCore::BiquadFilterNode::gain):
1632         (WebCore::BiquadFilterNode::biquadProcessor):
1633         * webaudio/BiquadFilterNode.idl: Added.
1634         * webaudio/BiquadProcessor.cpp:
1635         (WebCore::BiquadProcessor::BiquadProcessor):
1636         * webaudio/BiquadProcessor.h:
1637         (WebCore::BiquadProcessor::setType):
1638         * webaudio/HighPass2FilterNode.cpp:
1639         (WebCore::HighPass2FilterNode::HighPass2FilterNode):
1640         * webaudio/LowPass2FilterNode.cpp:
1641         (WebCore::LowPass2FilterNode::LowPass2FilterNode):
1642
1643 2011-06-08  No'am Rosenthal  <noam.rosenthal@nokia.com>
1644
1645         Reviewed by Kenneth Rohde Christiansen.
1646
1647         WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
1648         https://bugs.webkit.org/show_bug.cgi?id=61694
1649
1650         No new tests, code path is not activated yet.
1651
1652         * WebCore.xcodeproj/project.pbxproj: Changed the TransformOperation subclassed from "project" to "private"
1653
1654 2011-06-08  Tom Sepez  <tsepez@chromium.org>
1655
1656         Reviewed by Adam Barth.
1657
1658         Cause checks for insecure content blocking policy to callback to client.
1659         https://bugs.webkit.org/show_bug.cgi?id=61946
1660         Tests: platform/chromium/http/tests/security/mixedContent/insecure-image-in-main-frame-allowed.html
1661                platform/chromium/http/tests/security/mixedContent/insecure-image-in-main-frame-blocked.html
1662                platform/chromium/http/tests/security/mixedContent/insecure-script-in-main-frame-allowed.html
1663                platform/chromium/http/tests/security/mixedContent/insecure-script-in-main-frame-blocked.html
1664
1665         * loader/FrameLoader.cpp:
1666         (WebCore::FrameLoader::checkIfDisplayInsecureContent):
1667         (WebCore::FrameLoader::checkIfRunInsecureContent):
1668         * loader/FrameLoaderClient.h:
1669         (WebCore::FrameLoaderClient::allowDisplayingInsecureContent):
1670         (WebCore::FrameLoaderClient::allowRunningInsecureContent):
1671
1672 2011-06-08  Kevin Ollivier  <kevino@theolliviers.com>
1673
1674         [wx] Build fix after introduction of FontCache::ShouldRetain
1675
1676         * platform/graphics/wx/FontCacheWx.cpp:
1677         (WebCore::FontCache::getFontDataForCharacters):
1678
1679 2011-06-08  Sheriff Bot  <webkit.review.bot@gmail.com>
1680
1681         Unreviewed, rolling out r88365.
1682         http://trac.webkit.org/changeset/88365
1683         https://bugs.webkit.org/show_bug.cgi?id=62301
1684
1685         windows bots broken (Requested by loislo_ on #webkit).
1686
1687         * inspector/InspectorValues.cpp:
1688         (WebCore::InspectorBasicValue::writeJSON):
1689
1690 2011-06-08  Mikołaj Małecki  <m.malecki@samsung.com>
1691
1692         Reviewed by Pavel Feldman.
1693
1694         Web Inspector: Crash by buffer overrun crash when serializing inspector object tree.
1695         https://bugs.webkit.org/show_bug.cgi?id=52791
1696
1697         No new tests. The problem can be reproduced by trying to create InspectorValue
1698         from 1.0e-100 and call ->toJSONString() on this.
1699
1700         * inspector/InspectorValues.cpp:
1701         (WebCore::InspectorBasicValue::writeJSON):
1702         Added checking the predicted buffer size and choosing exponential format, or
1703         eventually "NaN" if the buffer is too small for decimal format.
1704
1705 2011-06-08  Nico Weber  <thakis@chromium.org>
1706
1707         Reviewed by Darin Adler.
1708
1709         Fix a ?: precedence error in ScrollbarThemeMac and ScrollbarThemeChromium
1710         https://bugs.webkit.org/show_bug.cgi?id=62295
1711
1712         This was found by a new warning recently added to clang's -Wparentheses
1713
1714         * platform/chromium/ScrollbarThemeChromiumMac.mm:
1715         (WebCore::ScrollbarThemeChromiumMac::backButtonRect):
1716         * platform/mac/ScrollbarThemeMac.mm:
1717         (WebCore::ScrollbarThemeMac::backButtonRect):
1718
1719 2011-06-08  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1720
1721         Reviewed by Andreas Kling.
1722
1723         [Qt] Remove dead code from our JSC bridge
1724         https://bugs.webkit.org/show_bug.cgi?id=62287
1725
1726         The m_defaultMethod member is not used since r36848 and QtMethod
1727         was replaced by QtRuntimeMethod and subclasses in r29729.
1728
1729         * bridge/qt/qt_instance.cpp:
1730         (JSC::Bindings::QtInstance::removeCachedMethod):
1731         (JSC::Bindings::QtInstance::visitAggregate):
1732         * bridge/qt/qt_instance.h:
1733         * bridge/qt/qt_runtime.h:
1734
1735 2011-06-08  Ryan Sleevi  <rsleevi@chromium.org>
1736
1737         Reviewed by Tony Chang.
1738
1739         Suppress C++0x compat warnings when compiling Chromium port with GCC 4.6
1740
1741         Compiling Chromium port under GCC 4.6 produces warnings about nullptr
1742         https://bugs.webkit.org/show_bug.cgi?id=62242
1743
1744         * WebCore.gyp/WebCore.gyp:
1745
1746 2011-05-25  Xiaomei Ji  <xji@chromium.org>
1747
1748         Reviewed by Ryosuke Niwa.
1749
1750         --webkit-visual-word does not work well in words separated by multiple spaces
1751         https://bugs.webkit.org/show_bug.cgi?id=61324
1752
1753         Remove positionBeforeNextWord and positionAfterPreviousWord short-cuts. They try to find the
1754         right word boundary (before the space or after the space) by using previousWordPosition and
1755         nextWordPosition. But they assume words are separated by single space and are not correct 
1756         for words separated by multiple spaces and words not separated by space.
1757
1758         Consider positionBeforeNextWord() for example, 
1759
1760         First, it checks whether the current position is after the current word by checking current
1761         position's previousWordPosition's nextWordPosition is the same as current position, which is
1762         wrong for words separated by multiple spaces. For example, given words A and B separated by 
1763         3 continuous spaces "A   B", position "A|", "A |", and "A  |" should all be considered as 
1764         position after current word. But for position "A |", its previousWordPosition's 
1765         nextWordPosition is position "A|", which is different from its current position, so the
1766         current position is not considered as a position after current word, consequently,
1767         instead of returning the right position as "A   |B", positionBeforeNextWord returns the
1768         position before next next word, as "A   B |C". Similar happens for position "A  |".
1769
1770         Second, given 3 Chinese words "ABC" that are not segmented by space, when cursor is at 
1771         "A|BC", positionBeforeNextWord() returns the same position after calling current position's
1772         nextWordPosition's previousWordPosition. It should returns position "AB|C".
1773
1774         For those cases, we will have to collect all the word breaks inside the box and look for
1775         the one at left or right of current position.
1776
1777         * editing/visible_units.cpp:
1778         (WebCore::leftWordPosition):
1779         (WebCore::rightWordPosition):
1780
1781 2011-06-08  Greg Simon  <gregsimon@chromium.org>
1782
1783         Reviewed by Dimitri Glazkov.
1784
1785         Control Indexeddb backends from LayoutTestController
1786         https://bugs.webkit.org/show_bug.cgi?id=61000
1787
1788         Test: storage/indexeddb/migrate-basics.html
1789
1790         * storage/IDBBackingStore.h:
1791         * storage/IDBFactoryBackendImpl.cpp:
1792         (WebCore::IDBFactoryBackendImpl::open):
1793         (WebCore::IDBFactoryBackendImpl::migrate):
1794         * storage/IDBFactoryBackendImpl.h:
1795         * storage/IDBFactoryBackendInterface.h:
1796         * storage/IDBLevelDBBackingStore.cpp:
1797         (WebCore::IDBLevelDBBackingStore::backingStoreExists):
1798         * storage/IDBLevelDBBackingStore.h:
1799         (WebCore::IDBLevelDBBackingStore::backingStoreType):
1800         * storage/IDBSQLiteBackingStore.cpp:
1801         (WebCore::IDBSQLiteBackingStore::backingStoreExists):
1802         * storage/IDBSQLiteBackingStore.h:
1803         (WebCore::IDBSQLiteBackingStore::backingStoreType):
1804
1805 2011-06-08  Dmitry Lomov  <dslomov@google.com>
1806
1807         Reviewed by Adam Barth.
1808
1809         https://bugs.webkit.org/show_bug.cgi?id=62164
1810         Remove "multi-threaded" logic in V8 DOMData, DOMDataStore and friends
1811         This functionality is untested and unused:
1812         This is an old code from Lockers-based implementation of WebWorkers in
1813         V8 bindings, to make sure that DOM objects are released on the right thread
1814         even though GC could have happened on any thread. It is currently unused (since
1815         current model is one worker per process) and is being removed because new implementation
1816         of WebWorkers will be using V8 isolates.
1817
1818         * WebCore.gypi:
1819         * WebCore.pro:
1820         * bindings/v8/ChildThreadDOMData.cpp: Removed.
1821         * bindings/v8/ChildThreadDOMData.h: Removed.
1822         * bindings/v8/DOMData.cpp:
1823         (WebCore::DOMData::DOMData):
1824         (WebCore::DOMData::getCurrent):
1825         (WebCore::DOMData::getMainThreadStore):
1826         * bindings/v8/DOMData.h:
1827         (WebCore::DOMData::getStore):
1828         (WebCore::DOMData::getCurrentMainThreadStore):
1829         (WebCore::DOMData::handleWeakObject):
1830         * bindings/v8/DOMDataStore.cpp:
1831         (WebCore::DOMDataStore::DOMDataStore):
1832         (WebCore::DOMDataStore::~DOMDataStore):
1833         (WebCore::DOMDataStore::weakNodeCallback):
1834         * bindings/v8/DOMDataStore.h:
1835         * bindings/v8/MainThreadDOMData.cpp: Removed.
1836         * bindings/v8/MainThreadDOMData.h: Removed.
1837         * bindings/v8/V8DOMMap.cpp:
1838         (WebCore::getDOMDataStore):
1839         (WebCore::removeAllDOMObjects):
1840         (WebCore::visitDOMNodes):
1841         (WebCore::visitDOMObjects):
1842         (WebCore::visitActiveDOMObjects):
1843         (WebCore::visitDOMSVGElementInstances):
1844         * bindings/v8/V8DOMMap.h:
1845         * bindings/v8/V8GCController.cpp:
1846         (WebCore::V8GCController::gcPrologue):
1847         (WebCore::V8GCController::gcEpilogue):
1848         * bindings/v8/WorkerScriptController.cpp:
1849         (WebCore::WorkerScriptController::~WorkerScriptController):
1850
1851 2011-06-08  Yael Aharon  <yael.aharon@nokia.com>
1852
1853         Reviewed by Andreas Kling.
1854
1855         [Qt] Build fix for building QtWebKit inside of Qt.
1856         https://bugs.webkit.org/show_bug.cgi?id=62280
1857
1858         Remove CONFIG=staticlib, because it causes the configure script to add -lwebcore
1859         into QtWebKit.prl.
1860
1861         No new tests, as this is just a build fix.
1862
1863         * WebCore.pri:
1864
1865 2011-06-08  Vsevolod Vlasov  <vsevik@chromium.org>
1866
1867         Reviewed by Pavel Feldman.
1868
1869         Web Inspector: Render non-document HTML resources as HTML
1870         https://bugs.webkit.org/show_bug.cgi?id=58886
1871
1872         * English.lproj/localizedStrings.js:
1873         * WebCore.gypi:
1874         * WebCore.vcproj/WebCore.vcproj:
1875         * inspector/front-end/NetworkItemView.js:
1876         (WebInspector.NetworkItemView):
1877         * inspector/front-end/Resource.js:
1878         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
1879         (WebInspector.Resource.prototype.hasErrorStatusCode):
1880         * inspector/front-end/ResourceHTMLView.js: Added.
1881         (WebInspector.ResourceHTMLView):
1882         (WebInspector.ResourceHTMLView.prototype.hasContent):
1883         (WebInspector.ResourceHTMLView.prototype.show):
1884         (WebInspector.ResourceHTMLView.prototype.hide):
1885         (WebInspector.ResourceHTMLView.prototype._createIFrame):
1886         * inspector/front-end/ResourcePreviewView.js: Added.
1887         (WebInspector.ResourcePreviewView):
1888         (WebInspector.ResourcePreviewView.prototype.hasContent):
1889         (WebInspector.ResourcePreviewView.prototype.show):
1890         (WebInspector.ResourcePreviewView.prototype._ensureInnerViewShown.callback):
1891         (WebInspector.ResourcePreviewView.prototype._ensureInnerViewShown):
1892         (WebInspector.ResourcePreviewView.prototype._createInnerView):
1893         * inspector/front-end/Settings.js:
1894         (WebInspector.Settings):
1895         * inspector/front-end/WebKit.qrc:
1896         * inspector/front-end/inspector.css:
1897         (.resource-view.html iframe):
1898         * inspector/front-end/inspector.html:
1899
1900 2011-05-18  Pavel Podivilov  <podivilov@chromium.org>
1901
1902         Reviewed by Yury Semikhatsky.
1903
1904         Web Inspector: hide script location to ui location conversion details from ScriptsPanel.
1905         https://bugs.webkit.org/show_bug.cgi?id=61035
1906
1907         * inspector/front-end/DebuggerPresentationModel.js:
1908         (WebInspector.DebuggerPresentationModel.prototype.sourceFileForScriptURL):
1909         (WebInspector.DebuggerPresentationModel.prototype.scriptLocationToUILocation.didRequestSourceMapping):
1910         (WebInspector.DebuggerPresentationModel.prototype.scriptLocationToUILocation):
1911         * inspector/front-end/ScriptsPanel.js:
1912         (WebInspector.ScriptsPanel.prototype.showAnchorLocation.didGetUILocation):
1913         (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
1914
1915 2011-06-08  Tommy Widenflycht  <tommyw@google.com>
1916
1917         Reviewed by Tony Gentilcore.
1918
1919         StreamEvent
1920
1921         Media Stream PeerConnection API: adding StreamEvent class
1922         https://bugs.webkit.org/show_bug.cgi?id=61537
1923
1924         Tests for the Media Stream API will be provided by the bug 56587.
1925
1926         * CMakeLists.txt:
1927         * CodeGenerators.pri:
1928         * DerivedSources.cpp:
1929         * DerivedSources.make:
1930         * GNUmakefile.list.am:
1931         * WebCore.gypi:
1932         * WebCore.pro:
1933         * WebCore.vcproj/WebCore.vcproj:
1934         * WebCore.xcodeproj/project.pbxproj:
1935         * bindings/js/JSEventCustom.cpp:
1936         (WebCore::toJS):
1937         * bindings/v8/custom/V8EventCustom.cpp:
1938         (WebCore::toV8):
1939         * dom/DOMAllInOne.cpp:
1940         * dom/Event.cpp:
1941         (WebCore::Event::isStreamEvent):
1942         * dom/Event.h:
1943         * dom/StreamEvent.cpp: Added.
1944         (WebCore::StreamEvent::create):
1945         (WebCore::StreamEvent::StreamEvent):
1946         (WebCore::StreamEvent::~StreamEvent):
1947         (WebCore::StreamEvent::initStreamEvent):
1948         (WebCore::StreamEvent::stream):
1949         * dom/StreamEvent.h: Added.
1950         (WebCore::StreamEvent::isStreamEvent):
1951         * dom/StreamEvent.idl: Added.
1952
1953 2011-06-08  Tommy Widenflycht  <tommyw@google.com>
1954
1955         Reviewed by Tony Gentilcore.
1956
1957         Media Stream API: integrate the Track List objects into the existing code.
1958         https://bugs.webkit.org/show_bug.cgi?id=60205
1959
1960         Tests for the Media Stream API will be provided by the bug 56587.
1961
1962         * dom/ExclusiveTrackList.cpp:
1963         (WebCore::ExclusiveTrackList::select):
1964         (WebCore::ExclusiveTrackList::trackFailed):
1965         * dom/ExclusiveTrackList.h:
1966         * dom/GeneratedStream.cpp:
1967         (WebCore::GeneratedStream::create):
1968         (WebCore::GeneratedStream::GeneratedStream):
1969         (WebCore::GeneratedStream::streamEnded):
1970         (WebCore::GeneratedStream::audioTracks):
1971         (WebCore::GeneratedStream::videoTracks):
1972         (WebCore::GeneratedStream::stop):
1973         * dom/GeneratedStream.h:
1974         * dom/GeneratedStream.idl:
1975         * dom/MultipleTrackList.cpp:
1976         (WebCore::MultipleTrackList::trackFailed):
1977         (WebCore::MultipleTrackList::enable):
1978         (WebCore::MultipleTrackList::disable):
1979         * dom/MultipleTrackList.h:
1980         * dom/Stream.h:
1981         * dom/TrackList.cpp:
1982         (WebCore::TrackList::clear):
1983         (WebCore::TrackList::associateStream):
1984         (WebCore::TrackList::associatedStreamLabel):
1985         (WebCore::TrackList::trackFailed):
1986         (WebCore::TrackList::scriptExecutionContext):
1987         * dom/TrackList.h:
1988         * page/MediaStreamClient.h:
1989         * page/MediaStreamController.cpp:
1990         (WebCore::MediaStreamController::enableAudioTrack):
1991         (WebCore::MediaStreamController::disableAudioTrack):
1992         (WebCore::MediaStreamController::selectVideoTrack):
1993         (WebCore::MediaStreamController::streamGenerated):
1994         (WebCore::MediaStreamController::audioTrackFailed):
1995         (WebCore::MediaStreamController::videoTrackFailed):
1996         * page/MediaStreamController.h:
1997         * page/MediaStreamFrameController.cpp:
1998         (WebCore::MediaStreamFrameController::unregister):
1999         (WebCore::MediaStreamFrameController::enterDetachedState):
2000         (WebCore::MediaStreamFrameController::disconnectFrame):
2001         (WebCore::MediaStreamFrameController::enableAudioTrack):
2002         (WebCore::MediaStreamFrameController::disableAudioTrack):
2003         (WebCore::MediaStreamFrameController::selectVideoTrack):
2004         (WebCore::MediaStreamFrameController::streamGenerated):
2005         (WebCore::MediaStreamFrameController::audioTrackFailed):
2006         (WebCore::MediaStreamFrameController::videoTrackFailed):
2007         * page/MediaStreamFrameController.h:
2008         (WebCore::MediaStreamFrameController::ClientBase::isGenericClient):
2009         (WebCore::MediaStreamFrameController::GenericClient::GenericClient):
2010         (WebCore::MediaStreamFrameController::GenericClient::~GenericClient):
2011         (WebCore::MediaStreamFrameController::GenericClient::isGenericClient):
2012         (WebCore::MediaStreamFrameController::GenericClient::unregister):
2013
2014 2011-06-08  Pavel Podivilov  <podivilov@chromium.org>
2015
2016         Reviewed by Yury Semikhatsky.
2017
2018         Web Inspector: [REGRESSION] breakpoints are not persisted.
2019         https://bugs.webkit.org/show_bug.cgi?id=62273
2020
2021         * inspector/front-end/Settings.js:
2022
2023 2011-06-08  Alexander Pavlov  <apavlov@chromium.org>
2024
2025         Reviewed by Yury Semikhatsky.
2026
2027         Web Inspector: node selection is slow in the Elements panel.
2028         https://bugs.webkit.org/show_bug.cgi?id=60813
2029
2030         Schedule full style updates rather than request all node styles from the backend immediately.
2031
2032         * inspector/front-end/StylesSidebarPane.js:
2033         (WebInspector.StylesSidebarPane.prototype.update.reloadAllStyles):
2034         (WebInspector.StylesSidebarPane.prototype.update):
2035
2036 2011-06-08  Andreas Kling  <andreas.kling@nokia.com>
2037
2038         Reviewed by Laszlo Gombos.
2039
2040         [Symbian] Float{32,64}Array and Int16Array fail to build.
2041         https://bugs.webkit.org/show_bug.cgi?id=62219
2042
2043         For some reason, RVCT 2.x is moaning about "class member designated by
2044         a using-declaration must be visible in a direct base class".
2045         Apply same fix as r69122 and r76592.
2046
2047         * html/canvas/Float32Array.h:
2048         (WebCore::Float32Array::set):
2049         * html/canvas/Float64Array.h:
2050         (WebCore::Float64Array::set):
2051         * html/canvas/Int16Array.h:
2052         (WebCore::Int16Array::set):
2053
2054 2011-06-08  Syed Idris Shah  <syed.idris-shah@nokia.com>
2055
2056         Reviewed by Andreas Kling.
2057
2058         [Qt] GL_POINT_SPRITE and GL_VERTEX_PROGRAM_POINT_SIZE should be enabled for desktop WebGL
2059         https://bugs.webkit.org/show_bug.cgi?id=61945
2060
2061         For OpenGL ES we do not need these features. 
2062         These features are available via shaders in OpenGL ES. But for desktop WebGL using QtWebKit they should be enabled.
2063
2064         LayoutTests/fast/canvas/webgl/point-size.html
2065
2066         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2067         (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
2068
2069 2011-06-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2070
2071         Unreviewed. Fix style error.
2072
2073         * platform/efl/RenderThemeEfl.cpp:
2074         * platform/efl/RenderThemeEfl.h:
2075
2076 2011-06-08  Hironori Bono  <hbono@chromium.org>
2077
2078         Reviewed by Brent Fulgham.
2079
2080         Add SpellCheck API
2081         https://bugs.webkit.org/show_bug.cgi?id=59693
2082
2083         This change adds two SpellCheck API functions (addSpellcheckRange and
2084         removeSpellcheckRange) and one attribute (spellcheckRange) discussed in
2085         the public-webapps ML. This change is currently available only on Chromium.
2086
2087         Tests: editing/spelling/spellcheck-api-pixel.html
2088                editing/spelling/spellcheck-api.html
2089
2090         * WebCore.gypi:
2091         * bindings/generic/RuntimeEnabledFeatures.cpp:
2092         * bindings/generic/RuntimeEnabledFeatures.h:
2093         (WebCore::RuntimeEnabledFeatures::spellCheckAPIEnabled):
2094         (WebCore::RuntimeEnabledFeatures::setSpellCheckAPIEnabled):
2095         * dom/DocumentMarker.h:
2096         (WebCore::DocumentMarker::length):
2097         * dom/DocumentMarkerController.cpp:
2098         (WebCore::DocumentMarkerController::userSpellingMarkersForNode):
2099         (WebCore::DocumentMarkerController::addUserSpellingMarker):
2100         (WebCore::DocumentMarkerController::removeUserSpellingMarker):
2101         (WebCore::DocumentMarkerController::userSpellingNode):
2102         * dom/DocumentMarkerController.h:
2103         * html/HTMLDivElement.cpp:
2104         (WebCore::HTMLDivElement::spellcheckRanges):
2105         (WebCore::HTMLDivElement::addSpellcheckRange):
2106         (WebCore::HTMLDivElement::removeSpellcheckRange):
2107         * html/HTMLDivElement.h:
2108         * html/HTMLDivElement.idl:
2109         * html/HTMLInputElement.cpp:
2110         (WebCore::HTMLInputElement::spellcheckRanges):
2111         (WebCore::HTMLInputElement::addSpellcheckRange):
2112         (WebCore::HTMLInputElement::removeSpellcheckRange):
2113         * html/HTMLInputElement.h:
2114         * html/HTMLInputElement.idl:
2115         * html/HTMLTextAreaElement.cpp:
2116         (WebCore::HTMLTextAreaElement::spellcheckRanges):
2117         (WebCore::HTMLTextAreaElement::addSpellcheckRange):
2118         (WebCore::HTMLTextAreaElement::removeSpellcheckRange):
2119         * html/HTMLTextAreaElement.h:
2120         * html/HTMLTextAreaElement.idl:
2121         * html/SpellcheckRange.cpp: Added.
2122         (WebCore::SpellcheckRange::SpellcheckRange):
2123         (WebCore::SpellcheckRange::~SpellcheckRange):
2124         * html/SpellcheckRange.h: Added.
2125         (WebCore::SpellcheckRange::create):
2126         (WebCore::SpellcheckRange::start):
2127         (WebCore::SpellcheckRange::length):
2128         (WebCore::SpellcheckRange::suggestions):
2129         (WebCore::SpellcheckRange::options):
2130         * html/SpellcheckRange.idl: Added.
2131         * html/SpellcheckRangeList.cpp: Added.
2132         (WebCore::SpellcheckRangeList::SpellcheckRangeList):
2133         (WebCore::SpellcheckRangeList::~SpellcheckRangeList):
2134         (WebCore::SpellcheckRangeList::item):
2135         * html/SpellcheckRangeList.h: Added.
2136         (WebCore::SpellcheckRangeList::create):
2137         (WebCore::SpellcheckRangeList::isEmpty):
2138         (WebCore::SpellcheckRangeList::clear):
2139         (WebCore::SpellcheckRangeList::append):
2140         (WebCore::SpellcheckRangeList::remove):
2141         (WebCore::SpellcheckRangeList::length):
2142         * html/SpellcheckRangeList.idl: Added.
2143         * rendering/InlineTextBox.cpp:
2144         (WebCore::textCheckingLineStyleForMarkerType):
2145         (WebCore::InlineTextBox::paintDocumentMarkers):
2146
2147 2011-06-07  Andrey Kosyakov  <caseq@chromium.org>
2148
2149         Reviewed by Pavel Feldman.
2150
2151         Web Inspector: remove shadow dom inspection from Elements panel by default.
2152         https://bugs.webkit.org/show_bug.cgi?id=62188
2153
2154         This reverts r85751
2155
2156         * dom/Element.cpp:
2157         (WebCore::Element::ensureShadowRoot):
2158         (WebCore::Element::removeShadowRoot):
2159         * inspector/Inspector.json:
2160         * inspector/InspectorDOMAgent.cpp:
2161         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
2162         (WebCore::InspectorDOMAgent::buildObjectForNode):
2163         (WebCore::InspectorDOMAgent::didInsertDOMNode):
2164         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
2165         * inspector/InspectorDOMAgent.h:
2166         * inspector/front-end/DOMAgent.js:
2167         (WebInspector.DOMNode):
2168         (WebInspector.DOMNode.prototype._renumber):
2169         (WebInspector.DOMAgent.prototype._bindNodes):
2170         (WebInspector.DOMAgent.prototype.querySelectorAll):
2171         (WebInspector.DOMDispatcher.prototype.searchResults):
2172         * inspector/front-end/ElementsPanel.js:
2173         (WebInspector.ElementsPanel):
2174         (WebInspector.ElementsPanel.prototype._attributesUpdated):
2175         (WebInspector.ElementsPanel.prototype._characterDataModified):
2176         (WebInspector.ElementsPanel.prototype._nodeInserted):
2177         (WebInspector.ElementsPanel.prototype._nodeRemoved):
2178         (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
2179         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
2180         * inspector/front-end/ElementsTreeOutline.js:
2181         (WebInspector.ElementsTreeElement):
2182         (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
2183         (WebInspector.ElementsTreeElement.prototype._updateChildren):
2184         ():
2185         * inspector/front-end/inspector.css:
2186         * inspector/front-end/utilities.js:
2187         (Element.prototype.query):
2188
2189 2011-06-08  Mark Rowe  <mrowe@apple.com>
2190
2191         Fix the build.
2192
2193         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2194         (WebCore::MediaPlayerPrivateAVFoundation::timeChanged):
2195         (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):
2196
2197 2011-06-07  Keishi Hattori  <keishi@webkit.org>
2198
2199         Reviewed by Kent Tamura.
2200
2201         Rename HTMLInputElement::m_value to m_valueIfDirty
2202         https://bugs.webkit.org/show_bug.cgi?id=61990
2203
2204         No new tests because no behavior change.
2205
2206         * html/HTMLInputElement.cpp: Replaced m_value with m_valueIfDirty.
2207         (WebCore::HTMLInputElement::tooLong):
2208         (WebCore::HTMLInputElement::updateType):
2209         (WebCore::HTMLInputElement::parseMappedAttribute):
2210         (WebCore::HTMLInputElement::copyNonAttributeProperties):
2211         (WebCore::HTMLInputElement::value):
2212         (WebCore::HTMLInputElement::setValue):
2213         (WebCore::HTMLInputElement::setValueFromRenderer):
2214         (WebCore::HTMLInputElement::updateValueIfNeeded):
2215         * html/HTMLInputElement.h: Renamed m_value to m_valueIfDirty.
2216         (WebCore::HTMLInputElement::hasDirtyValue): Added. Returns the dirty value flag.
2217
2218 2011-06-07  Ian Henderson  <ianh@apple.com>
2219
2220         Reviewed by Dan Bernstein.
2221
2222         (CG) Sub-image drawing clips unnecessarily
2223         https://bugs.webkit.org/show_bug.cgi?id=62258
2224
2225         If destRect completely encompasses the adjustedDestRect into which we
2226         draw, clipping to destRect will do nothing.  Skip the call to
2227         CGContextClipToRect in this case.
2228
2229         * platform/graphics/cg/ImageCG.cpp:
2230         (WebCore::BitmapImage::draw):
2231
2232 2011-06-07  Emil A Eklund  <eae@chromium.org>
2233
2234         Reviewed by Eric Seidel.
2235
2236         Convert nodeAtPoint to IntPoint
2237         https://bugs.webkit.org/show_bug.cgi?id=62145
2238
2239         Convert nodeAtPoint to take an IntPoint instead of a pair of ints for the
2240         accumulated offset.
2241
2242         Covered by existing tests.
2243
2244         * platform/graphics/FloatPoint.h:
2245         (WebCore::FloatPoint::moveBy):
2246         Add moveBy(IntPoint) method
2247         
2248         * rendering/EllipsisBox.cpp:
2249         (WebCore::EllipsisBox::nodeAtPoint):
2250         * rendering/EllipsisBox.h:
2251         * rendering/InlineBox.cpp:
2252         (WebCore::InlineBox::nodeAtPoint):
2253         * rendering/InlineBox.h:
2254         * rendering/InlineFlowBox.cpp:
2255         (WebCore::InlineFlowBox::nodeAtPoint):
2256         * rendering/InlineFlowBox.h:
2257         * rendering/InlineTextBox.cpp:
2258         (WebCore::InlineTextBox::nodeAtPoint):
2259         * rendering/InlineTextBox.h:
2260         * rendering/RenderBlock.cpp:
2261         (WebCore::RenderBlock::nodeAtPoint):
2262         (WebCore::RenderBlock::hitTestContents):
2263         * rendering/RenderBlock.h:
2264         * rendering/RenderBox.cpp:
2265         (WebCore::RenderBox::nodeAtPoint):
2266         * rendering/RenderBox.h:
2267         * rendering/RenderFrameSet.cpp:
2268         (WebCore::RenderFrameSet::nodeAtPoint):
2269         * rendering/RenderFrameSet.h:
2270         * rendering/RenderImage.cpp:
2271         (WebCore::RenderImage::nodeAtPoint):
2272         * rendering/RenderImage.h:
2273         * rendering/RenderInline.cpp:
2274         (WebCore::RenderInline::nodeAtPoint):
2275         * rendering/RenderInline.h:
2276         * rendering/RenderLineBoxList.cpp:
2277         (WebCore::RenderLineBoxList::hitTest):
2278         * rendering/RenderListBox.cpp:
2279         (WebCore::RenderListBox::nodeAtPoint):
2280         * rendering/RenderListBox.h:
2281         * rendering/RenderObject.cpp:
2282         (WebCore::RenderObject::hitTest):
2283         * rendering/RenderObject.h:
2284         * rendering/RenderTable.cpp:
2285         (WebCore::RenderTable::nodeAtPoint):
2286         * rendering/RenderTable.h:
2287         * rendering/RenderTableRow.cpp:
2288         (WebCore::RenderTableRow::nodeAtPoint):
2289         * rendering/RenderTableRow.h:
2290         * rendering/RenderTableSection.cpp:
2291         (WebCore::RenderTableSection::nodeAtPoint):
2292         * rendering/RenderTableSection.h:
2293         * rendering/RenderText.h:
2294         (WebCore::RenderText::nodeAtPoint):
2295         * rendering/RenderTextControlMultiLine.cpp:
2296         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
2297         * rendering/RenderTextControlMultiLine.h:
2298         * rendering/RenderTextControlSingleLine.cpp:
2299         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
2300         * rendering/RenderTextControlSingleLine.h:
2301         * rendering/RenderWidget.cpp:
2302         (WebCore::RenderWidget::nodeAtPoint):
2303         * rendering/RenderWidget.h:
2304         * rendering/RootInlineBox.cpp:
2305         (WebCore::RootInlineBox::nodeAtPoint):
2306         * rendering/RootInlineBox.h:
2307         * rendering/svg/RenderSVGForeignObject.cpp:
2308         (WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
2309         (WebCore::RenderSVGForeignObject::nodeAtPoint):
2310         * rendering/svg/RenderSVGForeignObject.h:
2311         * rendering/svg/RenderSVGModelObject.cpp:
2312         (WebCore::RenderSVGModelObject::nodeAtPoint):
2313         * rendering/svg/RenderSVGModelObject.h:
2314         * rendering/svg/RenderSVGRoot.cpp:
2315         (WebCore::RenderSVGRoot::nodeAtPoint):
2316         * rendering/svg/RenderSVGRoot.h:
2317         * rendering/svg/RenderSVGText.cpp:
2318         (WebCore::RenderSVGText::nodeAtFloatPoint):
2319         (WebCore::RenderSVGText::nodeAtPoint):
2320         * rendering/svg/RenderSVGText.h:
2321
2322 2011-06-07  Yi Shen  <yi.4.shen@nokia.com>
2323
2324         Reviewed by Simon Hausmann.
2325
2326         [Qt] Fix the error code for media resource failures when using QtMobility
2327         https://bugs.webkit.org/show_bug.cgi?id=55901
2328
2329         To indicate the media resource failures, set the network state to
2330         MediaPlayer::FormatError when receives QMediaPlayer::InvalidMedia or
2331         QMediaPlayer::ResourceError.
2332
2333         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
2334         (WebCore::MediaPlayerPrivateQt::updateStates):
2335
2336 2011-06-07  Emil A Eklund  <eae@chromium.org>
2337
2338         Reviewed by Eric Seidel.
2339
2340         Change RenderBlock::hitTestFloats to IntPoint
2341         https://bugs.webkit.org/show_bug.cgi?id=62176
2342
2343         Covered by existing tests.
2344
2345         * rendering/RenderBlock.cpp:
2346         (WebCore::RenderBlock::nodeAtPoint):
2347         (WebCore::RenderBlock::hitTestFloats):
2348         (WebCore::RenderBlock::hitTestColumns):
2349         * rendering/RenderBlock.h:
2350
2351 2011-06-07  Tim Horton  <timothy_horton@apple.com>
2352
2353         Reviewed by Alexey Proskuryakov.
2354
2355         Use correct CFURLStorageSessionRef definition on Snow Leopard
2356         https://bugs.webkit.org/show_bug.cgi?id=62223
2357
2358         * platform/mac/WebCoreSystemInterface.h:
2359         * platform/network/ResourceHandle.h:
2360         * platform/network/cf/ResourceRequest.h:
2361
2362 2011-06-07  Emil A Eklund  <eae@chromium.org>
2363
2364         Reviewed by Eric Seidel.
2365
2366         Change RenderBlock::hitTestColumns to IntPoint
2367         https://bugs.webkit.org/show_bug.cgi?id=62172
2368
2369         Covered by existing tests.
2370
2371         * rendering/RenderBlock.cpp:
2372         (WebCore::RenderBlock::nodeAtPoint):
2373         (WebCore::RenderBlock::hitTestColumns):
2374         * rendering/RenderBlock.h:
2375
2376 2011-06-07  Simon Fraser  <simon.fraser@apple.com>
2377
2378         Reviewed by Darin Adler.
2379
2380         Opacity transition doesn't work while content property is set.
2381         https://bugs.webkit.org/show_bug.cgi?id=59301
2382         
2383         StyleRareNonInheritedData's copy constructor omitted to copy
2384         the m_content data, which caused us to detach and re-attach the renderer
2385         at the start of the transition, thereby killing the transition.
2386         
2387         Fix by making StyleRareNonInheritedData's copy ctor do the right thing.
2388
2389         Test: transitions/transition-on-element-with-content.html
2390
2391         * rendering/style/ContentData.h:
2392         * rendering/style/ContentData.cpp:
2393         (WebCore::ContentData::clone): New method to do a deep clone. (Can't use a copy
2394         ctor because of the subclasses.)
2395         * rendering/style/CounterDirectives.h: Pack the data members to save space.
2396         Add a clone() function for the HashMap.
2397         * rendering/style/CounterDirectives.cpp:
2398         (WebCore::clone): Make a new HashMap and copy the contents over.
2399         * rendering/style/StyleRareNonInheritedData.cpp:
2400         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): Copy
2401         the content and counter directives over.
2402         (WebCore::StyleRareNonInheritedData::operator==): Rather than just comparing
2403         for pointer equality, do a correct check for m_counterDirectives equality.
2404         (WebCore::StyleRareNonInheritedData::counterDataEquivalent):
2405         * rendering/style/StyleRareNonInheritedData.h:
2406
2407 2011-06-07  Robert Kroeger  <rjkroege@chromium.org>
2408
2409         Reviewed by Adam Barth.
2410
2411         [chromium] Add a basic gesture recognizer to the Chromium platform
2412         https://bugs.webkit.org/show_bug.cgi?id=54417
2413
2414         Adds a basic gesture recognizer to the Chromium platform. Adds an entry
2415         point to the GestureRecognizer to reset any internal state on a page reset.
2416         Resetting the gesture recognizer on page load is necesary for reliable
2417         layout test execution and improves gesture recognizer operational
2418         robustness.
2419
2420         Added an additional constructor to permit building a synthetic
2421         PlatformWheelEvent.
2422
2423         Small modifications to the PlatformGestureRecognizer as required to
2424         implement the simple Chromium platform gesture recognizer.
2425
2426         Tests: fast/events/touch/touch-gesture-click.html
2427
2428         * WebCore.gypi:
2429         * page/EventHandler.cpp:
2430         (WebCore::EventHandler::resetGestureRecognizer):
2431         * page/EventHandler.h:
2432         * page/FrameView.cpp:
2433         (WebCore::FrameView::reset):
2434         * platform/PlatformGestureRecognizer.h:
2435         * platform/PlatformWheelEvent.h:
2436         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2437         * platform/chromium/GestureRecognizerChromium.cpp: Added.
2438         (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
2439         (WebCore::InnerGestureRecognizer::reset):
2440         (WebCore::InnerGestureRecognizer::~InnerGestureRecognizer):
2441         (WebCore::InnerGestureRecognizer::addEdgeFunction):
2442         (WebCore::InnerGestureRecognizer::isInClickTimeWindow):
2443         (WebCore::InnerGestureRecognizer::isInsideManhattanSquare):
2444         (WebCore::InnerGestureRecognizer::dispatchSyntheticClick):
2445         (WebCore::InnerGestureRecognizer::processTouchEventForGesture):
2446         (WebCore::InnerGestureRecognizer::scrollViaTouchMotion):
2447         (WebCore::InnerGestureRecognizer::updateValues):
2448         (WebCore::InnerGestureRecognizer::signature):
2449         (WebCore::touchDown):
2450         (WebCore::noGesture):
2451         (WebCore::click):
2452         (WebCore::isClickOrScroll):
2453         (WebCore::inScroll):
2454         (WebCore::PlatformGestureRecognizer::create):
2455         (WebCore::PlatformGestureRecognizer::PlatformGestureRecognizer):
2456         (WebCore::PlatformGestureRecognizer::~PlatformGestureRecognizer):
2457         (WebCore::GestureRecognizerChromium::GestureRecognizerChromium):
2458         (WebCore::GestureRecognizerChromium::~GestureRecognizerChromium):
2459         * platform/chromium/GestureRecognizerChromium.h: Added.
2460         (WebCore::InnerGestureRecognizer::setState):
2461         (WebCore::InnerGestureRecognizer::state):
2462         (WebCore::GestureRecognizerChromium::reset):
2463         (WebCore::GestureRecognizerChromium::processTouchEventForGesture):
2464
2465 2011-06-07  No'am Rosenthal  <noam.rosenthal@nokia.com>
2466
2467         Reviewed by Andreas Kling.
2468
2469         [Texmap][Qt] Enable TextureMapper by default
2470         https://bugs.webkit.org/show_bug.cgi?id=61740
2471
2472         Enable TextureMapper on Windows+Symbian, disabling the direct OpenGL path. This would mean that
2473         for now QtWebKit on Windows/Symbian would use the Qt backend for TextureMapper.
2474
2475         No new functionality so no new tests.
2476
2477         * WebCore.pri:
2478         * WebCore.pro:
2479         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2480         * platform/graphics/qt/TextureMapperQt.cpp:
2481         (WebCore::TextureMapper::create):
2482
2483 2011-06-07  Emil A Eklund  <eae@chromium.org>
2484
2485         Reviewed by Eric Seidel.
2486
2487         Convert RenderBox::absoluteRects to IntPoint
2488         https://bugs.webkit.org/show_bug.cgi?id=62130
2489
2490         Covered by existing tests.
2491
2492         * dom/Node.cpp:
2493         (WebCore::Node::hasNonEmptyBoundingBox):
2494         * rendering/InlineBox.h:
2495         (WebCore::InlineBox::size):
2496         * rendering/RenderBlock.cpp:
2497         (WebCore::RenderBlock::absoluteRects):
2498         * rendering/RenderBlock.h:
2499         * rendering/RenderBox.cpp:
2500         (WebCore::RenderBox::absoluteRects):
2501         * rendering/RenderBox.h:
2502         * rendering/RenderInline.cpp:
2503         (WebCore::RenderInline::absoluteRects):
2504         * rendering/RenderInline.h:
2505         * rendering/RenderObject.cpp:
2506         (WebCore::RenderObject::absoluteBoundingBoxRect):
2507         * rendering/RenderObject.h:
2508         (WebCore::RenderObject::absoluteRects):
2509         * rendering/RenderText.cpp:
2510         (WebCore::RenderText::absoluteRects):
2511         * rendering/RenderText.h:
2512         * rendering/RenderView.cpp:
2513         (WebCore::RenderView::absoluteRects):
2514         * rendering/RenderView.h:
2515         * rendering/svg/RenderSVGBlock.cpp:
2516         (WebCore::RenderSVGBlock::absoluteRects):
2517         * rendering/svg/RenderSVGBlock.h:
2518         * rendering/svg/RenderSVGModelObject.cpp:
2519         (WebCore::RenderSVGModelObject::absoluteRects):
2520         * rendering/svg/RenderSVGModelObject.h:
2521
2522 2011-06-07  Kent Tamura  <tkent@chromium.org>
2523
2524         Reviewed by Andreas Kling.
2525
2526         [Qt] RenderThemeQt::adjustSliderThumbSize() should not refer to the parent style.
2527         https://bugs.webkit.org/show_bug.cgi?id=62207
2528
2529         * css/mediaControlsQt.css: Add comments.
2530         (audio::-webkit-media-controls-timeline):
2531         (video::-webkit-media-controls-timeline):
2532         (audio::-webkit-media-controls-volume-slider):
2533         (video::-webkit-media-controls-volume-slider):
2534         * platform/qt/RenderThemeQt.cpp: Use fixed values to avoid referring to o->parent().
2535         (WebCore::RenderThemeQt::adjustSliderThumbSize):
2536
2537 2011-06-07  Sailesh Agrawal  <sail@chromium.org>
2538
2539         Reviewed by Mihai Parparita.
2540
2541         Chromium Mac: Fork ScrollAnimatorMac to ScrollAnimatorChromiumMac for overlay scrollbar support
2542         https://bugs.webkit.org/show_bug.cgi?id=59753
2543
2544         No new tests. Just forking ScrollAnimatorMac to ScrollAnimatorChromiumMac.
2545
2546         * WebCore.gyp/WebCore.gyp: Added IntPointMac.mm. This is used by some functions in ScrollAnimatorChromiumMac. Also added filters for conflicting class names in ScrollAnimatorChromiumMac.
2547         * WebCore.gypi: Added ScrollAnimatorChromiumMac.h/mm.
2548         * platform/ScrollAnimator.cpp: Extended the #ifdef around ScrollAnimator::create() so that the chromium version will be created.
2549         * platform/chromium/ScrollAnimatorChromiumMac.h: Added.
2550         (WebCore::ScrollAnimatorChromiumMac::setIsDrawingIntoLayer):
2551         (WebCore::ScrollAnimatorChromiumMac::isDrawingIntoLayer):
2552         (WebCore::ScrollAnimatorChromiumMac::haveScrolledSincePageLoad):
2553         * platform/chromium/ScrollAnimatorChromiumMac.mm: Added. Forked from ScrollAnimatorMac and replaced all instances of ScrollAnimatorMac with ScrollAnimatorChromiumMac and ScrollbarThemeMac with ScrollbarThemeChromiumMac. Removed the ENABLE(SMOOTH_SCROLLING) around the file. Stubbed out ScrollAnimatorChromiumMac::scroll() if smooth scrolling is disabled.
2554         (abs):
2555         (-[ScrollAnimationHelperDelegate initWithScrollAnimator:WebCore::]):
2556         (-[ScrollAnimationHelperDelegate scrollAnimatorDestroyed]):
2557         (-[ScrollAnimationHelperDelegate bounds]):
2558         (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
2559         (-[ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]):
2560         (-[ScrollAnimationHelperDelegate convertSizeToBase:]):
2561         (-[ScrollAnimationHelperDelegate convertSizeFromBase:]):
2562         (-[ScrollAnimationHelperDelegate convertSizeToBacking:]):
2563         (-[ScrollAnimationHelperDelegate convertSizeFromBacking:]):
2564         (-[ScrollAnimationHelperDelegate superview]):
2565         (-[ScrollAnimationHelperDelegate documentView]):
2566         (-[ScrollAnimationHelperDelegate window]):
2567         (-[ScrollAnimationHelperDelegate _recursiveRecomputeToolTips]):
2568         (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
2569         (-[ScrollbarPainterControllerDelegate scrollAnimatorDestroyed]):
2570         (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
2571         (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
2572         (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
2573         (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
2574         (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
2575         (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
2576         (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
2577         (-[ScrollbarPartAnimation setCurrentProgress:]):
2578         (-[ScrollbarPartAnimation scrollAnimatorDestroyed]):
2579         (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
2580         (-[ScrollbarPainterDelegate cancelAnimations]):
2581         (-[ScrollbarPainterDelegate convertRectToBacking:]):
2582         (-[ScrollbarPainterDelegate convertRectFromBacking:]):
2583         (-[ScrollbarPainterDelegate layer]):
2584         (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
2585         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
2586         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
2587         (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
2588         (-[ScrollbarPainterDelegate scrollAnimatorDestroyed]):
2589         (WebCore::ScrollAnimator::create):
2590         (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
2591         (WebCore::ScrollAnimatorChromiumMac::~ScrollAnimatorChromiumMac):
2592         (WebCore::ScrollAnimatorChromiumMac::scroll):
2593         (WebCore::ScrollAnimatorChromiumMac::scrollToOffsetWithoutAnimation):
2594         (WebCore::ScrollAnimatorChromiumMac::adjustScrollXPositionIfNecessary):
2595         (WebCore::ScrollAnimatorChromiumMac::adjustScrollYPositionIfNecessary):
2596         (WebCore::ScrollAnimatorChromiumMac::adjustScrollPositionIfNecessary):
2597         (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPoint):
2598         (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaX):
2599         (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaY):
2600         (WebCore::ScrollAnimatorChromiumMac::notityPositionChanged):
2601         (WebCore::ScrollAnimatorChromiumMac::contentAreaWillPaint):
2602         (WebCore::ScrollAnimatorChromiumMac::mouseEnteredContentArea):
2603         (WebCore::ScrollAnimatorChromiumMac::mouseExitedContentArea):
2604         (WebCore::ScrollAnimatorChromiumMac::mouseMovedInContentArea):
2605         (WebCore::ScrollAnimatorChromiumMac::willStartLiveResize):
2606         (WebCore::ScrollAnimatorChromiumMac::contentsResized):
2607         (WebCore::ScrollAnimatorChromiumMac::willEndLiveResize):
2608         (WebCore::ScrollAnimatorChromiumMac::contentAreaDidShow):
2609         (WebCore::ScrollAnimatorChromiumMac::contentAreaDidHide):
2610         (WebCore::ScrollAnimatorChromiumMac::didBeginScrollGesture):
2611         (WebCore::ScrollAnimatorChromiumMac::didEndScrollGesture):
2612         (WebCore::ScrollAnimatorChromiumMac::didAddVerticalScrollbar):
2613         (WebCore::ScrollAnimatorChromiumMac::willRemoveVerticalScrollbar):
2614         (WebCore::ScrollAnimatorChromiumMac::didAddHorizontalScrollbar):
2615         (WebCore::ScrollAnimatorChromiumMac::willRemoveHorizontalScrollbar):
2616         (WebCore::ScrollAnimatorChromiumMac::cancelAnimations):
2617         (WebCore::elasticDeltaForTimeDelta):
2618         (WebCore::elasticDeltaForReboundDelta):
2619         (WebCore::reboundDeltaForElasticDelta):
2620         (WebCore::scrollWheelMultiplier):
2621         (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
2622         (WebCore::ScrollAnimatorChromiumMac::handleGestureEvent):
2623         (WebCore::ScrollAnimatorChromiumMac::pinnedInDirection):
2624         (WebCore::ScrollAnimatorChromiumMac::allowsVerticalStretching):
2625         (WebCore::ScrollAnimatorChromiumMac::allowsHorizontalStretching):
2626         (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent):
2627         (WebCore::ScrollAnimatorChromiumMac::beginScrollGesture):
2628         (WebCore::ScrollAnimatorChromiumMac::endScrollGesture):
2629         (WebCore::ScrollAnimatorChromiumMac::snapRubberBand):
2630         (WebCore::roundTowardZero):
2631         (WebCore::roundToDevicePixelTowardZero):
2632         (WebCore::ScrollAnimatorChromiumMac::snapRubberBandTimerFired):
2633         (WebCore::ScrollAnimatorChromiumMac::startScrollbarPaintTimer):
2634         (WebCore::ScrollAnimatorChromiumMac::scrollbarPaintTimerIsActive):
2635         (WebCore::ScrollAnimatorChromiumMac::stopScrollbarPaintTimer):
2636         (WebCore::ScrollAnimatorChromiumMac::initialScrollbarPaintTimerFired):
2637         (WebCore::ScrollAnimatorChromiumMac::setVisibleScrollerThumbRect):
2638         * platform/graphics/IntPoint.h: Exposed NSPoint conversion routines to chromium mac.
2639
2640 2011-06-07  Sam Weinig  <sam@webkit.org>
2641
2642         Reviewed by Anders Carlsson.
2643
2644         Remove repeated IPC traffic from SetRenderTreeSize message
2645         https://bugs.webkit.org/show_bug.cgi?id=62244
2646
2647         * WebCore.xcodeproj/project.pbxproj:
2648         Make RenderArena.h private so it can be called from WebKit2.
2649
2650         * loader/FrameLoaderClient.h:
2651         (WebCore::FrameLoaderClient::dispatchDidLayout):
2652         Added.
2653
2654         * page/ChromeClient.h:
2655         Remove setRenderTreeSize.
2656
2657         * page/FrameView.cpp:
2658         (WebCore::FrameView::performPostLayoutTasks):
2659         Call dispatchDidLayout for all frames instead of calling setRenderTreeSize
2660         for the main frame.
2661
2662 2011-06-07  Emil A Eklund  <eae@chromium.org>
2663
2664         Reviewed by Eric Seidel.
2665
2666         Change RenderBlock::hitTestContents to IntPoint
2667         https://bugs.webkit.org/show_bug.cgi?id=62170
2668
2669         Covered by existing tests.
2670
2671         * rendering/RenderBlock.cpp:
2672         (WebCore::RenderBlock::nodeAtPoint):
2673         (WebCore::RenderBlock::hitTestColumns):
2674         (WebCore::RenderBlock::hitTestContents):
2675         * rendering/RenderBlock.h:
2676
2677 2011-06-07  Jer Noble  <jer.noble@apple.com>
2678
2679         Reviewed by Eric Carlson.
2680
2681         Video with poster attribute will not display new frames when scrubbing.
2682         https://bugs.webkit.org/show_bug.cgi?id=62036
2683
2684         Remove our "detection" about the end of a scrub now that there is an explicit seek completion
2685         handler available in AVFoundation.  Move what we used to do upon detection in timeChanged()
2686         into seekCompleted().
2687
2688         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2689         (WebCore::MediaPlayerPrivateAVFoundation::timeChanged): 
2690         (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):
2691
2692 2011-06-07  James Simonsen  <simonjam@chromium.org>
2693
2694         Unreviewed, build fix, missing files from r88274.
2695
2696         * bindings/v8/ChildThreadDOMData.cpp: Added.
2697         (WebCore::ChildThreadDOMData::ChildThreadDOMData):
2698         (WebCore::ChildThreadDOMData::getStore):
2699         * bindings/v8/ChildThreadDOMData.h: Added.
2700         * bindings/v8/MainThreadDOMData.cpp: Added.
2701         (WebCore::MainThreadDOMData::MainThreadDOMData):
2702         (WebCore::MainThreadDOMData::getCurrent):
2703         (WebCore::MainThreadDOMData::getMainThreadStore):
2704         (WebCore::MainThreadDOMData::getCurrentMainThreadStore):
2705         * bindings/v8/MainThreadDOMData.h: Added.
2706         (WebCore::MainThreadDOMData::getStore):
2707
2708 2011-06-07  Abhishek Arya  <inferno@chromium.org>
2709
2710         Reviewed by Dan Bernstein.
2711
2712         Replicate WidthIterator.cpp fix from r88139.
2713         https://bugs.webkit.org/show_bug.cgi?id=62238
2714
2715         No new tests. Covered by existing layout tests on XP debug bots.
2716
2717         * platform/graphics/win/UniscribeController.cpp:
2718         (WebCore::UniscribeController::advance):
2719
2720 2011-06-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2721
2722         Unreviewed, rolling out r88221, r88224, and r88231.
2723         http://trac.webkit.org/changeset/88221
2724         http://trac.webkit.org/changeset/88224
2725         http://trac.webkit.org/changeset/88231
2726         https://bugs.webkit.org/show_bug.cgi?id=62233
2727
2728         assert failure on chromium linux debug (Requested by simonjam
2729         on #webkit).
2730
2731         * WebCore.gypi:
2732         * WebCore.pro:
2733         * bindings/v8/ChildThreadDOMData.cpp: Copied from Source/WebCore/bindings/v8/DOMData.cpp.
2734         (WebCore::ChildThreadDOMData::ChildThreadDOMData):
2735         (WebCore::ChildThreadDOMData::getStore):
2736         * bindings/v8/ChildThreadDOMData.h: Copied from Source/WebCore/bindings/v8/DOMData.cpp.
2737         * bindings/v8/DOMData.cpp:
2738         (WebCore::DOMData::DOMData):
2739         (WebCore::DOMData::getCurrent):
2740         * bindings/v8/DOMData.h:
2741         (WebCore::DOMData::owningThread):
2742         (WebCore::DOMData::handleWeakObject):
2743         * bindings/v8/DOMDataStore.cpp:
2744         (WebCore::DOMDataStore::DOMDataStore):
2745         (WebCore::DOMDataStore::~DOMDataStore):
2746         (WebCore::DOMDataStore::allStoresMutex):
2747         (WebCore::DOMDataStore::weakNodeCallback):
2748         * bindings/v8/DOMDataStore.h:
2749         * bindings/v8/MainThreadDOMData.cpp: Copied from Source/WebCore/bindings/v8/DOMData.cpp.
2750         (WebCore::MainThreadDOMData::MainThreadDOMData):
2751         (WebCore::MainThreadDOMData::getCurrent):
2752         (WebCore::MainThreadDOMData::getMainThreadStore):
2753         (WebCore::MainThreadDOMData::getCurrentMainThreadStore):
2754         * bindings/v8/MainThreadDOMData.h: Copied from Source/WebCore/bindings/v8/DOMData.cpp.
2755         (WebCore::MainThreadDOMData::getStore):
2756         * bindings/v8/V8DOMMap.cpp:
2757         (WebCore::getDOMDataStore):
2758         (WebCore::removeAllDOMObjectsInCurrentThread):
2759         (WebCore::visitDOMNodesInCurrentThread):
2760         (WebCore::visitDOMObjectsInCurrentThread):
2761         (WebCore::visitActiveDOMObjectsInCurrentThread):
2762         (WebCore::visitDOMSVGElementInstancesInCurrentThread):
2763         * bindings/v8/V8DOMMap.h:
2764         * bindings/v8/V8GCController.cpp:
2765         (WebCore::V8GCController::gcPrologue):
2766         (WebCore::V8GCController::gcEpilogue):
2767         * bindings/v8/WorkerScriptController.cpp:
2768         (WebCore::WorkerScriptController::~WorkerScriptController):
2769
2770 2011-06-07  Simon Fraser  <simon.fraser@apple.com>
2771
2772         Reviewed by Dave Hyatt.
2773
2774         Clean up ContentData
2775         https://bugs.webkit.org/show_bug.cgi?id=62185
2776
2777         ContentData did manual ref()/deref() and had a lot of awkward
2778         code from using a union to store data.
2779         
2780         Clean this up by adding ContentData subclasses for different
2781         content types, which are then able to use RefPtr and OwnPtr
2782         as appropriate.
2783
2784         * css/CSSComputedStyleDeclaration.cpp:
2785         (WebCore::contentToCSSValue): Cast to different ContentData types as
2786         appropriate.
2787
2788         * css/CSSStyleSelector.cpp: 
2789         (WebCore::CSSStyleSelector::loadPendingImages): Cast to ImageContentData, and do some
2790         const gyrations.
2791
2792         * html/HTMLBRElement.cpp:
2793         (WebCore::HTMLBRElement::createRenderer): Use hasContent().
2794         * html/HTMLFrameSetElement.cpp:
2795         (WebCore::HTMLFrameSetElement::createRenderer): Ditto
2796         * html/HTMLImageElement.cpp:
2797         (WebCore::HTMLImageElement::createRenderer): Ditto
2798         * rendering/RenderObject.cpp:
2799         (WebCore::RenderObject::createObject): Cast to ImageContentData.
2800         * rendering/RenderObjectChildList.cpp:
2801         (WebCore::RenderObjectChildList::updateBeforeAfterContent): Cast to different ContentData types as
2802         appropriate.
2803
2804         * rendering/style/ContentData.h:
2805         (WebCore::ContentData::~ContentData):
2806         (WebCore::ContentData::isCounter):
2807         (WebCore::ContentData::isImage):
2808         (WebCore::ContentData::isQuote):
2809         (WebCore::ContentData::isText):
2810         (WebCore::ContentData::next):
2811         (WebCore::ContentData::setNext):
2812         (WebCore::ImageContentData::image):
2813         (WebCore::ImageContentData::setImage):
2814         (WebCore::ImageContentData::ImageContentData):
2815         (WebCore::ImageContentData::type):
2816         (WebCore::ImageContentData::isImage):
2817         (WebCore::TextContentData::text):
2818         (WebCore::TextContentData::setText):
2819         (WebCore::TextContentData::TextContentData):
2820         (WebCore::TextContentData::type):
2821         (WebCore::TextContentData::isText):
2822         (WebCore::CounterContentData::counter):
2823         (WebCore::CounterContentData::setCounter):
2824         (WebCore::CounterContentData::CounterContentData):
2825         (WebCore::CounterContentData::type):
2826         (WebCore::CounterContentData::isCounter):
2827         (WebCore::QuoteContentData::quote):
2828         (WebCore::QuoteContentData::setQuote):
2829         (WebCore::QuoteContentData::QuoteContentData):
2830         (WebCore::QuoteContentData::type):
2831         (WebCore::QuoteContentData::isQuote):
2832         Add subclasses for different content types, which are created
2833         via overloaded create() methods on the base class.
2834
2835         * rendering/style/ContentData.cpp:
2836         (WebCore::ContentData::create):
2837         (WebCore::operator==): Test for type equality, followed by comparing data.
2838         (WebCore::operator!=):
2839
2840         * rendering/style/RenderStyle.cpp:
2841         (WebCore::RenderStyle::clearContent):
2842         (WebCore::RenderStyle::appendContent): 
2843         (WebCore::RenderStyle::setContent): Replace the overly complex prepareToSetContent()
2844         code with code that either appends, or replaces the content.
2845         This loses an optimization where the existing ContentData object could get reused,
2846         but this seems to be rarely hit in practice.
2847         * rendering/style/RenderStyle.h:
2848         (WebCore::InheritedFlags::hasContent): Convenience method.
2849         * rendering/style/StyleRareNonInheritedData.cpp:
2850         (WebCore::StyleRareNonInheritedData::contentDataEquivalent): Test
2851         that the pointers are non-null, then use the != operator.
2852         * rendering/style/StyleRareNonInheritedData.h: ContentData is a class now.
2853
2854 2011-06-07  Brian Weinstein  <bweinstein@apple.com>
2855
2856         Build fix after r88260.
2857
2858         * platform/graphics/win/FontCacheWin.cpp:
2859         (WebCore::FontCache::getFontDataForCharacters): Update to use enum instead of bool.
2860         * platform/graphics/wince/FontCacheWinCE.cpp:
2861
2862 2011-06-07  Rob Buis  <rbuis@rim.com>
2863
2864         Reviewed by Dirk Schulze.
2865
2866         stroke-dasharray does not handle "none"
2867         https://bugs.webkit.org/show_bug.cgi?id=62203
2868
2869         Use the initial strokeDashArray style for stroke-dasharray="none" to apply to SVGRenderStyle rather than bailing out.
2870
2871         Tests: svg/W3C-SVG-1.1-SE/styling-css-04-f.svg
2872                svg/custom/invalid-dasharray.svg
2873
2874         * css/SVGCSSStyleSelector.cpp:
2875         (WebCore::CSSStyleSelector::applySVGProperty):
2876
2877 2011-06-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2878
2879         Unreviewed, rolling out r88259 and r88263.
2880         http://trac.webkit.org/changeset/88259
2881         http://trac.webkit.org/changeset/88263
2882         https://bugs.webkit.org/show_bug.cgi?id=62228
2883
2884         broke builds (Requested by rniwa on #webkit).
2885
2886         * platform/mac/WebCoreSystemInterface.h:
2887         * platform/network/ResourceHandle.h:
2888         * platform/network/cf/ResourceRequest.h:
2889
2890 2011-06-07  Emil A Eklund  <eae@chromium.org>
2891
2892         Reviewed by Eric Seidel.
2893
2894         Switch ContainerNode to use IntPoint
2895         https://bugs.webkit.org/show_bug.cgi?id=61893
2896
2897         Covered by existing tests.
2898
2899         * dom/ContainerNode.cpp:
2900         (WebCore::ContainerNode::getUpperLeftCorner):
2901         (WebCore::ContainerNode::getLowerRightCorner):
2902         (WebCore::ContainerNode::getRect):
2903         Change to use maxX/maxY instead of x+width/y+height
2904         
2905         * platform/graphics/FloatPoint.h:
2906         (WebCore::FloatPoint::move):
2907         (WebCore::FloatPoint::moveBy):
2908         (WebCore::FloatPoint::expandedTo):
2909         Add move, moveBy and expandedTo mirroring the IntPoint implementation of the same.
2910
2911 2011-06-07  Ryosuke Niwa  <rniwa@webkit.org>
2912
2913         Speculative build fix after r88259.
2914
2915         * platform/network/cf/ResourceRequest.h:
2916
2917 2011-06-07  Michael Saboff  <msaboff@apple.com>
2918
2919         Reviewed by Geoffrey Garen.
2920
2921         Need to enable font cache purging in MemoryPressureHandler
2922         https://bugs.webkit.org/show_bug.cgi?id=62060
2923
2924         Improve memory usage under pressure.
2925         Added call to fontCache()->purgeInactiveFontData() in 
2926         MemoryPressureHandler::respondToMemoryPressure().  Added protection to 
2927         MemoryPressureHandler::install() being called multiple times.
2928
2929         No new tests as funtionality wasn't changed.
2930
2931         * platform/MemoryPressureHandler.cpp:
2932         (WebCore::MemoryPressureHandler::MemoryPressureHandler):
2933         * platform/MemoryPressureHandler.h:
2934         * platform/mac/MemoryPressureHandlerMac.mm:
2935         (WebCore::MemoryPressureHandler::install):
2936         (WebCore::MemoryPressureHandler::respondToMemoryPressure):
2937
2938 2011-06-07  Michael Saboff  <msaboff@apple.com>
2939
2940         Reviewed by Geoffrey Garen.
2941
2942         Fonts returned by FontCache::getFontDataForCharacters() are never released
2943         https://bugs.webkit.org/show_bug.cgi?id=61875
2944
2945         This change allows fonts allocated as system fallback fonts to be 
2946         released.  Previously, the reference counts for these fonts grew 
2947         without bound.  This is implemented as an auto release class that wraps
2948         accesses to the cache for system fallback fonts. All such accesses are
2949         via the method FontCache::getFontDataForCharacters. The new class is
2950         called FontCachePurgePreventer. When such an object exists, it protects
2951         these fonts from deletion.
2952
2953         Most accesses to the font cache still use the reference counting
2954         implemented by FontCache::getCacheFontData() and 
2955         FontCache::releaseFontData() and that operation is not affected by
2956         this change.
2957
2958         Added local scoped instance of FontCachePurgePreventer to wrap code
2959         that directly or indirectly accesses fonts via getFontDataForCharacters.
2960         Did a few other miscellaneous bug fixes and changes to allow system
2961         fallback fonts to be pruned from the GlyphPageTree. Changed the
2962         calls to getFontData in the platform specific versions of
2963         Fontcache::getFontDataForCharacters to not increment the reference
2964         count.  Moved the purge font check
2965         outside of FontCache::getCachedFontData() into a separate method, 
2966         purgeInactiveFontDataIfNeeded() since almost all calls to 
2967         getCachedFontData() now happen when purging is not allowed.
2968         purgeInactiveFontDataIfNeeded is invoked in enablePurging() when
2969         m_purgePreventCount is 0.
2970
2971         No new test as the functionality has not changed. Improved font life
2972         cycle management.
2973
2974         * WebCore.exp.in: Added FontCache::purgeInactiveFontDataIfNeeded().
2975         * html/canvas/CanvasRenderingContext2D.cpp:
2976         (WebCore::CanvasRenderingContext2D::measureText):
2977         (WebCore::CanvasRenderingContext2D::drawTextInternal):
2978         Wrapped code accessing fallback fonts with local 
2979         FontCachePurgePreventer in these methods.
2980
2981         * page/FrameView.cpp:
2982         (WebCore::FrameView::layout):
2983         (WebCore::FrameView::paintContents):
2984         Wrapped code accessing fallback fonts with local 
2985         FontCachePurgePreventer in these methods.
2986
2987         * platform/graphics/FontCache.cpp:
2988         (WebCore::FontCache::FontCache):
2989         (WebCore::FontCache::getCachedFontData):
2990         Moved purge check to new method since it likely can't happen here.
2991         (WebCore::FontCache::releaseFontData):
2992         (WebCore::FontCache::purgeInactiveFontDataIfNeeded):
2993         (WebCore::FontCache::purgeInactiveFontData):
2994         Made purging conditional on m_purgePreventCount.  Now some fonts
2995         in the cache are reference counted while other can be purged 
2996         outside of code wrapped by in scope FontCachePurgePreventer objects.
2997
2998         * platform/graphics/FontCache.h:
2999         (WebCore::FontCache::disablePurging):
3000         (WebCore::FontCache::enablePurging):
3001         (WebCore::FontCachePurgePreventer::FontCachePurgePreventer):
3002         (WebCore::FontCachePurgePreventer::~FontCachePurgePreventer):
3003         Added new simple purge prevention wrapper class and methods
3004         that it calls in FontCache actually prevent purging.  The
3005         simple methods inlined to reduce overhead.
3006
3007         * platform/graphics/FontFastPath.cpp:
3008         (WebCore::Font::glyphDataForCharacter): Update level in 
3009         glyph page tree for system fallback fonts so pruning works.
3010
3011         * platform/graphics/GlyphPage.h:
3012         (WebCore::GlyphPage::clearForFontData): New method used for pruning
3013         * platform/graphics/GlyphPageTreeNode.cpp:
3014         (WebCore::GlyphPageTreeNode::pruneFontData):
3015         Now we prune system fallback fonts.
3016
3017         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
3018         (WebCore::FontCache::getFontDataForCharacters):
3019         * platform/graphics/freetype/FontCacheFreeType.cpp:
3020         (WebCore::FontCache::getFontDataForCharacters):
3021         * platform/graphics/haiku/FontCacheHaiku.cpp:
3022         (WebCore::FontCache::getFontDataForCharacters):
3023         * platform/graphics/mac/FontCacheMac.mm:
3024         (WebCore::FontCache::getFontDataForCharacters):
3025         * platform/graphics/qt/FontCacheQt.cpp:
3026         (WebCore::FontCache::getFontDataForCharacters):
3027         * platform/graphics/win/FontCacheWin.cpp:
3028         (WebCore::FontCache::getFontDataForCharacters):
3029         * platform/graphics/wince/FontCacheWinCE.cpp:
3030         * platform/graphics/wx/FontCacheWx.cpp:
3031         (WebCore::FontCache::getFontDataForCharacters):
3032         Changed the calls to getFontData() to not increment the reference
3033         count. The caller of this getFontDataForCharacters() (currently only
3034         Font::glyphDataForCharacter() in fontFastPath.cpp) and it's callers
3035         don't attempt to release the returned fonts so we use the purge
3036         protection described above.
3037
3038         * rendering/InlineTextBox.cpp:
3039         (WebCore::InlineTextBox::selectionRect):
3040         (WebCore::InlineTextBox::offsetForPosition):
3041         (WebCore::InlineTextBox::positionForOffset):
3042         Wrapped code accessing fallback fonts with local
3043         FontCachePurgePreventer in these methods.
3044
3045         * rendering/RenderImage.cpp:
3046         (WebCore::RenderImage::setImageSizeForAltText):
3047         Wrapped code accessing fallback fonts with local
3048         FontCachePurgePreventer in this method.
3049
3050         * rendering/RenderListBox.cpp:
3051         (WebCore::RenderListBox::updateFromElement):
3052         (WebCore::RenderListBox::paintItemForeground):
3053         Wrapped code accessing fallback fonts with local
3054         FontCachePurgePreventer in these methods
3055
3056         * rendering/svg/SVGInlineTextBox.cpp:
3057         (WebCore::SVGInlineTextBox::selectionRectForTextFragment):
3058         Wrapped code accessing fallback fonts with local
3059         FontCachePurgePreventer in this method.
3060
3061 2011-06-07  Tim Horton  <timothy_horton@apple.com>
3062
3063         Reviewed by Alexey Proskuryakov.
3064
3065         Use correct CFURLStorageSessionRef definition on Snow Leopard
3066         https://bugs.webkit.org/show_bug.cgi?id=62223
3067
3068         * platform/mac/WebCoreSystemInterface.h:
3069         * platform/network/ResourceHandle.h:
3070         * platform/network/cf/ResourceRequest.h:
3071
3072 2011-06-07  Alok Priyadarshi  <alokp@chromium.org>
3073
3074         Reviewed by Stephen White.
3075
3076         [chromium] PlatformContextSkia leaks SkDeviceFactory
3077         https://bugs.webkit.org/show_bug.cgi?id=62163
3078
3079         Valgrind tests should have caught this.
3080
3081         * platform/graphics/skia/PlatformContextSkia.cpp:
3082         (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
3083
3084 2011-06-07  Emil A Eklund  <eae@chromium.org>
3085
3086         Reviewed by Eric Seidel.
3087
3088         Convert RenderTextControl::hitInnerTextElement to IntPoint
3089         https://bugs.webkit.org/show_bug.cgi?id=62167
3090
3091         Covered by existing tests.
3092
3093         * rendering/RenderTextControl.cpp:
3094         (WebCore::RenderTextControl::hitInnerTextElement):
3095         * rendering/RenderTextControl.h:
3096         * rendering/RenderTextControlMultiLine.cpp:
3097         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
3098         * rendering/RenderTextControlSingleLine.cpp:
3099         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
3100
3101 2011-06-07  Levi Weintraub  <leviw@chromium.org>
3102
3103         Reviewed by Eric Seidel.
3104
3105         Switch paint to use IntPoint
3106         https://bugs.webkit.org/show_bug.cgi?id=62177
3107
3108         Flipping the switch on the remaining paint functions to have them all
3109         use IntPoint for the paint offset instead of tx/ty.
3110
3111         No new tests since this is just refactoring.
3112
3113         * page/FrameView.cpp:
3114         (WebCore::FrameView::paintScrollCorner):
3115         * rendering/InlineBox.cpp:
3116         (WebCore::InlineBox::paint):
3117         * rendering/RenderBlock.cpp:
3118         (WebCore::RenderBlock::paint):
3119         (WebCore::RenderBlock::paintContents):
3120         (WebCore::RenderBlock::paintChildren):
3121         (WebCore::RenderBlock::paintFloats):
3122         * rendering/RenderBlock.h:
3123         * rendering/RenderBox.cpp:
3124         (WebCore::RenderBox::paint):
3125         * rendering/RenderBox.h:
3126         * rendering/RenderBoxModelObject.cpp:
3127         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3128         * rendering/RenderDetailsMarker.cpp:
3129         (WebCore::RenderDetailsMarker::paint):
3130         * rendering/RenderDetailsMarker.h:
3131         * rendering/RenderEmbeddedObject.cpp:
3132         (WebCore::RenderEmbeddedObject::paint):
3133         * rendering/RenderEmbeddedObject.h:
3134         * rendering/RenderFrameSet.cpp:
3135         (WebCore::RenderFrameSet::paint):
3136         * rendering/RenderFrameSet.h:
3137         * rendering/RenderImage.cpp:
3138         (WebCore::RenderImage::paint):
3139         * rendering/RenderImage.h:
3140         * rendering/RenderInline.cpp:
3141         (WebCore::RenderInline::paint):
3142         * rendering/RenderInline.h:
3143         * rendering/RenderLayer.cpp:
3144         (WebCore::RenderLayer::paintScrollCorner):
3145         (WebCore::RenderLayer::paintResizer):
3146         (WebCore::RenderLayer::paintLayer):
3147         * rendering/RenderLayerBacking.cpp:
3148         (WebCore::RenderLayerBacking::paintIntoLayer):
3149         * rendering/RenderLineBoxList.cpp:
3150         (WebCore::RenderLineBoxList::paint):
3151         * rendering/RenderLineBoxList.h:
3152         * rendering/RenderListItem.cpp:
3153         (WebCore::RenderListItem::paint):
3154         * rendering/RenderListItem.h:
3155         * rendering/RenderListMarker.cpp:
3156         (WebCore::RenderListMarker::paint):
3157         * rendering/RenderListMarker.h:
3158         * rendering/RenderObject.cpp:
3159         (WebCore::RenderObject::paint):
3160         * rendering/RenderObject.h:
3161         * rendering/RenderReplaced.cpp:
3162         (WebCore::RenderReplaced::paint):
3163         * rendering/RenderReplaced.h:
3164         * rendering/RenderReplica.cpp:
3165         (WebCore::RenderReplica::paint):
3166         * rendering/RenderReplica.h:
3167         * rendering/RenderScrollbar.cpp:
3168         (WebCore::RenderScrollbar::paintPart):
3169         * rendering/RenderScrollbarPart.cpp:
3170         (WebCore::RenderScrollbarPart::paintIntoRect):
3171         * rendering/RenderScrollbarPart.h:
3172         * rendering/RenderTable.cpp:
3173         (WebCore::RenderTable::paint):
3174         (WebCore::RenderTable::paintObject):
3175         * rendering/RenderTable.h:
3176         * rendering/RenderTableCell.cpp:
3177         (WebCore::RenderTableCell::paint):
3178         * rendering/RenderTableCell.h:
3179         * rendering/RenderTableRow.cpp:
3180         (WebCore::RenderTableRow::paint):
3181         * rendering/RenderTableRow.h:
3182         * rendering/RenderTableSection.cpp:
3183         (WebCore::RenderTableSection::paint):
3184         (WebCore::RenderTableSection::paintCell):
3185         * rendering/RenderTableSection.h:
3186         * rendering/RenderText.h:
3187         (WebCore::RenderText::paint):
3188         * rendering/RenderTextControlSingleLine.cpp:
3189         (WebCore::RenderTextControlSingleLine::paint):
3190         * rendering/RenderTextControlSingleLine.h:
3191         * rendering/RenderView.cpp:
3192         (WebCore::RenderView::paint):
3193         * rendering/RenderView.h:
3194         * rendering/RenderWidget.cpp:
3195         (WebCore::RenderWidget::paint):
3196         * rendering/RenderWidget.h:
3197         * rendering/mathml/RenderMathMLBlock.cpp:
3198         (WebCore::RenderMathMLBlock::paint):
3199         * rendering/mathml/RenderMathMLBlock.h:
3200         * rendering/mathml/RenderMathMLFraction.cpp:
3201         (WebCore::RenderMathMLFraction::paint):
3202         * rendering/mathml/RenderMathMLFraction.h:
3203         * rendering/mathml/RenderMathMLRoot.cpp:
3204         (WebCore::RenderMathMLRoot::paint):
3205         * rendering/mathml/RenderMathMLRoot.h:
3206         * rendering/mathml/RenderMathMLSquareRoot.cpp:
3207         (WebCore::RenderMathMLSquareRoot::paint):
3208         * rendering/mathml/RenderMathMLSquareRoot.h:
3209         * rendering/svg/RenderSVGContainer.cpp:
3210         (WebCore::RenderSVGContainer::paint):
3211         * rendering/svg/RenderSVGContainer.h:
3212         * rendering/svg/RenderSVGForeignObject.cpp:
3213         (WebCore::RenderSVGForeignObject::paint):
3214         * rendering/svg/RenderSVGForeignObject.h:
3215         * rendering/svg/RenderSVGHiddenContainer.cpp:
3216         (WebCore::RenderSVGHiddenContainer::paint):
3217         * rendering/svg/RenderSVGHiddenContainer.h:
3218         * rendering/svg/RenderSVGImage.cpp:
3219         (WebCore::RenderSVGImage::paint):
3220         * rendering/svg/RenderSVGImage.h:
3221         * rendering/svg/RenderSVGPath.cpp:
3222         (WebCore::RenderSVGPath::paint):
3223         * rendering/svg/RenderSVGPath.h:
3224         * rendering/svg/RenderSVGResourceMarker.cpp:
3225         (WebCore::RenderSVGResourceMarker::draw):
3226         * rendering/svg/RenderSVGRoot.cpp:
3227         (WebCore::RenderSVGRoot::paint):
3228         * rendering/svg/RenderSVGRoot.h:
3229         * rendering/svg/RenderSVGText.cpp:
3230         (WebCore::RenderSVGText::paint):
3231         * rendering/svg/RenderSVGText.h:
3232         * rendering/svg/SVGImageBufferTools.cpp:
3233         (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
3234
3235 2011-06-07  Young Han Lee  <joybro@company100.net>
3236
3237         Reviewed by Kenneth Rohde Christiansen.
3238
3239         [Texmap][Qt] Accelerated animation is not paused properly.
3240         https://bugs.webkit.org/show_bug.cgi?id=61446
3241
3242         The transform matrix of an accelerated animation shouldn't be synced with the matrix of the GraphicsLayer when the animation is paused.
3243
3244         Test: animations/play-state-paused.html
3245
3246         * platform/graphics/texmap/TextureMapperNode.cpp:
3247         (WebCore::TextureMapperNode::syncCompositingStateSelf):
3248         (WebCore::TextureMapperNode::hasOpacityAnimation):
3249         (WebCore::TextureMapperNode::hasTransformAnimation):
3250         * platform/graphics/texmap/TextureMapperNode.h:
3251
3252 2011-06-07  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
3253
3254         Reviewed by Antonio Gomes.
3255
3256         [EFL] Remove Ecore_X bits from PlatformScreenEfl
3257         https://bugs.webkit.org/show_bug.cgi?id=61649
3258
3259         Remove the need for Ecore_X and some X calls by always using
3260         new functions available in EFL to get the screen size.
3261
3262         No new tests since the same functionality are done inside EFL now.
3263
3264         * platform/efl/PlatformScreenEfl.cpp:
3265         (WebCore::screenRect):
3266
3267 2011-06-07  Carlos Garcia Campos  <cgarcia@igalia.com>
3268
3269         Reviewed by Martin Robinson.
3270
3271         [GTK] Move moduleMixesGtkSymbols() from PluginPackage to PluginView
3272         https://bugs.webkit.org/show_bug.cgi?id=62200
3273
3274         In WebKit2 PluginPackage is used by the UI process to load plugins
3275         in order to get information about them, but it doesn't use any GTK
3276         symbol. So the UI process should be able to load plugins even when
3277         building with GTK3, but we should not allow the plugin view to use
3278         the plugin if it mixes GTK2 and GTK3 symbols.
3279
3280         * plugins/PluginPackage.h:
3281         (WebCore::PluginPackage::module): New method to return the
3282         platform module.
3283         * plugins/gtk/PluginPackageGtk.cpp:
3284         (WebCore::PluginPackage::load): Remove moduleMixesGtkSymbols().
3285         * plugins/gtk/PluginViewGtk.cpp:
3286         (WebCore::PluginView::updatePluginWidget): Check whether plugin
3287         was successfully loaded before trying to create the drawable.
3288         (WebCore::PluginView::paint): Return early if plugin didn't start
3289         or was not successfully loaded.
3290         (WebCore::PluginView::handleKeyboardEvent): Ditto.
3291         (WebCore::PluginView::handleMouseEvent): Ditto.
3292         (WebCore::PluginView::handleFocusInEvent): Ditto.
3293         (WebCore::PluginView::handleFocusOutEvent): Ditto.
3294         (WebCore::moduleMixesGtkSymbols):
3295         (WebCore::PluginView::platformStart): Check whether module is
3296         mixing GTK+ 2 and GTK+ 3 symbols.
3297
3298 2011-06-07  Sheriff Bot  <webkit.review.bot@gmail.com>
3299
3300         Unreviewed, rolling out r88238.
3301         http://trac.webkit.org/changeset/88238
3302         https://bugs.webkit.org/show_bug.cgi?id=62216
3303
3304         Broke a couple of inspector tests (Requested by apavlov on
3305         #webkit).
3306
3307         * inspector/front-end/StylesSidebarPane.js:
3308         (WebInspector.StylesSidebarPane.prototype.update):
3309
3310 2011-06-07  Dinu Jacob  <dinu.jacob@nokia.com>
3311
3312         Reviewed by Dimitri Glazkov.
3313
3314         Inform ChromeClient touch events are not needed by the webpage when navigating away from the page instead of in both Document:detach/CachedFrame
3315         https://bugs.webkit.org/show_bug.cgi?id=61543
3316
3317         Inform chrome client that touch events are not needed by the webpage 
3318         when navigating away from the page only once to avoid the flag being 
3319         overwritten later if a page is removed from the page cache
3320
3321         * dom/Document.cpp:
3322         (WebCore::Document::detach):
3323         * history/CachedFrame.cpp:
3324         (WebCore::CachedFrame::CachedFrame):
3325         * loader/FrameLoader.cpp:
3326         (WebCore::FrameLoader::transitionToCommitted):
3327
3328 2011-06-07  Alexander Pavlov  <apavlov@chromium.org>
3329
3330         Reviewed by Yury Semikhatsky.
3331
3332         Web Inspector: node selection is slow in the Elements panel.
3333         https://bugs.webkit.org/show_bug.cgi?id=60813
3334
3335         Schedule full style updates rather than request all node styles from the backend immediately.
3336
3337         * inspector/front-end/StylesSidebarPane.js:
3338         (WebInspector.StylesSidebarPane.prototype.update.reloadAllStyles):
3339         (WebInspector.StylesSidebarPane.prototype.update):
3340
3341 2011-06-07  Yury Semikhatsky  <yurys@chromium.org>
3342
3343         Reviewed by Pavel Feldman.
3344
3345         Web Inspector: remove duplicate breakpoints from localStorage
3346         https://bugs.webkit.org/show_bug.cgi?id=62206
3347
3348         Perform one-time breakpoint storage cleanup to get rid of duplicate breakpoints in
3349         case when settings version is less than 1. 
3350
3351         * inspector/front-end/Settings.js:
3352         (WebInspector.Settings):
3353         (WebInspector.Settings.prototype._set):
3354         (WebInspector.Settings.prototype._migrateSettings.splitObjects):
3355         (WebInspector.Settings.prototype._migrateSettings.removeDuplicateObjects):
3356         (WebInspector.Settings.prototype._migrateSettings):
3357
3358 2011-06-03  Yury Semikhatsky  <yurys@chromium.org>
3359
3360         Reviewed by Pavel Feldman.
3361
3362         [Chromium] Web Inspector: correctly handle disconnect from worker when script execution is paused
3363         https://bugs.webkit.org/show_bug.cgi?id=62019
3364
3365         Dispatch disconnecFrontend message in debugger task mode to make sure
3366         it is processed even if execution is paused.
3367
3368         * bindings/v8/WorkerScriptDebugServer.cpp:
3369         (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause):
3370         (WebCore::WorkerScriptDebugServer::quitMessageLoopOnPause):
3371         * bindings/v8/WorkerScriptDebugServer.h:
3372
3373 2011-06-07  Felician Marton  <marton.felician.zoltan@stud.u-szeged.hu>
3374
3375         Reviewed by Nikolas Zimmermann.
3376
3377         SVG animation beginElement() does not restart the animation after endElement().
3378         https://bugs.webkit.org/show_bug.cgi?id=43452
3379
3380         Test: svg/animations/animate-endElement-beginElement.html
3381
3382         Calling beginElement() after calling endElement() previously does not restarted the animation when animation
3383         element's end attribute doesn't contains a bigger value than the current animation time.
3384
3385         * svg/animation/SVGSMILElement.cpp:
3386         (WebCore::SVGSMILElement::findInstanceTime):
3387
3388 2011-06-07  Naoki Takano  <takano.naoki@gmail.com>
3389
3390         Reviewed by Kent Tamura.
3391
3392         [Chromium] Click event is not fired for a menulist <select>
3393         https://bugs.webkit.org/show_bug.cgi?id=60563
3394
3395         Tests: SelectItemEventFire, SelectItemKeyEvent, SelectItemRemoveSelectOnChange and SelectItemRemoveSelectOnChange in webkit_unit_tests.
3396
3397         * platform/chromium/PopupMenuChromium.cpp:
3398         (WebCore::PopupContainer::showPopup): Set m_focusedNode from m_frameView.
3399         (WebCore::PopupListBox::handleMouseReleaseEvent): Call dispatchMouseEvent to forward the event only if select popup.
3400         (WebCore::PopupListBox::acceptIndex): Change to return accepted or not.
3401
3402 2011-06-07  Andras Becsi  <abecsi@webkit.org>
3403
3404         Reviewed by Yury Semikhatsky.
3405  
3406         REGRESSION(r88221): "Chromium debug compilation broken".
3407         https://bugs.webkit.org/show_bug.cgi?id=62197
3408
3409         No new tests needed.
3410
3411         * bindings/v8/V8GCController.cpp: Also rename call-sites.
3412         (WebCore::V8GCController::gcPrologue):
3413         (WebCore::V8GCController::gcEpilogue):
3414
3415 2011-06-07  MORITA Hajime  <morrita@google.com>
3416
3417         Unreviewed, rolling out r88212 and r88219.
3418         http://trac.webkit.org/changeset/88212
3419         http://trac.webkit.org/changeset/88219
3420         https://bugs.webkit.org/show_bug.cgi?id=57439
3421
3422         Tests get timeout at Snow Leopard
3423
3424         * css/html.css:
3425         (html:focus, body:focus, input[readonly]:focus):
3426         * rendering/RenderWidget.cpp:
3427         (WebCore::RenderWidget::paint):
3428
3429 2011-06-07  Andras Becsi  <abecsi@webkit.org>
3430
3431         Rubber-stamped by Csaba Osztrogonác.
3432
3433         [Qt][V8] Fix the build after 88221.
3434
3435         No new tests needed.
3436
3437         * WebCore.pro: Remove non-existing files.
3438         * bindings/v8/V8DOMMap.cpp: 
3439         (WebCore::removeAllDOMObjects): Also rename the definition of the function.
3440
3441 2011-06-06  Dmitry Lomov  <dslomov@google.com>
3442
3443         Reviewed by Adam Barth.
3444
3445         https://bugs.webkit.org/show_bug.cgi?id=62164
3446         Remove "multi-threaded" logic in V8 DOMData, DOMDataStore and friends
3447         This functionality is untested and unused:
3448         This is an old code from Lockers-based implementation of WebWorkers in
3449         V8 bindings, to make sure that DOM objects are released on the right thread
3450         even though GC could have happened on any thread. It is currently unused (since
3451         current model is one worker per process) and is being removed because new implementation
3452         of WebWorkers will be using V8 isolates.
3453
3454         * WebCore.gypi:
3455         * bindings/v8/ChildThreadDOMData.cpp: Removed.
3456         * bindings/v8/ChildThreadDOMData.h: Removed.
3457         * bindings/v8/DOMData.cpp:
3458         (WebCore::DOMData::DOMData):
3459         (WebCore::DOMData::getCurrent):
3460         (WebCore::DOMData::getMainThreadStore):
3461         * bindings/v8/DOMData.h:
3462         (WebCore::DOMData::getStore):
3463         (WebCore::DOMData::getCurrentMainThreadStore):
3464         (WebCore::DOMData::handleWeakObject):
3465         * bindings/v8/DOMDataStore.cpp:
3466         (WebCore::DOMDataStore::DOMDataStore):
3467         (WebCore::DOMDataStore::~DOMDataStore):
3468         (WebCore::DOMDataStore::weakNodeCallback):
3469         * bindings/v8/DOMDataStore.h:
3470         * bindings/v8/MainThreadDOMData.cpp: Removed.
3471         * bindings/v8/MainThreadDOMData.h: Removed.
3472         * bindings/v8/V8DOMMap.cpp:
3473         (WebCore::getDOMDataStore):
3474         (WebCore::visitDOMNodes):
3475         (WebCore::visitDOMObjects):
3476         (WebCore::visitActiveDOMObjects):
3477         (WebCore::visitDOMSVGElementInstances):
3478         * bindings/v8/V8DOMMap.h:
3479         * bindings/v8/V8GCController.cpp:
3480         (WebCore::V8GCController::gcPrologue):
3481         (WebCore::V8GCController::gcEpilogue):
3482         * bindings/v8/WorkerScriptController.cpp:
3483         (WebCore::WorkerScriptController::~WorkerScriptController):
3484
3485 2011-06-06  Nico Weber  <thakis@chromium.org>
3486
3487         Reviewed by Adam Barth.
3488
3489         [chromium] Make VideoFrameChromium's destructor virtual
3490         https://bugs.webkit.org/show_bug.cgi?id=62186
3491
3492         This fixes a real bug, since WebMediaPlayerClientImpl::putCurrentFrame
3493         deletes a VideoFrameChromium subclass type through this interface
3494         class, causing ~VideoFrameChromiumImpl's destructor not to run.
3495         (VideoFrameChroimumImpl happens to not have a destructor or any