Invalid cast in WebCore::toElement / WebCore::HTMLElementStack::ElementRecord::element
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-02-20  Adam Barth  <abarth@webkit.org>
2
3         Invalid cast in WebCore::toElement / WebCore::HTMLElementStack::ElementRecord::element
4         https://bugs.webkit.org/show_bug.cgi?id=78975
5
6         Reviewed by Eric Seidel.
7
8         We're supposed to set the action attribute on the form element we just
9         created.  Previously, we assumed the newly created form element would
10         be on the top of the stack of open elements, but if we're in the table
11         body insertion mode, the form element gets treated as self closing and
12         is therefore popped off the stack of open elements.
13
14         Fortunately, we already cache a pointer to the most recently inserted
15         form element on the HTMLConstructionSite, so we can just grab the
16         element from there.
17
18         Test: html5lib/runner.html
19
20         * html/parser/HTMLTreeBuilder.cpp:
21         (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
22         (WebCore):
23
24 2012-02-20  Adam Barth  <abarth@webkit.org>
25
26         Unite TextTrack-related files with their friends in WebCore/html/track
27         https://bugs.webkit.org/show_bug.cgi?id=78941
28
29         Reviewed by Eric Seidel.
30
31         The code that supports <track> seems to be split between the
32         WebCore/html directory and the WebCore/html/track directory.  This
33         patch unites this code in the WebCore/html/track directory.
34
35         * CMakeLists.txt:
36         * DerivedSources.make:
37         * DerivedSources.pri:
38         * GNUmakefile.list.am:
39         * WebCore.gypi:
40         * WebCore.xcodeproj/project.pbxproj:
41         * html/LoadableTextTrack.cpp: Removed.
42         * html/LoadableTextTrack.h: Removed.
43         * html/TextTrack.cpp: Removed.
44         * html/TextTrack.h: Removed.
45         * html/TextTrack.idl: Removed.
46         * html/TextTrackCue.cpp: Removed.
47         * html/TextTrackCue.h: Removed.
48         * html/TextTrackCue.idl: Removed.
49         * html/TextTrackCueList.cpp: Removed.
50         * html/TextTrackCueList.h: Removed.
51         * html/TextTrackCueList.idl: Removed.
52         * html/track/LoadableTextTrack.cpp: Copied from Source/WebCore/html/LoadableTextTrack.cpp.
53         * html/track/LoadableTextTrack.h: Copied from Source/WebCore/html/LoadableTextTrack.h.
54         * html/track/TextTrack.cpp: Copied from Source/WebCore/html/TextTrack.cpp.
55         * html/track/TextTrack.h: Copied from Source/WebCore/html/TextTrack.h.
56         * html/track/TextTrack.idl: Copied from Source/WebCore/html/TextTrack.idl.
57         * html/track/TextTrackCue.cpp: Copied from Source/WebCore/html/TextTrackCue.cpp.
58         * html/track/TextTrackCue.h: Copied from Source/WebCore/html/TextTrackCue.h.
59         * html/track/TextTrackCue.idl: Copied from Source/WebCore/html/TextTrackCue.idl.
60         * html/track/TextTrackCueList.cpp: Copied from Source/WebCore/html/TextTrackCueList.cpp.
61         * html/track/TextTrackCueList.h: Copied from Source/WebCore/html/TextTrackCueList.h.
62         * html/track/TextTrackCueList.idl: Copied from Source/WebCore/html/TextTrackCueList.idl.
63
64 2012-02-20  Filip Pizlo  <fpizlo@apple.com>
65
66         JSC should be a triple-tier VM
67         https://bugs.webkit.org/show_bug.cgi?id=75812
68         <rdar://problem/10079694>
69
70         Reviewed by Gavin Barraclough.
71         
72         No new tests, because there is no change in behavior.
73
74         * CMakeLists.txt:
75
76 2012-02-20  Benjamin Poulain  <benjamin@webkit.org>
77
78         Get rid of the LocalizationStrategy
79         https://bugs.webkit.org/show_bug.cgi?id=78324
80
81         Reviewed by Sam Weinig.
82
83         Remove LocalizationStrategy and unify the localization behind
84         LocalizedStrings.h and LocalizedStrings.cpp.
85
86         * CMakeLists.txt:
87         * GNUmakefile.list.am:
88         * Target.pri:
89         * WebCore.exp.in:
90         * WebCore.gypi:
91         * WebCore.order:
92         * WebCore.vcproj/WebCore.vcproj:
93         * WebCore.xcodeproj/project.pbxproj:
94         * platform/DefaultLocalizationStrategy.cpp: Removed.
95         * platform/DefaultLocalizationStrategy.h: Removed.
96         * platform/LocalizationStrategy.h: Removed.
97         * platform/LocalizedStrings.cpp:
98         * platform/LocalizedStrings.h:
99         (WebCore):
100         * platform/PlatformStrategies.cpp:
101         * platform/PlatformStrategies.h:
102         (WebCore):
103         (WebCore::PlatformStrategies::PlatformStrategies):
104         (PlatformStrategies):
105         * platform/qt/LocalizedStringsQt.cpp: Copied from Source/WebKit/qt/WebCoreSupport/PlatformStrategiesQt.cpp.
106
107 2012-02-20  Kentaro Hara  <haraken@chromium.org>
108
109         Remove [TreatReturnedNullStringAsNull] from HTMLMediaElement.mediaGroup
110         https://bugs.webkit.org/show_bug.cgi?id=79064
111
112         Reviewed by Hajime Morita.
113
114         [TreatReturnedNullStringAsNull] is a typo of [TreatReturnedNullStringAs=Null].
115         But as far as I read the spec
116         (http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#attr-media-mediagroup),
117         there is no statement about what value should be returned when HTMLMediaElement.mediaGroup
118         is not yet initialized. In particular, there is no statement that says "null should
119         be returned when HTMLMediaElement.mediaGroup is not initialized". Thus, instead of
120         fixing the typo, just removing [TreatReturnedNullStringAsNull] would make sense.
121         Removing [TreatReturnedNullStringAsNull] does not change the current behavior.
122
123         Test: media/media-controller.html (No change in the test results.)
124
125         * html/HTMLMediaElement.idl:
126
127 2012-02-20  Hayato Ito  <hayato@chromium.org>
128
129         Use InsertinonPoint instead of HTMLContentElement.
130         https://bugs.webkit.org/show_bug.cgi?id=78778
131
132         Reviewed by Hajime Morita.
133
134         Replace HTMLContentElement with InsertionPoint in NodeRenderingContext and HTMLContentSelection.
135         This is one of followup patches for r108207.
136
137         No new tests, no change in behavior.
138
139         * dom/NodeRenderingContext.cpp:
140         (WebCore::nextRendererOf):
141         (WebCore::previousRendererOf):
142         (WebCore::firstRendererOf):
143         (WebCore::lastRendererOf):
144         * dom/NodeRenderingContext.h:
145         (WebCore):
146         (NodeRenderingContext):
147         (WebCore::NodeRenderingContext::insertionPoint):
148         * dom/ShadowRoot.cpp:
149         (WebCore::ShadowRoot::insertionPointFor):
150         * dom/ShadowRoot.h:
151         (WebCore):
152         * html/shadow/HTMLContentElement.cpp:
153         (WebCore::HTMLContentElement::HTMLContentElement):
154         (WebCore::HTMLContentElement::attach):
155         (WebCore::HTMLContentElement::detach):
156         * html/shadow/HTMLContentElement.h:
157         (HTMLContentElement):
158         * html/shadow/HTMLContentSelector.cpp:
159         (WebCore::HTMLContentSelector::select):
160         * html/shadow/HTMLContentSelector.h:
161         (WebCore):
162         (HTMLContentSelection):
163         (WebCore::HTMLContentSelection::insertionPoint):
164         (WebCore::HTMLContentSelection::HTMLContentSelection):
165         (WebCore::HTMLContentSelection::create):
166         * html/shadow/InsertionPoint.cpp:
167         (WebCore::InsertionPoint::InsertionPoint):
168         * html/shadow/InsertionPoint.h:
169         (WebCore::InsertionPoint::selections):
170         (WebCore::InsertionPoint::hasSelection):
171         (InsertionPoint):
172
173 2012-02-20  David Barton  <dbarton@mathscribe.com>
174
175         MathML internals - code clean-up for RenderMathMLSubSup
176         https://bugs.webkit.org/show_bug.cgi?id=79063
177
178         Reviewed by Eric Seidel.
179
180         In the next patch, I will shrink and revise the <msubsup> formatting code. To make this
181         easier to follow, I am first doing some simple code clean-up.
182
183         No new tests.
184
185         * rendering/mathml/RenderMathMLRow.cpp:
186         (WebCore::RenderMathMLRow::layout):
187         * rendering/mathml/RenderMathMLRow.h:
188         (WebCore::RenderMathMLRow::isRenderMathMLRow):
189         * rendering/mathml/RenderMathMLSubSup.cpp:
190         (WebCore::RenderMathMLSubSup::stretchToHeight):
191         (WebCore::RenderMathMLSubSup::layout):
192             - There is no need to iterate over baseWrapper's children since it should have only
193               one child, the base of the <msubsup>.
194
195 2012-02-20  Kentaro Hara  <haraken@chromium.org>
196
197         Replace [V8Custom=DOMWindowNOP] with [V8Custom]
198         https://bugs.webkit.org/show_bug.cgi?id=79062
199
200         Reviewed by Adam Barth.
201
202         [V8Custom=DOMWindowNOP] is not implemented by CodeGeneratorV8.pm.
203         This patch replaces it with [V8Custom].
204
205         No new tests. No change in behavior.
206
207         * page/DOMWindow.idl:
208
209 2012-02-20  Kentaro Hara  <haraken@chromium.org>
210
211         [JSGenerateIsReachable=ImplRoot] is not implemented, it should be [JSGenerateIsReachable]
212         https://bugs.webkit.org/show_bug.cgi?id=79061
213
214         Reviewed by Adam Barth.
215
216         CSSStyleDeclaration.idl uses [JSGenerateIsReachable=ImplRoot],
217         but "ImplRoot" is not implemented in CodeGeneratorJS.pm.
218         This patch replaces [JSGenerateIsReachable=ImplRoot] with [JSGenerateIsReachable].
219
220         No tests. No change in behavior.
221
222         * css/CSSStyleDeclaration.idl:
223
224 2012-02-20  Kentaro Hara  <haraken@chromium.org>
225
226         [EnabledAtRuntime] in HTMLShadowElement.idl should be [V8EnabledAtRuntime]
227         https://bugs.webkit.org/show_bug.cgi?id=79058
228
229         Reviewed by Adam Barth.
230
231         [EnabledAtRuntime] does not exist any longer. It should be [V8EnabledAtRuntime].
232
233         No tests.
234
235         * html/shadow/HTMLShadowElement.idl:
236
237 2012-02-20  Kentaro Hara  <haraken@chromium.org>
238
239         Replace [Callback=FunctionOnly] with [Callback]
240         https://bugs.webkit.org/show_bug.cgi?id=79060
241
242         Reviewed by Adam Barth.
243
244         [Callback=FunctionOnly] is not implemented by any code generator.
245         This patch replaces it with [Callback].
246
247         No tests. No change in behavior.
248
249         * Modules/intents/IntentResultCallback.idl:
250         * Modules/intents/NavigatorIntents.idl:
251         * dom/RequestAnimationFrameCallback.idl:
252         * mediastream/NavigatorMediaStream.idl:
253         * mediastream/NavigatorUserMediaErrorCallback.idl:
254         * mediastream/NavigatorUserMediaSuccessCallback.idl:
255         * mediastream/PeerConnection.idl:
256         * mediastream/SignalingCallback.idl:
257         * page/PositionCallback.idl:
258         * page/PositionErrorCallback.idl:
259
260 2012-02-20  Andy Chen  <andchen@rim.com>
261
262         2012-02-17  Andy Chen  <andchen@rim.com>
263
264         [BlackBerry] Need to override active/inactive text search highlight color for RenderThemeBlackBerry
265         https://bugs.webkit.org/show_bug.cgi?id=78920
266
267         Override two functions for text search highlight colors so that we can
268         provide platform specified colors.
269
270         Reviewed by Antonio Gomes.
271
272         No function change so no new tests.
273
274         * platform/blackberry/RenderThemeBlackBerry.cpp:
275         (WebCore::RenderThemeBlackBerry::platformActiveTextSearchHighlightColor):
276         (WebCore::RenderThemeBlackBerry::platformInactiveTextSearchHighlightColor):
277         * platform/blackberry/RenderThemeBlackBerry.h:
278
279 2012-02-20  John Knottenbelt  <jknotten@chromium.org>
280
281         Default canvas backing store to be 1:1 with specified dimensions.
282         https://bugs.webkit.org/show_bug.cgi?id=78971
283
284         Reviewed by Adam Barth.
285
286         Although the canvas specification states that the backing image may
287         be larger than the user-specified dimensions, there are a number of
288         philip canvas tests that fail when the backing image data is not
289         1:1 with the specified canvas dimensions. These failures are
290         tracked in https://bugs.webkit.org/show_bug.cgi?id=73645
291
292         This change defaults the canvas backing store to be 1:1 with the
293         user-specified dimensions, while also providing an
294         ENABLE(HIGH_DPI_CANVAS) build option to reinstate the original
295         behaviour, so that the above bug may be more easily fixed.
296
297         * html/HTMLCanvasElement.cpp:
298         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
299
300 2012-02-20  Mary Wu  <mary.wu@torchmobile.com.cn>
301
302         Upstream RenderThemeBlackberry.h/.cpp into WebCore/platform/blackberry
303         https://bugs.webkit.org/show_bug.cgi?id=78785
304
305         Main Contributors:
306         Daniel Bates <dbates@rim.com>
307         Bryan Gislason <bgislason@rim.com>
308         Akash Vaswani <akvaswani@rim.com>
309         Dave Battista <dbattista@rim.com>
310         Robin Cao  <robin.cao@torchmobile.com.cn>
311         Genevieve Mak <gmak@rim.com>
312         Mike Fenton  <mifenton@rim.com>
313
314         Reviewed by Antonio Gomes.
315
316         Initial upstream, no new tests.
317
318         * platform/blackberry/RenderThemeBlackBerry.cpp: Added.
319         * platform/blackberry/RenderThemeBlackBerry.h: Added.
320
321 2012-02-20  Martin Robinson  <mrobinson@igalia.com>
322
323         [GTK] [EFL] Collapse duplicate WebGL support code
324         https://bugs.webkit.org/show_bug.cgi?id=78970
325
326         Reviewed by Gustavo Noronha Silva.
327
328         No new tests. This just cleans up duplicated code.
329
330         Centralize duplicated WebGL code for EFL and GTK+ in the Cairo
331         directory. This is in preparation for the changes necessary to
332         connect WebGL to the TextureMapper AC.
333
334         * GNUmakefile.list.am: Update source list.
335         * PlatformEfl.cmake: Update source list.
336         * platform/graphics/cairo/DrawingBufferCairo.cpp: Renamed from Source/WebCore/platform/graphics/gtk/DrawingBufferGtk.cpp.
337         * platform/graphics/cairo/GraphicsContext3DCairo.cpp: Integrated the code From GraphicsContext3DGtk.cpp.
338         * platform/graphics/efl/DrawingBufferEfl.cpp: Removed.
339         * platform/graphics/efl/GraphicsContext3DEfl.cpp: Removed.
340         * platform/graphics/gtk/GraphicsContext3DGtk.cpp: Removed.
341
342 2012-02-20  Martin Robinson  <mrobinson@igalia.com>
343
344         [UNIX] Plugin information fields are not interpreted as UTF-8
345         https://bugs.webkit.org/show_bug.cgi?id=78635
346
347         Reviewed by Gustavo Noronha Silva.
348
349         Interpret plugin metadata as UTF8 aways. This matches the behavior
350         of Chromium and the Totem plugin.
351
352         This is tested by a change to TestNetscapePlugin and expectations updates.
353
354         * plugins/efl/PluginPackageEfl.cpp:
355         (WebCore::PluginPackage::fetchInfo): Use String::fromUTF8.
356         * plugins/gtk/PluginPackageGtk.cpp:
357         (WebCore::PluginPackage::fetchInfo): Use String::fromUTF8.
358         * plugins/qt/PluginPackageQt.cpp:
359         (WebCore::PluginPackage::fetchInfo): Use String::fromUTF8.
360
361 2012-02-20  Martin Robinson  <mrobinson@igalia.com>
362
363         [GTK] Web content oftens steals focus from other widgets
364         https://bugs.webkit.org/show_bug.cgi?id=77791
365
366         Reviewed by Gustavo Noronha Silva.
367
368         * platform/gtk/WidgetGtk.cpp:
369         (WebCore::Widget::setFocus): No longer do anything special to try
370         to grab "real" widget focus. This matches the behavior on Qt.
371         * plugins/gtk/PluginViewGtk.cpp:
372         (WebCore::PluginView::setFocus): Moved the focus handling to here.
373         This ensures that behavior for plugins does not change.
374
375 2012-02-20  Yael Aharon  <yael.aharon@nokia.com>
376
377         Regression (108135) isOpaque() returns uninitialized variable.
378         https://bugs.webkit.org/show_bug.cgi?id=79049
379
380         Reviewed by Noam Rosenthal.
381
382         isOpaque() should use the new m_flags instead of the old m_isOpaque.
383         No new tests. No new functionality.
384
385         * platform/graphics/texmap/TextureMapper.h:
386         (WebCore::BitmapTexture::reset):
387         (WebCore::BitmapTexture::isOpaque):
388         (BitmapTexture):
389
390 2012-02-20  Kentaro Hara  <haraken@chromium.org>
391
392         Unreviewed. Rebaselined run-bindings-tests results.
393
394         * bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
395         * bindings/scripts/test/CPP/WebDOMTestInterface.h:
396         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
397         * bindings/scripts/test/CPP/WebDOMTestObj.h:
398
399 2012-02-20  No'am Rosenthal  <noam.rosenthal@nokia.com>
400
401         [Qt][WK2] Clipping is broken
402         https://bugs.webkit.org/show_bug.cgi?id=78677
403
404         It's not necessary to add a full-viewport rect to the scissor clip stack.
405         It creates a situation where if there's a clip in the page, we return to
406         the viewport clip instead of applying the WebView's clip we got from the
407         scenegraph.
408
409         Also, it's unnecessary to clip before we paint the layer's content, we should
410         only clip afterwards, before painting the children. 
411
412         Reviewed by Kenneth Rohde Christiansen.
413
414         No new functionality.
415
416         * platform/graphics/opengl/TextureMapperGL.cpp:
417         (WebCore::BitmapTextureGL::size):
418         (WebCore::scissorClip):
419         (WebCore):
420         (WebCore::TextureMapperGL::beginScissorClip):
421         (WebCore::TextureMapperGL::endScissorClip):
422         * platform/graphics/texmap/TextureMapperLayer.cpp:
423         (WebCore::TextureMapperLayer::paintSelfAndChildren):
424
425 2012-02-20  No'am Rosenthal  <noam.rosenthal@nokia.com>
426
427         [Texmap] Layers and tiles appear to have missing pixels in their right/bottom borders
428         https://bugs.webkit.org/show_bug.cgi?id=78961
429
430         The relativeSize member should point to one pixel before the edge, since it's used
431         by glVertexAttribPointer, which takes edge points and not sizes.
432
433         Reviewed by Kenneth Rohde Christiansen.
434
435         No new funcionality.
436
437         * platform/graphics/opengl/TextureMapperGL.cpp:
438         (WebCore::BitmapTextureGL::didReset):
439
440 2012-02-20  Kihong Kwon  <kihong.kwon@samsung.com>
441
442         Add a new API for the Vibration API(W3C).
443         https://bugs.webkit.org/show_bug.cgi?id=72010
444
445         http://dev.w3.org/2009/dap/vibration/
446         This patch implements navigator.webkitvibrate() API.
447         This API operates differently depending upon a given parameter:
448         1. It cancels vibration when given 0 or [].
449         2. It gives a vibration duration in milliseconds when given as a single integer value.
450         3. It gives a vibration pattern when given as an integer array. For instance, [1000 300 1000] generates a vibration of 1000ms followed by 300ms of idle time, and then creates another vibration of 1000ms.
451
452         Reviewed by Hajime Morita.
453
454         Test: fast/dom/navigator-vibration.html
455
456         * CMakeLists.txt:
457         * Modules/vibration/NavigatorVibration.cpp: Added.
458         (WebCore):
459         (WebCore::NavigatorVibration::NavigatorVibration):
460         (WebCore::NavigatorVibration::~NavigatorVibration):
461         (WebCore::NavigatorVibration::webkitVibrate):
462         Add webkitVibrate method to get an array or single integer parameter for vibrating.
463         They check vibration is activated in the platform, and then call vibrate() in the Vibration class.
464         * Modules/vibration/NavigatorVibration.h: Added.
465         (WebCore):
466         (NavigatorVibration):
467         * Modules/vibration/NavigatorVibration.idl: Added.
468         * Modules/vibration/Vibration.cpp: Added.
469         This class implements the entire vibration logic.
470         (WebCore):
471         (WebCore::Vibration::Vibration):
472         (WebCore::Vibration::~Vibration):
473         (WebCore::Vibration::create):
474         (WebCore::Vibration::vibrate):
475         (WebCore::Vibration::cancelVibration):
476         (WebCore::Vibration::suspendVibration):
477         (WebCore::Vibration::resumeVibration):
478         (WebCore::Vibration::timerStartFired):
479         (WebCore::Vibration::timerStopFired):
480         (WebCore::Vibration::supplementName):
481         (WebCore::Vibration::isActive):
482         (WebCore::provideVibrationTo):
483         * Modules/vibration/Vibration.h: Added.
484         (WebCore):
485         (Vibration):
486         (WebCore::Vibration::from):
487         * Modules/vibration/VibrationClient.h: Added.
488         vibrate() and cancelVibrate() need to be implemented in the VibrationClient.
489         (WebCore):
490         (VibrationClient):
491         (WebCore::VibrationClient::~VibrationClient):
492
493 2012-02-20  Yuta Kitamura  <yutak@chromium.org>
494
495         Unreviewed, rolling out r108263.
496         http://trac.webkit.org/changeset/108263
497         https://bugs.webkit.org/show_bug.cgi?id=77856
498
499         Broke Chromium Windows build.
500
501         * platform/audio/DynamicsCompressor.cpp:
502         (WebCore::DynamicsCompressor::DynamicsCompressor):
503         (WebCore::DynamicsCompressor::setEmphasisStageParameters):
504         (WebCore::DynamicsCompressor::process):
505         (WebCore::DynamicsCompressor::reset):
506         * platform/audio/DynamicsCompressor.h:
507         (WebCore::DynamicsCompressor::isStereo):
508         (DynamicsCompressor):
509         * platform/audio/DynamicsCompressorKernel.cpp:
510         (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
511         (WebCore::DynamicsCompressorKernel::setPreDelayTime):
512         (WebCore::DynamicsCompressorKernel::process):
513         (WebCore::DynamicsCompressorKernel::reset):
514         * platform/audio/DynamicsCompressorKernel.h:
515         (DynamicsCompressorKernel):
516         * webaudio/DynamicsCompressorNode.cpp:
517         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
518         (WebCore::DynamicsCompressorNode::initialize):
519
520 2012-02-20  Raymond Liu  <raymond.liu@intel.com>
521
522         Have the DynamicsCompressorNode support multi-channel data
523         https://bugs.webkit.org/show_bug.cgi?id=77856
524
525         Reviewed by Chris Rogers.
526
527         * platform/audio/DynamicsCompressor.cpp:
528         (WebCore::DynamicsCompressor::DynamicsCompressor):
529         (WebCore::DynamicsCompressor::setEmphasisStageParameters):
530         (WebCore::DynamicsCompressor::process):
531         (WebCore::DynamicsCompressor::reset):
532         (WebCore::DynamicsCompressor::setNumberOfChannels):
533         (WebCore):
534         * platform/audio/DynamicsCompressor.h:
535         (DynamicsCompressor):
536         * platform/audio/DynamicsCompressorKernel.cpp:
537         (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
538         (WebCore::DynamicsCompressorKernel::setNumberOfChannels):
539         (WebCore):
540         (WebCore::DynamicsCompressorKernel::setPreDelayTime):
541         (WebCore::DynamicsCompressorKernel::process):
542         (WebCore::DynamicsCompressorKernel::reset):
543         * platform/audio/DynamicsCompressorKernel.h:
544         (DynamicsCompressorKernel):
545         * webaudio/DynamicsCompressorNode.cpp:
546         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
547         (WebCore::DynamicsCompressorNode::initialize):
548
549 2012-02-20  David Barton  <dbarton@mathscribe.com>
550
551         RenderMathMLRow::baselinePosition() only if linePositionMode == PositionOnContainingLine
552         https://bugs.webkit.org/show_bug.cgi?id=79039
553
554         Reviewed by Eric Seidel.
555
556         RenderMathMLRow::baselinePosition() is actually unnecessary, but I am deleting it in two
557         steps. First we add a guard to restrict it to the intended PositionOnContainingLine
558         case, leaving PositionOfInteriorLineBoxes to a superclass, RenderBlock. This removes
559         some randomness, and tightens up the results of four existing test files.
560
561         Test: mathml/presentation/row.xhtml, fenced.xhtml, mo.xhtml, and mo-stretch.html
562
563         * rendering/mathml/RenderMathMLRow.cpp:
564         (WebCore::RenderMathMLRow::baselinePosition):
565
566 2012-02-18  Jon Lee  <jonlee@apple.com>
567
568         HTML input file control "No File Selected" needs more room in some languages
569         https://bugs.webkit.org/show_bug.cgi?id=32366
570         <rdar://problem/4481028>
571
572         Reviewed by David Hyatt.
573
574         The patch exposes a function to return the "no file(s) selected" label text.
575
576         * rendering/RenderTheme.cpp:
577         (WebCore::RenderTheme::fileListDefaultLabel): Added to expose the text for the label in
578         file upload controls when nothing has been selected.
579         (WebCore::RenderTheme::fileListNameForWidth): Refactor to use fileListDefaultLabel().
580         * rendering/RenderTheme.h: Change fileListNameForWidth() to be a const function.
581
582         * rendering/RenderThemeMac.h: Update fileListNameForWidth() to be a const function for
583         platform implementations.
584         * rendering/RenderThemeMac.mm:
585         (WebCore::RenderThemeMac::fileListNameForWidth): Refactor to use fileListDefaultLabel().
586
587         Update fileListNameForWidth() to be a const function for platform implementations.
588         * platform/gtk/RenderThemeGtk.h:
589         * platform/gtk/RenderThemeGtk.cpp:
590         * platform/qt/RenderThemeQt.h:
591         * platform/qt/RenderThemeQt.cpp:
592
593         * rendering/RenderFileUploadControl.cpp:
594         (WebCore::RenderFileUploadControl::computePreferredLogicalWidths): Change the calculation
595         of the max preferred logical width. Calculate the length of the "no file(s) selected" text,
596         and include the button and after-button margin. Take the max of that and the original
597         default width, which was a string of 34 (defaultWidthNumChars) "0"'s, in the case that the
598         label text is too short.
599
600 2012-02-20  Gavin Barraclough  <barraclough@apple.com>
601
602         Rubber stamped by Sam Weinig.
603
604         * bindings/js/JSDOMWindowBase.cpp:
605         (WebCore::JSDOMWindowBase::allowsAccessFrom):
606             - Errk, remove dead code from end of function.
607
608 2012-02-16  Gavin Barraclough  <barraclough@apple.com>
609
610         Move special __proto__ property to Object.prototype
611         https://bugs.webkit.org/show_bug.cgi?id=78409
612
613         Reviewed by Oliver Hunt.
614
615         Re-implement this as a regular accessor property.  This has three key benefits:
616         1) It makes it possible for objects to be given properties named __proto__.
617         2) Object.prototype.__proto__ can be deleted, preventing object prototypes from being changed.
618         3) This largely removes the magic used the implement __proto__, it can just be made a regular accessor property.
619
620         * bindings/js/JSDOMWindowBase.cpp:
621         (WebCore::JSDOMWindowBase::allowsAccessFrom):
622         (WebCore):
623             - expose allowsAccessFrom check to JSC.
624         * bindings/js/JSDOMWindowBase.h:
625         (JSDOMWindowBase):
626             - expose allowsAccessFrom check to JSC.
627
628 2012-02-20  Benjamin Poulain  <benjamin@webkit.org>
629
630         Make JSCSSStyleDeclaration work directly with CSS Property ID
631         https://bugs.webkit.org/show_bug.cgi?id=79014
632
633         Reviewed by Geoffrey Garen.
634
635         Previously, accessing the CSS property was done by converting from
636         the JavaScript name to the CSS name, then converting that name to a lowercase
637         character array, and finally getting the CSS property ID.
638
639         This patch cut the indirection and make the code go directly from the
640         JavaScript name conversion to the CSS property ID.
641
642         This improves the performance mainly due to the following:
643         -avoid dynamic memory allocation
644         -cut the conversion early when possible
645         -do not parse the string twice
646         The previous fast-path optimization was removed because it is no longer
647         necessary with this change.
648
649         The improvement are the following:
650         -previous fast-path: no change
651         -previous slow-path: ~3 times faster
652
653         Test: fast/dom/CSSStyleDeclaration/access-longest-css-property.html
654         This just test the edge case of CSSPropertyName.
655
656         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
657         (WebCore::writeWebKitPrefix):
658         (WebCore::writeEpubPrefix):
659         (WebCore::cssPropertyIDForJSCSSPropertyName):
660         (WebCore::isCSSPropertyName):
661         (WebCore::JSCSSStyleDeclaration::nameGetter):
662         (WebCore::JSCSSStyleDeclaration::putDelegate):
663         * css/CSSParser.cpp:
664         (WebCore::cssPropertyID):
665         (WebCore):
666         (WebCore::cssPropertyNameIOSAliasing):
667         * css/CSSParser.h:
668         (WebCore):
669
670 2012-02-20  Dan Bernstein  <mitz@apple.com>
671
672         Updated Localizable.strings after r107440.
673
674         Rubber-stamped by Joseph Pecoraro.
675
676         * English.lproj/Localizable.strings:
677
678 2012-02-20  David Barton  <dbarton@mathscribe.com>
679
680         MathML internals - remove nonOperatorHeight(), hasBase()
681         https://bugs.webkit.org/show_bug.cgi?id=78977
682
683         Reviewed by Eric Seidel.
684
685         Stretchy operators, including embellished ones, should stretch to the largest height of
686         the non-stretchy items in the same explicit or implicit <mrow>.
687         RenderMathMLRow::layout() used to use hasBase(), isRenderMathMLOperator(), and
688         nonOperatorHeight() to approximate this height. We now use unembellishedOperator() to
689         improve this approximation, while also simplifying the code. More plainly, the code used
690         to skip all operators when estimating this height, instead of just the stretchy ones. We
691         continue to do that for now, but we more accurately skip all embellished operators
692         (using our currently implemented approximate definition of this), and use the simple and
693         true height of the remaining items. In case all items in the row are stretchy,
694         style()->fontSize() is better than using whatever heights these items currently happen
695         to be stretched to.
696
697         Test: mathml/presentation/mo-stretch.html, and many existing tests
698
699         * rendering/mathml/RenderMathMLBlock.cpp:
700         (WebCore):
701         * rendering/mathml/RenderMathMLBlock.h:
702         (WebCore::RenderMathMLBlock::unembellishedOperator):
703         * rendering/mathml/RenderMathMLRow.cpp:
704         (WebCore):
705         (WebCore::RenderMathMLRow::layout):
706         * rendering/mathml/RenderMathMLRow.h:
707         (WebCore::RenderMathMLRow::isRenderMathMLRow):
708         * rendering/mathml/RenderMathMLSubSup.cpp:
709         (WebCore):
710         * rendering/mathml/RenderMathMLSubSup.h:
711         (RenderMathMLSubSup):
712         * rendering/mathml/RenderMathMLUnderOver.cpp:
713         (WebCore):
714         * rendering/mathml/RenderMathMLUnderOver.h:
715         (RenderMathMLUnderOver):
716
717 2012-02-17  Anders Carlsson  <andersca@apple.com>
718
719         Stop the committer timer when the page is destroyed
720         https://bugs.webkit.org/show_bug.cgi?id=78907
721
722         Reviewed by Adam Roben.
723
724         We don't want the committer timer to fire after the scrolling tree has been invalidated,
725         so stop the committer timer to prevent it from firing and trying to access the scrolling tree.
726
727         * page/scrolling/ScrollingCoordinator.cpp:
728         (WebCore::ScrollingCoordinator::pageDestroyed):
729
730 2012-02-20  Patrick Gansterer  <paroga@webkit.org>
731
732         [WIN] Allow compiling FileSystem without CoreFoundation.
733         https://bugs.webkit.org/show_bug.cgi?id=79032
734
735         Reviewed by Adam Roben.
736
737         Add #if USE(CF) around code using the CoreFoundation functions.
738
739         * platform/FileSystem.h:
740         * platform/win/FileSystemWin.cpp:
741
742 2012-02-20  Robin Cao  <robin.cao@torchmobile.com.cn>
743
744         [BlackBerry] Upstream the first few files in platform/graphics/blackberry
745         https://bugs.webkit.org/show_bug.cgi?id=79023
746
747         Reviewed by Antonio Gomes.
748
749         Initial upstreaming, no new tests.
750
751         * platform/graphics/blackberry/FloatPointBlackBerry.cpp: Added.
752         (WebCore):
753         (WebCore::FloatPoint::FloatPoint):
754         (WebCore::FloatPoint::operator BlackBerry::Platform::FloatPoint):
755         * platform/graphics/blackberry/FloatRectBlackBerry.cpp: Added.
756         (WebCore):
757         (WebCore::FloatRect::FloatRect):
758         (WebCore::FloatRect::operator BlackBerry::Platform::FloatRect):
759         * platform/graphics/blackberry/FloatSizeBlackBerry.cpp: Added.
760         (WebCore):
761         (WebCore::FloatSize::FloatSize):
762         (WebCore::FloatSize::operator BlackBerry::Platform::FloatSize):
763         * platform/graphics/blackberry/IntPointBlackBerry.cpp: Added.
764         (WebCore):
765         (WebCore::IntPoint::IntPoint):
766         (WebCore::IntPoint::operator BlackBerry::Platform::IntPoint):
767         * platform/graphics/blackberry/IntRectBlackBerry.cpp: Added.
768         (WebCore):
769         (WebCore::IntRect::IntRect):
770         (WebCore::IntRect::operator BlackBerry::Platform::IntRect):
771         * platform/graphics/blackberry/IntSizeBlackBerry.cpp: Added.
772         (WebCore):
773         (WebCore::IntSize::IntSize):
774         (WebCore::IntSize::operator BlackBerry::Platform::IntSize):
775
776 2012-02-20  Patrick Gansterer  <paroga@webkit.org>
777
778         [WIN] Share openTemporaryFile with WinCE
779         https://bugs.webkit.org/show_bug.cgi?id=58750
780
781         Reviewed by Adam Roben.
782
783         Use pathByAppendingComponent instead of PathCombine to share the
784         code with WinCE. Also use the wide version of Windows functions.
785
786         * platform/win/FileSystemWin.cpp:
787         (WebCore::openTemporaryFile):
788
789 2012-02-20  Victor Carbune  <victor@rosedu.org>
790
791         Added code to support dispatching of missed cues in case of normal playback
792         and event sorting in case of simultaneous event triggering.
793
794         <track>-related events cuechange, enter, and exit should be sorted and filtered before dispatching
795         https://bugs.webkit.org/show_bug.cgi?id=72171
796
797         Reviewed by Eric Carlson.
798
799         Tests: media/track/track-cues-missed.html
800                media/track/track-cues-sorted-before-dispatch.html
801
802         * html/HTMLMediaElement.cpp:
803         (WebCore::HTMLMediaElement::HTMLMediaElement): Added initialization code
804         for newly added state variables.
805         (WebCore::trackIndexCompare): Static boolean compare function between
806         the index of two tracks.
807         (WebCore):
808         (WebCore::eventTimeCueCompare): Static boolean compare function between
809         events associated with text track cues.
810         (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Added code to
811         sort the events associated with text track cues before dispatching.
812         Each step from the specification is commented within the code.
813         (WebCore::HTMLMediaElement::finishSeek): Added a boolean variable that
814         is needed within the text track update function, to know whether a seek
815         event has occured before or not.
816         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Moved the update
817         call for text tracks at the beginning of the function instead of the end.
818         'ended' events for video should be dispatched after track specific events.
819         * html/HTMLMediaElement.h: Added variables to keep
820         state information required by the text track update algorithm (last time
821         the algorithm was run, and whether a seeking event has occured)
822         (HTMLMediaElement):
823
824         * html/LoadableTextTrack.cpp: Refactored fireCueChangeEvent method
825         (WebCore::LoadableTextTrack::fireCueChangeEvent): The method dispatches a
826         synchronous cue change event for the track element.
827         * html/LoadableTextTrack.h:
828         (LoadableTextTrack):
829         * html/TextTrack.cpp: Modified the fireCueChange method, cached track index.
830         (WebCore::TextTrack::TextTrack):
831         (WebCore::TextTrack::trackIndex): Cached the track index.
832         (WebCore):
833         (WebCore::TextTrack::invalidateTrackIndex): Invalidates the track. Used
834         when a new track is added in a TextTrackList instance.
835         * html/TextTrack.h:
836         (TextTrack):
837         (WebCore::TextTrack::fireCueChangeEvent): The fireCueChangeEvent has been changed,
838         as events need to be fired asyncronously.
839         * html/TextTrackCue.cpp: Added internal variables to keep the current index
840         position in the track cue order. This is invalidated when an element is
841         inserted before.
842         (WebCore::TextTrackCue::TextTrackCue):
843         (WebCore::TextTrackCue::cueIndex): Getter for the cueIndex.
844         (WebCore):
845         (WebCore::TextTrackCue::invalidateCueIndex): Invalidates the currently stored
846         cue index.
847         (WebCore::TextTrackCue::dispatchEvent): Event dispatching is done asynchronously
848         now. This should be the only method used for event dispatching.
849         (WebCore::TextTrackCue::setIsActive): The setIsActive method no longer dispatches
850         events, but rather just changes the m_isActive variable.
851         * html/TextTrackCue.h:
852         (TextTrackCue):
853
854         * html/TextTrackCueList.cpp:
855         (WebCore::TextTrackCueList::getCueIndex): Retrieves the cue index, in the track cue
856         order, of a given cue.
857         (WebCore):
858         (WebCore::TextTrackCueList::add): Modified the add method such that all the next cue
859         indexes are invalidated.
860         (WebCore::TextTrackCueList::invalidateCueIndexes): Invalidates all cue indexes starting
861         with a specific position.
862         * html/TextTrackCueList.h:
863         (TextTrackCueList):
864         * html/track/TextTrackList.cpp:
865         (TextTrackList::getTrackIndex): Retrieves the track index position.
866         (TextTrackList::append): Added method for invalidating the text track index in case of
867         changing the list contents.
868         * html/track/TextTrackList.h:
869         (TextTrackList):
870
871 2012-02-20  Kenichi Ishibashi  <bashi@chromium.org>
872
873         [WebSocket] Move WebSocketChannel::FrameData into a separate header file
874         https://bugs.webkit.org/show_bug.cgi?id=78682
875
876         Extract WebSocketChannel::FrameData as WebSocketFrame. This brings
877         flexibility to add classes which want to do something for
878         incoming/outgoing frames (e.g. compression/decompression).
879
880         Reviewed by Kent Tamura.
881
882         No new tests. No behavior change.
883
884         * GNUmakefile.list.am: AddedWebSocketFrame.h
885         * Target.pri: Ditto.
886         * WebCore.gypi: Ditto.
887         * WebCore.vcproj/WebCore.vcproj: Ditto.
888         * WebCore.xcodeproj/project.pbxproj: Ditto.
889         * websockets/WebSocketChannel.cpp: Modified to use WebSocketFrame instead of FrameData
890         (WebCore):
891         (WebCore::WebSocketChannel::send):
892         (WebCore::WebSocketChannel::startClosingHandshake):
893         (WebCore::WebSocketChannel::parseFrame):
894         (WebCore::WebSocketChannel::processFrame):
895         (WebCore::WebSocketChannel::enqueueTextFrame):
896         (WebCore::WebSocketChannel::enqueueRawFrame):
897         (WebCore::WebSocketChannel::enqueueBlobFrame):
898         (WebCore::appendMaskedFramePayload): Added.
899         (WebCore::makeFrameData): Added.
900         (WebCore::WebSocketChannel::sendFrame):
901         * websockets/WebSocketChannel.h: Removed FrameData.
902         (WebSocketChannel):
903         (QueuedFrame):
904         * websockets/WebSocketFrame.h: Added.
905         (WebCore):
906         (WebSocketFrame):
907         (WebCore::WebSocketFrame::isNonControlOpCode):
908         (WebCore::WebSocketFrame::isControlOpCode):
909         (WebCore::WebSocketFrame::isReservedOpCode):
910         (WebCore::WebSocketFrame::WebSocketFrame):
911
912 2012-02-20  Adam Roben  <aroben@apple.com>
913
914         32-bit build fix
915
916         * platform/FractionalLayoutUnit.h:
917         (WebCore::FractionalLayoutUnit::setRawValue): Explicitly cast long long to int, since they
918         are different widths in 32-bit.
919
920 2012-02-20  Adam Roben  <aroben@apple.com>
921
922         Clang build fix
923
924         * inspector/InspectorDOMAgent.cpp:
925         (WebCore::InspectorDOMAgent::willModifyDOMAttr): Removed unused parameter.
926
927 2012-02-20  Vsevolod Vlasov  <vsevik@chromium.org>
928
929         Unreviewed manual rollout of r107970 which breaks table column widths
930         updates from javascript (e.g. inspector's network panel).
931
932         * rendering/FixedTableLayout.cpp:
933         (WebCore::FixedTableLayout::calcWidthArray):
934         * rendering/RenderTableCol.h:
935         (RenderTableCol):
936
937 2012-02-20  Alexander Pavlov  <apavlov@chromium.org>
938
939         Web Inspector: [Styles] Inconsistent alignment of non-parsed properties (having an exclamation mark)
940         https://bugs.webkit.org/show_bug.cgi?id=79028
941
942         Reviewed by Yury Semikhatsky.
943
944         * inspector/front-end/elementsPanel.css:
945         (.styles-section .properties li.not-parsed-ok img.exclamation-mark):
946
947 2012-02-20  Alexander Pavlov  <apavlov@chromium.org>
948
949         Web Inspector: DOMAttrModified should not be fired if the attribute value remains the same
950         https://bugs.webkit.org/show_bug.cgi?id=79025
951
952         Reviewed by Pavel Feldman.
953
954         * dom/Element.cpp:
955         (WebCore::Element::willModifyAttribute):
956         * inspector/InspectorDOMAgent.cpp:
957         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
958         (WebCore::InspectorDOMAgent::willModifyDOMAttr):
959         (WebCore):
960         (WebCore::InspectorDOMAgent::didModifyDOMAttr):
961         * inspector/InspectorDOMAgent.h:
962         (InspectorDOMAgent):
963         * inspector/InspectorInstrumentation.cpp:
964         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
965         * inspector/InspectorInstrumentation.h:
966         (InspectorInstrumentation):
967         (WebCore::InspectorInstrumentation::willModifyDOMAttr):
968
969 2012-02-20  Kwonjin Jeong  <gram@company100.net>
970
971         Correct a typo error in ScrollingCoordinator.h
972         https://bugs.webkit.org/show_bug.cgi?id=79012
973
974         Reviewed by Andreas Kling.
975
976         * page/scrolling/ScrollingCoordinator.h:
977         (ScrollingCoordinator):
978
979 2012-02-20  Alexander Pavlov  <apavlov@chromium.org>
980
981         Web Inspector: [Styles] box-shadow and -webkit-box-shadow properties are not considered color-aware
982         https://bugs.webkit.org/show_bug.cgi?id=78988
983
984         Reviewed by Yury Semikhatsky.
985
986         * inspector/front-end/CSSKeywordCompletions.js:
987
988 2012-02-20  Yosifumi Inoue  <yosin@chromium.org>
989
990         [Forms] Spin buttons of number input type should fire both input and change event
991         https://bugs.webkit.org/show_bug.cgi?id=75067
992
993         Reviewed by Kent Tamura.
994
995         This patch makes spin button in number input field clicks to fire input and change events as described in WHATWG HTML5 specification.
996         To implement this behavior, this patch introduces new value DispatchInputAndChangeEvent in TextFieldEventBehavior.
997
998         Test: fast/forms/number/spin-button-events.html
999
1000         * html/HTMLInputElement.cpp:
1001         (WebCore::HTMLInputElement::stepUpFromRenderer): Pass DispatchInputAndChangeEvent instead of DispatchChangeEvent to applyStep, setValue, and setValueAsNumber.
1002         * html/HTMLTextFormControlElement.h: Add new enum value DispatchInputAndChangeEvent to TextFieldEventBehavior.
1003         * html/TextFieldInputType.cpp:
1004         (WebCore::TextFieldInputType::setValue): Handle DispatchInputAndChangeEvent and use RefPtr for element to keep reference.
1005
1006 2012-02-20  Shinya Kawanaka  <shinyak@chromium.org>
1007
1008         Attached/Detached state must be testable
1009         https://bugs.webkit.org/show_bug.cgi?id=79010
1010
1011         Reviewed by Hajime Morita.
1012
1013         Added a method to check an element attached or not.
1014
1015         Test: fast/dom/shadow/shadow-root-attached.html
1016
1017         * testing/Internals.cpp:
1018         (WebCore::Internals::attached):
1019         (WebCore):
1020         * testing/Internals.h:
1021         (Internals):
1022         * testing/Internals.idl:
1023
1024 2012-02-20  Kenichi Ishibashi  <bashi@chromium.org>
1025
1026         [WebSocket] Add deflater/inflater classes
1027         https://bugs.webkit.org/show_bug.cgi?id=78449
1028
1029         Add WebSocketDeflater/WebSocketInflater classes which wrap zlib
1030         functions. These classes are not used yet, but will be used for
1031         supporting WebSocket deflate-frame extension.
1032
1033         This patch is second try. The previous patch broke Chromium Win
1034         build. I added dependency of zlib to WebCore.gyp. I think it's
1035         OK because Chromium already depends on zlib.
1036
1037         Reviewed by Kent Tamura.
1038
1039         No new tests except for chromium port. Behavior is unchanged.
1040
1041         * GNUmakefile.list.am: Added WebSocketDeflater.(cpp|h).
1042         * WebCore.gyp/WebCore.gyp: Added zlib dependency.
1043         * WebCore.gypi: Added WebSocketDeflater.(cpp|h).
1044         * WebCore.vcproj/WebCore.vcproj: Ditto.
1045         * WebCore.xcodeproj/project.pbxproj: Ditto.
1046         * websockets/WebSocketDeflater.cpp: Added.
1047         (WebCore):
1048         (WebCore::WebSocketDeflater::create):
1049         (WebCore::WebSocketDeflater::WebSocketDeflater):
1050         (WebCore::WebSocketDeflater::initialize):
1051         (WebCore::WebSocketDeflater::~WebSocketDeflater):
1052         (WebCore::setStreamParameter):
1053         (WebCore::WebSocketDeflater::addBytes):
1054         (WebCore::WebSocketDeflater::finish):
1055         (WebCore::WebSocketDeflater::reset):
1056         (WebCore::WebSocketInflater::create):
1057         (WebCore::WebSocketInflater::WebSocketInflater):
1058         (WebCore::WebSocketInflater::initialize):
1059         (WebCore::WebSocketInflater::~WebSocketInflater):
1060         (WebCore::WebSocketInflater::addBytes):
1061         (WebCore::WebSocketInflater::finish):
1062         (WebCore::WebSocketInflater::reset):
1063         * websockets/WebSocketDeflater.h: Added.
1064         (WebCore):
1065         (WebSocketDeflater):
1066         (WebCore::WebSocketDeflater::data):
1067         (WebCore::WebSocketDeflater::size):
1068         (WebSocketInflater):
1069         (WebCore::WebSocketInflater::data):
1070         (WebCore::WebSocketInflater::size):
1071
1072 2012-02-20  pfeldman@chomium.org  <pavel.feldman@gmail.com>
1073
1074         Web Inspector: consume undo/redo shortcuts.
1075         https://bugs.webkit.org/show_bug.cgi?id=79016
1076
1077         Reviewed by Vsevolod Vlasov.
1078
1079         * inspector/front-end/ElementsPanel.js:
1080         (WebInspector.ElementsPanel.prototype.handleShortcut):
1081
1082 2012-02-20  Philippe Normand  <pnormand@igalia.com>
1083
1084         MediaPlayer: MediaPlayerPrivate registration cleanup
1085         https://bugs.webkit.org/show_bug.cgi?id=78897
1086
1087         Reviewed by Martin Robinson.
1088
1089         * platform/graphics/MediaPlayer.cpp:
1090         (WebCore::installedMediaEngines): Simplified GStreamer Private
1091         player registration by using the PlatformMediaEngineClassName
1092         macro like other players do.
1093
1094 2012-02-17  Yury Semikhatsky  <yurys@chromium.org>
1095
1096         [Chromium] Web Inspector: terminated workers are not removed from dedicated worker list
1097         https://bugs.webkit.org/show_bug.cgi?id=78899
1098
1099         Notify inspector about starting context from WorkerContextProxy not from Worker.
1100
1101         Reviewed by Pavel Feldman.
1102
1103         * workers/Worker.cpp:
1104         (WebCore::Worker::notifyFinished):
1105         * workers/WorkerMessagingProxy.cpp:
1106         (WebCore::WorkerMessagingProxy::startWorkerContext):
1107
1108 2012-02-19  Keishi Hattori  <keishi@webkit.org>
1109
1110         Use shadowRootList for ColorInputType
1111         https://bugs.webkit.org/show_bug.cgi?id=79007
1112
1113         Reviewed by Kent Tamura.
1114
1115         * html/ColorInputType.cpp:
1116         (WebCore::ColorInputType::createShadowSubtree): Changed shadowRoot to shadowRootList.
1117         (WebCore::ColorInputType::shadowColorSwatch): Changed shadowRoot to shadowRootList.
1118
1119 2012-02-19  Shinya Kawanaka  <shinyak@chromium.org>
1120
1121         Introduce InsertionPoint, which will be a common base class of HTMLShadowElement and HTMLContentElement.
1122         https://bugs.webkit.org/show_bug.cgi?id=78771
1123
1124         Reviewed by Hajime Morita.
1125
1126         This patch introduces InsertionPoint, which will be a common base class of HTMLShadowElement and HTMLContentElement.
1127
1128         This is a step for rendering <shadow> correctly, because <shadow> has almost the same function of <content>.
1129         After this patch, we will change NodeRenderingContext and related classes to accept InsertionPoint instead of
1130         HTMLContentElement only.
1131
1132         No new tests, no change in behavior.
1133
1134         * CMakeLists.txt:
1135         * GNUmakefile.list.am:
1136         * Target.pri:
1137         * WebCore.gypi:
1138         * WebCore.vcproj/WebCore.vcproj:
1139         * WebCore.xcodeproj/project.pbxproj:
1140         * html/shadow/HTMLContentElement.cpp:
1141         (WebCore::HTMLContentElement::HTMLContentElement):
1142         (WebCore::HTMLContentElement::attach):
1143         (WebCore::HTMLContentElement::detach):
1144         (WebCore::HTMLContentElement::parseAttribute):
1145         * html/shadow/HTMLContentElement.h:
1146         * html/shadow/InsertionPoint.cpp: Added.
1147         (WebCore):
1148         (WebCore::InsertionPoint::InsertionPoint):
1149         (WebCore::InsertionPoint::~InsertionPoint):
1150         * html/shadow/InsertionPoint.h: Added.
1151         (WebCore):
1152         (InsertionPoint):
1153
1154 2012-02-19  PaweĊ‚ Forysiuk  <tuxator@o2.pl>
1155
1156         [GTK] Can't find webinspector and error page redirection on Windows
1157         https://bugs.webkit.org/show_bug.cgi?id=51616
1158
1159         Create and use an abstraction for finding shared resources on Windows.
1160
1161         Reviewed by Martin Robinson.
1162
1163         * platform/FileSystem.h:
1164         (WebCore):
1165         * platform/audio/gtk/AudioBusGtk.cpp:
1166         (WebCore::AudioBus::loadPlatformResource):
1167         * platform/graphics/gtk/ImageGtk.cpp:
1168         (WebCore::getPathToImageResource):
1169         * platform/gtk/FileSystemGtk.cpp:
1170         (WebCore::sharedResourcesPath):
1171         (WebCore):
1172
1173 2012-02-19  James Robinson  <jamesr@chromium.org>
1174
1175         Move stub implementations of ScrollingCoordinator functions into ScrollingCoordinatorNone.cpp
1176         https://bugs.webkit.org/show_bug.cgi?id=78951
1177
1178         Reviewed by Adam Barth.
1179
1180         This move stubs for ScrollingCoordinator functions into ScrollingCoordinatorNone.cpp instead of #ifdefing inside
1181         ScrollingCoordinator.cpp.  The mac port uses ScrollingCoordinator when #if ENABLE(THREADED_SCROLLING) is not set
1182         and implementations in ScrollingCoordinator.cpp / ScrollingCoordinatorMac.mm otherwise.  The chromium port
1183         always uses implementations in ScrollingCoordinatorChromium.cpp.  All other ports use
1184         ScrollingCoordinatorNone.cpp.
1185
1186         * CMakeLists.txt:
1187         * GNUmakefile.list.am:
1188         * Target.pri:
1189         * WebCore.vcproj/WebCore.vcproj:
1190         * WebCore.xcodeproj/project.pbx:
1191         * page/scrolling/ScrollingCoordinator.cpp:
1192         * page/scrolling/ScrollingCoordinatorNone.cpp:
1193         (WebCore):
1194         (WebCore::ScrollingCoordinator::create):
1195         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
1196         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
1197         (WebCore::ScrollingCoordinator::setScrollLayer):
1198         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
1199         (WebCore::ScrollingCoordinator::setScrollParameters):
1200         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
1201         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
1202         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
1203         (WebCore::ScrollingCoordinator::create):
1204         (WebCore):
1205
1206 2012-02-19  Kentaro Hara  <haraken@chromium.org>
1207
1208         Rename [CheckDomainSecurity] to [CheckSecurity]
1209         https://bugs.webkit.org/show_bug.cgi?id=78874
1210
1211         Reviewed by Adam Barth.
1212
1213         "Domain security" isn't a term that's used elsewhere.
1214         This patch renames IDL attributes as follows:
1215
1216         - [CheckDomainSecurity] => [CheckSecurity]
1217         - [DoNotCheckDomainSecurity] => [DoNotCheckSecurity]
1218         - [DoNotCheckDomainSecurityOnGetter] => [DoNotCheckSecurityOnGetter]
1219         - [DoNotCheckDomainSecurityOnSetter] => [DoNotCheckSecurityOnSetter]
1220
1221         No tests. No change in behavior.
1222
1223         * bindings/scripts/CodeGeneratorJS.pm:
1224         (GenerateGetOwnPropertyDescriptorBody):
1225         (GenerateImplementation):
1226         * bindings/scripts/CodeGeneratorV8.pm:
1227         (GenerateHeader):
1228         (IsVisibleAcrossOrigins):
1229         (GenerateFunctionCallback):
1230         (GenerateSingleBatchedAttribute):
1231         (GenerateImplementation):
1232         (GenerateToV8Converters):
1233         * bindings/scripts/test/TestDomainSecurity.idl:
1234         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1235         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
1236         * page/DOMWindow.idl:
1237         * page/History.idl:
1238         * page/Location.idl:
1239
1240 2012-02-19  James Robinson  <jamesr@chromium.org>
1241
1242         Unreviewed, rolling out r108195.
1243         http://trac.webkit.org/changeset/108195
1244         https://bugs.webkit.org/show_bug.cgi?id=77700
1245
1246         Lots of failing ASSERT()s on v8 bots, requested by kling on
1247         #webkit
1248
1249         * bindings/js/JSCSSValueCustom.cpp:
1250         (WebCore::toJS):
1251         * bindings/scripts/CodeGeneratorV8.pm:
1252         (GenerateHeader):
1253
1254 2012-02-19  Kentaro Hara  <haraken@chromium.org>
1255
1256         Rename [CheckAccessToNode] to [CheckSecurityForNode]
1257         https://bugs.webkit.org/show_bug.cgi?id=78991
1258
1259         Reviewed by Adam Barth.
1260
1261         For naming consistency with [CheckSecurity], this patch renames
1262         [CheckAccessToNode] to [CheckSecurityForNode].
1263
1264         No tests. No change in behavior.
1265
1266         * bindings/scripts/CodeGeneratorJS.pm:
1267         (GenerateImplementation):
1268         * bindings/scripts/CodeGeneratorV8.pm:
1269         (GenerateNormalAttrGetter):
1270         (GenerateFunctionCallback):
1271         * bindings/scripts/test/TestObj.idl:
1272         * bindings/scripts/test/V8/V8TestObj.cpp:
1273         (WebCore):
1274         * html/HTMLEmbedElement.idl:
1275         * html/HTMLFrameElement.idl:
1276         * html/HTMLIFrameElement.idl:
1277         * html/HTMLObjectElement.idl:
1278         * page/DOMWindow.idl:
1279
1280 2012-02-19  James Robinson  <jamesr@chromium.org>
1281
1282         Sort WebCore XCode project files with sort-Xcode-project-files script. Unreviewed.
1283
1284         * WebCore.xcodeproj/project.pbxproj:
1285
1286 2012-02-19  Andreas Kling  <awesomekling@apple.com>
1287
1288         Make CSSValue wrapper getters return unique objects every time.
1289         <http://webkit.org/b/77700>
1290
1291         Reviewed by Antti Koivisto.
1292
1293         Change the behavior of CSSValue getters to return unique JS wrappers every
1294         time they are called. This means we no longer have to deal with the risk
1295         of leaking custom properties between unrelated documents, and are free to
1296         implement global value sharing across WebCore.
1297
1298         This patch will be followed by one making CSSValuePool globally shared,
1299         it's done in two steps to monitor the impact of this change.
1300
1301         * bindings/js/JSCSSValueCustom.cpp:
1302         (WebCore::toJS):
1303         * bindings/scripts/CodeGeneratorV8.pm:
1304         (GenerateHeader):
1305         (IsCSSValueType):
1306
1307 2012-02-19  Abhishek Arya  <inferno@chromium.org>
1308
1309         Crash in RenderBlock::splitAnonymousBlocksAroundChild.
1310         https://bugs.webkit.org/show_bug.cgi?id=78994
1311
1312         Reviewed by Eric Seidel.
1313
1314         Generalize splitTablePartsAroundChild to handle splitting
1315         in nested tables.
1316         Table->Table Section->Table Row->Table Cell->Table->Table Section->Table Row
1317
1318         Test: fast/table/table-split-inside-table.html
1319
1320         * rendering/RenderBlock.cpp:
1321         (WebCore::RenderBlock::splitTablePartsAroundChild):
1322
1323 2012-02-19  Kalev Lember  <kalevlember@gmail.com>
1324
1325         [GTK] Fix build on platforms where UChar is wchar_t
1326         https://bugs.webkit.org/show_bug.cgi?id=78996
1327
1328         Reviewed by Martin Robinson.
1329
1330         The ICU backend defines UChar as wchar_t for platforms where wchar_t is
1331         16 bits wide, e.g. win32.
1332
1333         * platform/graphics/pango/FontPango.cpp:
1334         (WebCore::utf16ToUtf8): Use reinterpret_cast instead of static_cast.
1335         * platform/gtk/GtkPopupMenu.cpp:
1336         (WebCore::GtkPopupMenu::typeAheadFind): Ditto.
1337
1338 2012-02-19  Carlos Garcia Campos  <cgarcia@igalia.com>
1339
1340         Unreviewed. Fix make distcheck issues.
1341
1342         * GNUmakefile.list.am: Add missing header.
1343
1344 2012-02-18  Robert Hogan  <robert@webkit.org>
1345
1346         CSS 2.1 failure: inline-box-002.htm fails
1347         https://bugs.webkit.org/show_bug.cgi?id=69210
1348
1349         Reviewed by David Hyatt.
1350
1351         Tests: css2.1/20110323/dynamic-top-change-005.htm
1352                css2.1/20110323/dynamic-top-change-005a.htm
1353                css2.1/20110323/dynamic-top-change-005b.htm
1354                css2.1/20110323/inline-box-002.htm
1355                fast/css/relative-positioned-block-nested-with-inline-parent-dynamic-removed.html
1356                fast/css/relative-positioned-block-nested-with-inline-parent-dynamic.html
1357                fast/css/relative-positioned-block-nested-with-inline-parent-multiple-descendant-blocks-dynamic.html
1358                fast/css/relative-positioned-block-nested-with-inline-parent.html
1359                fast/css/relative-positioned-block-with-inline-ancestor-and-parent-dynamic.html
1360                fast/css/relative-positioned-block-with-inline-ancestor-dynamic-removed.html
1361                fast/css/relative-positioned-block-with-inline-ancestor-dynamic.html
1362                fast/css/relative-positioned-block-with-inline-ancestor.html
1363                fast/css/relative-positioned-block-with-inline-parent-dynamic-removed.html
1364                fast/css/relative-positioned-block-with-inline-parent-dynamic.html
1365                fast/css/relative-positioned-block-with-inline-parent-keeps-style.html
1366                fast/css/relative-positioned-block-with-inline-parent.html
1367
1368         A block within an inline is affected by relative positioning on the inline box. Give
1369         the anonymous block containing the block a layer and make it relative positioned. Then
1370         calculate the offset of the anonymous block's layer by accumulating the offsets from its
1371         inline continuation and the inline continuation's inline parents.
1372         If the position of an inline changes from or to relative positioned then ensure that any
1373         descendant blocks update their position and layer accordingly.
1374
1375         * rendering/RenderBoxModelObject.cpp:
1376         (): add an enum RelPosAxis
1377         (WebCore::accumulateRelativePositionOffsets): 
1378         Total up the offsets of all relatively positioned inlines that are de-facto parents of the relatively 
1379         positioned anonymous block's child block.
1380
1381         (WebCore):
1382         (WebCore::RenderBoxModelObject::relativePositionOffsetX): 
1383         Use accumulateRelativePositionOffsets when calculating the relative position offset of a relatively positioned anonymous block.
1384
1385         (WebCore::RenderBoxModelObject::relativePositionOffsetY): ditto
1386
1387         * rendering/RenderInline.cpp:
1388         (WebCore::hasRelPositionedInlineAncestor): 
1389         Detects if the anonymous block contains a block that is the de-facto descendant of a relatively positioned inline.
1390
1391         (WebCore::updateStyleOfAnonymousBlockContinuations): 
1392         Update the style's positioning for each anonymous block containing a block that is descendant from the inline whose style has changed.
1393
1394         (WebCore::RenderInline::styleDidChange): 
1395         If an inline changes to or from relative positioning ensure that any descendant blocks change to or from relative positioning
1396         as well, unless they still have a relatively positioned ancestor after the current ancestor loses its relative positioning.
1397
1398         (WebCore::RenderInline::addChildIgnoringContinuation): 
1399         If the anonymous block contains a block that is effectively descended from a relatively positioned inline, make it relatively
1400         positioned so the block will respect its inline ancestor's relative positioning.
1401
1402         * rendering/RenderObject.cpp:
1403         (WebCore::RenderObject::propagateStyleToAnonymousChildren): 
1404         Preserve style position in anonymous block continuations when the parent block propagates a style change. 
1405
1406 2012-02-18  raman Tenneti  <rtenneti@chromium.org>
1407
1408         Track the NPN protocol version negotiated with the server
1409         https://bugs.webkit.org/show_bug.cgi?id=77349
1410
1411         Reviewed by Darin Fisher..
1412
1413         [chromium] Added ExtraData to WebURLResponse.
1414         
1415         No intended functionality change.
1416
1417         * platform/network/chromium/ResourceResponse.h:
1418         (ExtraData):
1419         (WebCore::ResourceResponse::ExtraData::~ExtraData):
1420         (ResourceResponse):
1421         (WebCore::ResourceResponse::extraData):
1422         (WebCore::ResourceResponse::setExtraData):
1423
1424 2012-02-18  Abhishek Arya  <inferno@chromium.org>
1425
1426         Unreviewed, rolling out r107965.
1427         http://trac.webkit.org/changeset/107965
1428         https://bugs.webkit.org/show_bug.cgi?id=78273
1429
1430         crashes
1431
1432         * rendering/RenderBlock.cpp:
1433         (WebCore::RenderBlock::clone):
1434
1435 2012-02-18  Sam Weinig  <sam@webkit.org>
1436
1437         Make WebCore compile with libc++ (Part 2)
1438         https://bugs.webkit.org/show_bug.cgi?id=78974
1439
1440         Reviewed by Anders Carlsson.
1441
1442         * config.h:
1443         Disable the DisallowCType check when using libc++.
1444
1445 2012-02-18  Sam Weinig  <sam@webkit.org>
1446
1447         Fix the build.
1448
1449         * page/DOMWindow.idl:
1450
1451 2012-02-14  Sam Weinig  <sam@webkit.org>
1452
1453         Make WebCore compile with libc++ (Part 1)
1454         https://bugs.webkit.org/show_bug.cgi?id=78974
1455
1456         Reviewed by Anders Carlsson.
1457
1458         Add a workaround for <rdar://problem/10858112>, which cause the standard heap functions
1459         not to work when using an iterator with proxy objects for reference and pointer types.
1460
1461         * WebCorePrefix.h:
1462         (move):
1463         Add an overload of std::move that the heap functions can call successfully.
1464
1465 2012-02-18  Kevin Ollivier  <kevino@theolliviers.com>
1466
1467         [wx] Build fixes for C++ bindings after recent changes.
1468         
1469         * bindings/scripts/CodeGeneratorCPP.pm:
1470         (ShouldSkipType):
1471         (GenerateHeader):
1472         * page/DOMWindow.idl:
1473
1474 2012-02-18  Kevin Ollivier  <kevino@theolliviers.com>
1475
1476         [wx] Build fix, add new platform method wx impl.
1477
1478         * platform/wx/ContextMenuWx.cpp:
1479         (ContextMenu::itemCount):
1480
1481 2012-02-18  Sam Weinig  <sam@webkit.org>
1482
1483         Fix part of the windows build failure.
1484
1485         * WebCore.vcproj/WebCore.vcproj:
1486         Don't build JSWebKitCSSRegionRule.cpp, since it is already being built
1487         as part of DerivedSources.cpp.
1488
1489 2012-02-18  Sam Weinig  <sam@webkit.org>
1490
1491         Fix the ENABLE(THREADED_SCROLLING) build.
1492
1493         * page/scrolling/ScrollingCoordinator.cpp:
1494         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
1495         (WebCore::ScrollingCoordinator::setScrollParameters):
1496
1497 2012-02-18  Andreas Kling  <awesomekling@apple.com>
1498
1499         HTML: Remove unnecessary attributeChange() overrides.
1500         <http://webkit.org/b/78890>
1501
1502         Reviewed by Anders Carlsson.
1503
1504         Move logic from attributeChanged() overrides into parseAttribute().
1505         This is a step towards making attributeChanged() non-virtual.
1506
1507         * html/HTMLMediaElement.cpp:
1508         (WebCore::HTMLMediaElement::parseAttribute):
1509         * html/HTMLMediaElement.h:
1510         (HTMLMediaElement):
1511         * html/HTMLScriptElement.cpp:
1512         (WebCore::HTMLScriptElement::parseAttribute):
1513         * html/HTMLScriptElement.h:
1514         (HTMLScriptElement):
1515         * html/HTMLTrackElement.cpp:
1516         (WebCore::HTMLTrackElement::parseAttribute):
1517         * html/HTMLTrackElement.h:
1518         (HTMLTrackElement):
1519
1520 2012-02-18  Andreas Kling  <awesomekling@apple.com>
1521
1522         Remove Element::createAttribute().
1523         <http://webkit.org/b/78965>
1524
1525         Reviewed by Anders Carlsson.
1526
1527         Switch call sites to use Attribute::create() directly, as there is no magic
1528         in calling Element::createAttribute() anymore (it used to be virtual and handled
1529         differently by StyledElement.)
1530
1531         * dom/Element.cpp:
1532         (WebCore::Element::setAttributeInternal):
1533         * dom/Element.h:
1534         * svg/properties/SVGAnimatedPropertySynchronizer.h:
1535
1536 2012-02-18  Andreas Kling  <awesomekling@apple.com>
1537
1538         HTMLBodyElement: Avoid synchronous style recalc when setting link/vlink/alink.
1539         <http://webkit.org/b/78959>
1540
1541         Reviewed by Anders Carlsson.
1542
1543         Mark the body element for deferred style recalc instead of doing it synchronously
1544         when the attributes change.
1545
1546         * html/HTMLBodyElement.cpp:
1547         (WebCore::HTMLBodyElement::parseAttribute):
1548
1549 2012-02-18  Martin Robinson  <mrobinson@igalia.com>
1550
1551         Fix the TextureMapper build for non-Qt ports. Qt debug builds
1552         must use RTTI, but GTK+, at least, does not.
1553
1554         * platform/graphics/texmap/TextureMapperLayer.cpp:
1555         (WebCore::TextureMapperLayer::updateBackingStore): Make the RTTI check
1556         Qt only.
1557
1558 2012-02-16  Andreas Kling  <awesomekling@apple.com>
1559
1560         FontFamilyValue: Utilize inheritance from CSSPrimitiveValue better.
1561         <http://webkit.org/b/78806>
1562
1563         Reviewed by Antti Koivisto.
1564
1565         Now that FontFamilyValue's string doesn't change after creation, we can just
1566         pass the massaged family name up to the CSSPrimitiveValue constructor and get
1567         cached cssText() for free. This also shrinks FontFamilyValue by sizeof(String)
1568         though that's less of an issue now that we cache them in CSSValuePool.
1569
1570         * css/FontFamilyValue.cpp:
1571         (WebCore::stripFontFamilyJunk):
1572         (WebCore::FontFamilyValue::FontFamilyValue):
1573         * css/FontFamilyValue.h:
1574         (WebCore::FontFamilyValue::familyName):
1575         (FontFamilyValue):
1576
1577 2012-02-17  Adam Klein  <adamk@chromium.org>
1578
1579         Avoid inconsistency in Node::inDocument due to DOMSubtreeModified dispatch
1580         https://bugs.webkit.org/show_bug.cgi?id=76087
1581
1582         Reviewed by Ryosuke Niwa.
1583
1584         Move post-removal notifications after call to Node::removeFromDocument
1585         to avoid inconsistent state of Node::inDocument() and thus avoid
1586         inconsistent state in DocumentOrderedMap.
1587
1588         Tests: fast/dom/getElementById-consistency.html
1589                fast/dom/getElementById-consistency2.html
1590
1591         * dom/ContainerNode.cpp:
1592         (WebCore::ContainerNode::removeChild):
1593         * svg/SVGTRefElement.cpp:
1594         (WebCore::SVGTRefElement::updateReferencedText): Fixed to work with new timing of DOMSubtreeModified dispatch.
1595
1596 2012-02-17  Joshua Bell  <jsbell@chromium.org>
1597
1598         IndexedDB: Support overloaded methods that take IDBKey or IDBKeyRange
1599         https://bugs.webkit.org/show_bug.cgi?id=78399
1600
1601         Implements IDBObjectStore.delete(IDBKeyRange) to exercise the functionality.
1602
1603         Reviewed by Tony Chang.
1604
1605         Test: storage/indexeddb/delete-range.html
1606
1607         * bindings/scripts/CodeGeneratorV8.pm:
1608         (GenerateFunctionCallString): Use .get() to disambiguate when passing RefPtr.
1609         * bindings/scripts/test/V8/V8TestObj.cpp: Update test expectations.
1610         * storage/IDBLevelDBBackingStore.cpp:
1611         (WebCore):
1612         * storage/IDBObjectStore.cpp:
1613         (WebCore::IDBObjectStore::deleteFunction):
1614         (WebCore):
1615         * storage/IDBObjectStore.h:
1616         (IDBObjectStore):
1617         * storage/IDBObjectStore.idl:
1618         * storage/IDBObjectStoreBackendImpl.cpp:
1619         (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
1620         (WebCore):
1621         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
1622         * storage/IDBObjectStoreBackendImpl.h:
1623         (IDBObjectStoreBackendImpl):
1624         * storage/IDBObjectStoreBackendInterface.h:
1625
1626 2012-02-17  Kentaro Hara  <haraken@chromium.org>
1627
1628         Replace [V8OnInstance] with [V8Unforgeable]
1629         https://bugs.webkit.org/show_bug.cgi?id=78894
1630
1631         Reviewed by Adam Barth.
1632
1633         [V8OnInstance] means that the method should be defined
1634         (not on a prototype chain but) on a DOM object. It is the
1635         same meaning as [V8Unforgeable]. This patch replaces [V8OnInstance]
1636         with [V8Unforgeable].
1637
1638         No tests. No change in behavior.
1639
1640         * bindings/scripts/CodeGeneratorV8.pm:
1641         (GenerateImplementation):
1642         * page/Location.idl:
1643
1644 2012-02-17  James Robinson  <jamesr@chromium.org>
1645
1646         [chromium] Unreviewed build fix. MSVS gyp generator can't handle multiple .cpps with the same name in the same
1647         target from different paths.
1648
1649         * WebCore.gypi:
1650         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp: Renamed from Source/WebCore/page/scrolling/chromium/ScrollingCoordinator.cpp.
1651         (WebCore):
1652         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
1653         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
1654         (WebCore::ScrollingCoordinator::setScrollLayer):
1655         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
1656         (WebCore::ScrollingCoordinator::setScrollParameters):
1657         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
1658         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
1659
1660 2012-02-17  James Robinson  <jamesr@chromium.org>
1661
1662         Unreviewed mac compile fix pt 2
1663
1664         * page/scrolling/ScrollingCoordinator.cpp:
1665         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
1666         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
1667         (WebCore::ScrollingCoordinator::setScrollLayer):
1668         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
1669         (WebCore::ScrollingCoordinator::setScrollParameters):
1670         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
1671         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
1672
1673 2012-02-17  James Robinson  <jamesr@chromium.org>
1674
1675         Unreviewed mac compile fix (unused parameter warning)
1676
1677         * page/scrolling/ScrollingCoordinator.cpp:
1678         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
1679         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
1680
1681 2012-02-14  James Robinson  <jamesr@chromium.org>
1682
1683         Move ScrollingCoordinator out of ENABLE(THREADED_SCROLLING) ifdef and enable on all platforms
1684         https://bugs.webkit.org/show_bug.cgi?id=78401
1685
1686         Reviewed by Adam Barth.
1687
1688         Separates THREADED_SCROLLING from ScrollingCoordinator and enables ScrollingCoordinator-related code on
1689         chromium. ScrollingCoordinator receives scrolling information to be used with an external scrolling source.
1690         ENABLE(THREADED_SCROLLING) enables a codepath that uses a thread in WebCore to handle scrolling related input
1691         events and interact with composited layers.
1692
1693         * WebCore.gyp/WebCore.gyp:
1694         * WebCore.gypi:
1695         * dom/Document.cpp:
1696         (WebCore::wheelEventHandlerCountChanged):
1697         * page/FrameView.cpp:
1698         (WebCore::FrameView::addSlowRepaintObject):
1699         (WebCore::FrameView::removeSlowRepaintObject):
1700         (WebCore::FrameView::performPostLayoutTasks):
1701         * page/Page.cpp:
1702         (WebCore::Page::~Page):
1703         (WebCore):
1704         * page/Page.h:
1705         (Page):
1706         * page/Settings.cpp:
1707         (WebCore::Settings::Settings):
1708         * page/Settings.h:
1709         (Settings):
1710         * page/scrolling/ScrollingCoordinator.cpp:
1711         (WebCore::ScrollingCoordinator::ScrollingCoordinator):
1712         (WebCore::ScrollingCoordinator::~ScrollingCoordinator):
1713         (WebCore::ScrollingCoordinator::pageDestroyed):
1714         (WebCore):
1715         * page/scrolling/ScrollingCoordinator.h:
1716         (WebCore):
1717         (ScrollingCoordinator):
1718         * page/scrolling/ScrollingThread.cpp:
1719         (WebCore::ScrollingThread::createThreadIfNeeded):
1720         * page/scrolling/ScrollingTreeState.cpp:
1721         * page/scrolling/ScrollingTreeState.h:
1722         * page/scrolling/chromium/ScrollingCoordinator.cpp: Added.
1723         (WebCore):
1724         (WebCore::ScrollingCoordinator::scheduleTreeStateCommit):
1725         (WebCore::ScrollingCoordinator::frameViewScrollLayerDidChange):
1726         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
1727         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
1728         * rendering/RenderLayerBacking.cpp:
1729         (WebCore::RenderLayerBacking::RenderLayerBacking):
1730         * rendering/RenderLayerCompositor.cpp:
1731         (WebCore::RenderLayerCompositor::frameViewDidScroll):
1732         (WebCore::shouldCompositeOverflowControls):
1733         (WebCore::RenderLayerCompositor::requiresOverhangAreasLayer):
1734         (WebCore::RenderLayerCompositor::requiresContentShadowLayer):
1735         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
1736         (WebCore::RenderLayerCompositor::ensureRootLayer):
1737         (WebCore):
1738         * rendering/RenderLayerCompositor.h:
1739         (WebCore):
1740         (RenderLayerCompositor):
1741
1742 2012-02-17  Emil A Eklund  <eae@chromium.org>
1743
1744         Add FractionalLayoutPoint for sub-pixel layout
1745         https://bugs.webkit.org/show_bug.cgi?id=78913
1746
1747         Reviewed by Eric Seidel.
1748
1749         Add FractionalLayoutUnit version of Point class and a couple of
1750         conversion methods to the Int and Float versions of same.
1751
1752         No new tests.
1753
1754         * GNUmakefile.list.am:
1755         * WebCore.vcproj/WebCore.vcproj:
1756         * WebCore.xcodeproj/project.pbxproj:
1757         * platform/graphics/FloatPoint.cpp:
1758         (WebCore::FloatPoint::FloatPoint):
1759         (WebCore):
1760         (WebCore::FloatPoint::moveBy):
1761         * platform/graphics/FloatPoint.h:
1762         (WebCore):
1763         (FloatPoint):
1764         * platform/graphics/FractionalLayoutPoint.h: Added.
1765         (WebCore):
1766         (FractionalLayoutPoint):
1767         (WebCore::FractionalLayoutPoint::FractionalLayoutPoint):
1768         (WebCore::FractionalLayoutPoint::zero):
1769         (WebCore::FractionalLayoutPoint::x):
1770         (WebCore::FractionalLayoutPoint::y):
1771         (WebCore::FractionalLayoutPoint::setX):
1772         (WebCore::FractionalLayoutPoint::setY):
1773         (WebCore::FractionalLayoutPoint::move):
1774         (WebCore::FractionalLayoutPoint::moveBy):
1775         (WebCore::FractionalLayoutPoint::scale):
1776         (WebCore::FractionalLayoutPoint::expandedTo):
1777         (WebCore::FractionalLayoutPoint::shrunkTo):
1778         (WebCore::FractionalLayoutPoint::clampNegativeToZero):
1779         (WebCore::FractionalLayoutPoint::transposedPoint):
1780         (WebCore::operator+=):
1781         (WebCore::operator-=):
1782         (WebCore::operator+):
1783         (WebCore::operator-):
1784         (WebCore::operator==):
1785         (WebCore::operator!=):
1786         (WebCore::toPoint):
1787         (WebCore::toSize):
1788         (WebCore::flooredIntPoint):
1789         (WebCore::roundedIntPoint):
1790         (WebCore::ceiledIntPoint):
1791         * platform/graphics/FractionalLayoutSize.cpp:
1792         (WebCore::pixelSnappedIntSize):
1793         * platform/graphics/FractionalLayoutSize.h:
1794         (WebCore):
1795
1796 2012-02-17  Ryosuke Niwa  <rniwa@webkit.org>
1797
1798         Move textDirectionForSelection from Editor to EditingStyle
1799         https://bugs.webkit.org/show_bug.cgi?id=78868
1800
1801         Reviewed by Enrica Casucci.
1802
1803         Move textDirectionForSelection from Editor to EditingStyle to centralize the editing code's
1804         dependency on CSSStyleDeclaration.
1805
1806         * editing/EditingStyle.cpp:
1807         (WebCore::EditingStyle::textDirectionForSelection):
1808         (WebCore):
1809         * editing/EditingStyle.h:
1810         (EditingStyle):
1811         * editing/Editor.cpp:
1812         (WebCore):
1813         * editing/Editor.h:
1814         (Editor):
1815         * editing/EditorCommand.cpp:
1816         (WebCore::stateTextWritingDirection):
1817         * editing/ReplaceSelectionCommand.cpp:
1818         * editing/markup.cpp:
1819
1820 2012-02-17  David Barton  <dbarton@mathscribe.com>
1821
1822         MathML internals - embellished operators, getBase() accessor functions
1823         https://bugs.webkit.org/show_bug.cgi?id=78617
1824
1825         Reviewed by Eric Seidel.
1826
1827         Define functions that return an unembellished "base", by omitting
1828         subscripts/superscripts, underscripts/overscripts, or denominators. This is needed in
1829         subsequent patches both for correct operator stretching and simple code factoring.
1830
1831         No new tests.
1832
1833         * rendering/mathml/RenderMathMLBlock.h:
1834         (WebCore):
1835         (RenderMathMLBlock):
1836         (WebCore::RenderMathMLBlock::unembellishedOperator):
1837         * rendering/mathml/RenderMathMLFraction.cpp:
1838         (WebCore::RenderMathMLFraction::unembellishedOperator):
1839         (WebCore):
1840         * rendering/mathml/RenderMathMLFraction.h:
1841         (RenderMathMLFraction):
1842         * rendering/mathml/RenderMathMLOperator.h:
1843         (WebCore::RenderMathMLOperator::unembellishedOperator):
1844         * rendering/mathml/RenderMathMLSubSup.cpp:
1845         (WebCore::RenderMathMLSubSup::base):
1846         (WebCore):
1847         (WebCore::RenderMathMLSubSup::unembellishedOperator):
1848         (WebCore::RenderMathMLSubSup::stretchToHeight):
1849             - renamed a variable for clarity, especially in later patches
1850         (WebCore::RenderMathMLSubSup::layout):
1851             - renamed a variable for clarity, especially in later patches
1852         * rendering/mathml/RenderMathMLSubSup.h:
1853         (RenderMathMLSubSup):
1854         * rendering/mathml/RenderMathMLUnderOver.cpp:
1855         (WebCore::RenderMathMLUnderOver::base):
1856         (WebCore):
1857         (WebCore::RenderMathMLUnderOver::unembellishedOperator):
1858         (WebCore::RenderMathMLUnderOver::stretchToHeight):
1859         * rendering/mathml/RenderMathMLUnderOver.h:
1860         (RenderMathMLUnderOver):
1861
1862 2012-02-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
1863
1864         [Qt][WK2] Allow opaque tiles
1865         https://bugs.webkit.org/show_bug.cgi?id=78809
1866
1867         Replace the isOpaque boolean in BitmapTexture to a SupportsAlpha flag.
1868         Use reset/didReset instead of a virtual function that has to call the superclass.
1869
1870         Make sure that all calls to BitmapTexture::reset() pass the correct SupportsAlpha flag,
1871         based on the source image.
1872         Since we now disable blending for opaque textures, we also have to make sure that we treat
1873         the depth buffer correctly and bring it back to its previous state.
1874
1875         Reviewed by Kenneth Rohde Christiansen.
1876
1877         No behavior changes.
1878
1879         * platform/graphics/opengl/TextureMapperGL.cpp:
1880         (TextureMapperGLData):
1881         (WebCore::TextureMapperGLData::initStencil):
1882         (WebCore::TextureMapperGLData::TextureMapperGLData):
1883         (BitmapTextureGL):
1884         (WebCore::TextureMapperGL::beginPainting):
1885         (WebCore::TextureMapperGL::endPainting):
1886         (WebCore::TextureMapperGL::drawTexture):
1887         (WebCore::BitmapTextureGL::didReset):
1888         (WebCore::BitmapTextureGL::bind):
1889         (WebCore::TextureMapperGL::beginClip):
1890         * platform/graphics/texmap/TextureMapper.h:
1891         (WebCore::BitmapTexture::BitmapTexture):
1892         (WebCore::BitmapTexture::flags):
1893         (WebCore::BitmapTexture::didReset):
1894         (WebCore::BitmapTexture::reset):
1895         (BitmapTexture):
1896         * platform/graphics/texmap/TextureMapperBackingStore.cpp:
1897         (WebCore::TextureMapperTile::updateContents):
1898         (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
1899         (WebCore::TextureMapperTiledBackingStore::createOrDestroyTilesIfNeeded):
1900         (WebCore::TextureMapperTiledBackingStore::updateContents):
1901         * platform/graphics/texmap/TextureMapperBackingStore.h:
1902         (TextureMapperTiledBackingStore):
1903         * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
1904         (WebCore::BitmapTextureImageBuffer::didReset):
1905         (WebCore):
1906         * platform/graphics/texmap/TextureMapperImageBuffer.h:
1907         (BitmapTextureImageBuffer):
1908
1909 2012-02-17  Stephen Chenney  <schenney@chromium.org>
1910
1911         Crash in SVGAnimateElement due to changed target
1912         https://bugs.webkit.org/show_bug.cgi?id=75096
1913
1914         Reviewed by Nikolas Zimmermann.
1915
1916         The SVGAnimateElement object creates various internal objects
1917         depending on the type of property being animated, which depends on the
1918         target. These objects were not being recreated when the target
1919         changed, and crashes ensued. Now the SVGSMILElement provides a virtual
1920         method that is called when the target changes, and SVGAnimateElement
1921         updates its objects as necessary. We also deactivate the animation
1922         when the target changes, forcing recomputation of other derived
1923         objects.
1924
1925         This change also removes various unnecessary calls to semi-expensive
1926         methods.
1927
1928         Not only does this change fix the new test, it also fixes potential
1929         crashes in other tests that apparently never manifested before (but
1930         manifest when this new test is included in DRT).
1931
1932         Test: svg/animations/svglength-animation-retarget-crash.html
1933
1934         * svg/SVGAnimateElement.cpp:
1935         (WebCore::SVGAnimateElement::hasValidAttributeType):
1936         (WebCore::SVGAnimateElement::calculateAnimatedValue):
1937         (WebCore::SVGAnimateElement::calculateFromAndToValues):
1938         (WebCore::SVGAnimateElement::calculateFromAndByValues):
1939         (WebCore::SVGAnimateElement::resetToBaseValue):
1940         (WebCore::SVGAnimateElement::calculateDistance):
1941         (WebCore):
1942         (WebCore::SVGAnimateElement::targetElementDidChange):
1943         * svg/SVGAnimateElement.h:
1944         (SVGAnimateElement):
1945         * svg/SVGAnimatedTypeAnimator.h:
1946         (SVGAnimatedTypeAnimator):
1947         (WebCore::SVGAnimatedTypeAnimator::type):
1948         * svg/animation/SVGSMILElement.cpp:
1949         (WebCore::SVGSMILElement::targetElement):
1950         (WebCore::SVGSMILElement::resetTargetElement):
1951         (WebCore):
1952         * svg/animation/SVGSMILElement.h:
1953         (SVGSMILElement):
1954         (WebCore::SVGSMILElement::targetElementDidChange):
1955
1956 2012-02-17  David Hyatt  <hyatt@apple.com>
1957
1958         https://bugs.webkit.org/show_bug.cgi?id=78934
1959         
1960         Add the -webkit-line-align property to support the alignment of lines in the inline direction
1961         to the line grid.
1962
1963         Reviewed by Dan Bernstein.
1964
1965         Added fast/line-grid/line-align-parsing.html
1966
1967         * css/CSSComputedStyleDeclaration.cpp:
1968         (WebCore):
1969         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1970         * css/CSSParser.cpp:
1971         (WebCore::CSSParser::parseValue):
1972         * css/CSSPrimitiveValueMappings.h:
1973         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1974         (WebCore):
1975         (WebCore::CSSPrimitiveValue::operator LineAlign):
1976         * css/CSSProperty.cpp:
1977         (WebCore::CSSProperty::isInheritedProperty):
1978         * css/CSSPropertyNames.in:
1979         * css/CSSStyleApplyProperty.cpp:
1980         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1981         * css/CSSStyleSelector.cpp:
1982         (WebCore::CSSStyleSelector::applyProperty):
1983         * css/CSSValueKeywords.in:
1984         * rendering/style/RenderStyle.cpp:
1985         (WebCore::RenderStyle::diff):
1986         * rendering/style/RenderStyle.h:
1987         * rendering/style/RenderStyleConstants.h:
1988         * rendering/style/StyleRareInheritedData.cpp:
1989         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1990         (WebCore::StyleRareInheritedData::operator==):
1991         * rendering/style/StyleRareInheritedData.h:
1992         (StyleRareInheritedData):
1993
1994 2012-02-17  Emil A Eklund  <eae@chromium.org>
1995
1996         Add FractionalLayoutSize for sub-pixel layout
1997         https://bugs.webkit.org/show_bug.cgi?id=78852
1998
1999         Reviewed by Eric Seidel.
2000
2001         Add FractionalLayoutUnit version of Size class and a couple of
2002         conversion methods to the Int and Float versions of same.
2003
2004         No new tests.
2005
2006         * CMakeLists.txt:
2007         * GNUmakefile.list.am:
2008         * WebCore.gypi:
2009         * WebCore.vcproj/WebCore.vcproj:
2010         * WebCore.xcodeproj/project.pbxproj:
2011         * platform/graphics/FloatPoint.cpp:
2012         (WebCore::FloatPoint::move):
2013         Add FractionalLayoutSize version of move.
2014
2015         * platform/graphics/FloatPoint.h:
2016         * platform/graphics/FloatSize.cpp:
2017         (WebCore::FloatSize::FloatSize):
2018         Add FloatSize(FractionalLayoutSize) constructor.
2019
2020         * platform/graphics/FloatSize.h:
2021         * platform/graphics/FractionalLayoutSize.cpp: Added.
2022         * platform/graphics/FractionalLayoutSize.h: Added.
2023
2024 2012-02-17  Enrica Casucci  <enrica@apple.com>
2025
2026         REGRESSION (r107606): Copy Link writes malformed WebURLsWithTitlesPboardType
2027         data to the pasteboard.
2028         https://bugs.webkit.org/show_bug.cgi?id=78933
2029         <rdar://problem/10874553>
2030         
2031         For this format, the data needs to be placed in the pasteboard as array of arrays
2032         of strings. Currently is it stored as array of strings, which causes the code
2033         that uses this format to break.
2034         
2035         Reviewed by Ryosuke Niwa.
2036
2037         * platform/mac/PlatformPasteboardMac.mm:
2038         (WebCore::PlatformPasteboard::setPathnamesForType):
2039
2040 2012-02-17  Abhishek Arya  <inferno@chromium.org>
2041
2042         Incorrect placement of a new child when beforeChild and its
2043         previous sibling are in the same table.
2044         https://bugs.webkit.org/show_bug.cgi?id=78269
2045
2046         Reviewed by Julien Chaffraix.
2047
2048         Tests: fast/table/table-cell-split.html
2049                fast/table/table-row-split.html
2050                fast/table/table-section-split-with-after-content.html
2051                fast/table/table-section-split.html
2052
2053         * rendering/RenderBlock.cpp:
2054         (WebCore::RenderBlock::splitAnonymousBlocksAroundChild): add
2055         call to splitTablePartsAroundChild to take care of splitting the
2056         table first if the child is part of table.
2057         (WebCore::markTableForSectionAndCellRecalculation): add helper to
2058         mark table for complete relayout by invalidating sections and cells.
2059         (WebCore):
2060         (WebCore::moveAllTableChildrenTo): moves children to another table.
2061         (WebCore::RenderBlock::splitTablePartsAroundChild): split table child
2062         and its next siblings into a new table. This allows adding a new
2063         non-table child between the tables.
2064         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): calls
2065         splitTablePartsAroundChild to see if we need to split the table
2066         for adding this new child.
2067         * rendering/RenderBlock.h:
2068         (RenderBlock):
2069         * rendering/RenderObject.cpp:
2070         (WebCore::RenderObject::createAnonymousTable): add helper for
2071         creating anonymous table.
2072         (WebCore):
2073         (WebCore::RenderObject::addChild): use the new helper for creating
2074         anonymous table.
2075         * rendering/RenderObject.h:
2076         (WebCore):
2077         (RenderObject):
2078         (WebCore::RenderObject::isTablePart): add helper to tell if the object
2079         is a table part.
2080
2081 2012-02-17  Andreas Kling  <awesomekling@apple.com>
2082
2083         Element: Inline style selector and AX invalidation in attributeChanged().
2084         <http://webkit.org/b/78888>
2085
2086         Reviewed by Antti Koivisto.
2087
2088         Inline the updateAfterAttributeChanged() and recalcStyleIfNeededAfterAttributeChanged()
2089         methods into Element::attributeChanged(). They were separated when we needed them in
2090         StyledElement::attributeChanged(), but that's no longer the case.
2091
2092         * dom/Element.cpp:
2093         (WebCore::Element::attributeChanged):
2094         * dom/Element.h:
2095
2096 2012-02-17  David Reveman  <reveman@chromium.org>
2097
2098         [Chromium] Texture eviction doesn't show up in traces.
2099         https://bugs.webkit.org/show_bug.cgi?id=78851
2100
2101         Reviewed by James Robinson.
2102
2103         Add TextureManager::evictTexture() function with TRACE statement so
2104         that texture eviction shows up in traces.
2105
2106         No new tests.
2107
2108         * platform/graphics/chromium/TextureManager.cpp:
2109         (WebCore::TextureManager::evictTexture):
2110         (WebCore):
2111         (WebCore::TextureManager::reduceMemoryToLimit):
2112         * platform/graphics/chromium/TextureManager.h:
2113         (TextureManager):
2114
2115 2012-02-17  Kalev Lember  <kalevlember@gmail.com>
2116
2117         Remove unused parameters from WTF threading API
2118         https://bugs.webkit.org/show_bug.cgi?id=78389
2119
2120         Reviewed by Adam Roben.
2121
2122         waitForThreadCompletion() had an out param 'void **result' to get the
2123         'void *' returned by ThreadFunction. However, the implementation in
2124         ThreadingWin.cpp ignored the out param, not filling it in. This had
2125         led to a situation where none of the client code made use of the param
2126         and just ignored it.
2127
2128         To clean this up, the patch changes the signature of ThreadFunction to
2129         return void instead of void* and drops the the unused 'void **result'
2130         parameter from waitForThreadCompletion. Also, all client code is
2131         updated for the API change.
2132
2133         As mentioned in https://bugs.webkit.org/show_bug.cgi?id=78389 , even
2134         though the change only affects internal API, Safari is using it
2135         directly and we'll need to keep the old versions around for ABI
2136         compatibility. For this, the patch adds compatibility wrappers with
2137         the old ABI.
2138
2139         * bindings/js/GCController.cpp:
2140         (WebCore::collect):
2141         (WebCore::GCController::garbageCollectOnAlternateThreadForDebugging):
2142         * fileapi/FileThread.cpp:
2143         (WebCore::FileThread::fileThreadStart):
2144         (WebCore::FileThread::runLoop):
2145         * fileapi/FileThread.h:
2146         (FileThread):
2147         * loader/icon/IconDatabase.cpp:
2148         (WebCore::IconDatabase::close):
2149         (WebCore::IconDatabase::iconDatabaseSyncThreadStart):
2150         (WebCore::IconDatabase::iconDatabaseSyncThread):
2151         (WebCore::IconDatabase::syncThreadMainLoop):
2152         * loader/icon/IconDatabase.h:
2153         (IconDatabase):
2154         * page/scrolling/ScrollingThread.cpp:
2155         (WebCore::ScrollingThread::threadCallback):
2156         * page/scrolling/ScrollingThread.h:
2157         (ScrollingThread):
2158         * platform/audio/HRTFDatabaseLoader.cpp:
2159         (WebCore::databaseLoaderEntry):
2160         (WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion):
2161         * platform/audio/ReverbConvolver.cpp:
2162         (WebCore::backgroundThreadEntry):
2163         (WebCore::ReverbConvolver::~ReverbConvolver):
2164         * platform/network/cf/LoaderRunLoopCF.cpp:
2165         (WebCore::runLoaderThread):
2166         * storage/DatabaseThread.cpp:
2167         (WebCore::DatabaseThread::databaseThreadStart):
2168         (WebCore::DatabaseThread::databaseThread):
2169         * storage/DatabaseThread.h:
2170         (DatabaseThread):
2171         * storage/LocalStorageThread.cpp:
2172         (WebCore::LocalStorageThread::threadEntryPointCallback):
2173         (WebCore::LocalStorageThread::threadEntryPoint):
2174         (WebCore::LocalStorageThread::terminate):
2175         * storage/LocalStorageThread.h:
2176         (LocalStorageThread):
2177         * webaudio/AsyncAudioDecoder.cpp:
2178         (WebCore::AsyncAudioDecoder::~AsyncAudioDecoder):
2179         (WebCore::AsyncAudioDecoder::threadEntry):
2180         * webaudio/AsyncAudioDecoder.h:
2181         (AsyncAudioDecoder):
2182         * webaudio/OfflineAudioDestinationNode.cpp:
2183         (WebCore::OfflineAudioDestinationNode::uninitialize):
2184         (WebCore::OfflineAudioDestinationNode::renderEntry):
2185         * webaudio/OfflineAudioDestinationNode.h:
2186         (OfflineAudioDestinationNode):
2187         * workers/WorkerThread.cpp:
2188         (WebCore::WorkerThread::workerThreadStart):
2189         (WebCore::WorkerThread::workerThread):
2190         * workers/WorkerThread.h:
2191         (WorkerThread):
2192
2193 2012-02-17  Robert Hogan  <robert@webkit.org>
2194
2195         AppleMac Build fix for r108111
2196
2197         Remove variable that is now unused.
2198
2199         Unreviewed, build fix.
2200
2201         * rendering/RenderBlockLineLayout.cpp:
2202         (WebCore::alwaysRequiresLineBox): Remove lineInfo
2203         (WebCore::requiresLineBox): 
2204         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
2205
2206 2012-02-17  Michal Mocny  <mmocny@google.com>
2207
2208         [chromium] GL_CHROMIUM_gpu_memory_manager extension
2209         https://bugs.webkit.org/show_bug.cgi?id=77155
2210
2211         Reviewed by James Robinson.
2212
2213         * platform/graphics/chromium/Extensions3DChromium.h:
2214         (GpuMemoryAllocationChangedCallbackCHROMIUM):
2215         (WebCore::Extensions3DChromium::GpuMemoryAllocationChangedCallbackCHROMIUM::~GpuMemoryAllocationChangedCallbackCHROMIUM):
2216         (Extensions3DChromium):
2217
2218 2012-01-23  Robert Hogan  <robert@webkit.org>
2219
2220         REGRESSION: empty span creates renders with non-zero height
2221         https://bugs.webkit.org/show_bug.cgi?id=76465
2222
2223         Reviewed by David Hyatt.
2224
2225         Tests: fast/css/empty-span.html
2226                fast/css/non-empty-span.html
2227
2228         Empty inlines with line-height, vertical-alignment or font metrics should only get a linebox if there is some
2229         other content in the line. So only create line boxes for such elements on lines that are not empty.
2230
2231         This patch fixes a regression where an empty inline with line-height was propagating its height to an empty line.
2232         It also fixes cases where lines with content that had a leading empty inline element weren't respecting the 
2233         vertical alignment or font-height of the empty inline.
2234
2235         * rendering/RenderBlockLineLayout.cpp:
2236         (WebCore::RenderBlock::constructLine): only create line boxes for lines that are not empty.
2237         (WebCore::requiresLineBoxForContent): an inline flow with line-height, vertical-alignment, or font-size
2238          will need a linebox if the rest of the line is not empty.
2239         (WebCore):
2240         (WebCore::alwaysRequiresLineBox): rename from inlineFlowRequiresLineBox.
2241         (WebCore::requiresLineBox):
2242         (WebCore::RenderBlock::LineBreaker::nextLineBreak): if the inline flow definitely requires a line, mark
2243          the line non-empty - otherwise hold off.
2244
2245 2012-02-17  Raymond Toy  <rtoy@google.com>
2246
2247         RealtimeAnalyserNode does not consistently respect .minDecibels
2248         https://bugs.webkit.org/show_bug.cgi?id=78729
2249
2250         Make use of m_minDecibel consistent.  Clean up some style issues
2251         with names of local variables and style issues with float
2252         constants.
2253         
2254         Reviewed by Chris Rogers.
2255
2256         No new tests because the changes are cosmetic for style issues.
2257
2258         * webaudio/RealtimeAnalyser.cpp:
2259         (WebCore):
2260         (WebCore::RealtimeAnalyser::doFFTAnalysis):
2261         (WebCore::RealtimeAnalyser::getFloatFrequencyData):
2262         (WebCore::RealtimeAnalyser::getByteFrequencyData):
2263         (WebCore::RealtimeAnalyser::getByteTimeDomainData):
2264
2265 2012-02-17  Abhishek Arya  <inferno@chromium.org>
2266
2267         :before content incorrectly placed in continuation
2268         when we don't have a first child.
2269         https://bugs.webkit.org/show_bug.cgi?id=78380
2270
2271         Reviewed by David Hyatt.
2272
2273         Test: fast/css-generated-content/before-content-continuation-chain.html
2274
2275         * rendering/RenderObjectChildList.cpp:
2276         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
2277
2278 2012-02-17  Mihnea Ovidenie  <mihnea@adobe.com>
2279
2280         CSS regions enabled by default
2281         https://bugs.webkit.org/show_bug.cgi?id=78525
2282
2283         Reviewed by David Hyatt.
2284
2285         Test: fast/regions/css-regions-disabled.html
2286
2287         Add a runtime preference to enable/disable regions functionality at runtime(WebKitCSSRegionsEnabled).
2288         CSSRegions are still enabled by default.
2289         In DRT, use layoutTestController.overridePreference("WebKitCSSRegionsEnabled", "0") to disable the css regions functionality.
2290
2291         * WebCore.xcodeproj/project.pbxproj:
2292         * css/CSSParser.cpp:
2293         (WebCore::CSSParser::parseValue):
2294         (WebCore::CSSParser::cssRegionsEnabled):
2295         (WebCore):
2296         (WebCore::CSSParser::parseFlowThread):
2297         (WebCore::CSSParser::parseRegionThread):
2298         (WebCore::CSSParser::createRegionRule):
2299         * css/CSSParser.h:
2300         * dom/Document.cpp:
2301         (WebCore::Document::cssRegionsEnabled):
2302         (WebCore):
2303         (WebCore::Document::webkitGetFlowByName):
2304         * dom/Document.h:
2305         (Document):
2306         * dom/Element.cpp:
2307         (WebCore::Element::webkitRegionOverflow):
2308         * dom/NodeRenderingContext.cpp:
2309         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
2310         * page/Settings.cpp:
2311         (WebCore::Settings::Settings):
2312         * page/Settings.h:
2313         (WebCore::Settings::setCSSRegionsEnabled):
2314         (WebCore::Settings::cssRegionsEnabled):
2315         (Settings):
2316         * rendering/RenderFlowThread.cpp:
2317         (WebCore::RenderFlowThread::RenderFlowThread):
2318         * rendering/RenderObject.cpp:
2319         (WebCore::RenderObject::createObject):
2320         * rendering/RenderRegion.cpp:
2321         (WebCore::RenderRegion::RenderRegion):
2322
2323 2012-02-17  Mihnea Ovidenie  <mihnea@adobe.com>
2324
2325         [CSSRegions]Implement NamedFlow::overflow
2326         https://bugs.webkit.org/show_bug.cgi?id=78880
2327
2328         Reviewed by David Hyatt.
2329
2330         Test: fast/regions/webkit-named-flow-overflow.html
2331
2332         * dom/WebKitNamedFlow.cpp:
2333         (WebCore::WebKitNamedFlow::WebKitNamedFlow):
2334         (WebCore::WebKitNamedFlow::overflow):
2335         (WebCore):
2336         * dom/WebKitNamedFlow.h:
2337         (WebCore):
2338         (WebCore::WebKitNamedFlow::create):
2339         (WebKitNamedFlow):
2340         * dom/WebKitNamedFlow.idl:
2341         * rendering/RenderFlowThread.cpp:
2342         (WebCore::RenderFlowThread::RenderFlowThread):
2343         (WebCore::RenderFlowThread::ensureNamedFlow):
2344         (WebCore::RenderFlowThread::computeOverflowStateForRegions):
2345         * rendering/RenderFlowThread.h:
2346
2347 2012-02-17  Joe Thomas  <joethomas@motorola.com>
2348
2349         flex-wrap:nowrap should be flex-wrap:none
2350         https://bugs.webkit.org/show_bug.cgi?id=78772
2351
2352         As per the spec http://dev.w3.org/csswg/css3-flexbox/#flex-wrap0, flex-wrap:nowrap should be changed to flex-wrap:none.
2353
2354         Reviewed by Ojan Vafai.
2355
2356         * css/CSSParser.cpp:
2357         (WebCore::CSSParser::parseValue):
2358         * css/CSSPrimitiveValueMappings.h:
2359         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2360         (WebCore::CSSPrimitiveValue::operator EFlexWrap):
2361         * css/CSSValueKeywords.in:
2362         * rendering/style/RenderStyle.h:
2363         * rendering/style/RenderStyleConstants.h:
2364
2365 2012-02-17  Enrica Casucci  <enrica@apple.com>
2366
2367         Refactor DragData class to use PlatformStrategies in the Mac implementation.
2368         https://bugs.webkit.org/show_bug.cgi?id=78768
2369
2370         Reviewed by Darin Adler.
2371
2372         No new tests. No behavior change.
2373
2374         * WebCore.exp.in: Added new exported method of the PlatformPasteboard class.
2375         * platform/DragData.h:
2376         (WebCore::DragData::pasteboardName): Added pasteboardName and removed pasteboard.
2377         * platform/PasteboardStrategy.h: Added color() method.
2378         * platform/PlatformPasteboard.h: Ditto.
2379         * platform/mac/ClipboardMac.mm:
2380         (WebCore::Clipboard::create): Changed to use pasteboardName() method.
2381         * platform/mac/DragDataMac.mm: All the methods below have been changed to use pasteboardName
2382         and the pasteboardStrategy() methods.
2383         (WebCore::DragData::DragData):
2384         (WebCore::DragData::canSmartReplace):
2385         (WebCore::DragData::containsColor):
2386         (WebCore::DragData::containsFiles):
2387         (WebCore::DragData::numberOfFiles):
2388         (WebCore::DragData::asFilenames):
2389         (WebCore::DragData::containsPlainText):
2390         (WebCore::DragData::asPlainText):
2391         (WebCore::DragData::asColor):
2392         (WebCore::DragData::containsCompatibleContent):
2393         (WebCore::DragData::asURL):
2394         (WebCore::DragData::asFragment):
2395         * platform/mac/PlatformPasteboardMac.mm:
2396         (WebCore::PlatformPasteboard::color): Added implementation of the color() method.
2397
2398 2012-02-17  Nate Chapin  <japhet@chromium.org>
2399
2400         [Chromium mac] Cursors and background images disappear.
2401         https://bugs.webkit.org/show_bug.cgi?id=78834
2402
2403         The issue occurs because a CachedImage sees that it has no clients
2404         and decide it is safe to purge its m_data buffer. However,
2405         StyleCachedImage is holding a CachedResourceHandle to the
2406         CachedImage, and it can still add a client later. If it does so,
2407         the CachedImage says everything is loaded but has no data.
2408
2409         Reviewed by Adam Barth.
2410
2411         No new tests, since the known repros have resisted reduction.
2412         Tested manually with chrome.angrybirds.com, redfin.com and a
2413         couple of other sites.
2414
2415         * rendering/style/StyleCachedImage.cpp:
2416         * rendering/style/StyleCachedImage.h: Ensure the underlying
2417             CachedImage has a client for the lifetime of the
2418             StyleCachedImage and doesn't purge its buffer. Call
2419             addClient(this) in the constructor and removeClient(this) in
2420             the destructor, then ignore all cache callbacks.
2421
2422 2012-02-17  Julien Chaffraix  <jchaffraix@webkit.org>
2423
2424         Table cell's anonymous wrappers are left in the tree, impacting our layout
2425         https://bugs.webkit.org/show_bug.cgi?id=7180
2426
2427         Reviewed by David Hyatt.
2428
2429         Tests: fast/table/table-switch-cell-position-bad-layout-expected.html
2430                fast/table/table-switch-cell-position-bad-layout.html
2431
2432         This patch implements cell's anonymous wrapper removal at detach time.
2433
2434         Trimming the render tree when we remove objects from it would be more complex
2435         to generalize as several objects override the behavior to do their own clean-ups.
2436         This would also open more potential for programming errors.
2437
2438         This change is limited to table cells' as a simple step towards fixing bug 52123
2439         and more generally eliminate some anonymous wrappers from the tree at detach time.
2440
2441         * dom/Node.cpp:
2442         (WebCore::Node::detach):
2443         Patched detach to call destroyAndCleanupAnonymousWrappers. The Document does not need
2444         to clean up any anonymous wrappers on detach.
2445
2446         * rendering/RenderObject.cpp:
2447         (WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):
2448         Added this method to wrap destroy() call and trim the render tree. To avoid slowing down
2449         detach in some cases, added a fast path.
2450
2451         * rendering/RenderObject.h: Added destroyAndCleanupAnonymousWrappers.
2452
2453 2012-02-17  Rob Buis  <rbuis@rim.com>
2454
2455         ASSERT (and crash) with dynamically moved <font-face>
2456         https://bugs.webkit.org/show_bug.cgi?id=64839
2457
2458         Reviewed by Antti Koivisto.
2459
2460         Reset the style declaration when rmeoving the font-face element from the document.
2461
2462         Test: svg/custom/font-face-move.svg
2463
2464         * svg/SVGFontFaceElement.cpp:
2465         (WebCore::SVGFontFaceElement::removedFromDocument):
2466
2467 2012-02-17  Martin Robinson  <mrobinson@igalia.com>
2468
2469         Fix some warnings encountered during the GTK+ build
2470         https://bugs.webkit.org/show_bug.cgi?id=78911
2471
2472         Reviewed by Xan Lopez.
2473
2474         No new tests. These are just fixes for warnings.
2475
2476         * page/GestureTapHighlighter.cpp: Avoid using potentially signed operations on
2477         a size_t type. Use size_t for iterating over members of a vector.
2478         * platform/graphics/texmap/TextureMapperBackingStore.cpp: Use size_t where necessary.
2479         (WebCore::TextureMapperTiledBackingStore::createOrDestroyTilesIfNeeded): Ditto.
2480         * platform/graphics/texmap/TextureMapperLayer.cpp: Ditto.
2481         (WebCore::TextureMapperLayer::computeTransformsRecursive): Ditto.
2482         (WebCore::TextureMapperLayer::paintSelfAndChildren): Ditto.
2483         (WebCore::TextureMapperLayer::intermediateSurfaceRect): Ditto.
2484
2485 2012-02-17  Tim Dresser  <tdresser@chromium.org>
2486
2487         [chromium] Refactor video drawing to be more data driven
2488         https://bugs.webkit.org/show_bug.cgi?id=76720
2489
2490         Reviewed by James Robinson.
2491
2492         CCVideoLayerImpl no longer handles drawing itself, but produces a list of CCVideoDrawQuads.
2493         These quads are then drawn by LayerRendererChromium.
2494
2495         CCLayerImpl::willDraw(LayerRendererChromium*) is called directly before appendQuads.
2496         CCLayerImpl::didDraw() is called directly after all drawing has been completed.
2497         CCLayerImpl::draw has been removed.
2498
2499         willDraw and didDraw are used to handle interaction with the VideoFrameProvider
2500         in CCVideoLayerImpl. willDraw gets a frame from the VideoFrameProvider, and
2501         didDraw returns it.
2502
2503         A unit test has been added: CCLayerTreeHostImplTest.didDrawCalledOnAllLayers.
2504         This test ensures that CCLayerImpl::didDraw() is called on all layers,
2505         including layers on different render surfaces.
2506
2507         As this was a refactor, no other tests were added.
2508
2509         * platform/graphics/chromium/LayerRendererChromium.cpp:
2510         (WebCore::LayerRendererChromium::drawYUV):
2511         (WebCore):
2512         (WebCore::LayerRendererChromium::drawSingleTextureVideoQuad):
2513         (WebCore::LayerRendererChromium::drawRGBA):
2514         (WebCore::LayerRendererChromium::drawNativeTexture):
2515         (WebCore::LayerRendererChromium::copyFrameToTextures):
2516         (WebCore::LayerRendererChromium::copyPlaneToTexture):
2517         (WebCore::LayerRendererChromium::drawVideoQuad):
2518         * platform/graphics/chromium/LayerRendererChromium.h:
2519         (LayerRendererChromium):
2520         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2521         * platform/graphics/chromium/cc/CCLayerImpl.h:
2522         (WebCore::CCLayerImpl::didDraw):
2523         (CCLayerImpl):
2524         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2525         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
2526         (WebCore::CCLayerTreeHostImpl::drawLayers):
2527         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2528         (CCLayerTreeHostImpl):
2529         * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp:
2530         (WebCore::CCVideoDrawQuad::create):
2531         (WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
2532         * platform/graphics/chromium/cc/CCVideoDrawQuad.h:
2533         (CCVideoDrawQuad):
2534         (WebCore::CCVideoDrawQuad::textures):
2535         (WebCore::CCVideoDrawQuad::frame):
2536         (WebCore::CCVideoDrawQuad::format):
2537         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2538         (WebCore::CCVideoLayerImpl::willDraw):
2539         (WebCore::CCVideoLayerImpl::appendQuads):
2540         (WebCore::CCVideoLayerImpl::didDraw):
2541         (WebCore::CCVideoLayerImpl::computeVisibleSize):
2542         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
2543         (CCVideoLayerImpl):
2544         (WebCore::CCVideoLayerImpl::providerMutex):
2545         (WebCore::CCVideoLayerImpl::provider):
2546         (Texture):
2547
2548 2012-02-17  Stephen Chenney  <schenney@chromium.org>
2549
2550         Crash at WebCore::SVGUseElement::expandSymbolElementsInShadowTree
2551         https://bugs.webkit.org/show_bug.cgi?id=77639
2552
2553         Reviewed by Nikolas Zimmermann.
2554
2555         Fix a SVG crash in Release builds, although it still crashes in Debug builds.
2556         The crash occurred when an SVG use element attempted to reference a style element while the file
2557         contained an error causing the error banner to display. The fix is to prevent SVGUseElement
2558         from recalculating style during tree building and return immediately when style is recalculated and
2559         the tree is building.
2560
2561         Test: svg/custom/use-referencing-style-crash.svg
2562
2563         * svg/SVGUseElement.cpp:
2564         (WebCore::SVGUseElement::willRecalcStyle): Return false if the tree is being built.
2565         (WebCore::SVGUseElement::didRecalcStyle): Check and return if the tree
2566         is being built and we are not yet ready for style update.
2567
2568 2012-02-17  Ilya Tikhonovsky  <loislo@chromium.org>
2569
2570         Unreviewed, rolling out r108077.
2571         http://trac.webkit.org/changeset/108077
2572         https://bugs.webkit.org/show_bug.cgi?id=78390
2573
2574         it broke compilation.
2575
2576         * inspector/CodeGeneratorInspector.py:
2577         * inspector/InjectedScript.cpp:
2578         (WebCore::InjectedScript::evaluateOnCallFrame):
2579         (WebCore::InjectedScript::getFunctionDetails):
2580         (WebCore::InjectedScript::getProperties):
2581         (WebCore::InjectedScript::wrapCallFrames):
2582         * inspector/InjectedScript.h:
2583         (InjectedScript):
2584         * inspector/InspectorDebuggerAgent.cpp:
2585         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
2586         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
2587         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
2588         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
2589         (WebCore::InspectorDebuggerAgent::currentCallFrames):
2590         (WebCore::InspectorDebuggerAgent::didParseSource):
2591         * inspector/InspectorDebuggerAgent.h:
2592         (InspectorDebuggerAgent):
2593
2594 2012-02-17  Florin Malita  <fmalita@google.com>
2595
2596         chrome.dll!WebCore::SVGTRefElement::updateReferencedText ReadAV@NULL (e85cb8e140071fa7790cad215b0109dc)
2597         https://bugs.webkit.org/show_bug.cgi?id=74858
2598
2599         Reviewed by Nikolas Zimmermann.
2600
2601         Tests: svg/custom/tref-remove-target-crash-expected.svg
2602                svg/custom/tref-remove-target-crash.svg
2603
2604         Add a DOMNodeRemovedFromDocumentEvent listener to detect when the target element is removed. Upon removal,
2605         cleanup all listeners and re-activate the pending resource to attach if the referenced ID is added
2606         at a later time programmatically. Also move the DOMSubtreeModifiedEvent listener from the parent to
2607         the target element to simplify the implementation and reduce the scope.
2608
2609         * svg/SVGTRefElement.cpp:
2610         (WebCore::TargetListener::create):
2611         (WebCore::TargetListener::cast):
2612         (WebCore::TargetListener::clear):
2613         (WebCore::TargetListener::TargetListener):
2614         (WebCore::TargetListener::operator==):
2615         (WebCore::TargetListener::handleEvent):
2616         (WebCore::SVGTRefElement::detachTarget):
2617         (WebCore::SVGTRefElement::buildPendingResource):
2618         * svg/SVGTRefElement.h:
2619
2620 2012-02-17  Simon Fraser  <simon.fraser@apple.com>
2621
2622         Fix the build after r108077.
2623
2624         * inspector/CodeGeneratorInspector.py:
2625         (RawTypes.Any.generate_validate_method):
2626
2627 2012-02-17  Simon Fraser  <simon.fraser@apple.com>
2628
2629         Avoid using a transparency layer for rgba() border drawing when possible
2630         https://bugs.webkit.org/show_bug.cgi?id=63176
2631
2632         Reviewed by Dan Bernstein.
2633         
2634         The non-radiused border drawing code would use a transparency layer
2635         when drawing any one or more borders with alpha colors. However,
2636         we only need to use a transparency layer when there is a corner
2637         join between the borders being rendered with any one color,
2638         so add a utility function includesAdjacentEdges() that can tell us
2639         that, and use it to avoid making extraneous transparency layers.
2640
2641         Optimization only, no new tests.
2642
2643         * rendering/RenderBoxModelObject.cpp:
2644         (WebCore::includesAdjacentEdges):
2645         (WebCore):
2646         (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
2647
2648 2012-02-17  Pavel Feldman  <pfeldman@google.com>
2649
2650         Not reviewed: Qt minimal build fix.
2651
2652         * inspector/InjectedScript.h:
2653         (WebCore):
2654
2655 2012-02-17  Peter Rybin  <peter.rybin@gmail.com>
2656
2657         Web Inspector: Switch Debugger agent to TypeBuilder
2658         https://bugs.webkit.org/show_bug.cgi?id=78390
2659
2660         Reviewed by Vsevolod Vlasov.
2661
2662         Client code is switched to TypeBuilder.
2663
2664         * inspector/CodeGeneratorInspector.py:
2665         * inspector/InjectedScript.cpp:
2666         (WebCore::InjectedScript::evaluateOnCallFrame):
2667         (WebCore::InjectedScript::getFunctionDetails):
2668         (WebCore::InjectedScript::getProperties):
2669         (WebCore::InjectedScript::wrapCallFrames):
2670         * inspector/InjectedScript.h:
2671         (InjectedScript):
2672         * inspector/InspectorDebuggerAgent.cpp:
2673         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
2674         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
2675         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
2676         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
2677         (WebCore::InspectorDebuggerAgent::currentCallFrames):
2678         (WebCore::InspectorDebuggerAgent::didParseSource):
2679         * inspector/InspectorDebuggerAgent.h:
2680         (InspectorDebuggerAgent):
2681
2682 2012-02-17  Pavel Feldman  <pfeldman@google.com>
2683
2684         Web Inspector: hide color picker on selected node update.
2685         https://bugs.webkit.org/show_bug.cgi?id=78896
2686
2687         Reviewed by Vsevolod Vlasov.
2688
2689         * inspector/front-end/Spectrum.js:
2690         (WebInspector.Spectrum.prototype.get visible):
2691         (WebInspector.Spectrum.prototype.toggle):
2692         (WebInspector.Spectrum.prototype.show):
2693         * inspector/front-end/StylesSidebarPane.js:
2694         (WebInspector.StylesSidebarPane.prototype.update):
2695         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
2696
2697 2012-02-17  Pavel Feldman  <pfeldman@google.com>
2698
2699         Web Inspector: check undo-redo boundaries based on current action index, not history size.
2700         https://bugs.webkit.org/show_bug.cgi?id=78895
2701
2702         Reviewed by Vsevolod Vlasov.
2703
2704         Tests: inspector/elements/perform-undo-undo.html
2705                inspector/styles/perform-undo-perform-of-mergable-action.html
2706
2707         * inspector/InspectorHistory.cpp:
2708         (WebCore::InspectorHistory::perform):
2709
2710 2012-02-17  Ilya Tikhonovsky  <loislo@chromium.org>
2711
2712         Unreviewed, rolling out r108071.
2713         http://trac.webkit.org/changeset/108071
2714         https://bugs.webkit.org/show_bug.cgi?id=77155
2715
2716         chromium-mac compilation failed
2717
2718         * platform/graphics/chromium/Extensions3DChromium.h:
2719
2720 2012-02-17  Michal Mocny  <mmocny@google.com>
2721
2722         [chromium] GL_CHROMIUM_gpu_memory_manager extension
2723         https://bugs.webkit.org/show_bug.cgi?id=77155
2724
2725         Reviewed by James Robinson.
2726
2727         * platform/graphics/chromium/Extensions3DChromium.h:
2728         (GpuMemoryAllocationChangedCallbackCHROMIUM):
2729         (WebCore::Extensions3DChromium::GpuMemoryAllocationChangedCallbackCHROMIUM::~GpuMemoryAllocationChangedCallbackCHROMIUM):
2730         (Extensions3DChromium):
2731
2732 2012-02-17  Raphael Kubo da Costa  <kubo@profusion.mobi>
2733
2734         [CMake, EFL] Unreviewed, fix the build when building with
2735         SHARED_CORE=ON after r107820.
2736
2737         RunLoopEfl.cpp has not been upstreamed yet, and building only
2738         RunLoop.cpp created an .so with some missing, unimplemented
2739         symbols. The BlackBerry port seems to be in the same situation.
2740
2741         The best solution for now is to build RunLoop.cpp only on the
2742         WinCE port.
2743
2744         * CMakeLists.txt: Remove RunLoop.cpp from the list of files to build.
2745         * PlatformWinCE.cmake: Add RunLoop.cpp to the list of files to build.
2746
2747 2012-02-17  Pavel Feldman  <pfeldman@google.com>
2748
2749         Web Inspector: a bit of color picker polish
2750         https://bugs.webkit.org/show_bug.cgi?id=78892
2751
2752         - Fixed computed style swatch
2753         - Removed color: caption
2754         - Rendered value as source code, user-selectable
2755         - Removed scroller gap
2756
2757         Reviewed by Yury Semikhatsky.
2758
2759         * English.lproj/localizedStrings.js:
2760         * inspector/front-end/Popover.js:
2761         (WebInspector.Popover.prototype.setCanShrink):
2762         (WebInspector.Popover.prototype._positionElement):
2763         * inspector/front-end/Spectrum.js:
2764         * inspector/front-end/StylesSidebarPane.js:
2765         (WebInspector.StylePropertyTreeElement.prototype._resetMouseDownElement):
2766         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
2767         * inspector/front-end/elementsPanel.css:
2768         (.spectrum-container):
2769         (.spectrum-display-value):
2770         (.spectrum-range-container):
2771         * inspector/front-end/popover.css:
2772         (.popover .content.fixed-height):
2773
2774 2012-02-17  Pavel Feldman  <pfeldman@google.com>
2775
2776         Web Inspector: color picker does not allow changing the color.
2777         https://bugs.webkit.org/show_bug.cgi?id=78886
2778
2779         Reviewed by Vsevolod Vlasov.
2780
2781         * inspector/front-end/ElementsPanel.js:
2782         (WebInspector.ElementsPanel.prototype._showPopover.showPopover):
2783         * inspector/front-end/Popover.js:
2784         (WebInspector.Popover.prototype.setCanShrink):
2785         (WebInspector.Popover.prototype._positionElement):
2786         * inspector/front-end/Settings.js:
2787         * inspector/front-end/Spectrum.js:
2788         * inspector/front-end/StylesSidebarPane.js:
2789         (WebInspector.StylesSidebarPane):
2790         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
2791
2792 2012-02-17  Pavel Feldman  <pfeldman@google.com>
2793
2794         Web Inspector: new image preview has poorly positioned popover arrow.
2795         https://bugs.webkit.org/show_bug.cgi?id=78884
2796
2797         Reviewed by Vsevolod Vlasov.
2798
2799         * inspector/front-end/Popover.js:
2800         (WebInspector.Popover.prototype._positionElement):
2801         * inspector/front-end/utilities.js:
2802         (Element.prototype.boxInWindow):
2803
2804 2012-02-17  Pavel Feldman  <pfeldman@google.com>
2805
2806         Web Inspector: enable "Single click CSS editing" experiment by default.
2807         https://bugs.webkit.org/show_bug.cgi?id=78881
2808
2809         Reviewed by Vsevolod Vlasov.
2810
2811         * inspector/front-end/elementsPanel.css:
2812         (.styles-section .properties .enabled-button):
2813
2814 2012-02-17  Pavel Feldman  <pfeldman@google.com>
2815
2816         Web Inspector: split innerUpdate into rebuildUpdate and refreshUpdate, make computed styles load lazily.
2817         https://bugs.webkit.org/show_bug.cgi?id=78827
2818
2819         Reviewed by Vsevolod Vlasov.
2820
2821         * inspector/front-end/StylesSidebarPane.js:
2822         (WebInspector.StylesSidebarPane.prototype.update):
2823         (WebInspector.StylesSidebarPane.prototype._refreshUpdate.computedStyleCallback):
2824         (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
2825         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
2826         (WebInspector.StylesSidebarPane.prototype._validateNode):
2827         (WebInspector.StylesSidebarPane.prototype._styleSheetOrMediaQueryResultChanged):
2828         (WebInspector.StylesSidebarPane.prototype._attributesModified):
2829         (WebInspector.StylesSidebarPane.prototype._attributesRemoved):
2830         (WebInspector.StylesSidebarPane.prototype._styleInvalidated):
2831         (WebInspector.StylesSidebarPane.prototype._innerRefreshUpdate):
2832         (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
2833         (WebInspector.StylesSidebarPane.prototype._nodeStylesUpdatedForTest):
2834         (WebInspector.StylesSidebarPane.prototype._toggleElementStatePane):
2835         (WebInspector.StylesSidebarPane.prototype._createElementStatePane.clickListener):
2836         (WebInspector.StylesSidebarPane.prototype._showUserAgentStylesSettingChanged):
2837         (WebInspector.ComputedStyleSidebarPane.prototype.expand):
2838         (WebInspector.StylePropertyTreeElement.prototype):
2839
2840 2012-02-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
2841
2842         [Qt][WK2] Allow partial updates
2843         https://bugs.webkit.org/show_bug.cgi?id=78824
2844
2845         BitmapTextureGL should not zero-fill the textures when resetting.
2846         This was needed in the previous buffer management system, where texture were not completely
2847         filled by the backing store.
2848
2849         Reviewed by Simon Hausmann.
2850
2851         No new behavior.
2852
2853         * platform/graphics/opengl/TextureMapperGL.cpp:
2854         (BitmapTextureGL):
2855         (WebCore::texSubImage2DResourceSafe):
2856         (WebCore):
2857         (WebCore::BitmapTextureGL::reset):
2858
2859 2012-02-17  Yosifumi Inoue  <yosin@chromium.org>
2860
2861         [Forms] Integrate InputType::dispatchChangeEventInResponseToSetValue into InputType::setValue
2862         https://bugs.webkit.org/show_bug.cgi?id=78873
2863
2864         Reviewed by Kent Tamura.
2865
2866         This patch moves event dispatch logic to InputType and TextFieldInputType from HTMLInputElement
2867         and merge dispatchChangeEventInResponseToSetValue to setValue.
2868
2869         No new tests. No change in behavior.
2870
2871         * html/HTMLInputElement.cpp:
2872         (WebCore::HTMLInputElement::setValue): Move dispatch logic to InputType and TextFieldInput.
2873         * html/InputType.cpp: Remove dispatchChangeEventInResponseToSetValue implementation.
2874         * html/InputType.h: Remove dispatchChangeEventInResponseToSetValue declaration.
2875         (WebCore::InputType::setValue): Move code from dispatchChangeEventInResponseToSetValue.
2876         * html/TextFieldInputType.cpp: Remove dispatchChangeEventInResponseToSetValue implementation.
2877         * html/TextFieldInputType.h: Remove dispatchChangeEventInResponseToSetValue declaration.
2878         (WebCore::TextFieldInputType::setValue): Move code from dispatchChangeEventInResponseToSetValue. Stop dispatching event in InputType::setValue.
2879         * html/HTMLTextFormControlElement.h: Make setTextAsOfLastFormControlChangeEvent to public from protected for accessing from InputType class.
2880
2881 2012-02-17  Yury Semikhatsky  <yurys@chromium.org>
2882
2883         Unreviewed. Mac build fix after r108047.
2884
2885         * WebCore.xcodeproj/project.pbxproj:
2886
2887 2012-02-16  Andreas Kling  <awesomekling@apple.com>
2888
2889         Removing the last presentation attribute should result in a null attributeStyle().
2890         <http://webkit.org/b/78812>
2891
2892         Reviewed by Antti Koivisto.
2893
2894         If the collectStyleForAttribute() pass in updateAttributeStyle() doesn't encounter any
2895         respected presentation attributes, set a null attributeStyle() instead of an empty one.
2896
2897         * css/CSSStyleSelector.cpp:
2898         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2899         * dom/StyledElement.cpp:
2900         (WebCore::StyledElement::updateAttributeStyle):
2901
2902 2012-02-16  Yury Semikhatsky  <yurys@chromium.org>
2903
2904         Web Inspector: use static counters for estimation of allocated Documents, Nodes and JS EventListeners
2905         https://bugs.webkit.org/show_bug.cgi?id=78825
2906
2907         Introduced static counters of allocated Documents, Nodes and JS EventListeners.
2908         Their values are displayed on the Timeline panel.
2909
2910         Reviewed by Pavel Feldman.
2911
2912         * CMakeLists.txt:
2913         * English.lproj/localizedStrings.js:
2914         * GNUmakefile.list.am:
2915         * Target.pri:
2916         * WebCore.gypi:
2917         * WebCore.vcproj/WebCore.vcproj:
2918         * WebCore.xcodeproj/project.pbxproj:
2919         * bindings/js/JSEventListener.cpp:
2920         (WebCore::JSEventListener::JSEventListener):
2921         (WebCore::JSEventListener::~JSEventListener):
2922         * bindings/v8/V8AbstractEventListener.cpp:
2923         (WebCore::V8AbstractEventListener::V8AbstractEventListener):
2924         (WebCore::V8AbstractEventListener::~V8AbstractEventListener):
2925         * dom/Document.cpp:
2926         (WebCore::Document::Document):
2927         (WebCore::Document::~Document):
2928         * dom/Document.h:
2929         (WebCore::Node::Node):
2930         * dom/Node.cpp:
2931         (WebCore::Node::~Node):
2932         * inspector/InspectorAllInOne.cpp:
2933         * inspector/InspectorController.cpp:
2934         (WebCore::InspectorController::InspectorController):
2935         * inspector/InspectorCounters.cpp: Added.
2936         (WebCore):
2937         (WebCore::InspectorCounters::counterValue):
2938         * inspector/InspectorCounters.h: Added.
2939         (WebCore):
2940         (InspectorCounters):
2941         (WebCore::InspectorCounters::incrementCounter):
2942         (WebCore::InspectorCounters::decrementCounter):
2943         * inspector/InspectorTimelineAgent.cpp:
2944         (WebCore::InspectorTimelineAgent::didCallFunction):
2945         (WebCore::InspectorTimelineAgent::didDispatchEvent):
2946         (WebCore::InspectorTimelineAgent::didWriteHTML):
2947         (WebCore::InspectorTimelineAgent::didFireTimer):
2948         (WebCore::InspectorTimelineAgent::didEvaluateScript):
2949         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
2950         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
2951         * inspector/InspectorTimelineAgent.h:
2952         (WebCore):
2953         (WebCore::InspectorTimelineAgent::create):
2954         (InspectorTimelineAgent):
2955         * inspector/front-end/MemoryStatistics.js:
2956         (WebInspector.MemoryStatistics):
2957         (WebInspector.MemoryStatistics.prototype.addTimlineEvent):
2958         (WebInspector.MemoryStatistics.prototype._draw.getDocumentCount):
2959         (WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
2960         * inspector/front-end/TimelinePanel.js:
2961         (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
2962
2963 2012-02-16  Cris Neckar  <cdn@chromium.org>
2964
2965         Correct a misleading comment regarding string delimiters in CSS parsing.
2966         https://bugs.webkit.org/show_bug.cgi?id=78521
2967
2968         Reviewed by Zoltan Herczeg.
2969
2970         * css/CSSParser.cpp:
2971         (WebCore::CSSParser::lex):
2972
2973 2012-02-16  Martin Robinson  <mrobinson@igalia.com>
2974
2975         Fix the TextureMapper build for GTK+.
2976
2977         No new tests. This is just a build fix.
2978
2979         * GNUmakefile.list.am: Add missing files to the build and change spaces to tabs.
2980
2981 2012-02-16  Daniel Bates  <dbates@webkit.org>
2982
2983         Add ENABLE(STYLE_SCOPED) around HTMLStyleElement::m_isRegisteredWithScopingNode 
2984
2985         The instance variable HTMLStyleElement::m_isRegisteredWithScopingNode is only
2986         referenced from within ENABLE(STYLE_SCOPED)-guarded code. We should add this
2987         guard around its declaration.
2988
2989         * html/HTMLStyleElement.h:
2990         (HTMLStyleElement):
2991
2992 2012-02-16  Shinya Kawanaka  <shinyak@chromium.org>
2993
2994         [v8] v8 doesn't assume to do 'new WebKitShadowRoot(host)'
2995         https://bugs.webkit.org/show_bug.cgi?id=78875
2996
2997         Reviewed by Kentaro Hara.
2998
2999         Since v8 does not assume that we do 'new WebkitShadowRoot(host)', a wrapper object for new WebKitShadowRoot(host)
3000         was saved in DOMObject storage instead of DOMNode storage.
3001
3002         CodeGenerator should handle with DOMNode correctly to solve the problem.
3003
3004         Test: fast/dom/shadow/shadow-root-new.html
3005
3006         * bindings/scripts/CodeGeneratorV8.pm:
3007         (GenerateConstructorCallback):
3008
3009 2012-02-16  Ilya Tikhonovsky  <loislo@chromium.org>
3010
3011         Unreviewed rollout r107952 because it broke shadow-boundary-events.html and related-target-focusevent.html on mac.
3012         see http://webkit.org/b/78832
3013
3014         * CMakeLists.txt:
3015         * DerivedSources.cpp:
3016         * DerivedSources.make:
3017         * DerivedSources.pri:
3018         * GNUmakefile.list.am:
3019         * Target.pri:
3020         * WebCore.gypi:
3021         * WebCore.xcodeproj/project.pbxproj:
3022         * dom/DOMAllInOne.cpp:
3023         * dom/EventDispatchMediator.cpp:
3024         (WebCore::FocusEventDispatchMediator::create):
3025         (WebCore):
3026         (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
3027         (WebCore::FocusEventDispatchMediator::dispatchEvent):
3028         (WebCore::BlurEventDispatchMediator::create):
3029         (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
3030         (WebCore::BlurEventDispatchMediator::dispatchEvent):
3031         * dom/EventDispatchMediator.h:
3032         (FocusEventDispatchMediator):
3033         (WebCore):
3034         (BlurEventDispatchMediator):
3035         * dom/EventFactory.in:
3036         * dom/FocusEvent.cpp: Removed.
3037         * dom/FocusEvent.h: Removed.
3038         * dom/FocusEvent.idl: Removed.
3039         * dom/Node.cpp:
3040         (WebCore::Node::dispatchFocusInEvent):
3041         (WebCore::Node::dispatchFocusOutEvent):
3042         * dom/UIEvent.cpp:
3043         (WebCore::FocusInEventDispatchMediator::create):
3044         (WebCore):
3045         (WebCore::FocusInEventDispatchMediator::FocusInEventDispatchMediator):
3046         (WebCore::FocusInEventDispatchMediator::dispatchEvent):
3047         (WebCore::FocusOutEventDispatchMediator::create):
3048         (WebCore::FocusOutEventDispatchMediator::FocusOutEventDispatchMediator):
3049         (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
3050         * dom/UIEvent.h:
3051         (FocusInEventDispatchMediator):
3052         (WebCore):
3053         (FocusOutEventDispatchMediator):
3054         * page/DOMWindow.idl:
3055
3056 2012-02-16  Mark Hahnenberg  <mhahnenberg@apple.com>
3057
3058         Another fix for viewport tests
3059
3060         No new tests.
3061
3062         * dom/ViewportArguments.cpp:
3063         (WebCore::numericPrefix): When we don't parse a number, we could either be 
3064         trying to parse junk, which returns NaN, or we could get an empty string, 
3065         which returns 0, so we need to account for that in the assert.
3066
3067 2012-02-16  Mark Hahnenberg  <mhahnenberg@apple.com>
3068
3069         Another build fix for viewport tests
3070
3071         No new tests.
3072
3073         * dom/ViewportArguments.cpp:
3074         (WebCore::numericPrefix): We now return NaN instead of 0 when we fail to 
3075         parse a number using charactersToFloatIgnoringJunk, so we need to assert that 
3076         we have NaN rather than 0.
3077
3078 2012-02-16  Alexandre Elias  <aelias@google.com>
3079
3080         [chromium] Bundle page scale factor and limits in CCLayerTreeHost
3081         https://bugs.webkit.org/show_bug.cgi?id=78762
3082
3083         Setting page scale factor and its limits in separate methods
3084         may cause clamping bugs if one of them makes it to the
3085         impl thread before the other.  Change the API to bundle them together,
3086         which matches the existing impl-side interface.
3087
3088         Reviewed by James Robinson.
3089
3090         No new tests (API change will disallow this type of bug).
3091
3092         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3093         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
3094         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
3095         (WebCore::CCLayerTreeHost::setPageScaleFactorAndLimits):
3096         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3097         (CCLayerTreeHost):
3098
3099 2012-02-16  Kentaro Hara  <haraken@chromium.org>
3100
3101         Unreviewed. Rebaselined run-bindings-tests results.
3102
3103         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
3104         (WebCore::JSTestEventConstructorConstructor::finishCreation):
3105         * bindings/scripts/test/JS/JSTestInterface.cpp:
3106         (WebCore::JSTestInterfaceConstructor::finishCreation):
3107         * bindings/scripts/test/JS/JSTestObj.cpp:
3108         (WebCore::JSTestObjConstructor::finishCreation):
3109         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3110         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
3111
3112 2012-02-16  Sami Kyostila  <skyostil@chromium.org>
3113
3114         [chromium] LayerChromium::setNeedsDisplay does not apply contents scale correctly
3115         https://bugs.webkit.org/show_bug.cgi?id=77464
3116
3117         Use bounds() instead of contentBounds() to calculate the region to mark
3118         as needing painting in LayerChromium::setNeedsDisplay(). contentBounds()
3119         includes contents scale, while bounds() does not.
3120
3121         Since this change also means that TiledLayerChromium::setNeedsDisplayRect() is
3122         given an unscaled rectangle, modify that function to scale the rectangle before
3123         using it to invalidate the underlying tiles.
3124
3125         Reviewed by James Robinson.
3126
3127         Tests: New tests added to LayerChromium and TiledLayerChromium unit tests.
3128
3129         * platform/graphics/chromium/LayerChromium.h:
3130         (WebCore::LayerChromium::setNeedsDisplay):
3131         * platform/graphics/chromium/TiledLayerChromium.cpp:
3132         (WebCore::TiledLayerChromium::setNeedsDisplayRect):
3133
3134 2012-02-16  Raymond Liu  <raymond.liu@intel.com>
3135
3136         Lazy init for DefaultAudioDestinationNode and OfflineAudioDestinationNode
3137         https://bugs.webkit.org/show_bug.cgi?id=76509
3138
3139         Reviewed by Eric Seidel.
3140
3141         No new tests required.
3142
3143         * webaudio/AudioDestinationNode.h:
3144         * webaudio/AudioNode.h:
3145         (WebCore::AudioNode::sampleRate):
3146         * webaudio/DefaultAudioDestinationNode.cpp:
3147         (WebCore::DefaultAudioDestinationNode::DefaultAudioDestinationNode):
3148         * webaudio/DefaultAudioDestinationNode.h:
3149         * webaudio/OfflineAudioDestinationNode.cpp:
3150         (WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
3151         * webaudio/OfflineAudioDestinationNode.h:
3152         (WebCore::OfflineAudioDestinationNode::sampleRate):
3153
3154 2012-02-16  Shinya Kawanaka  <shinyak@chromium.org>
3155
3156         [Refactoring] Remove location from NodeRenderingContext.
3157         https://bugs.webkit.org/show_bug.cgi?id=78796
3158
3159         Reviewed by Hajime Morita.
3160
3161         This is a simple refactoring to remove m_location from NodeRenderingContext.
3162         TreeLocation is merged into AttachPhase like the following.
3163             LocationUndertermined -> Calculating
3164             LocationNotInTree -> AttachingNotInTree
3165             LocationLightChild -> AttachingStraight / AttachingNotDistributed / AttachingDistributed
3166             LocationShadowChild -> AttachingStraight / AttachingShadowChild / AttachingFallback
3167
3168         We have renamed the enum items of AttachPhase, because not only <content> but also
3169         <shadow> will use the phases. Basically these words are taken from Shadow DOM spec.
3170         'Calculating' means NodeRenderingContext is used not for attaching but for calculating RenderObject.
3171
3172         No new tests, no change in behavior.
3173
3174         * dom/NodeRenderingContext.cpp:
3175         (WebCore::NodeRenderingContext::NodeRenderingContext):
3176         (WebCore::NodeRenderingContext::nextRenderer):
3177         (WebCore::NodeRenderingContext::previousRenderer):
3178         (WebCore::NodeRenderingContext::parentRenderer):
3179         (WebCore::NodeRenderingContext::shouldCreateRenderer):
3180         * dom/NodeRenderingContext.h:
3181         (NodeRenderingContext):
3182         (WebCore::NodeRenderingContext::parentNodeForRenderingAndStyle):
3183
3184 2012-02-16  Kent Tamura  <tkent@chromium.org>
3185
3186         Run sort-Xcode-project-file.
3187
3188         * WebCore.xcodeproj/project.pbxproj: Sorted.
3189
3190 2012-02-16  Mark Hahnenberg  <mhahnenberg@apple.com>
3191
3192         Another build fix for viewport tests
3193
3194         No new tests.
3195
3196         * dom/ViewportArguments.cpp:
3197         (WebCore::numericPrefix): We now return NaN instead of 0 when we fail to 
3198         parse a number using charactersToFloatIgnoringJunk, so we need to assert that 
3199         we have NaN rather than 0.
3200
3201 2012-02-15  Michael Nordman  <michaeln@google.com>
3202
3203         [chromium] Fix bugs in the implementation of WebDatabase::closeDatabaseImmediately.
3204         https://bugs.webkit.org/show_bug.cgi?id=78841
3205
3206         WebDatabase now delegates this function entirely to DatabaseTracker,
3207         a new closeDatabasesImmediately() has been added for that purpose. That
3208         method posts tasks to the appropiate context thread for each database
3209         instance that should be closed immediately.
3210
3211         The DatabaseTracker getAllOpenDatabases() method has been removed from
3212         the chromium impl because it's unsafe, refs cannot be safely taken on
3213         AbstractDatabase instances in the tracker's collection of open databases.
3214
3215         Add a message to the console log when a database is forcibly closed.
3216
3217         Transactions initiated on a database instance that has been forcibly
3218         closed complete with a transaction error callback.
3219         
3220         This is part of resolving http://crbug.com/98939
3221
3222         Reviewed by David Levin.
3223
3224         No new layout tests, there is no common code way to closeImmediately.
3225         We have coverage for this in py automation tests.
3226
3227         * platform/sql/SQLiteDatabase.cpp:
3228         The closeImmediately code path can result in the underlying sqlite3 handle being
3229         closed earlier than usual and trip some assertions. Updated the assertions to no
3230         longer trigger in this early close case.
3231         (WebCore::SQLiteDatabase::close):
3232         (WebCore::SQLiteDatabase::setMaximumSize):
3233         * platform/sql/SQLiteDatabase.h:
3234         (WebCore::SQLiteDatabase::sqlite3Handle):
3235
3236         * storage/Database.cpp:
3237         (WebCore::Database::closeImmediately): Modified to only be called on the context thread and to log a console message.
3238         (WebCore::Database::changeVersion): Use the private runTransaction helper method.
3239         (WebCore::Database::transaction): Pass a new param required by the runTransaction helper.
3240         (WebCore::Database::readTransaction): Ditto.
3241         (WebCore::callTransactionErrorCallback): Used to defer invocation of the error callback.
3242         (WebCore::Database::runTransaction): Modified to detect when the database has been closed, and
3243         to invoke the error callback in that case. This also avoids creating a reference cycle between
3244         a newly created transaction and the database that previously existed due to a transction being
3245         added and never removed from the Q while in this state.
3246         * storage/Database.h:
3247         * storage/DatabaseSync.cpp:
3248         (WebCore::DatabaseSync::closeImmediately): Modified to only be called on the context thread and to log a console message.
3249         * storage/DatabaseTracker.h:
3250
3251         * storage/chromium/DatabaseTrackerChromium.cpp:
3252         Posts tasks to the appropiate context thread for execution without bumping AbstractDatabase refcounts.
3253         (DatabaseTracker::CloseOneDatabaseImmediatelyTask):
3254         (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::create):
3255         (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::performTask):
3256         (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::CloseOneDatabaseImmediatelyTask):
3257         (WebCore::DatabaseTracker::closeDatabasesImmediately): 
3258         (WebCore::DatabaseTracker::closeOneDatabaseImmediately):
3259
3260 2012-02-16  Dana Jansens  <danakj@chromium.org>
3261
3262         [Chromium] Occlusion tracking with CSS filters
3263         https://bugs.webkit.org/show_bug.cgi?id=77498
3264
3265         Reviewed by James Robinson.
3266
3267         The new CSS filter support within the compositor changes how
3268         occlusion tracking needs to function. A filter can change the
3269         alpha value of pixels, making an otherwise opaque pixel no
3270         longer so. Secondly, a filter may move color values around
3271         on a surface, which can cause otherwise occluded areas to
3272         become visible and require painting.
3273
3274         New unit tests: CCLayerTreeHostTest.cpp
3275
3276         Tests: compositing/culling/filter-occlusion-alpha-large.html
3277                compositing/culling/filter-occlusion-alpha.html
3278                compositing/culling/filter-occlusion-blur-large.html
3279                compositing/culling/filter-occlusion-blur.html
3280
3281         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
3282         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
3283         * platform/graphics/chromium/RenderSurfaceChromium.h:
3284         (WebCore::RenderSurfaceChromium::setFilters):
3285         (WebCore::RenderSurfaceChromium::filters):
3286         (WebCore::RenderSurfaceChromium::setNearestAncestorThatMovesPixels):
3287         (WebCore::RenderSurfaceChromium::nearestAncestorThatMovesPixels):
3288         (RenderSurfaceChromium):
3289         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3290         (WebCore::enterTargetRenderSurface):
3291         (WebCore::CCLayerTreeHost::paintLayerContents):
3292         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
3293         (WebCore::subtreeShouldRenderToSeparateSurface):
3294         (WebCore::calculateDrawTransformsAndVisibilityInternal):
3295         (WebCore::CCLayerTreeHostCommon::calculateDrawTransformsAndVisibility):
3296         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
3297         (WebCore::CCRenderSurface::CCRenderSurface):
3298         * platform/graphics/chromium/cc/CCRenderSurface.h:
3299         (WebCore::CCRenderSurface::setNearestAncestorThatMovesPixels):
3300         (WebCore::CCRenderSurface::nearestAncestorThatMovesPixels):
3301         (CCRenderSurface):
3302         * platform/graphics/filters/FilterOperation.h:
3303         (FilterOperation):
3304         (WebCore::FilterOperation::affectsOpacity):
3305         (WebCore::FilterOperation::movesPixels):
3306         (WebCore::ReferenceFilterOperation::affectsOpacity):
3307         (WebCore::ReferenceFilterOperation::movesPixels):
3308         (ReferenceFilterOperation):
3309         (WebCore::BasicComponentTransferFilterOperation::affectsOpacity):
3310         (BasicComponentTransferFilterOperation):
3311         (WebCore::BlurFilterOperation::affectsOpacity):
3312         (WebCore::BlurFilterOperation::movesPixels):
3313         (BlurFilterOperation):
3314         (WebCore::DropShadowFilterOperation::affectsOpacity):
3315         (DropShadowFilterOperation):
3316         * platform/graphics/filters/FilterOperations.cpp:
3317         (WebCore::FilterOperations::hasFilterThatAffectsOpacity):
3318         (WebCore):
3319         (WebCore::FilterOperations::hasFilterThatMovesPixels):
3320         * platform/graphics/filters/FilterOperations.h:
3321         (WebCore::FilterOperations::isEmpty):
3322         (FilterOperations):
3323
3324 2012-02-16  Leo Yang  <leo.yang@torchmobile.com.cn>
3325
3326         [BlackBerry] Adapt to the removal of WebStringIml.h
3327         https://bugs.webkit.org/show_bug.cgi?id=78784
3328
3329         Reviewed by Antonio Gomes.
3330
3331         WebKit/blackberry/WebCoreSupport/WebStringImpl.h which hasn't been upstreamed
3332         has been removed internally. We should adapt to this removal for the
3333         upstreamed part of the BlackBerry port. Actually WebStringImpl is not necessary
3334         because it just inherits from WTF::StringImpl but adding nothing.
3335
3336         No functionalities changed, no new tests.
3337
3338         * platform/text/blackberry/StringBlackBerry.cpp:
3339         (WTF::String::operator WebString):
3340
3341 2012-02-15  Geoffrey Garen  <ggaren@apple.com>
3342
3343         Made Weak<T> single-owner, adding PassWeak<T>
3344         https://bugs.webkit.org/show_bug.cgi?id=78740
3345
3346         Reviewed by Sam Weinig.
3347
3348         * bindings/js/JSDOMBinding.cpp:
3349         (WebCore::jsStringSlowCase): Use PassWeak<T>, as required by our new
3350         hash map API.
3351
3352         * bindings/js/JSDOMBinding.h:
3353         (WebCore::getCachedWrapper):
3354         (WebCore::cacheWrapper): Use PassWeak<T> and raw pointer, as required by
3355         our new hash map API.
3356
3357         * bindings/js/JSEventListener.h:
3358         (WebCore::JSEventListener::setWrapper):
3359         * bindings/js/ScriptWrappable.h:
3360         (WebCore::ScriptWrappable::setWrapper):
3361         * bridge/jsc/BridgeJSC.cpp:
3362         (JSC::Bindings::Instance::createRuntimeObject):
3363         * bridge/runtime_root.cpp:
3364         (JSC::Bindings::RootObject::addRuntimeObject): Use PassWeak<T>, as
3365         required by our new hash map and Weak<T> APIs.
3366
3367 2012-02-16  Ryosuke Niwa  <rniwa@webkit.org>
3368
3369         Crash in visiblePositionForIndex
3370         https://bugs.webkit.org/show_bug.cgi?id=77683
3371
3372         Reviewed by Eric Seidel.
3373
3374         Fixed the crash.
3375
3376         Test: editing/execCommand/applyblockelement-visiblepositionforindex-crash.html
3377
3378         * editing/ApplyBlockElementCommand.cpp:
3379         (WebCore::ApplyBlockElementCommand::doApply):
3380         * editing/InsertListCommand.cpp:
3381         (WebCore::InsertListCommand::doApply):
3382         * editing/htmlediting.cpp:
3383         (WebCore::indexForVisiblePosition):
3384         * editing/htmlediting.h:
3385         (WebCore):
3386
3387 2012-02-16  Matthew Delaney  <mdelaney@apple.com>
3388
3389         ShadowBlur.cpp's cached content matching needs to consider m_layerSize changes
3390         https://bugs.webkit.org/show_bug.cgi?id=78765
3391
3392         Reviewed by Simon Fraser.
3393
3394         No new tests due to the flaky nature of reproducing the issue.
3395
3396         * platform/graphics/ShadowBlur.cpp:
3397         (WebCore::ScratchBuffer::getScratchBuffer): Make sure to call clearScratchBuffer()
3398         when we create a new ImageBuffer in order to invalidate cached values.
3399         (WebCore::ScratchBuffer::setCachedShadowValues): Roll together matching and setting
3400         of cached values into one method to enforce them being the same.
3401         (WebCore::ScratchBuffer::setCachedInsetShadowValues): Ditto.
3402
3403         Restructure to use new method described above.
3404         (WebCore::ShadowBlur::drawRectShadowWithoutTiling): 
3405         (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
3406         (WebCore::ShadowBlur::drawInsetShadowWithTiling):
3407         (WebCore::ShadowBlur::drawRectShadowWithTiling):
3408         (WebCore::ShadowBlur::beginShadowLayer):
3409
3410 2012-02-16  Dana Jansens  <danakj@chromium.org>
3411
3412         [chromium] Empty divs not transforming overflow correctly
3413         https://bugs.webkit.org/show_bug.cgi?id=78850
3414
3415         Reviewed by James Robinson.
3416
3417         Test: compositing/overflow/transform-in-empty-container.html
3418
3419         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3420         (WebCore::GraphicsLayerChromium::setSize):
3421
3422 2012-02-16  Emil A Eklund  <eae@chromium.org>
3423
3424         Fix use of long long in FractionalLayoutUnit::setRawValue
3425         https://bugs.webkit.org/show_bug.cgi?id=78835
3426
3427         Reviewed by Eric Seidel.
3428
3429         Change setRawValue(long long) to compare against int min and max instead
3430         of using abs as not all platforms we support implement a long long
3431         version of abs or llabs.
3432
3433         No new tests.
3434
3435         * platform/FractionalLayoutUnit.h:
3436         (WebCore::FractionalLayoutUnit::setRawValue):
3437         Compare against int min/max instead of just max with abs.
3438         
3439         (WebCore::FractionalLayoutUnit::isInBounds):
3440         Fix type mismatch warning.
3441         
3442         (WebCore::operator==):
3443         Fix typo.
3444         
3445         (WebCore::operator*):
3446         Use long long version of setRawValue.
3447
3448 2012-02-15  Shinya Kawanaka  <shinyak@chromium.org>
3449
3450         Add an internal flag to accept multiple shadow roots for the purpose of tests.
3451         https://bugs.webkit.org/show_bug.cgi?id=78453
3452
3453         Reviewed by Hajime Morita.
3454
3455         This patch introduces a flag to enable multiple shadow subtrees.
3456         This flag is intended to be used for testing purpose for a while.
3457         We will remove it later.
3458
3459         No new tests, no change in behavior.
3460
3461         * WebCore.exp.in:
3462         * bindings/generic/RuntimeEnabledFeatures.cpp:
3463         (WebCore):
3464         * bindings/generic/RuntimeEnabledFeatures.h:
3465         (RuntimeEnabledFeatures):
3466         (WebCore::RuntimeEnabledFeatures::multipleShadowSubtreesEnabled):
3467         (WebCore::RuntimeEnabledFeatures::setMultipleShadowSubtreesEnabled):
3468         * dom/ShadowRoot.cpp:
3469         (WebCore::ShadowRoot::create):
3470         * dom/ShadowRootList.cpp:
3471         (WebCore::ShadowRootList::pushShadowRoot):
3472         * testing/Internals.cpp:
3473         (WebCore::Internals::setMultipleShadowSubtreesEnabled):
3474         (WebCore):
3475         * testing/Internals.h:
3476         (Internals):
3477         * testing/Internals.idl:
3478
3479 2012-02-16  Mark Hahnenberg  <mhahnenberg@apple.com>
3480
3481         Fix the broken viewport tests
3482         https://bugs.webkit.org/show_bug.cgi?id=78774
3483
3484         Reviewed by Kenneth Rohde Christiansen.
3485
3486         No new tests.
3487
3488         * dom/ViewportArguments.cpp:
3489         (WebCore::numericPrefix): Changed to use the new charactersToFloatWithJunk function(s).
3490
3491 2012-02-16  Cris Neckar  <cdn@chromium.org>
3492
3493         Very large strings could cause the new quoted string to wrap.
3494         https://bugs.webkit.org/show_bug.cgi?id=78387
3495
3496         Reviewed by Eric Seidel.
3497
3498         * css/CSSParser.cpp:
3499         (WebCore::quoteCSSString):
3500
3501 2012-02-16  Eric Seidel  <eric@webkit.org>
3502
3503         Add a themeChromiumAndroid.css file for android-specific default styles
3504         https://bugs.webkit.org/show_bug.cgi?id=78547
3505
3506         Reviewed by Adam Barth.
3507
3508         This includes the themeChromiumAndroid.css file from the Chromium-Android port