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