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