Do touch adjustment on GestureTapDown
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-09-19  Rick Byers  <rbyers@chromium.org>
2
3         Do touch adjustment on GestureTapDown
4         https://bugs.webkit.org/show_bug.cgi?id=96677
5
6         Reviewed by Antonio Gomes.
7
8         Do touch adjustment on GestureTapDown exactly as for GestureTap today.
9
10         Test: touchadjustment/touch-links-active.html
11
12         * page/EventHandler.cpp:
13         (WebCore::EventHandler::handleGestureEvent):
14         (WebCore::EventHandler::adjustGesturePosition):
15
16 2012-09-19  Vsevolod Vlasov  <vsevik@chromium.org>
17
18         Unreviewed another follow up Apple Win build fix for r128992.
19
20         * inspector/InspectorAllInOne.cpp:
21
22 2012-09-19  Carlos Garcia Campos  <cgarcia@igalia.com>
23
24         [GTK] REGRESSION(r128907): it broke several WebKit2 API tests
25         https://bugs.webkit.org/show_bug.cgi?id=97092
26
27         Reviewed by Martin Robinson.
28
29         Calling resizeLater() from the constructor of
30         RedirectedXCompositeWindow can cause the callback to be called
31         later by the main loop after the RedirectedXCompositeWindow object
32         has been destroyed. Instead of calling resizeLater(), initialize
33         the usable size to the given initial size.
34
35         * platform/gtk/RedirectedXCompositeWindow.cpp:
36         (WebCore::RedirectedXCompositeWindow::RedirectedXCompositeWindow):
37
38 2012-09-19  Vsevolod Vlasov  <vsevik@chromium.org>
39
40         Unreviewed follow up Apple Win build fix for r128992.
41
42         * inspector/InspectorAllInOne.cpp:
43
44 2012-09-19  Andrey Adaikin  <aandrey@chromium.org>
45
46         Web Inspector: [WebGL] -> [Canvas] Rename WebGLAgent to CanvasAgent
47         https://bugs.webkit.org/show_bug.cgi?id=96917
48
49         Reviewed by Vsevolod Vlasov.
50
51         Rename WebGLAgent* and WebGLInstrumentation* files to Canvas* as we will support both 2D and 3D/WebGL canvas instrumentation.
52
53         * CMakeLists.txt:
54         * DerivedSources.make:
55         * DerivedSources.pri:
56         * GNUmakefile.am:
57         * GNUmakefile.list.am:
58         * Target.pri:
59         * WebCore.gyp/WebCore.gyp:
60         * WebCore.gypi:
61         * WebCore.vcproj/WebCore.vcproj:
62         * WebCore.xcodeproj/project.pbxproj:
63         * bindings/js/JSHTMLCanvasElementCustom.cpp:
64         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
65         * inspector/CodeGeneratorInspector.py:
66         * inspector/InjectedScriptCanvasModule.cpp: Renamed from Source/WebCore/inspector/InjectedScriptWebGLModule.cpp.
67         (WebCore):
68         (WebCore::InjectedScriptCanvasModule::InjectedScriptCanvasModule):
69         (WebCore::InjectedScriptCanvasModule::moduleForState):
70         (WebCore::InjectedScriptCanvasModule::source):
71         (WebCore::InjectedScriptCanvasModule::wrapWebGLContext):
72         (WebCore::InjectedScriptCanvasModule::captureFrame):
73         (WebCore::InjectedScriptCanvasModule::dropTraceLog):
74         (WebCore::InjectedScriptCanvasModule::traceLog):
75         (WebCore::InjectedScriptCanvasModule::replayTraceLog):
76         * inspector/InjectedScriptCanvasModule.h: Renamed from Source/WebCore/inspector/InjectedScriptWebGLModule.h.
77         (WebCore):
78         (InjectedScriptCanvasModule):
79         * inspector/InjectedScriptCanvasModuleSource.js: Renamed from Source/WebCore/inspector/InjectedScriptWebGLModuleSource.js.
80         (.):
81         * inspector/Inspector.json:
82         * inspector/InspectorAllInOne.cpp:
83         * inspector/InspectorCanvasAgent.cpp: Renamed from Source/WebCore/inspector/InspectorWebGLAgent.cpp.
84         (WebCore):
85         (CanvasAgentState):
86         (WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
87         (WebCore::InspectorCanvasAgent::~InspectorCanvasAgent):
88         (WebCore::InspectorCanvasAgent::setFrontend):
89         (WebCore::InspectorCanvasAgent::clearFrontend):
90         (WebCore::InspectorCanvasAgent::restore):
91         (WebCore::InspectorCanvasAgent::enable):
92         (WebCore::InspectorCanvasAgent::disable):
93         (WebCore::InspectorCanvasAgent::dropTraceLog):
94         (WebCore::InspectorCanvasAgent::captureFrame):
95         (WebCore::InspectorCanvasAgent::getTraceLog):
96         (WebCore::InspectorCanvasAgent::replayTraceLog):
97         (WebCore::InspectorCanvasAgent::wrapWebGLRenderingContextForInstrumentation):
98         (WebCore::InspectorCanvasAgent::injectedScriptCanvasModuleForTraceLogId):
99         * inspector/InspectorCanvasAgent.h: Renamed from Source/WebCore/inspector/InspectorWebGLAgent.h.
100         (WebCore):
101         (InspectorCanvasAgent):
102         (WebCore::InspectorCanvasAgent::create):
103         (WebCore::InspectorCanvasAgent::enabled):
104         * inspector/InspectorCanvasInstrumentation.h: Renamed from Source/WebCore/inspector/InspectorWebGLInstrumentation.h.
105         (WebCore):
106         (WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation):
107         * inspector/InspectorController.cpp:
108         (WebCore::InspectorController::InspectorController):
109         * inspector/InstrumentingAgents.h:
110         (WebCore):
111         (WebCore::InstrumentingAgents::InstrumentingAgents):
112         (WebCore::InstrumentingAgents::inspectorCanvasAgent):
113         (WebCore::InstrumentingAgents::setInspectorCanvasAgent):
114         (InstrumentingAgents):
115         * inspector/compile-front-end.py:
116         * inspector/front-end/CanvasProfileView.js: Renamed from Source/WebCore/inspector/front-end/WebGLProfileView.js.
117         (WebInspector.CanvasProfileView):
118         (WebInspector.CanvasProfileView.prototype.dispose):
119         (WebInspector.CanvasProfileView.prototype.get statusBarItems):
120         (WebInspector.CanvasProfileView.prototype.get profile):
121         (WebInspector.CanvasProfileView.prototype.wasShown):
122         (WebInspector.CanvasProfileView.prototype.willHide):
123         (WebInspector.CanvasProfileView.prototype._showTraceLog):
124         (WebInspector.CanvasProfileView.prototype._onTraceLogItemClick.didReplayTraceLog):
125         (WebInspector.CanvasProfileView.prototype._onTraceLogItemClick):
126         (WebInspector.CanvasProfileType):
127         (WebInspector.CanvasProfileType.prototype.get buttonTooltip):
128         (WebInspector.CanvasProfileType.prototype.buttonClicked.didStartCapturingFrame):
129         (WebInspector.CanvasProfileType.prototype.buttonClicked):
130         (WebInspector.CanvasProfileType.prototype.get treeItemTitle):
131         (WebInspector.CanvasProfileType.prototype.get description):
132         (WebInspector.CanvasProfileType.prototype.reset):
133         (WebInspector.CanvasProfileType.prototype.createTemporaryProfile):
134         (WebInspector.CanvasProfileType.prototype.createProfile):
135         (WebInspector.CanvasProfileHeader):
136         (WebInspector.CanvasProfileHeader.prototype.traceLogId):
137         (WebInspector.CanvasProfileHeader.prototype.createSidebarTreeElement):
138         (WebInspector.CanvasProfileHeader.prototype.createView):
139         * inspector/front-end/ProfilesPanel.js:
140         (WebInspector.ProfilesPanel):
141         * inspector/front-end/Settings.js:
142         (WebInspector.ExperimentsSettings):
143         * inspector/front-end/WebKit.qrc:
144         * inspector/front-end/canvasProfiler.css: Renamed from Source/WebCore/inspector/front-end/webGLProfiler.css.
145         (.canvas-profile-view):
146         (.canvas-trace-log):
147         (.canvas-trace-log div):
148         (#canvas-replay-image-container):
149         (#canvas-replay-image):
150
151 2012-09-19  Carlos Garcia Campos  <cgarcia@igalia.com>
152
153         [GTK] Add API to get/set the security policy of a given URI scheme to WebKit2 GTK+
154         https://bugs.webkit.org/show_bug.cgi?id=96497
155
156         Reviewed by Martin Robinson.
157
158         * WebCore.exp.in: Add new exported symbols.
159
160 2012-09-19  Patrick Gansterer  <paroga@webkit.org>
161
162         [WIN] Use BString in favour of BSTR to improve memory management
163         https://bugs.webkit.org/show_bug.cgi?id=93128
164
165         Reviewed by Anders Carlsson.
166
167         BString automatically calls SysFreeString() in its destructor which helps
168         avoiding memory leaks. So it should be used instead of BSTR directly.
169         Add operator& to BString to allow its usage for out parameters too (like COMPtr).
170         This fixes already a few memory leaks in the existing code.
171
172         * platform/win/BString.cpp:
173         (WebCore::BString::~BString):
174         (WebCore::BString::adoptBSTR):
175         (WebCore::BString::clear):
176         (WebCore):
177         * platform/win/BString.h:
178         (BString):
179         (WebCore::BString::operator&):
180
181 2012-09-19  Simon Hausmann  <simon.hausmann@digia.com>
182
183         [Qt] Link failure with bfd linker on --minimal build
184         https://bugs.webkit.org/show_bug.cgi?id=97075
185
186         Reviewed by Tor Arne Vestbø.
187
188         Fix two dependency errors triggered by --minimal:
189
190         - GStreamerVersioning.cpp uses functions from libgstvideo (gst_video_format_parse_caps), so we need to pull
191         that module not only when video is enabled by generally when using gstreamer.
192         - GraphicsSurfaceGLX depends on Xlib (XOpenDisplay, etc.), so we need to do CONFIG += x11 to get that and not
193         implicitly rely on x11 netscape plugins being enabled.
194
195         * WebCore.pri:
196
197 2012-09-19  Tommy Widenflycht  <tommyw@google.com>
198
199         MediaStream API: Rename the RTCIceServer uri parameter to url.
200         https://bugs.webkit.org/show_bug.cgi?id=97086
201
202         Reviewed by Hajime Morita.
203
204         Either the standard has changed or I can't read.
205         http://dev.w3.org/2011/webrtc/editor/webrtc.html#dictionary-rtciceserver-members
206
207         Existing tests changed to cover this patch.
208
209         * Modules/mediastream/RTCPeerConnection.cpp:
210         (WebCore::RTCPeerConnection::parseConfiguration):
211
212 2012-09-19  Sheriff Bot  <webkit.review.bot@gmail.com>
213
214         Unreviewed, rolling out r128976.
215         http://trac.webkit.org/changeset/128976
216         https://bugs.webkit.org/show_bug.cgi?id=97083
217
218         Breaks compilation on QT, Apple WIn (Requested by vsevik on
219         #webkit).
220
221         * CMakeLists.txt:
222         * DerivedSources.make:
223         * DerivedSources.pri:
224         * GNUmakefile.am:
225         * GNUmakefile.list.am:
226         * Target.pri:
227         * WebCore.gyp/WebCore.gyp:
228         * WebCore.gypi:
229         * WebCore.vcproj/WebCore.vcproj:
230         * WebCore.xcodeproj/project.pbxproj:
231         * bindings/js/JSHTMLCanvasElementCustom.cpp:
232         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
233         * inspector/CodeGeneratorInspector.py:
234         * inspector/InjectedScriptWebGLModule.cpp: Renamed from Source/WebCore/inspector/InjectedScriptCanvasModule.cpp.
235         (WebCore):
236         (WebCore::InjectedScriptWebGLModule::InjectedScriptWebGLModule):
237         (WebCore::InjectedScriptWebGLModule::moduleForState):
238         (WebCore::InjectedScriptWebGLModule::source):
239         (WebCore::InjectedScriptWebGLModule::wrapWebGLContext):
240         (WebCore::InjectedScriptWebGLModule::captureFrame):
241         (WebCore::InjectedScriptWebGLModule::dropTraceLog):
242         (WebCore::InjectedScriptWebGLModule::traceLog):
243         (WebCore::InjectedScriptWebGLModule::replayTraceLog):
244         * inspector/InjectedScriptWebGLModule.h: Renamed from Source/WebCore/inspector/InjectedScriptCanvasModule.h.
245         (WebCore):
246         (InjectedScriptWebGLModule):
247         * inspector/InjectedScriptWebGLModuleSource.js: Renamed from Source/WebCore/inspector/InjectedScriptCanvasModuleSource.js.
248         (.):
249         * inspector/Inspector.json:
250         * inspector/InspectorAllInOne.cpp:
251         * inspector/InspectorController.cpp:
252         (WebCore::InspectorController::InspectorController):
253         * inspector/InspectorWebGLAgent.cpp: Renamed from Source/WebCore/inspector/InspectorCanvasAgent.cpp.
254         (WebCore):
255         (WebGLAgentState):
256         (WebCore::InspectorWebGLAgent::InspectorWebGLAgent):
257         (WebCore::InspectorWebGLAgent::~InspectorWebGLAgent):
258         (WebCore::InspectorWebGLAgent::setFrontend):
259         (WebCore::InspectorWebGLAgent::clearFrontend):
260         (WebCore::InspectorWebGLAgent::restore):
261         (WebCore::InspectorWebGLAgent::enable):
262         (WebCore::InspectorWebGLAgent::disable):
263         (WebCore::InspectorWebGLAgent::dropTraceLog):
264         (WebCore::InspectorWebGLAgent::captureFrame):
265         (WebCore::InspectorWebGLAgent::getTraceLog):
266         (WebCore::InspectorWebGLAgent::replayTraceLog):
267         (WebCore::InspectorWebGLAgent::wrapWebGLRenderingContextForInstrumentation):
268         (WebCore::InspectorWebGLAgent::injectedScriptWebGLModuleForTraceLogId):
269         * inspector/InspectorWebGLAgent.h: Renamed from Source/WebCore/inspector/InspectorCanvasAgent.h.
270         (WebCore):
271         (InspectorWebGLAgent):
272         (WebCore::InspectorWebGLAgent::create):
273         (WebCore::InspectorWebGLAgent::enabled):
274         * inspector/InspectorWebGLInstrumentation.h: Renamed from Source/WebCore/inspector/InspectorCanvasInstrumentation.h.
275         (WebCore):
276         (WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation):
277         * inspector/InstrumentingAgents.h:
278         (WebCore):
279         (WebCore::InstrumentingAgents::InstrumentingAgents):
280         (InstrumentingAgents):
281         (WebCore::InstrumentingAgents::inspectorWebGLAgent):
282         (WebCore::InstrumentingAgents::setInspectorWebGLAgent):
283         * inspector/compile-front-end.py:
284         * inspector/front-end/ProfilesPanel.js:
285         (WebInspector.ProfilesPanel):
286         * inspector/front-end/Settings.js:
287         (WebInspector.ExperimentsSettings):
288         * inspector/front-end/WebGLProfileView.js: Renamed from Source/WebCore/inspector/front-end/CanvasProfileView.js.
289         (WebInspector.WebGLProfileView):
290         (WebInspector.WebGLProfileView.prototype.dispose):
291         (WebInspector.WebGLProfileView.prototype.get statusBarItems):
292         (WebInspector.WebGLProfileView.prototype.get profile):
293         (WebInspector.WebGLProfileView.prototype.wasShown):
294         (WebInspector.WebGLProfileView.prototype.willHide):
295         (WebInspector.WebGLProfileView.prototype._showTraceLog):
296         (WebInspector.WebGLProfileView.prototype._onTraceLogItemClick.didReplayTraceLog):
297         (WebInspector.WebGLProfileView.prototype._onTraceLogItemClick):
298         (WebInspector.WebGLProfileType):
299         (WebInspector.WebGLProfileType.prototype.get buttonTooltip):
300         (WebInspector.WebGLProfileType.prototype.buttonClicked.didStartCapturingFrame):
301         (WebInspector.WebGLProfileType.prototype.buttonClicked):
302         (WebInspector.WebGLProfileType.prototype.get treeItemTitle):
303         (WebInspector.WebGLProfileType.prototype.get description):
304         (WebInspector.WebGLProfileType.prototype.reset):
305         (WebInspector.WebGLProfileType.prototype.createTemporaryProfile):
306         (WebInspector.WebGLProfileType.prototype.createProfile):
307         (WebInspector.WebGLProfileHeader):
308         (WebInspector.WebGLProfileHeader.prototype.traceLogId):
309         (WebInspector.WebGLProfileHeader.prototype.createSidebarTreeElement):
310         (WebInspector.WebGLProfileHeader.prototype.createView):
311         * inspector/front-end/WebKit.qrc:
312         * inspector/front-end/webGLProfiler.css: Renamed from Source/WebCore/inspector/front-end/canvasProfiler.css.
313         (.webgl-profile-view):
314         (.webgl-trace-log):
315         (.webgl-trace-log div):
316         (#webgl-replay-image-container):
317         (#webgl-replay-image):
318
319 2012-09-19  Simon Hausmann  <simon.hausmann@digia.com>
320
321         [Qt][Win] Fix rendering of flash content when scrolling
322         https://bugs.webkit.org/show_bug.cgi?id=92905
323
324         Reviewed by Jocelyn Turcotte.
325
326         Fix rendering offset similar to r121441.
327
328         * plugins/win/PluginViewWin.cpp:
329         (WebCore::PluginView::paint):
330         (WebCore::PluginView::setNPWindowRect):
331
332 2012-09-19  Andrey Adaikin  <aandrey@chromium.org>
333
334         Web Inspector: [WebGL] -> [Canvas] Rename WebGLAgent to CanvasAgent
335         https://bugs.webkit.org/show_bug.cgi?id=96917
336
337         Reviewed by Vsevolod Vlasov.
338
339         Rename WebGLAgent* and WebGLInstrumentation* files to Canvas* as we will support both 2D and 3D/WebGL canvas instrumentation.
340
341         * CMakeLists.txt:
342         * DerivedSources.make:
343         * DerivedSources.pri:
344         * GNUmakefile.am:
345         * GNUmakefile.list.am:
346         * Target.pri:
347         * WebCore.gyp/WebCore.gyp:
348         * WebCore.gypi:
349         * WebCore.vcproj/WebCore.vcproj:
350         * WebCore.xcodeproj/project.pbxproj:
351         * bindings/js/JSHTMLCanvasElementCustom.cpp:
352         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
353         * inspector/CodeGeneratorInspector.py:
354         * inspector/InjectedScriptCanvasModule.cpp: Renamed from Source/WebCore/inspector/InjectedScriptWebGLModule.cpp.
355         (WebCore):
356         (WebCore::InjectedScriptCanvasModule::InjectedScriptCanvasModule):
357         (WebCore::InjectedScriptCanvasModule::moduleForState):
358         (WebCore::InjectedScriptCanvasModule::source):
359         (WebCore::InjectedScriptCanvasModule::wrapWebGLContext):
360         (WebCore::InjectedScriptCanvasModule::captureFrame):
361         (WebCore::InjectedScriptCanvasModule::dropTraceLog):
362         (WebCore::InjectedScriptCanvasModule::traceLog):
363         (WebCore::InjectedScriptCanvasModule::replayTraceLog):
364         * inspector/InjectedScriptCanvasModule.h: Renamed from Source/WebCore/inspector/InjectedScriptWebGLModule.h.
365         (WebCore):
366         (InjectedScriptCanvasModule):
367         * inspector/InjectedScriptCanvasModuleSource.js: Renamed from Source/WebCore/inspector/InjectedScriptWebGLModuleSource.js.
368         (.):
369         * inspector/Inspector.json:
370         * inspector/InspectorAllInOne.cpp:
371         * inspector/InspectorCanvasAgent.cpp: Renamed from Source/WebCore/inspector/InspectorWebGLAgent.cpp.
372         (WebCore):
373         (CanvasAgentState):
374         (WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
375         (WebCore::InspectorCanvasAgent::~InspectorCanvasAgent):
376         (WebCore::InspectorCanvasAgent::setFrontend):
377         (WebCore::InspectorCanvasAgent::clearFrontend):
378         (WebCore::InspectorCanvasAgent::restore):
379         (WebCore::InspectorCanvasAgent::enable):
380         (WebCore::InspectorCanvasAgent::disable):
381         (WebCore::InspectorCanvasAgent::dropTraceLog):
382         (WebCore::InspectorCanvasAgent::captureFrame):
383         (WebCore::InspectorCanvasAgent::getTraceLog):
384         (WebCore::InspectorCanvasAgent::replayTraceLog):
385         (WebCore::InspectorCanvasAgent::wrapWebGLRenderingContextForInstrumentation):
386         (WebCore::InspectorCanvasAgent::injectedScriptCanvasModuleForTraceLogId):
387         * inspector/InspectorCanvasAgent.h: Renamed from Source/WebCore/inspector/InspectorWebGLAgent.h.
388         (WebCore):
389         (InspectorCanvasAgent):
390         (WebCore::InspectorCanvasAgent::create):
391         (WebCore::InspectorCanvasAgent::enabled):
392         * inspector/InspectorCanvasInstrumentation.h: Renamed from Source/WebCore/inspector/InspectorWebGLInstrumentation.h.
393         (WebCore):
394         (WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation):
395         * inspector/InspectorController.cpp:
396         (WebCore::InspectorController::InspectorController):
397         * inspector/InstrumentingAgents.h:
398         (WebCore):
399         (WebCore::InstrumentingAgents::InstrumentingAgents):
400         (WebCore::InstrumentingAgents::inspectorCanvasAgent):
401         (WebCore::InstrumentingAgents::setInspectorCanvasAgent):
402         (InstrumentingAgents):
403         * inspector/compile-front-end.py:
404         * inspector/front-end/CanvasProfileView.js: Renamed from Source/WebCore/inspector/front-end/WebGLProfileView.js.
405         (WebInspector.CanvasProfileView):
406         (WebInspector.CanvasProfileView.prototype.dispose):
407         (WebInspector.CanvasProfileView.prototype.get statusBarItems):
408         (WebInspector.CanvasProfileView.prototype.get profile):
409         (WebInspector.CanvasProfileView.prototype.wasShown):
410         (WebInspector.CanvasProfileView.prototype.willHide):
411         (WebInspector.CanvasProfileView.prototype._showTraceLog):
412         (WebInspector.CanvasProfileView.prototype._onTraceLogItemClick.didReplayTraceLog):
413         (WebInspector.CanvasProfileView.prototype._onTraceLogItemClick):
414         (WebInspector.CanvasProfileType):
415         (WebInspector.CanvasProfileType.prototype.get buttonTooltip):
416         (WebInspector.CanvasProfileType.prototype.buttonClicked.didStartCapturingFrame):
417         (WebInspector.CanvasProfileType.prototype.buttonClicked):
418         (WebInspector.CanvasProfileType.prototype.get treeItemTitle):
419         (WebInspector.CanvasProfileType.prototype.get description):
420         (WebInspector.CanvasProfileType.prototype.reset):
421         (WebInspector.CanvasProfileType.prototype.createTemporaryProfile):
422         (WebInspector.CanvasProfileType.prototype.createProfile):
423         (WebInspector.CanvasProfileHeader):
424         (WebInspector.CanvasProfileHeader.prototype.traceLogId):
425         (WebInspector.CanvasProfileHeader.prototype.createSidebarTreeElement):
426         (WebInspector.CanvasProfileHeader.prototype.createView):
427         * inspector/front-end/ProfilesPanel.js:
428         (WebInspector.ProfilesPanel):
429         * inspector/front-end/Settings.js:
430         (WebInspector.ExperimentsSettings):
431         * inspector/front-end/WebKit.qrc:
432         * inspector/front-end/canvasProfiler.css: Renamed from Source/WebCore/inspector/front-end/webGLProfiler.css.
433         (.canvas-profile-view):
434         (.canvas-trace-log):
435         (.canvas-trace-log div):
436         (#canvas-replay-image-container):
437         (#canvas-replay-image):
438
439 2012-09-18  Kenichi Ishibashi  <bashi@chromium.org>
440
441         [Chromium] SkiaGetGlyphWidthAndExtents() should invert y-axis
442         https://bugs.webkit.org/show_bug.cgi?id=97067
443
444         Reviewed by Yuta Kitamura.
445
446         Invert skBounds.fTop and skBounds.height(). Don't call hb_font_set_ppem().
447
448         No new tests. Arabic shadda (U+0651) should be placed more higher when Arabic lam (U+0644) follows it.
449         Tests under svg/W3C-I18N contain such sequences so these tests cover this change.
450
451         * platform/graphics/harfbuzz/ng/HarfBuzzNGFaceSkia.cpp:
452         (WebCore::SkiaGetGlyphWidthAndExtents):
453         (WebCore::HarfBuzzNGFace::createFont):
454
455 2012-09-18  Kenichi Ishibashi  <bashi@chromium.org>
456
457         [Chromium] Don't treat tab as spaces for word-end in HarfBuzzShaper
458         https://bugs.webkit.org/show_bug.cgi?id=97068
459
460         Reviewed by Yuta Kitamura.
461
462         No new tests. fast/text/wide-zero-width-space.html should cover this change.
463
464         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
465         (WebCore::normalizeCharacters): Don't treat tab as space.
466
467 2012-09-18  Eric Carlson  <eric.carlson@apple.com>
468
469         Check settings before registering AVFoundation media engine.
470         https://bugs.webkit.org/show_bug.cgi?id=97048
471         <rdar://problem/12313594>
472
473         Reviewed by Dan Bernstein.
474
475         Fix the bug introduced in r122676.
476
477         * platform/graphics/MediaPlayer.cpp:
478         (WebCore::installedMediaEngines): Uncomment the call to check AVFoundation settings.
479
480 2012-09-18  Sailesh Agrawal  <sail@chromium.org>
481
482         Chromium: Scrollbar with tickmarks doesn't respond to clicks
483         https://bugs.webkit.org/show_bug.cgi?id=96049
484
485         Reviewed by Beth Dakin.
486
487         Currently when a scrollbar has tickmarks its forced to be visible by setting its alpha to 1.0. The alpha value is reset to its old value at the end of the drawing routine. This approach doesn't work with the hit testing code which relies on the scrollbar's alpha value
488
489         Unfortunately there doesn't seem to be anyway to force a scrollbar to be visible. The closest API is -[NSScrollerImpPair lockOverlayScrollerState:]. Unfortunately this locks both the horizontal and vertical scrollbar. It also doesn't expand the knob width.
490
491         My fix simply adds a new alphaLocked attribute to the scrollbar. If this attribute is set to true then hit testing will return true.
492
493         Test: fast/scrolling/scrollbar-tickmarks-hittest.html
494
495         * WebCore.exp.in:
496         * WebCore.order:
497         * page/Settings.cpp:
498         (WebCore):
499         (WebCore::Settings::setUsesOverlayScrollbars): Sets the usesOverlayScrollbars flag.
500         (WebCore::Settings::usesOverlayScrollbars): Gets the usesOverlayScrollbars flag.
501         * page/Settings.h:
502         (Settings):
503         * platform/Scrollbar.cpp:
504         (WebCore::Scrollbar::Scrollbar):
505         * platform/Scrollbar.h:
506         (WebCore::Scrollbar::isAlphaLocked):
507         (WebCore::Scrollbar::setIsAlphaLocked):
508         (Scrollbar):
509         * platform/ScrollbarThemeClient.h:
510         (ScrollbarThemeClient):
511         * platform/chromium/ScrollbarThemeChromiumMac.mm:
512         (WebCore::ScrollbarThemeChromiumMac::paint): Updated to set and unset the alphaLocked attribute.
513         * platform/chromium/support/WebScrollbarImpl.cpp:
514         (WebKit::WebScrollbarImpl::isAlphaLocked):
515         (WebKit):
516         (WebKit::WebScrollbarImpl::setIsAlphaLocked):
517         * platform/chromium/support/WebScrollbarImpl.h:
518         (WebScrollbarImpl):
519         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
520         (WebCore::CCScrollbarLayerImpl::CCScrollbarLayerImpl):
521         (WebCore::CCScrollbarLayerImpl::CCScrollbar::isAlphaLocked):
522         (WebCore):
523         (WebCore::CCScrollbarLayerImpl::CCScrollbar::setIsAlphaLocked):
524         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
525         (CCScrollbar):
526         (CCScrollbarLayerImpl):
527         * platform/mac/NSScrollerImpDetails.mm:
528         (WebCore::recommendedScrollerStyle): Check the usesOverlayScrollbars setting to see if overlay scrollbars should be forced on.
529         * platform/mac/ScrollAnimatorMac.mm:
530         (WebCore::ScrollAnimatorMac::shouldScrollbarParticipateInHitTesting): Updated to check the alphaLocked attribute.
531         * testing/InternalSettings.cpp:
532         (WebCore::InternalSettings::reset): Resets the usesOverlayScrollbars setting.
533         (WebCore::InternalSettings::setUsesOverlayScrollbars): Sets the usesOverlayScrollbars setting.
534         (WebCore):
535         * testing/InternalSettings.h:
536         (InternalSettings):
537         * testing/InternalSettings.idl: Add a new setUsesOverlayScrollbars function.
538
539 2012-09-18  Kentaro Hara  <haraken@chromium.org>
540
541         [V8] Notification.requestPermission(function() {alert();}) crashes
542         https://bugs.webkit.org/show_bug.cgi?id=94462
543
544         Reviewed by Adam Barth.
545
546         Since Notification.requestPermission() is a static method,
547         we need to use getExecutionContext() instead of retrieving a context
548         from a DOM object.
549
550         Test: http/tests/notifications/notification-request-permission.html
551
552         * bindings/v8/custom/V8NotificationCustom.cpp:
553         (WebCore::V8Notification::requestPermissionCallback):
554
555 2012-09-18  Shinya Kawanaka  <shinyak@chromium.org>
556
557         [Refactoring] ContentDistributor::distributeSelectionsTo should not change ContentDistribution pool.
558         https://bugs.webkit.org/show_bug.cgi?id=96993
559
560         Reviewed by Dimitri Glazkov.
561
562         Since we would like to reuse ContentDistribution pool, it should not be updated in
563         ContentDistributor::distributeSelectionsTo. Instead, we should have Vector<bool> to indicate an element is
564         distributed or not.
565
566         No new tests, simple refactoring.
567
568         * html/shadow/ContentDistributor.cpp:
569         (WebCore::ContentDistributor::distribute):
570         (WebCore::ContentDistributor::distributeSelectionsTo):
571         * html/shadow/ContentDistributor.h:
572         (ContentDistributor):
573
574 2012-09-18  Byungwoo Lee  <bw80.lee@samsung.com>
575
576         Title string should be changed when document.title is set to ''.
577         https://bugs.webkit.org/show_bug.cgi?id=96793
578
579         Reviewed by Kenneth Rohde Christiansen.
580
581         DocumentLoader::setTitle() function returns without anything (changing
582         m_pageTitle and calling FrameLoaderClient::setTitle()) when new title
583         string is empty.
584         So, when document.title is set to '', title string of a browser cannot
585         be changed.
586         For applying the change of document.title properly, empty string check
587         should be removed.
588
589         Test: fast/dom/title-text-property-assigning-empty-string.html
590
591         * loader/DocumentLoader.cpp:
592         (WebCore::DocumentLoader::setTitle):
593
594 2012-09-18  Simon Fraser  <simon.fraser@apple.com>
595
596         fast/forms/search-event-delay.html is asserting in markAllMisspellingsAndBadGrammarInRanges()
597         https://bugs.webkit.org/show_bug.cgi?id=82761
598
599         Reviewed by Ryosuke Niwa.
600
601         Speculative fix for this assertion: have InternalSettings save
602         and restore the value of the "unifiedTextCheckerEnabled" setting
603         between tests, so that tests change the value of this setting don't
604         affect later tests.
605
606         * testing/InternalSettings.cpp:
607         (WebCore::InternalSettings::Backup::Backup):
608         (WebCore::InternalSettings::Backup::restoreTo):
609         * testing/InternalSettings.h:
610         (Backup):
611
612 2012-09-18  John Mellor  <johnme@chromium.org>
613
614         Text Autosizing: Ignore constrained heights in certain circumstances.
615         https://bugs.webkit.org/show_bug.cgi?id=96848
616
617         Reviewed by Julien Chaffraix.
618
619         Ignore constrained heights on html and body elements, as some sites
620         (e.g. wikipedia) set height:100% on these, without intending to
621         constrain the height of descendants.
622
623         Also ignore constrained heights on ancestors of floats and out-of-flow
624         positioned elements with no height set, since the height of these is
625         determined independently from their ancestors.
626
627         Test: fast/text-autosizing/constrained-height-body.html
628               fast/text-autosizing/constrained-out-of-flow.html
629               fast/text-autosizing/constrained-then-float-ancestors.html
630               fast/text-autosizing/constrained-then-position-absolute-ancestors.html
631               fast/text-autosizing/constrained-then-position-fixed-ancestors.html
632
633         * rendering/TextAutosizer.cpp:
634         (WebCore::contentHeightIsConstrained):
635
636             Adjusted constrainedness algorithm.
637
638 2012-09-18  Tommy Widenflycht  <tommyw@google.com>
639
640         MediaStream API: Create a flag to enable PeerConnection00
641         https://bugs.webkit.org/show_bug.cgi?id=96989
642
643         Reviewed by Adam Barth.
644
645         Adding the functionality to separately enable/disable PeerConnection00.
646         For now it is enabled by default.
647
648         Not testable, nor likely to cause issues.
649
650         * bindings/generic/RuntimeEnabledFeatures.cpp:
651         (WebCore):
652         * bindings/generic/RuntimeEnabledFeatures.h:
653         (WebCore::RuntimeEnabledFeatures::deprecatedPeerConnectionEnabled):
654         (WebCore::RuntimeEnabledFeatures::setDeprecatedPeerConnectionEnabled):
655         (WebCore::RuntimeEnabledFeatures::webkitPeerConnection00Enabled):
656         (RuntimeEnabledFeatures):
657
658 2012-09-18  Bo Liu  <boliu@chromium.org>
659
660         Revert 128780, 128676, 128645
661         https://bugs.webkit.org/show_bug.cgi?id=97022
662
663         Reviewed by Adam Barth.
664
665         I made these revisions to add in-place reload behavior to ImagesEnabled setting.
666         Reverting this for now due to them causing performance regression in
667         chromium, possibly caused by increased calls to
668         PermissionClient::imageAllowed.
669
670         * WebCore.exp.in:
671         * loader/FrameLoader.cpp:
672         (WebCore::FrameLoader::didBeginDocument):
673         * loader/SubresourceLoader.cpp:
674         (WebCore::SubresourceLoader::willSendRequest):
675         * loader/cache/CachedImage.cpp:
676         (WebCore::CachedImage::load):
677         * loader/cache/CachedImage.h:
678         (WebCore::CachedImage::stillNeedsLoad):
679         * loader/cache/CachedResource.cpp:
680         (WebCore::CachedResource::didAddClient):
681         * loader/cache/CachedResource.h:
682         * loader/cache/CachedResourceLoader.cpp:
683         (WebCore::CachedResourceLoader::CachedResourceLoader):
684         (WebCore::CachedResourceLoader::requestImage):
685         (WebCore::CachedResourceLoader::canRequest):
686         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
687         (WebCore::CachedResourceLoader::setAutoLoadImages):
688         * loader/cache/CachedResourceLoader.h:
689         (CachedResourceLoader):
690         * page/Settings.cpp:
691         (WebCore::setLoadsImagesAutomaticallyInAllFrames):
692         (WebCore::Settings::Settings):
693         (WebCore::Settings::setLoadsImagesAutomatically):
694         (WebCore::Settings::loadsImagesAutomaticallyTimerFired):
695         (WebCore::Settings::setImagesEnabled):
696         * page/Settings.h:
697         (Settings):
698         * testing/InternalSettings.cpp:
699         (WebCore::InternalSettings::Backup::Backup):
700         (WebCore::InternalSettings::Backup::restoreTo):
701         (WebCore::InternalSettings::setLangAttributeAwareFormControlUIEnabled):
702         * testing/InternalSettings.h:
703         (Backup):
704         (InternalSettings):
705         * testing/InternalSettings.idl:
706
707 2012-09-18  John J. Barton  <johnjbarton@chromium.org>
708
709         Web Inspector: Set focus on the ExtensionPanel's iframe when it is selected
710         https://bugs.webkit.org/show_bug.cgi?id=96148
711
712         Reviewed by Vsevolod Vlasov.
713
714         ExtensionView ctor calls setDefaultFocusedElement with its iframe,
715         ExtensionPanel ctor calls setDefaultFocusedElement with the extensionView
716         and ExtensionPanel's setDefaultFocusedElement calls its grandparent impl
717
718         Tests: Added hasFocus test to extensions/extension-panel.html
719
720         * inspector/front-end/ExtensionPanel.js:
721         (WebInspector.ExtensionPanel):
722         (WebInspector.ExtensionPanel.prototype.defaultFocusedElement):
723         * inspector/front-end/ExtensionView.js:
724         (WebInspector.ExtensionView):
725
726 2012-09-18  Martin Robinson  <mrobinson@igalia.com>
727
728         [GTK] [WebKit2] Use XComposite window for accelerated compositing
729         https://bugs.webkit.org/show_bug.cgi?id=94417
730
731         Reviewed by Carlos Garcia Campos.
732
733         Instead of rendering directly to the widget's native window, render to an
734         offscreen window redirected to a Pixmap with XComposite.
735
736         No new tests. This will be covered by the existing accelerated compositing tests,
737         which should now give correct pixel results.
738
739         * platform/gtk/RedirectedXCompositeWindow.cpp:
740         (WebCore::RedirectedXCompositeWindow::resize): Add a call to XFlush which ensures
741         that pending X11 operations complete.
742         * platform/gtk/RedirectedXCompositeWindow.h:
743         (WebCore::RedirectedXCompositeWindow::windowId): Added this accessor.
744
745 2012-09-18  Julien Chaffraix  <jchaffraix@webkit.org>
746
747         Tables without any descendant and auto logical width should have a 0px logical width
748         https://bugs.webkit.org/show_bug.cgi?id=95521
749
750         Reviewed by Abhishek Arya.
751
752         The code would wrongly add the border-spacing in the row direction to the table's logical
753         width even if we didn't have a column. The new behavior matches FireFox and Opera. IE
754         matches our old behavior for inline tables but our new behavior for normal tables which
755         is a bug on their side.
756
757         Tests: fast/table/empty-table-should-take-no-space.html
758                fast/table/fixed-table-layout/empty-table-should-take-no-space-fixed-layout.html
759
760         * rendering/RenderTable.h:
761         (WebCore::RenderTable::borderSpacingInRowDirection):
762         Added this new helper function to return the right border-spacing. Added a FIXME as the code always
763         return the horizontal dimension which is wrong in vertical-writing mode.
764
765         (WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection):
766         Changed to call borderSpacingInRowDirection. Added a comment as to why we don't add border-spacing on
767         border-collapse: separate tables.
768
769 2012-09-18  Zan Dobersek  <zandobersek@gmail.com>
770
771         [GTK] Build is broken without option --enable-unstable-features
772         https://bugs.webkit.org/show_bug.cgi?id=96996
773
774         Reviewed by Martin Robinson.
775
776         When searching for the bare feature define in feature_defines_unstable or
777         feature_defines_overrides, search for the bare define followed by = character.
778         This avoids incorrectly matching the ENABLE_VIDEO define to the ENABLE_VIDEO_TRACK
779         overriding define (and works as well for other similarly named feature defines).
780
781         No new tests - no new functionality.
782
783         * GNUmakefile.am:
784
785 2012-09-18  Andrey Kosyakov  <caseq@chromium.org>
786
787         Web Inspector: [Extensions API] postpone requests to add extensions until extension server is initialized
788         https://bugs.webkit.org/show_bug.cgi?id=97012
789
790         Reviewed by Vsevolod Vlasov.
791
792         - queue extensions being added unless initialization is complete;
793         - add queued extensions upon completion of initialization;
794
795         * inspector/front-end/ExtensionServer.js:
796         (WebInspector.ExtensionServer.prototype.initExtensions):
797         (WebInspector.ExtensionServer.prototype._addExtensions):
798         (WebInspector.ExtensionServer.prototype._addExtension):
799         (WebInspector.ExtensionServer.prototype._innerAddExtension):
800
801 2012-09-18  Christophe Dumez  <christophe.dumez@intel.com>
802
803         [EFL] min-device-width failures in media tests
804         https://bugs.webkit.org/show_bug.cgi?id=96920
805
806         Reviewed by Kenneth Rohde Christiansen.
807
808         Return a realistic value (800x600) for screen resolution if
809         it cannot be detected, instead of returning (0x0).
810
811         This allows for some tests to pass on the build bots
812         where X is not running.
813
814         No new tests, already covered by existing tests.
815
816         * platform/efl/PlatformScreenEfl.cpp:
817         (WebCore::screenRect):
818
819 2012-09-18  Simon Hausmann  <simon.hausmann@digia.com>
820
821         Fix compilation with Qt 5 on MeeGo 1.2 Harmattan
822         https://bugs.webkit.org/show_bug.cgi?id=96937
823
824         Reviewed by Jocelyn Turcotte.
825
826         The gl2ext.h header file on the platform is outdated. Instead use the newer copy from Qt
827         through implicit inclusion of qopengl.h. Since Qt's declarations are based on newer Khronos
828         headers, the multi sampling extensions do have the PROC suffix, we need the same workaround
829         as QNX.
830
831         * platform/graphics/opengl/Extensions3DOpenGLES.h:
832
833 2012-09-14  Andrey Kosyakov  <caseq@chromium.org>
834
835         Web Inspector: [Extensions API] explicitly manage extension audit progress
836         https://bugs.webkit.org/show_bug.cgi?id=96803
837
838         Reviewed by Alexander Pavlov.
839
840         - create a sub-progress per audit category;
841         - manage audit category progress within the category, not in the panel logic;
842         - consider audit is done when all categories are done;
843         - expose AuditResults.updateProgress(worked, totalWork) in the extensions API;
844         - retain old magic for computing audit progress if extension specifies extension results count.
845
846         * inspector/front-end/AuditsPanel.js:
847         (WebInspector.AuditsPanel.prototype._executeAudit.ruleResultReadyCallback):
848         (WebInspector.AuditsPanel.prototype._executeAudit):
849         (WebInspector.AuditCategory.prototype.run.callbackWrapper):
850         (WebInspector.AuditCategory.prototype.run):
851         * inspector/front-end/ExtensionAPI.js:
852         (defineCommonExtensionSymbols):
853         (injectedExtensionAPI.Audits.prototype.addCategory):
854         (injectedExtensionAPI.AuditResultImpl.prototype.updateProgress):
855         * inspector/front-end/ExtensionAuditCategory.js:
856         (WebInspector.ExtensionAuditCategory.prototype.run):
857         (WebInspector.ExtensionAuditCategoryResults):
858         (WebInspector.ExtensionAuditCategoryResults.prototype.done):
859         (WebInspector.ExtensionAuditCategoryResults.prototype._addResult):
860         (WebInspector.ExtensionAuditCategoryResults.prototype.updateProgress):
861         * inspector/front-end/ExtensionServer.js:
862         (WebInspector.ExtensionServer):
863         (WebInspector.ExtensionServer.prototype._onUpdateAuditProgress):
864         (WebInspector.ExtensionServer.prototype._onStopAuditCategoryRun):
865         * inspector/front-end/ProgressBar.js:
866         (WebInspector.ProgressIndicator.prototype.done): Assure only first call to done() has effect.
867
868 2012-09-19  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
869
870         Revert r127457 and following fixes due to several hit-testing regressions
871         https://bugs.webkit.org/show_bug.cgi?id=96830
872
873         Reviewed by Antonio Gomes.
874
875         The revert misssed one related follow-up.
876
877         * dom/Document.cpp:
878         (WebCore::Document::updateHoverActiveState):
879
880
881 2012-09-18  Mihnea Ovidenie  <mihnea@adobe.com>
882
883         [CSSRegions]Flag auto-height regions
884         https://bugs.webkit.org/show_bug.cgi?id=96267
885
886         Reviewed by Julien Chaffraix.
887
888         The regions having auto logical height should be flagged so that their height will computed as part of a 2 pass-layout mechanism.
889         A valid region is flagged as having auto logical height if:
890         - has auto logical height and is part of the normal flow
891         - has auto logical height, is not part of normal flow and does not have logical top/bottom specified
892
893         An invalid region (part of circular dependency) will not be marked even if its style matches the above situations.
894
895         Test: fast/regions/autoheight-regions-mark.html
896
897         * rendering/FlowThreadController.cpp: Keep a counter of auto logical height valid regions.
898         (WebCore::FlowThreadController::FlowThreadController):
899         (WebCore::FlowThreadController::layoutRenderNamedFlowThreads): Verify that the current number of auto logical height regions is correct by iterating over all the regions attached to the flow threads
900         and compute the number of auto logical height regions on the spot.
901         (WebCore):
902         (WebCore::FlowThreadController::isAutoLogicalHeightRegionsFlagConsistent): Helper function that is used to verify the number of auto logical height regions.
903         * rendering/FlowThreadController.h:
904         (WebCore::FlowThreadController::hasAutoLogicalHeightRegions):
905         (WebCore::FlowThreadController::incrementAutoLogicalHeightRegions):
906         (WebCore::FlowThreadController::decrementAutoLogicalHeightRegions):
907         (FlowThreadController):
908         * rendering/RenderFlowThread.cpp:
909         (WebCore):
910         (WebCore::RenderFlowThread::autoLogicalHeightRegionsCount): Helper function that is used to count the number of regions marked as having auto logical height.
911         * rendering/RenderFlowThread.h:
912         * rendering/RenderRegion.cpp:
913         (WebCore::RenderRegion::RenderRegion):
914         (WebCore::RenderRegion::updateRegionHasAutoLogicalHeightFlag):
915         (WebCore):
916         (WebCore::RenderRegion::styleDidChange): For a region that is attached to a flow thread, verify whether the style change modified its auto logical height appearance.
917         (WebCore::RenderRegion::attachRegion): Handle the case of attaching region to a flow thread and the detach/attach sequence when the region is moved in the render tree.
918         (WebCore::RenderRegion::detachRegion):
919         * rendering/RenderRegion.h:
920         (WebCore::RenderRegion::shouldHaveAutoLogicalHeight):
921         (WebCore::RenderRegion::hasAutoLogicalHeight):
922         (RenderRegion):
923         * rendering/RenderTreeAsText.cpp: For the regions that use auto logical height, modify the output to reflect that.
924         (WebCore::writeRenderNamedFlowThreads):
925
926 2012-09-18  Shinya Kawanaka  <shinyak@chromium.org>
927
928         Disable adding an AuthorShadowRoot to replaced elements.
929         https://bugs.webkit.org/show_bug.cgi?id=96978
930
931         Reviewed by Hajime Morita.
932
933         We (people who implement Shadow DOM) have concluded that we don't support adding AuthorShadowRoot to
934         replaced elements in the current spec, since it turned out that a lot of difficulties exist and it brings
935         a lot of mess to our codebase.
936
937         For now, we just disable adding AuthorShadowRoot to these replaced elements.
938
939         Test: fast/dom/shadow/shadow-disable.html
940
941         * html/HTMLImageElement.h:
942         * html/HTMLKeygenElement.h:
943         * html/HTMLMeterElement.h:
944         * html/HTMLProgressElement.h:
945         * html/HTMLTextAreaElement.h:
946
947 2012-09-17  Csaba Osztrogonác  <ossy@webkit.org>
948
949         Unreviewed, rolling out r128826 and r128813.
950
951         * ForwardingHeaders/runtime/JSDestructibleObject.h: Removed.
952         * bindings/js/JSDOMWrapper.h:
953         (WebCore::JSDOMWrapper::JSDOMWrapper):
954         * bindings/scripts/CodeGeneratorJS.pm:
955         (GenerateHeader):
956         * bridge/objc/objc_runtime.h:
957         (ObjcFallbackObjectImp):
958         * bridge/objc/objc_runtime.mm:
959         (Bindings):
960         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
961         * bridge/runtime_array.cpp:
962         (JSC):
963         (JSC::RuntimeArray::destroy):
964         * bridge/runtime_array.h:
965         (JSC::RuntimeArray::create):
966         * bridge/runtime_object.cpp:
967         (Bindings):
968         (JSC::Bindings::RuntimeObject::RuntimeObject):
969         * bridge/runtime_object.h:
970         (RuntimeObject):
971
972 2012-09-17  Kent Tamura  <tkent@chromium.org>
973
974         Export RuntimeEnabledFeatures::isLangAttributeAwareFormControlUIEnabled correctly
975         https://bugs.webkit.org/show_bug.cgi?id=96855
976
977         Reviewed by Hajime Morita.
978
979         * bindings/generic/RuntimeEnabledFeatures.h:
980         (RuntimeEnabledFeatures): Add WEBCORE_TESTING.
981         * testing/InternalSettings.cpp: Remove a workaround.
982         (WebCore::InternalSettings::Backup::Backup):
983         (WebCore::InternalSettings::Backup::restoreTo):
984         (WebCore::InternalSettings::setLangAttributeAwareFormControlUIEnabled):
985         * testing/InternalSettings.h: ditto.
986
987 2012-09-17  Vivek Galatage  <vivekgalatage@gmail.com>
988
989         [Gtk] Remove the unused variable warning in GamepadsGtk.cpp using ASSERT_UNUSED macro
990         https://bugs.webkit.org/show_bug.cgi?id=96975
991
992         Reviewed by Kentaro Hara.
993
994         Replacing a simple ASSERT with ASSERT_UNUSED to avoid the warning.
995
996         No new tests as refactoring done.
997
998         * platform/gtk/GamepadsGtk.cpp:
999         (WebCore::GamepadDeviceGtk::readCallback):
1000
1001 2012-09-17  Roger Fong  <roger_fong@apple.com>
1002
1003         [Win] Null check timing function received from CoreAnimation when calling CACFAnimationGetTimingFunction.
1004         https://bugs.webkit.org/show_bug.cgi?id=96972
1005
1006         Reviewed by Timothy Horton
1007
1008         When paused, some CSS animations cause CoreAnimation to pass back a null timing function when calling CACFAnimationGetTimingFunction.
1009         This patch fixes this simply by ensuring that if the output of this method is null, it does not get passed into CACFAnimationSetTimingFunction
1010         via the PlatformCAAnimation::copyTimingFunctionFrom method.
1011
1012         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
1013         (PlatformCAAnimation::copyTimingFunctionFrom):
1014
1015 2012-09-17  David Barton  <dbarton@mathscribe.com>
1016
1017         Convert MathML to use flexboxes
1018         https://bugs.webkit.org/show_bug.cgi?id=96843
1019
1020         Reviewed by Eric Seidel.
1021
1022         Using the CSS Flexible Box Model simplifies MathML in many ways. Control over alignment, row vs.
1023         column layout, and child layout order are all much easier. Complexities involving floats,
1024         continuations, and most anonymous boxes are eliminated, as are their potential for crashes and
1025         security vulnerabilities.
1026
1027         In a flexbox, column alignment is done with align-items or align-self, instead of text-align.
1028         vertical-align and baselinePosition() are replaced by the firstLineBoxBaseline() virtual
1029         function.
1030
1031         Tested by existing tests.
1032
1033         * css/mathml.css:
1034         (math):
1035         (math[display="block"]):
1036         (mo, mrow, mfenced, mfrac, msub, msup, msubsup, munder, mover, munderover, msqrt, mroot):
1037         (math, mrow, mfenced, msqrt, mroot):
1038         (msqrt > *):
1039         (mo, mfrac, munder, mover, munderover):
1040         (munder, mover, munderover):
1041         (mfrac > *):
1042         (mfrac[numalign="left"] > :first-child):
1043         (mfrac[numalign="right"] > :first-child):
1044         (mfrac[denomalign="left"] > :last-child):
1045         (mfrac[denomalign="right"] > :last-child):
1046         (msubsup > :last-child, mover > :last-child, munderover > :last-child):
1047         (msub > * + *, msup > * + *, msubsup > * + *, munder > * + *, mover > * + *, munderover > * + *):
1048         (mroot):
1049         (mroot > * + *):
1050         (mtable):
1051         
1052         * mathml/MathMLInlineContainerElement.cpp:
1053         (WebCore::MathMLInlineContainerElement::createRenderer):
1054         * mathml/mathtags.in:
1055         
1056         * rendering/mathml/RenderMathMLBlock.cpp:
1057         (WebCore::RenderMathMLBlock::RenderMathMLBlock):
1058         (WebCore::RenderMathMLBlock::computePreferredLogicalWidths):
1059         (WebCore::RenderMathMLBlock::baselinePosition):
1060         (WebCore::RenderMathMLBlock::renderName):
1061         (WebCore::RenderMathMLBlock::paint):
1062         (WebCore::RenderMathMLTable::firstLineBoxBaseline):
1063         * rendering/mathml/RenderMathMLBlock.h:
1064         (RenderMathMLBlock):
1065         (RenderMathMLTable):
1066         (WebCore::RenderMathMLTable::RenderMathMLTable):
1067             - Change RenderMathMLBlock's base class to RenderFlexibleBox, and its display to FLEX or INLINE_FLEX.
1068             - Add RenderMathMLTable for its firstLineBoxBaseline() function, like { vertical-align: middle }.
1069         
1070         * rendering/mathml/RenderMathMLFenced.cpp:
1071         (WebCore::RenderMathMLFenced::createMathMLOperator):
1072         (WebCore::RenderMathMLFenced::makeFences):
1073             - Use RenderMathMLRow::addChild as a more robust name for RenderBlock::addChild.
1074         (WebCore::RenderMathMLFenced::addChild):
1075             - All inline children of a flexbox are treated as blocks automatically.
1076         
1077         * rendering/mathml/RenderMathMLFraction.cpp:
1078         (WebCore::RenderMathMLFraction::fixChildStyle):
1079         (WebCore::RenderMathMLFraction::updateFromElement):
1080             - numalign and denomalign attributes are now handled by mathml.css.
1081         (WebCore::RenderMathMLFraction::addChild):
1082         (WebCore::RenderMathMLFraction::layout):
1083         (WebCore::RenderMathMLFraction::firstLineBoxBaseline):
1084         * rendering/mathml/RenderMathMLFraction.h:
1085         (RenderMathMLFraction):
1086         
1087         * rendering/mathml/RenderMathMLOperator.cpp:
1088         (WebCore::RenderMathMLOperator::updateFromElement):
1089         (WebCore::RenderMathMLOperator::createStackableStyle):
1090         (WebCore::RenderMathMLOperator::firstLineBoxBaseline):
1091         * rendering/mathml/RenderMathMLOperator.h:
1092         * rendering/mathml/RenderMathMLRow.cpp:
1093         (WebCore::RenderMathMLRow::createAnonymousWithParentRenderer):
1094         
1095         * rendering/mathml/RenderMathMLSubSup.cpp:
1096         (WebCore::RenderMathMLSubSup::RenderMathMLSubSup):
1097         (WebCore::RenderMathMLSubSup::fixScriptsStyle):
1098         (WebCore::RenderMathMLSubSup::addChild):
1099         (WebCore::RenderMathMLSubSup::styleDidChange):
1100         (WebCore::RenderMathMLSubSup::layout):
1101         * rendering/mathml/RenderMathMLSubSup.h:
1102             - Rename Sup to Super, to make it more readable vs. Sub.
1103             - Instead of vertical-align, msub and msup now use the m_scripts anonymous box like msubsup does.
1104             - Individual anonymous block wrappers are no longer needed around the superscript and subscript to
1105               lay them out in a column.
1106             - Handle msub and msup layout, and improve msubsup layout, by requiring a superscript's baseline
1107               to be at least (int) fontSize / 3 + 1 above the main baseline, and a subscript's baseline to be
1108               at least (int) fontSize / 5 + 1 below it.
1109         
1110         * rendering/mathml/RenderMathMLUnderOver.cpp:
1111         (WebCore::RenderMathMLUnderOver::unembellishedOperator):
1112         (WebCore::RenderMathMLUnderOver::firstLineBoxBaseline):
1113         * rendering/mathml/RenderMathMLUnderOver.h:
1114         (RenderMathMLUnderOver):
1115             - RenderMathMLUnderOver no longer needs to use anonymous wrappers for column layout. Centering and
1116               child layout order (overscript first) are also handled by mathml.css.
1117
1118 2012-09-17  Ryuan Choi  <ryuan.choi@samsung.com>
1119
1120         [EFL] Several key codes are not mapped with evas key name.
1121         https://bugs.webkit.org/show_bug.cgi?id=96915
1122
1123         Reviewed by Gyuyoung Kim.
1124
1125         * platform/efl/EflKeyboardUtilities.cpp:
1126         (WebCore::createWindowsKeyMap):
1127         Added missing items of hashmap for virtual key code.
1128
1129 2012-09-17  Filip Pizlo  <fpizlo@apple.com>
1130
1131         Unreviewed, fix build.
1132
1133         * css/CSSRule.cpp:
1134         (SameSizeAsCSSRule):
1135
1136 2012-09-16  Mark Hahnenberg  <mhahnenberg@apple.com>
1137
1138         Delayed structure sweep can leak structures without bound
1139         https://bugs.webkit.org/show_bug.cgi?id=96546
1140
1141         Reviewed by Gavin Barraclough.
1142
1143         This patch gets rid of the separate Structure allocator in the MarkedSpace and adds two new destructor-only
1144         allocators. We now have separate allocators for our three types of objects: those objects with no destructors,
1145         those objects with destructors and with immortal structures, and those objects with destructors that don't have 
1146         immortal structures. All of the objects of the third type (destructors without immortal structures) now 
1147         inherit from a new class named JSDestructibleObject (which in turn is a subclass of JSNonFinalObject), which stores 
1148         the ClassInfo for these classes at a fixed offset for safe retrieval during sweeping/destruction.
1149
1150         No new tests.
1151
1152         * ForwardingHeaders/runtime/JSDestructableObject.h: Added.
1153         * bindings/js/JSDOMWrapper.h: Inherits from JSDestructibleObject.
1154         (JSDOMWrapper):
1155         (WebCore::JSDOMWrapper::JSDOMWrapper):
1156         * bindings/scripts/CodeGeneratorJS.pm: Add finalizers to anything that inherits from JSGlobalObject,
1157         e.g. JSDOMWindow and JSWorkerContexts. For those classes we also need to use the NEEDS_DESTRUCTOR macro.
1158         (GenerateHeader):
1159         * bridge/objc/objc_runtime.h: Inherit from JSDestructibleObject.
1160         (ObjcFallbackObjectImp):
1161         * bridge/objc/objc_runtime.mm:
1162         (Bindings):
1163         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
1164         * bridge/runtime_array.cpp: Use a finalizer so that JSArray isn't forced to inherit from JSDestructibleObject.
1165         (JSC):
1166         (JSC::RuntimeArray::destroy):
1167         * bridge/runtime_array.h:
1168         (JSC::RuntimeArray::create):
1169         (JSC):
1170         * bridge/runtime_object.cpp: Inherit from JSDestructibleObject.
1171         (Bindings):
1172         (JSC::Bindings::RuntimeObject::RuntimeObject):
1173         * bridge/runtime_object.h:
1174         (RuntimeObject):
1175
1176 2012-09-17  Sheriff Bot  <webkit.review.bot@gmail.com>
1177
1178         Unreviewed, rolling out r128809.
1179         http://trac.webkit.org/changeset/128809
1180         https://bugs.webkit.org/show_bug.cgi?id=96958
1181
1182         Broke the Windows build. (Requested by andersca on #webkit).
1183
1184         * platform/win/BString.cpp:
1185         (WebCore::BString::~BString):
1186         (WebCore::BString::adoptBSTR):
1187         * platform/win/BString.h:
1188         (BString):
1189
1190 2012-09-17  Patrick Gansterer  <paroga@webkit.org>
1191
1192         [WIN] Use BString in favour of BSTR to improve memory management
1193         https://bugs.webkit.org/show_bug.cgi?id=93128
1194
1195         Reviewed by Anders Carlsson.
1196
1197         BString automatically calls SysFreeString() in its destructor which helps
1198         avoiding memory leaks. So it should be used instead of BSTR directly.
1199         Add operator& to BString to allow its usage for out parameters too (like COMPtr).
1200         This fixes already a few memory leaks in the existing code.
1201
1202         * platform/win/BString.cpp:
1203         (WebCore::BString::~BString):
1204         (WebCore::BString::adoptBSTR):
1205         (WebCore::BString::clear):
1206         (WebCore):
1207         * platform/win/BString.h:
1208         (BString):
1209         (WebCore::BString::operator&):
1210
1211 2012-09-17  Tony Chang  <tony@chromium.org>
1212
1213         Make CSS.PrefixUsage histogram smaller to save memory
1214         https://bugs.webkit.org/show_bug.cgi?id=96941
1215
1216         Reviewed by Ojan Vafai.
1217
1218         Each bucket costs about 12 bytes. This reduces the size of the histogram
1219         from 600 to 384, which will save about 2.5k per renderer and browser
1220         process.
1221
1222         In the long run, we could probably generate a table in makeprop.pl that
1223         only has the webkit prefix values to save even more memory (there are
1224         194 properties that start with -webkit).
1225
1226         No new tests, just refactoring.
1227
1228         * css/CSSParser.cpp:
1229         (WebCore::cssPropertyID):
1230
1231 2012-09-17  Rob Buis  <rbuis@rim.com>
1232
1233         [BlackBerry] Enable VIDEO_TRACK
1234         https://bugs.webkit.org/show_bug.cgi?id=96949
1235
1236         Reviewed by Antonio Gomes.
1237
1238         Turn on runtime feature for VIDEO_TRACK.
1239
1240         * bindings/generic/RuntimeEnabledFeatures.cpp:
1241         (WebCore):
1242
1243 2012-09-17  Adam Barth  <abarth@webkit.org>
1244
1245         Measure the usage of window.webkitIndexedDB so we can measure the transition to webkit.indexedDB
1246         https://bugs.webkit.org/show_bug.cgi?id=96943
1247
1248         Reviewed by Ojan Vafai.
1249
1250         We don't yet support window.indexedDB but we will once
1251         https://bugs.webkit.org/show_bug.cgi?id=96548 lands. This metric will
1252         help us measure the transition from the prefixed to the unprefixed API.
1253
1254         * Modules/indexeddb/DOMWindowIndexedDatabase.idl:
1255         * page/FeatureObserver.h:
1256
1257 2012-09-17  Adam Barth  <abarth@webkit.org>
1258
1259         Measure usage of the legacy WebKitBlobBuilder API in the hopes of being able to remove it
1260         https://bugs.webkit.org/show_bug.cgi?id=96939
1261
1262         Reviewed by Ojan Vafai.
1263
1264         In the course of standardization, the BlobBuilder API was removed in
1265         favor of just using the Blob constructor. This patch adds some
1266         measurement to see how often this legacy API is used. If the API is not
1267         used very much, we might be able to remove it.
1268
1269         * fileapi/WebKitBlobBuilder.cpp:
1270         (WebCore::WebKitBlobBuilder::create):
1271         * page/FeatureObserver.h:
1272
1273 2012-09-17  Joshua Bell  <jsbell@chromium.org>
1274
1275         IndexedDB: Result of IDBFactory.deleteDatabase() should be undefined, not null
1276         https://bugs.webkit.org/show_bug.cgi?id=96538
1277
1278         Reviewed by Tony Chang.
1279
1280         Trivial implementation change to match the spec.
1281
1282         Tests: storage/indexeddb/factory-deletedatabase-expected.html
1283                storage/indexeddb/intversion-long-queue-expected.html
1284
1285         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1286         (WebCore::IDBDatabaseBackendImpl::deleteDatabase):
1287
1288 2012-09-17  Rick Byers  <rbyers@chromium.org>
1289
1290         Allow gesture events to set active/hover state.
1291         https://bugs.webkit.org/show_bug.cgi?id=96060
1292
1293         Reviewed by Antonio Gomes.
1294
1295         Adds GestureTapDownCancel as a new PlatformGestureEvent type.  On ports
1296         that support gesture events, use GestureTapDown to trigger active/hover
1297         states, and GestureTap/GestureTapDownCancel to clear them.  This is
1298         superior to using touch events for a number of reasons:
1299           1) some ports (chromium) avoid sending touch events unless absolutely
1300           necessary, since they hurt scroll performance by blocking threaded
1301           scrolling.
1302           2) with touch, and element really shouldn't be 'active' when the user
1303           happens to be touching it while scrolling.  In that case they aren't
1304           'manipulating the element', they're manipulating the page or div that
1305           is scrolling.
1306           3) similarly, there may be other gestures that involve touching the
1307           element which aren't really about manipulating that element (eg.
1308           pinch to zoom).
1309
1310         Test: fast/events/touch/gesture/gesture-tap-active-state.html
1311         Test: fast/events/touch/gesture/gesture-tap-active-state-iframe.html
1312         * dom/GestureEvent.cpp:
1313         (WebCore::GestureEvent::create):
1314         * page/EventHandler.cpp:
1315         (WebCore::EventHandler::handleGestureEvent):
1316         (WebCore::EventHandler::handleTouchEvent):
1317         * platform/PlatformEvent.h:
1318
1319 2012-09-17  Alec Flett  <alecflett@chromium.org>
1320
1321         IndexedDB: Use ScriptValue instead of SerializedScriptValue for get/openCursor
1322         https://bugs.webkit.org/show_bug.cgi?id=95409
1323
1324         Reviewed by Kentaro Hara.
1325
1326         This reduces a bunch of serialization/deserialization when writing
1327         to objectstores with indexes.
1328
1329         No new tests, as this covers core functionality of IndexedDB, and
1330         almost every test would fail. Some likely tests that would fail
1331         fundamentally include:
1332
1333         storage/indexeddb/objectstore-basics.html
1334         storage/indexeddb/cursor-basics.html
1335         storage/indexeddb/index-basics.html
1336
1337         * Modules/indexeddb/IDBAny.cpp:
1338         (WebCore::IDBAny::scriptValue):
1339         (WebCore::IDBAny::integer):
1340         (WebCore):
1341         (WebCore::IDBAny::set):
1342         * Modules/indexeddb/IDBAny.h:
1343         (WebCore):
1344         (IDBAny):
1345         (WebCore::IDBAny::create):
1346         * Modules/indexeddb/IDBCursor.cpp:
1347         (WebCore::IDBCursor::setValueReady):
1348         * Modules/indexeddb/IDBCursor.h:
1349         (WebCore):
1350         (IDBCursor):
1351         * Modules/indexeddb/IDBDatabase.cpp:
1352         (WebCore::IDBDatabase::version):
1353         * Modules/indexeddb/IDBObjectStore.cpp:
1354         (WebCore):
1355         * Modules/indexeddb/IDBRequest.cpp:
1356         (WebCore::IDBRequest::setResultCursor):
1357         (WebCore::IDBRequest::onSuccess):
1358         (WebCore):
1359         (WebCore::IDBRequest::onSuccessInternal):
1360         (WebCore::IDBRequest::dispatchEvent):
1361         * Modules/indexeddb/IDBRequest.h:
1362         (IDBRequest):
1363         * Modules/indexeddb/IDBTransactionCallbacks.h:
1364         * bindings/v8/IDBBindingUtilities.cpp:
1365         (WebCore::deserializeIDBValue):
1366         (WebCore::injectIDBKeyIntoScriptValue):
1367         * bindings/v8/IDBBindingUtilities.h:
1368         (WebCore):
1369         * bindings/v8/custom/V8IDBAnyCustom.cpp:
1370         (WebCore::toV8):
1371
1372 2012-09-17  Adam Barth  <abarth@webkit.org>
1373
1374         We should make collecting metrics easier by adding an IDL attribute
1375         https://bugs.webkit.org/show_bug.cgi?id=96837
1376
1377         Reviewed by Kentaro Hara.
1378
1379         Currently it is too hard to set up a good measurement experiment to see
1380         whether we can safely remove a feature (including vendor-prefixed
1381         features). This patch introduces the [V8MeasureAs] IDL attribute to make
1382         that process easier.
1383
1384         When you add the [V8MeasureAs] IDL property to an API, we'll count what
1385         fraction of Page objects used that API.
1386
1387         * Modules/notifications/DOMWindowNotifications.idl:
1388         * bindings/scripts/CodeGeneratorV8.pm:
1389         (GenerateFeatureObservation):
1390         (GenerateNormalAttrGetter):
1391         (GenerateReplaceableAttrSetter):
1392         (GenerateNormalAttrSetter):
1393         (GenerateOverloadedFunctionCallback):
1394         (GenerateFunctionCallback):
1395         (GenerateConstructorCallback):
1396         (GenerateNamedConstructorCallback):
1397         * bindings/scripts/IDLAttributes.txt:
1398         * bindings/scripts/test/TestObj.idl:
1399         * bindings/scripts/test/V8/V8TestObj.cpp:
1400         (WebCore::TestObjV8Internal::testObjAttrAttrGetter):
1401         (WebCore::TestObjV8Internal::testObjAttrAttrSetter):
1402         (WebCore::TestObjV8Internal::objMethodCallback):
1403         (WebCore):
1404         * page/Page.h:
1405         (WebCore::Page::featureObserver):
1406         (Page):
1407
1408 2012-09-17  Bear Travis  <betravis@adobe.com>
1409
1410         [CSS Exclusions] Enable shape-inside for percentage lengths based on logical height
1411         https://bugs.webkit.org/show_bug.cgi?id=93547
1412
1413         Reviewed by Levi Weintraub.
1414
1415         Shape-inside needs to be passed the logical size to use when computing percentage
1416         based coordinates. The CSS Regions-specific method computeInitialRegionRangeForBlock
1417         has been generalized to updateRegionsAndExclusionsLogicalSize. This method takes
1418         the pre-child-layout logical width and height, and uses them to compute the logical
1419         width and height that regions and exclusions should use for layout. Regions use a
1420         block's maximum possible logical height to compute a region's maximum extent.
1421         Exclusions use a block's fixed logical width and height, or 0 if one does not exist,
1422         to resolve percentage-based shape lengths. The default logical size used for resolving
1423         percentage based coordinates is tested in shape-inside-percentage-auto.html.
1424
1425         Test: fast/exclusions/shape-inside/shape-inside-percentage.html
1426
1427         * rendering/RenderBlock.cpp:
1428         (WebCore::RenderBlock::updateRegionsAndExclusionsLogicalSize): Calculates the logical
1429         height regions and exclusions should use, and updates their layout sizes through
1430         computeExclusionShapeSize and computeRegionRangeForBlock.
1431         (WebCore):
1432         (WebCore::RenderBlock::computeExclusionShapeSize): Pass the appropriate logical size
1433         to exclusion shapes so they can resolve percentage based coordinates.
1434         (WebCore::RenderBlock::layoutBlock): Call the new updateRegionsAndExclusionsLogicalSize
1435         method.
1436         * rendering/RenderBlock.h:
1437         (RenderBlock):
1438         * rendering/RenderBox.cpp:
1439         (WebCore::percentageLogicalHeightIsResolvable): Determine if percentage lengths
1440         based on logical height can be resolved.
1441         (WebCore):
1442         (WebCore::RenderBox::percentageLogicalHeightIsResolvableFromBlock): Added declaration.
1443         * rendering/RenderBox.h:
1444         (RenderBox):
1445         * rendering/RenderDeprecatedFlexibleBox.cpp:
1446         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock): Calling
1447         updateRegionsAndExclusionsLogicalSize rather than computeInitialRegionRangeForBlock.
1448         * rendering/RenderFlexibleBox.cpp:
1449         (WebCore::RenderFlexibleBox::layoutBlock): Ditto.
1450         * rendering/RenderGrid.cpp:
1451         (WebCore::RenderGrid::layoutBlock): Ditto.
1452
1453 2012-09-17  Vangelis Kokkevis  <vangelis@chromium.org>
1454
1455         [chromium] Add gpu_test trace events tracking the creation of a DrawingBuffer
1456         and Canvas2DLayerBridge. They will be used by browser tests to verify the
1457         existence of WebGL and accelerated canvas.
1458         https://bugs.webkit.org/show_bug.cgi?id=96871
1459
1460         Reviewed by James Robinson.
1461
1462         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
1463         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
1464         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1465         (WebCore::DrawingBuffer::DrawingBuffer):
1466
1467 2012-09-17  Bo Liu  <boliu@chromium.org>
1468
1469         Fix LoadImagesAutomatically cache behavior
1470         https://bugs.webkit.org/show_bug.cgi?id=96829
1471
1472         Reviewed by Adam Barth.
1473
1474         I broke the caching behavior of LoadImagesAutomatically in
1475         http://trac.webkit.org/changeset/128645
1476
1477         This restores the original behavior that AutoLoadImage does not block
1478         loads from memory cache.
1479
1480         Test: fast/loader/display-image-unset-allows-cached-image-load.html
1481
1482         * loader/cache/CachedResourceLoader.cpp:
1483         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
1484         (WebCore::CachedResourceLoader::clientAllowsImage):
1485         (WebCore::CachedResourceLoader::shouldDeferImageLoad):
1486         * loader/cache/CachedResourceLoader.h:
1487         (CachedResourceLoader):
1488
1489 2012-09-17  Andrei Poenaru  <poenaru@adobe.com>
1490
1491         Web Inspector: Display Named Flows in the Tabbed Pane of the "CSS Named Flows" Drawer
1492         https://bugs.webkit.org/show_bug.cgi?id=96733
1493
1494         Reviewed by Alexander Pavlov.
1495
1496         Added functionality to the Tabbed Pane from the CSS Named Flows Drawer.
1497
1498         * English.lproj/localizedStrings.js:
1499         * WebCore.gypi:
1500         * WebCore.vcproj/WebCore.vcproj:
1501         * inspector/compile-front-end.py:
1502         * inspector/front-end/CSSNamedFlowCollectionsView.js:
1503         (WebInspector.CSSNamedFlowCollectionsView.prototype._appendNamedFlow):
1504         (WebInspector.CSSNamedFlowCollectionsView.prototype._removeNamedFlow):
1505         (WebInspector.CSSNamedFlowCollectionsView.prototype._updateNamedFlow):
1506         (WebInspector.CSSNamedFlowCollectionsView.prototype._showNamedFlow):
1507         (WebInspector.CSSNamedFlowCollectionsView.prototype._selectNamedFlowInSidebar):
1508         (WebInspector.CSSNamedFlowCollectionsView.prototype._selectNamedFlowTab):
1509         (WebInspector.CSSNamedFlowCollectionsView.prototype._tabSelected):
1510         (WebInspector.CSSNamedFlowCollectionsView.prototype._tabClosed):
1511         (WebInspector.CSSNamedFlowCollectionsView.prototype.wasShown):
1512         (WebInspector.CSSNamedFlowCollectionsView.prototype.willHide):
1513         (WebInspector.FlowTreeElement):
1514         (WebInspector.FlowTreeElement.prototype.setOverset):
1515         * inspector/front-end/CSSNamedFlowView.js: Added.
1516         (WebInspector.CSSNamedFlowView):
1517         (WebInspector.CSSNamedFlowView.prototype._createFlowTreeOutline):
1518         (WebInspector.CSSNamedFlowView.prototype._insertContentNode):
1519         (WebInspector.CSSNamedFlowView.prototype._insertRegion):
1520         (WebInspector.CSSNamedFlowView.prototype.get flow):
1521         (WebInspector.CSSNamedFlowView.prototype.set flow):
1522         (WebInspector.CSSNamedFlowView.prototype._updateRegionOverset):
1523         (WebInspector.CSSNamedFlowView.prototype._mergeContentNodes):
1524         (WebInspector.CSSNamedFlowView.prototype._mergeRegions):
1525         (WebInspector.CSSNamedFlowView.prototype._update):
1526         * inspector/front-end/ElementsPanel.js:
1527         * inspector/front-end/Images/regionEmpty.png: Added.
1528         * inspector/front-end/Images/regionFit.png: Added.
1529         * inspector/front-end/Images/regionOverset.png: Added.
1530         * inspector/front-end/WebKit.qrc:
1531         * inspector/front-end/cssNamedFlows.css:
1532         (.css-named-flow-collections-view .split-view-sidebar-left .named-flow-overflow::before, .css-named-flow-collections-view .region-empty:before, .css-named-flow-collections-view .region-fit::before, .css-named-flow-collections-view .region-overset::before):
1533         (.css-named-flow-collections-view .split-view-sidebar-left .named-flow-overflow::before):
1534         (.css-named-flow-collections-view .region-empty::before):
1535         (.css-named-flow-collections-view .region-fit::before):
1536         (.css-named-flow-collections-view .region-overset::before):
1537         (.css-named-flow-collections-view .split-view-contents .named-flow-element):
1538
1539 2012-09-17  Zan Dobersek  <zandobersek@gmail.com>
1540
1541         [Gtk] Remove configuration options for stable features that are currently enabled
1542         https://bugs.webkit.org/show_bug.cgi?id=96621
1543
1544         Reviewed by Martin Robinson.
1545
1546         Remove Automake conditional checking for features that are being removed in
1547         configure.ac. Unstable features that don't introduce dependencies are now
1548         disabled if necessary by being listed in the unstable feature defines overriding
1549         variable.
1550
1551         No new tests - no new functionality.
1552
1553         * GNUmakefile.am:
1554         * GNUmakefile.features.am:
1555         * bindings/gobject/GNUmakefile.am:
1556
1557 2012-09-17  Lauro Neto  <lauro.neto@openbossa.org>
1558
1559         [Qt] Cleanup/refactor the user agent detection code
1560         https://bugs.webkit.org/show_bug.cgi?id=96822
1561
1562         Unreviewed build fix.
1563
1564         Build fixes for Windows and Mac OS builds.
1565
1566         * platform/qt/UserAgentQt.cpp:
1567         (WebCore::UserAgentQt::standardUserAgent):
1568
1569             QLatin1String doesn't have a default contructor. Replaced #ifdef with #if.
1570
1571 2012-09-17  Lauro Neto  <lauro.neto@openbossa.org>
1572
1573         Updates to the useragent patch
1574
1575         [Qt] Cleanup/refactor the user agent detection code
1576         https://bugs.webkit.org/show_bug.cgi?id=96822
1577
1578         Reviewed by Simon Hausmann.
1579
1580         Replaced Q_WS_*/Q_OS_* with WTF OS/CPU detection macros.
1581         Cleanup the check for unsupported OS.
1582         Replaced QString.arg() usage with simple string concatenation.
1583
1584         * platform/qt/UserAgentQt.cpp:
1585         (WebCore::UserAgentQt::standardUserAgent):
1586
1587 2012-09-17  Sheriff Bot  <webkit.review.bot@gmail.com>
1588
1589         Unreviewed, rolling out r128759.
1590         http://trac.webkit.org/changeset/128759
1591         https://bugs.webkit.org/show_bug.cgi?id=96929
1592
1593         New assertion hit on multiple platforms (Requested by carewolf
1594         on #webkit).
1595
1596         * dom/Document.cpp:
1597         (WebCore::Document::updateHoverActiveState):
1598
1599 2012-09-17  Ilya Tikhonovsky  <loislo@chromium.org>
1600
1601         Web Inspector: NMI: now when we can detect instrumented classes we can
1602         remove addInstrumentedMember and use addMember for everything.
1603         https://bugs.webkit.org/show_bug.cgi?id=96913
1604
1605         Reviewed by Yury Semikhatsky.
1606
1607         * bindings/v8/DOMDataStore.cpp:
1608         (WebCore::DOMDataStore::reportMemoryUsage):
1609         * bindings/v8/IntrusiveDOMWrapperMap.h:
1610         * bindings/v8/V8PerIsolateData.cpp:
1611         (WebCore::V8PerIsolateData::reportMemoryUsage):
1612         * css/CSSBorderImageSliceValue.cpp:
1613         (WebCore::CSSBorderImageSliceValue::reportDescendantMemoryUsage):
1614         * css/CSSCalculationValue.cpp:
1615         * css/CSSCanvasValue.cpp:
1616         (WebCore::CSSCanvasValue::reportDescendantMemoryUsage):
1617         * css/CSSCharsetRule.cpp:
1618         (WebCore::CSSCharsetRule::reportDescendantMemoryUsage):
1619         * css/CSSComputedStyleDeclaration.cpp:
1620         (WebCore::CSSComputedStyleDeclaration::reportMemoryUsage):
1621         * css/CSSCrossfadeValue.cpp:
1622         (WebCore::CSSCrossfadeValue::reportDescendantMemoryUsage):
1623         * css/CSSFontFaceRule.cpp:
1624         (WebCore::CSSFontFaceRule::reportDescendantMemoryUsage):
1625         * css/CSSFontFaceSrcValue.cpp:
1626         (WebCore::CSSFontFaceSrcValue::reportDescendantMemoryUsage):
1627         * css/CSSFunctionValue.cpp:
1628         (WebCore::CSSFunctionValue::reportDescendantMemoryUsage):
1629         * css/CSSGradientValue.cpp:
1630         (WebCore::CSSGradientColorStop::reportMemoryUsage):
1631         (WebCore::CSSGradientValue::reportBaseClassMemoryUsage):
1632         (WebCore::CSSLinearGradientValue::reportDescendantMemoryUsage):
1633         (WebCore::CSSRadialGradientValue::reportDescendantMemoryUsage):
1634         * css/CSSImageSetValue.cpp:
1635         (WebCore::CSSImageSetValue::ImageWithScale::reportMemoryUsage):
1636         * css/CSSImageValue.cpp:
1637         (WebCore::CSSImageValue::reportDescendantMemoryUsage):
1638         * css/CSSImportRule.cpp:
1639         (WebCore::CSSImportRule::reportDescendantMemoryUsage):
1640         * css/CSSMediaRule.cpp:
1641         (WebCore::CSSMediaRule::reportDescendantMemoryUsage):
1642         * css/CSSPageRule.cpp:
1643         (WebCore::CSSPageRule::reportDescendantMemoryUsage):
1644         * css/CSSPrimitiveValue.cpp:
1645         (WebCore::CSSPrimitiveValue::reportDescendantMemoryUsage):
1646         * css/CSSProperty.cpp:
1647         (WebCore::CSSProperty::reportMemoryUsage):
1648         * css/CSSReflectValue.cpp:
1649         (WebCore::CSSReflectValue::reportDescendantMemoryUsage):
1650         * css/CSSRule.cpp:
1651         (WebCore::CSSRule::reportBaseClassMemoryUsage):
1652         * css/CSSRuleList.h:
1653         * css/CSSStyleRule.cpp:
1654         (WebCore::CSSStyleRule::reportDescendantMemoryUsage):
1655         * css/CSSStyleSheet.cpp:
1656         (WebCore::CSSStyleSheet::reportMemoryUsage):
1657         * css/CSSValue.cpp:
1658         (WebCore::TextCloneCSSValue::reportDescendantMemoryUsage):
1659         * css/CSSVariableValue.h:
1660         (WebCore::CSSVariableValue::reportDescendantMemoryUsage):
1661         * css/FontFeatureValue.cpp:
1662         (WebCore::FontFeatureValue::reportDescendantMemoryUsage):
1663         * css/FontValue.cpp:
1664         (WebCore::FontValue::reportDescendantMemoryUsage):
1665         * css/MediaList.cpp:
1666         (WebCore::MediaList::reportMemoryUsage):
1667         * css/MediaQuery.cpp:
1668         (WebCore::MediaQuery::reportMemoryUsage):
1669         * css/MediaQueryExp.cpp:
1670         (WebCore::MediaQueryExp::reportMemoryUsage):
1671         * css/PropertySetCSSStyleDeclaration.cpp:
1672         (WebCore::PropertySetCSSStyleDeclaration::reportMemoryUsage):
1673         (WebCore::StyleRuleCSSStyleDeclaration::reportMemoryUsage):
1674         (WebCore::InlineCSSStyleDeclaration::reportMemoryUsage):
1675         * css/ShadowValue.cpp:
1676         (WebCore::ShadowValue::reportDescendantMemoryUsage):
1677         * css/StylePropertySet.cpp:
1678         (WebCore::StylePropertySet::reportMemoryUsage):
1679         * css/StyleResolver.cpp:
1680         (WebCore::StyleResolver::collectMatchingRulesForList):
1681         * css/StyleRule.cpp:
1682         (WebCore::StyleRule::reportDescendantMemoryUsage):
1683         (WebCore::StyleRulePage::reportDescendantMemoryUsage):
1684         (WebCore::StyleRuleFontFace::reportDescendantMemoryUsage):
1685         (WebCore::StyleRuleMedia::reportDescendantMemoryUsage):
1686         (WebCore::StyleRuleRegion::reportDescendantMemoryUsage):
1687         * css/StyleRuleImport.cpp:
1688         (WebCore::StyleRuleImport::reportDescendantMemoryUsage):
1689         * css/StyleSheetContents.cpp:
1690         (WebCore::StyleSheetContents::reportMemoryUsage):
1691         * css/WebKitCSSKeyframeRule.cpp:
1692         (WebCore::StyleKeyframe::reportMemoryUsage):
1693         (WebCore::WebKitCSSKeyframeRule::reportDescendantMemoryUsage):
1694         * css/WebKitCSSKeyframesRule.cpp:
1695         (WebCore::StyleRuleKeyframes::reportDescendantMemoryUsage):
1696         (WebCore::WebKitCSSKeyframesRule::reportDescendantMemoryUsage):
1697         * css/WebKitCSSRegionRule.cpp:
1698         (WebCore::WebKitCSSRegionRule::reportDescendantMemoryUsage):
1699         * css/WebKitCSSSVGDocumentValue.cpp:
1700         (WebCore::WebKitCSSSVGDocumentValue::reportDescendantMemoryUsage):
1701         * css/WebKitCSSShaderValue.cpp:
1702         (WebCore::WebKitCSSShaderValue::reportDescendantMemoryUsage):
1703         * dom/Attribute.h:
1704         (WebCore::Attribute::reportMemoryUsage):
1705         * dom/CharacterData.cpp:
1706         (WebCore::CharacterData::reportMemoryUsage):
1707         * dom/ContainerNode.h:
1708         (WebCore::ContainerNode::reportMemoryUsage):
1709         * dom/Document.cpp:
1710         (WebCore::Document::reportMemoryUsage):
1711         * dom/Element.h:
1712         (WebCore::Element::reportMemoryUsage):
1713         * dom/ElementAttributeData.cpp:
1714         (WebCore::ElementAttributeData::reportMemoryUsage):
1715         * dom/Event.cpp:
1716         (WebCore::Event::reportMemoryUsage):
1717         * dom/Node.cpp:
1718         (WebCore::Node::reportMemoryUsage):
1719         * dom/QualifiedName.cpp:
1720         (WebCore::QualifiedName::reportMemoryUsage):
1721         (WebCore::QualifiedName::QualifiedNameImpl::reportMemoryUsage):
1722         * html/HTMLImageElement.cpp:
1723         (WebCore::HTMLImageElement::reportMemoryUsage):
1724         * loader/DocumentLoader.cpp:
1725         (WebCore::DocumentLoader::reportMemoryUsage):
1726         * loader/FrameLoader.cpp:
1727         (WebCore::FrameLoader::reportMemoryUsage):
1728         * loader/MainResourceLoader.cpp:
1729         (WebCore::MainResourceLoader::reportMemoryUsage):
1730         * loader/ResourceLoader.cpp:
1731         (WebCore::ResourceLoader::reportMemoryUsage):
1732         * loader/SubresourceLoader.cpp:
1733         (WebCore::SubresourceLoader::reportMemoryUsage):
1734         * loader/SubstituteData.cpp:
1735         (WebCore::SubstituteData::reportMemoryUsage):
1736         * loader/cache/CachedCSSStyleSheet.cpp:
1737         (WebCore::CachedCSSStyleSheet::reportMemoryUsage):
1738         * loader/cache/CachedFont.cpp:
1739         (WebCore::CachedFont::reportMemoryUsage):
1740         * loader/cache/CachedImage.cpp:
1741         (WebCore::CachedImage::reportMemoryUsage):
1742         * loader/cache/CachedResource.cpp:
1743         (WebCore::CachedResource::reportMemoryUsage):
1744         * loader/cache/CachedResourceHandle.cpp:
1745         (WebCore::CachedResourceHandleBase::reportMemoryUsage):
1746         * loader/cache/CachedResourceLoader.cpp:
1747         (WebCore::CachedResourceLoader::reportMemoryUsage):
1748         * loader/cache/CachedSVGDocument.cpp:
1749         (WebCore::CachedSVGDocument::reportMemoryUsage):
1750         * loader/cache/CachedScript.cpp:
1751         (WebCore::CachedScript::reportMemoryUsage):
1752         * loader/cache/CachedShader.cpp:
1753         (WebCore::CachedShader::reportMemoryUsage):
1754         * loader/cache/CachedXSLStyleSheet.cpp:
1755         (WebCore::CachedXSLStyleSheet::reportMemoryUsage):
1756         * loader/cache/MemoryCache.cpp:
1757         (WebCore::MemoryCache::reportMemoryUsage):
1758         * page/Frame.cpp:
1759         (WebCore::Frame::reportMemoryUsage):
1760         * platform/KURL.cpp:
1761         (WebCore::KURL::reportMemoryUsage):
1762         * platform/KURLGoogle.cpp:
1763         (WebCore::KURLGooglePrivate::reportMemoryUsage):
1764         * platform/KURLWTFURLImpl.h:
1765         (WebCore::KURLWTFURLImpl::reportMemoryUsage):
1766         * platform/TreeShared.h:
1767         (WebCore::TreeShared::reportMemoryUsage):
1768         * platform/graphics/CrossfadeGeneratedImage.cpp:
1769         (WebCore::CrossfadeGeneratedImage::reportMemoryUsage):
1770         * platform/graphics/Image.cpp:
1771         (WebCore::Image::reportMemoryUsage):
1772         * platform/network/ResourceRequestBase.cpp:
1773         (WebCore::ResourceRequestBase::reportMemoryUsage):
1774         * platform/network/ResourceResponseBase.cpp:
1775         (WebCore::ResourceResponseBase::reportMemoryUsage):
1776         * rendering/style/DataRef.h:
1777         (WebCore::DataRef::reportMemoryUsage):
1778         * rendering/style/RenderStyle.cpp:
1779         (WebCore::RenderStyle::reportMemoryUsage):
1780         * rendering/style/StyleRareInheritedData.cpp:
1781         (WebCore::StyleRareInheritedData::reportMemoryUsage):
1782         * rendering/style/StyleRareNonInheritedData.cpp:
1783         (WebCore::StyleRareNonInheritedData::reportMemoryUsage):
1784         * svg/SVGPaint.cpp:
1785         (WebCore::SVGPaint::reportDescendantMemoryUsage):
1786         * svg/graphics/SVGImage.cpp:
1787         (WebCore::SVGImage::reportMemoryUsage):
1788
1789 2012-09-17  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1790
1791         [TouchAdjustment] Adjusted point outside bounds for non-rectilinear targets
1792         https://bugs.webkit.org/show_bug.cgi?id=96098
1793
1794         Reviewed by Antonio Gomes.
1795
1796         Simplifies how snapTo tries to restrict the adjustment to the touch-area, and 
1797         at the same fix it to give better guarantees.
1798
1799         Test: touchadjustment/rotated-node.html
1800
1801         * page/TouchAdjustment.cpp:
1802         (WebCore::TouchAdjustment::snapTo):
1803
1804 2012-09-17  Filip Spacek  <fspacek@rim.com>
1805
1806         [BlackBerry] Use glDeleteProgram to delete OpenGL shader programs.
1807         https://bugs.webkit.org/show_bug.cgi?id=96771
1808
1809         Reviewed by Rob Buis.
1810
1811         Reviewed internally by Arvid Nilsson.
1812
1813         * platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp:
1814         (WebCore::EGLImageLayerWebKitThread::EGLImageLayerWebKitThread):
1815         (WebCore::EGLImageLayerWebKitThread::~EGLImageLayerWebKitThread):
1816         (WebCore::EGLImageLayerWebKitThread::deleteFrontBuffer):
1817         (WebCore::EGLImageLayerWebKitThread::createShaderIfNeeded):
1818         (WebCore::EGLImageLayerWebKitThread::blitToFrontBuffer):
1819         * platform/graphics/blackberry/EGLImageLayerWebKitThread.h:
1820         (EGLImageLayerWebKitThread):
1821
1822 2012-09-17  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1823
1824         Revert r127457 and following fixes due to several hit-testing regressions
1825         https://bugs.webkit.org/show_bug.cgi?id=96830
1826
1827         Reviewed by Antonio Gomes.
1828
1829         The revert misssed one related follow-up.
1830
1831         * dom/Document.cpp:
1832         (WebCore::Document::updateHoverActiveState):
1833
1834 2012-09-17  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1835
1836         [TouchAdjustment] Adjusted point outside bounds for non-rectilinear targets
1837         https://bugs.webkit.org/show_bug.cgi?id=96098
1838
1839         Reviewed by Antonio Gomes.
1840
1841         Simplifies how snapTo tries to restrict the adjustment to the touch-area, and 
1842         at the same fix it to give better guarantees.
1843
1844         Test: touchadjustment/rotated-node.html
1845
1846         * page/TouchAdjustment.cpp:
1847         (WebCore::TouchAdjustment::snapTo):
1848
1849 2012-09-17  Yury Semikhatsky  <yurys@chromium.org>
1850
1851         Unreviewed. Fix Mac compilation.
1852
1853         * bindings/v8/DOMDataStore.h: added missing virtual modifier.
1854         (DOMDataStore):
1855
1856 2012-09-17  Yury Semikhatsky  <yurys@chromium.org>
1857
1858         Web Inspector: NMI don't double count fields of StaticDOMDataStore
1859         https://bugs.webkit.org/show_bug.cgi?id=96911
1860
1861         Reviewed by Alexander Pavlov.
1862
1863         Provided two separate memory usage reporting routines for static and
1864         scoped DOM data stores.
1865
1866         * bindings/v8/DOMDataStore.cpp:
1867         * bindings/v8/DOMDataStore.h:
1868         (DOMDataStore):
1869         * bindings/v8/ScopedDOMDataStore.cpp:
1870         (WebCore::ScopedDOMDataStore::reportMemoryUsage):
1871         (WebCore):
1872         * bindings/v8/ScopedDOMDataStore.h:
1873         (ScopedDOMDataStore):
1874         * bindings/v8/StaticDOMDataStore.cpp:
1875         (WebCore::StaticDOMDataStore::reportMemoryUsage):
1876         (WebCore):
1877         * bindings/v8/StaticDOMDataStore.h:
1878         (StaticDOMDataStore):
1879
1880 2012-09-17  Christophe Dumez  <christophe.dumez@intel.com>
1881
1882         [EFL] autoscroll-in-textarea.html fails on EFL
1883         https://bugs.webkit.org/show_bug.cgi?id=94150
1884
1885         Reviewed by Kenneth Rohde Christiansen.
1886
1887         Do not call adjustTextAreaStyle() from RenderThemeEfl::adjustTextAreaStyle().
1888         This is consistent with Mac port implementation.
1889
1890         Calling adjustTextAreaStyle() causes the TextArea in the test to display 6.5
1891         rows instead of the 6 that are requested. This causes the test case to fail
1892         because the top row that is being displayed when scrolling down is different
1893         than the one expected.
1894
1895         Test: fast/events/autoscroll-in-textarea.html
1896
1897         * platform/efl/RenderThemeEfl.cpp:
1898         (WebCore::RenderThemeEfl::adjustTextAreaStyle):
1899
1900 2012-09-17  Vsevolod Vlasov  <vsevik@chromium.org>
1901
1902         Web Inspector: XHR replay fixes: should remove replayed xhr from memory cache, should not assert.
1903         https://bugs.webkit.org/show_bug.cgi?id=96904
1904
1905         Reviewed by Yury Semikhatsky.
1906
1907         Replayed request is now removed from meory cache before replaying.
1908         Request body is now set to 0 when it was not present in original request.
1909
1910         Test: http/tests/inspector/network/network-xhr-replay.html
1911
1912         * inspector/InspectorResourceAgent.cpp:
1913         (WebCore::InspectorResourceAgent::replayXHR):
1914         * xml/XMLHttpRequest.cpp:
1915         (WebCore::XMLHttpRequest::sendFromInspector):
1916
1917 2012-09-17  Alejandro Piñeiro  <apinheiro@igalia.com>
1918
1919         AX: Regression (r126369) - toggle buttons no longer return accessible titles
1920         https://bugs.webkit.org/show_bug.cgi?id=94858
1921
1922         Reviewed by Chris Fleizach.
1923
1924         After the addition of the ToggleButtonRole some logic broke because some parts
1925         of the code were assuming/waiting for a ButtonRole
1926
1927         Test: platform/gtk/accessibility/aria-toggle-button-with-title.html
1928
1929         * accessibility/AccessibilityNodeObject.cpp:
1930         (WebCore::AccessibilityNodeObject::isImageButton): using
1931         isButton instead of a ButtonRole comparison
1932         (WebCore::AccessibilityNodeObject::isPressed): using isButton
1933         instead of a ButtonRole comparison
1934         (WebCore::AccessibilityNodeObject::actionElement):
1935         ToggleButtonRole also contemplated in order to call or not toElement
1936         (WebCore::AccessibilityNodeObject::title): ToggleButtonRole also
1937         contemplated in order to call or not textUnderElement
1938         * accessibility/AccessibilityObject.cpp:
1939         (WebCore::AccessibilityObject::actionVerb): buttonAction also
1940         assigned to ToggleButtonRole
1941         (WebCore::AccessibilityObject::isButton): isButton now returns
1942         that an object is a button if it is a ButtonRole, a
1943         PopUpButtonRole or a ToggleButtonRole
1944         * accessibility/AccessibilityObject.h:
1945         (AccessibilityObject): isButton is now implemented on the .c file
1946         * accessibility/AccessibilityRenderObject.cpp:
1947         (WebCore::AccessibilityRenderObject::actionVerb): ToggleButtonRole
1948         also returns a buttonAction
1949
1950 2012-09-14  Alexander Pavlov  <apavlov@chromium.org>
1951
1952         Web Inspector: Group selectors to highlight matched selector in the Styles pane of Elements Panel
1953         https://bugs.webkit.org/show_bug.cgi?id=96626
1954
1955         Reviewed by Vsevolod Vlasov.
1956
1957         Introduced evaluation of element.webkitMatchesSelector() for every part of a selector group (delimited by commas).
1958         Non-matching selectors in groups are dimmed. If element styles have changed so that the element matches none of the selectors,
1959         the entire group is rendered as matched.
1960
1961         * inspector/front-end/StylesSidebarPane.js:
1962         (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate.markCallback):
1963         (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
1964         (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
1965         (WebInspector.StylePropertiesSection):
1966         (WebInspector.StylePropertiesSection.prototype._markMatchedSelectorsInGroup.mycallback):
1967         (WebInspector.StylePropertiesSection.prototype._markMatchedSelectorsInGroup.trim):
1968         (WebInspector.StylePropertiesSection.prototype._markMatchedSelectorsInGroup.resolvedCallback):
1969         (WebInspector.StylePropertiesSection.prototype._markMatchedSelectorsInGroup):
1970         (WebInspector.StylePropertiesSection.prototype._markMatchedSelectorsInGroup.matchesCallback):
1971         (WebInspector.StylePropertiesSection.prototype.startEditingSelector):
1972         (WebInspector.StylePropertiesSection.prototype._moveEditorFromSelector.markCallback):
1973         (WebInspector.StylePropertiesSection.prototype._moveEditorFromSelector):
1974         (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled):
1975         * inspector/front-end/elementsPanel.css:
1976         (.styles-section .selector):
1977         (.styles-section .selector-matches):
1978
1979 2012-09-17  Mike West  <mkwst@chromium.org>
1980
1981         Don't GC img elements blocked by CSP until error events fire.
1982         https://bugs.webkit.org/show_bug.cgi?id=94677
1983
1984         Reviewed by Jochen Eisinger.
1985
1986         Currently, the GC checks that no load events are pending for an image
1987         element before reclaiming its memory. It's not, however, checking that
1988         error events are taken care of. This leads to the potential of firing an
1989         event on a DOM element that we've already collected. That's a Bad Thing.
1990
1991         This patch adjusts the check to catch error events as well as load
1992         events, which should ensure that the element isn't collected until it's
1993         really ready. As a drive-by, it also changes the name of the check to
1994         'hasPendingActivity' from 'hasPendingLoadEvent' for clarity.
1995
1996         http/tests/security/contentSecurityPolicy/register-bypassing-scheme.html
1997         should no longer crash, and the new
1998         http/tests/security/contentSecurityPolicy/img-blocked-no-gc-crash.html
1999         and fast/events/onerror-img-after-gc.html shouldn't crash either.
2000
2001         Tests: fast/events/onerror-img-after-gc.html
2002                http/tests/security/contentSecurityPolicy/img-blocked-no-gc-crash.html
2003
2004         * bindings/v8/V8GCController.cpp:
2005         (WebCore::calculateGroupId):
2006             Switch to using ImageLoader::hasPendingActivity().
2007         * html/HTMLImageElement.h:
2008         (WebCore::HTMLImageElement::hasPendingActivity):
2009             Switch to using ImageLoader::hasPendingActivity().
2010         * loader/ImageLoader.h:
2011         (WebCore::ImageLoader::hasPendingActivity):
2012             Added a check against pending error events in order to ensure that
2013             elements aren't garbage collected prematurely. Aslo renamed from
2014             ImageLoader::hasPendingLoadEvent for clarity.
2015         * svg/SVGImageElement.cpp:
2016         (WebCore::SVGImageElement::haveLoadedRequiredResources):
2017             Switch to using ImageLoader::hasPendingActivity().
2018
2019 2012-09-17  Philip Rogers  <pdr@google.com>
2020
2021         Make SVGPathSegList.appendItem O(1) instead of O(n)
2022         https://bugs.webkit.org/show_bug.cgi?id=94048
2023
2024         Reviewed by Nikolas Zimmermann.
2025
2026         Paths in SVG can be specified with a String (with the d attribute) or
2027         with an SVGPathSegList. In SVGPathElement a single representation is
2028         maintained: an SVGPathByteStream. To keep the byte stream synchronized with
2029         the d attribute and the PathSegList, this byte stream is
2030         rebuilt on every operation. As a result, any modification to the
2031         path is an O(n) operation.
2032
2033         This patch takes advantage of the stream aspect of SVGPathByteStream
2034         to make SVGPathSegList.append an O(1) operation instead of O(n).
2035         When an SVGPathSeg is appended to an SVGPathSegList, this patch parses
2036         the SVGPathSeg and directly appends the resulting bytes to the
2037         byte stream.
2038
2039         To achieve this some plumbing has been added to pass more information
2040         about the actual path changes from the SVGPathSegListTearOff to the
2041         SVGPathElement: instead of the generic commitChange() this patch adds
2042         commitChange(ListModification type). If we decide to change our
2043         internal path data structure in the future, this additional commitChange
2044         function can be used to pass the information needed to make
2045         SVGPathSegList synchronization faster.
2046
2047         SVG Path Benchmark (http://bl.ocks.org/1296930) showing just the
2048         appendItem() time used in building a 5000 segment path (avg of 3 runs):
2049         WebKit without patch: 562 ms
2050         Firefox 18.01a:       55 ms
2051         Opera 12.50 internal: 27 ms
2052         WebKit with patch:    7 ms
2053
2054         Test: perf/svg-path-appenditem.html
2055
2056             This test proves the claim: SVGPathSegList.appendItem is now O(1).
2057             Additional tests that appendItem works are covered with existing tests.
2058
2059         * svg/SVGPathByteStream.h:
2060         (WebCore::SVGPathByteStream::append):
2061
2062             This additional append method allows an SVGPathByteStream to be
2063             appended to another.
2064
2065         * svg/SVGPathElement.cpp:
2066         (WebCore::SVGPathElement::pathSegListChanged):
2067
2068             By passing the extra ListModification type to pathSegListChanged,
2069             SVGPathElement is now able to only synchronize the parts of the byte stream
2070             that actually changed. In this patch only append is treated
2071             differently but one can imagine other performance improvements this
2072             additional information allows.
2073
2074         * svg/SVGPathElement.h:
2075         (SVGPathElement):
2076         * svg/SVGPathParser.cpp:
2077         (WebCore::SVGPathParser::parsePathDataFromSource):
2078
2079             During normal SVGPathSegList parsing we enforce that the path start with a moveto
2080             command. This function has been expanded to make that optional so that parsing
2081             can be performed elsewhere in the path (e.g., in the middle).
2082
2083         * svg/SVGPathParser.h:
2084         (SVGPathParser):
2085         * svg/SVGPathSegList.cpp:
2086         (WebCore::SVGPathSegList::commitChange):
2087         * svg/SVGPathSegList.h:
2088         (SVGPathSegList):
2089         * svg/SVGPathSegWithContext.h:
2090         (WebCore::SVGPathSegWithContext::commitChange):
2091         * svg/SVGPathUtilities.cpp:
2092         (WebCore::appendSVGPathByteStreamFromSVGPathSeg):
2093
2094             This function reuses the SVGPathSegList parsing infrastructure
2095             to parse an SVGPathSegList with just the single SVGPathSeg that
2096             is being appended. The resulting byte stream can then be appended
2097             to the result path byte stream.
2098
2099         (WebCore):
2100         * svg/SVGPathUtilities.h:
2101         (WebCore):
2102         * svg/properties/SVGListProperty.h:
2103         (WebCore::SVGListProperty::appendItemValues):
2104         (WebCore::SVGListProperty::appendItemValuesAndWrappers):
2105         (WebCore::SVGListProperty::commitChange):
2106         (SVGListProperty):
2107         * svg/properties/SVGPathSegListPropertyTearOff.h:
2108         (WebCore::SVGPathSegListPropertyTearOff::commitChange):
2109         (SVGPathSegListPropertyTearOff):
2110
2111 2012-09-16  James Robinson  <jamesr@chromium.org>
2112
2113         Chromium win build fix - listing a file that doesn't exist is a fatal errors in the msvs gyp generator.
2114
2115         * WebCore.gypi:
2116
2117 2012-09-16  Dan Bernstein  <mitz@apple.com>
2118
2119         REGRESSION (r126763): css1/pseudo/firstline.html fails when using the complex text code path
2120         https://bugs.webkit.org/show_bug.cgi?id=96890
2121
2122         Reviewed by Sam Weinig.
2123
2124         Test: fast/text/stale-TextLayout-from-first-line.html
2125
2126         When a first-line style specifies a font, different pieces of the same RenderText can be
2127         laid out using different fonts, requiring a differet TextLayout for each piece.
2128
2129         * rendering/RenderBlock.h:
2130         (RenderTextInfo): Added m_font data member.
2131         * rendering/RenderBlockLineLayout.cpp:
2132         (WebCore::RenderBlock::RenderTextInfo::RenderTextInfo): Added initializer for new data member.
2133         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Added code to update the text layout in
2134         renderTextInfo if the font has changed.
2135
2136 2012-09-16  Kalev Lember  <kalevlember@gmail.com>
2137
2138         [GTK] Missing dllexport causing linking errors on Windows platform
2139         https://bugs.webkit.org/show_bug.cgi?id=96888
2140
2141         Reviewed by Kentaro Hara.
2142
2143         Define BUILDING_WebCore during the build to properly mark
2144         FrameDestructionObserver symbols with __declspec(dllexport) attribute.
2145
2146         * GNUmakefile.am:
2147
2148 2012-09-15  Mike West  <mkwst@chromium.org>
2149
2150         Pause inspector when inline scripts are blocked by Content Security Policy.
2151         https://bugs.webkit.org/show_bug.cgi?id=93865
2152
2153         Reviewed by Pavel Feldman.
2154
2155         When Content Security Policy blocks an inline script that's been
2156         injected after the document is parsed, a fairly unhelpful console
2157         warning is generated; it points at line 1, regardless of where the error
2158         occurred. This patch adjusts CSP to not only warn on the console, but
2159         also to notify the inspector that it should pause execution if the
2160         developer has toggled "Break on Exceptions". Developers will have a
2161         better chance of tracking down the error, as they'll have a complete
2162         call stack to work with.
2163
2164         Tests: inspector/debugger/debugger-pause-on-blocked-event-handler.html
2165                inspector/debugger/debugger-pause-on-blocked-script-injection.html
2166                inspector/debugger/debugger-pause-on-blocked-script-url.html
2167
2168         * English.lproj/localizedStrings.js:
2169             Adding localizable string for the new friendly pause message.
2170         * inspector/Inspector.json:
2171             Add CSPViolation as a recognized reason for pausing execution.
2172         * inspector/InspectorDebuggerAgent.cpp:
2173         (WebCore::InspectorDebuggerAgent::scriptExecutionBlockedByCSP):
2174             Teach the InspectorDebuggerAgent about script blocking. If pause on
2175             exceptions is enabled, call 'InspectorDebuggerAgent::breakProgram',
2176             and pass in an error object with a description that points to CSP
2177             as the culprit.
2178         (WebCore):
2179         * inspector/InspectorDebuggerAgent.h:
2180         (InspectorDebuggerAgent):
2181         * inspector/InspectorInstrumentation.cpp:
2182         (WebCore):
2183         (WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSPImpl):
2184             Wire 'InspectorInstrumentation::scriptExecutionBlockedByCSP' to
2185             the InspectorDebuggerAgent backend.
2186         * inspector/InspectorInstrumentation.h:
2187         (InspectorInstrumentation):
2188         (WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSP):
2189             The public interface that should be kicked whenever CSP blocks
2190             script execution.
2191         (WebCore):
2192         * inspector/front-end/DebuggerModel.js:
2193             Add CSPViolation as a recognized reason for pausing execution.
2194         * inspector/front-end/ScriptsPanel.js:
2195             Add a friendly call stack status message for CSP violations.
2196         * page/ContentSecurityPolicy.cpp:
2197         (CSPDirectiveList):
2198         (WebCore::CSPDirectiveList::checkNonceAndReportViolation):
2199             If script is blocked because the nonce doesn't match, report the
2200             blocked script to the inspector.
2201         (WebCore::CSPDirectiveList::checkInlineAndReportViolation):
2202             If inline script is blocked, report the blocked script to the
2203             inspector. This requires adding a bool parameter to differentiate
2204             blocking inline script from inline style.
2205         (WebCore::CSPDirectiveList::allowJavaScriptURLs):
2206             Tell 'checkInlineAndReportViolation' that we're dealing with script.
2207         (WebCore::CSPDirectiveList::allowInlineEventHandlers):
2208             Tell 'checkInlineAndReportViolation' that we're dealing with script.
2209         (WebCore::CSPDirectiveList::allowInlineScript):
2210             Tell 'checkInlineAndReportViolation' that we're dealing with script.
2211         (WebCore::CSPDirectiveList::allowInlineStyle):
2212             Tell 'checkInlineAndReportViolation' that we're not dealing with script.
2213         (WebCore::ContentSecurityPolicy::reportBlockedScriptExecutionToInspector):
2214             Public interface for the various CSP* classes to poke the inspector.
2215         (WebCore):
2216         * page/ContentSecurityPolicy.h:
2217
2218 2012-09-15  Florin Malita  <fmalita@chromium.org>
2219
2220         <use> not working when the SVG doc is embedded as <object> data
2221         https://bugs.webkit.org/show_bug.cgi?id=96816
2222
2223         Reviewed by Dirk Schulze.
2224
2225         Updated SVGURIReference::isExternalURIReference() to correctly classify fragment-only URIs.
2226         Also, since the fragment-only test is cheap, it should be the first thing to try.
2227
2228         Test: svg/custom/object-data-href.html
2229
2230         * svg/SVGURIReference.h:
2231         (WebCore::SVGURIReference::isExternalURIReference):
2232
2233 2012-09-15  Benjamin Poulain  <benjamin@webkit.org>
2234
2235         Fix the build with WTF URL
2236         https://bugs.webkit.org/show_bug.cgi?id=96875
2237
2238         Reviewed by Adam Barth.
2239
2240         Fix reportMemoryUsage, the implementation was only partial.
2241
2242         * WebCore.exp.in: Export two more symbols as needed by API tests.
2243         * platform/KURLWTFURL.cpp:
2244         (WebCore::KURL::string): emptyString() return a reference,
2245         it makes more sense than nullAtom() here.
2246         * platform/KURLWTFURLImpl.h:
2247         (WebCore::KURLWTFURLImpl::reportMemoryUsage):
2248
2249 2012-09-11  Dirk Schulze  <krit@webkit.org>
2250
2251         Add ClipPathOperation for -webkit-clip-path organization
2252         https://bugs.webkit.org/show_bug.cgi?id=95619
2253
2254         Reviewed by Dean Jackson.
2255
2256         This patch adds a new class ClipPathOperation to manage the values of the
2257         -webkit-clip-path property. ClipPathOperation stores a Path object for clipping and is
2258         a preparation for IRI references of the SVG 'clipPath' element.
2259
2260         The structure of ClipPathOperation is simular to FilterOperation.
2261
2262         ClipPathOperation will be extended to support IRI references directly in a second patch.
2263
2264         No new tests. The changes just affect the backend.
2265
2266         * GNUmakefile.list.am: Added new ClipPathOperation class.
2267         * WebCore.gypi: Ditto.
2268         * WebCore.vcproj/WebCore.vcproj: Ditto.
2269         * WebCore.xcodeproj/project.pbxproj: Ditto.
2270         * css/CSSComputedStyleDeclaration.cpp: Use ClipPathOperation instead of BasicShape.
2271         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Ditto.
2272         * css/StyleBuilder.cpp: Ditto.
2273         (WebCore):
2274         (WebCore::ApplyPropertyClipPath::setValue):
2275         (WebCore::ApplyPropertyClipPath::applyValue):
2276         (WebCore::ApplyPropertyClipPath::createHandler):
2277         * rendering/ClipPathOperation.h: Added. New handler for property values (BasicShape, references).
2278         (WebCore):
2279         (ClipPathOperation):
2280         (WebCore::ClipPathOperation::~ClipPathOperation):
2281         (WebCore::ClipPathOperation::operator!=):
2282         (WebCore::ClipPathOperation::getOperationType): Return the operation type.
2283         (WebCore::ClipPathOperation::isSameType): Helper function for =operator.
2284         (WebCore::ClipPathOperation::ClipPathOperation):
2285         (ShapeClipPathOperation): Inheriting class for managing BasicShapes.
2286         (WebCore::ShapeClipPathOperation::create):
2287         (WebCore::ShapeClipPathOperation::basicShape):
2288         (WebCore::ShapeClipPathOperation::windRule):
2289         (WebCore::ShapeClipPathOperation::path):
2290         (WebCore::ShapeClipPathOperation::operator==):
2291         (WebCore::ShapeClipPathOperation::ShapeClipPathOperation):
2292         * rendering/RenderLayer.cpp: Use ClipPathOperation to apply clipping.
2293         (WebCore::RenderLayer::paintLayerContents):
2294         * rendering/style/RenderStyle.h:
2295         * rendering/style/StyleRareNonInheritedData.h:
2296         (StyleRareNonInheritedData):
2297         * rendering/svg/SVGRenderingContext.cpp: Ditto.
2298         (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
2299
2300 2012-09-15  Andreas Kling  <kling@webkit.org>
2301
2302         REGRESSION(r127438): Google Docs to renders text too small.
2303         <http://webkit.org/b/96554>
2304
2305         Reviewed by Antti Koivisto.
2306
2307         Don't remove the inline StylePropertySet from ElementAttributeData in ~StyledElement.
2308         This behavior broke sharing of ElementAttributeData between elements with inline style,
2309         since destroying one element would effectively disable the inline style from all other
2310         elements that shared the same attribute data.
2311
2312         What we actually want in ~StyledElement is to detach from any CSSOM wrapper that may
2313         have been instantiated. Added ElementAttributeData::detachCSSOMWrapperIfNeeded for this
2314         purpose and call that instead.
2315
2316         Test: fast/dom/shared-inline-style-after-node-removal.html
2317
2318         * dom/ElementAttributeData.cpp:
2319         (WebCore::ElementAttributeData::detachCSSOMWrapperIfNeeded):
2320         (WebCore::ElementAttributeData::destroyInlineStyle):
2321         * dom/ElementAttributeData.h:
2322         (ElementAttributeData):
2323         * dom/StyledElement.cpp:
2324         (WebCore::StyledElement::~StyledElement):
2325         (WebCore::StyledElement::styleAttributeChanged):
2326         * dom/StyledElement.h:
2327         (StyledElement):
2328
2329 2012-09-15  Kalev Lember  <kalevlember@gmail.com>
2330
2331         [GTK] Include missing header files in the tarball
2332         https://bugs.webkit.org/show_bug.cgi?id=96860
2333
2334         Reviewed by Kentaro Hara.
2335
2336         Build fix; dist two additional headers that are needed for building on
2337         Windows platform.
2338
2339         * GNUmakefile.list.am:
2340
2341 2012-09-15  Michael Saboff  <msaboff@apple.com>
2342
2343         Add 8 bit handling to SpaceSplitString
2344         https://bugs.webkit.org/show_bug.cgi?id=96823
2345
2346         Reviewed by Sam Weinig.
2347
2348         Added templated functions based on character type to handle 8 and 16 bit string data.
2349
2350         * dom/SpaceSplitString.cpp:
2351         (WebCore::hasNonASCIIOrUpper):
2352         (WebCore::SpaceSplitStringData::createVector):
2353         * dom/SpaceSplitString.h:
2354         (SpaceSplitStringData):
2355
2356 2012-09-15  Dan Bernstein  <mitz@apple.com>
2357
2358         REGRESSION (r125578): The monospace code path in RenderText::widthFromCache disagrees with Font::width on word spacing
2359         https://bugs.webkit.org/show_bug.cgi?id=96869
2360
2361         Reviewed by Eric Seidel.
2362
2363         Test: fast/text/word-space-monospace.html
2364         This also fixes fast/css/word-spacing-characters.html
2365
2366         * rendering/RenderText.cpp:
2367         (WebCore::RenderText::widthFromCache): Made the conditions for adding word spacing match the
2368         ones in WidthIterator.
2369
2370 2012-09-15  Dan Bernstein  <mitz@apple.com>
2371
2372         REGRESSION (r125578): Word spacing not applied to newline and tab characters that are treated as spaces
2373         https://bugs.webkit.org/show_bug.cgi?id=96865
2374
2375         Reviewed by Sam Weinig.
2376
2377         Fixes fast/css/word-space-extra.html.
2378
2379         * platform/graphics/WidthIterator.cpp:
2380         (WebCore::WidthIterator::advanceInternal): Changed back to apply word spacing to all characters
2381         that are treated as spaces, except for tab characters when there are tab stops.
2382         * platform/graphics/mac/ComplexTextController.cpp:
2383         (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Ditto.
2384
2385 2012-09-15  Dan Bernstein  <mitz@apple.com>
2386
2387         REGRESSION (r125578): The Mac complex text code path disagrees with the fast path on word spacing
2388         https://bugs.webkit.org/show_bug.cgi?id=96857
2389
2390         Reviewed by Anders Carlsson.
2391
2392         Fixes the following tests when run with run-webkit-tests --complex-text:
2393         css2.1/20110323/c541-word-sp-001.htm
2394         css2.1/20110323/word-spacing-remove-space-002.htm
2395         css2.1/20110323/word-spacing-remove-space-003.htm
2396         css2.1/20110323/word-spacing-remove-space-004.htm
2397         css2.1/20110323/word-spacing-remove-space-005.htm
2398         css2.1/20110323/word-spacing-remove-space-006.htm
2399
2400         Fixes fast/css/word-spacing-characters-complex-text.html
2401
2402         * platform/graphics/mac/ComplexTextController.cpp:
2403         (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Made the conditions for adding
2404         word spacing match the ones in WidthIterator again.
2405
2406 2012-09-15  Kent Tamura  <tkent@chromium.org>
2407
2408         Unreviewed, rolling out r128669.
2409         http://trac.webkit.org/changeset/128669
2410         https://bugs.webkit.org/show_bug.cgi?id=96637
2411
2412         Broke http/tests/workers/text-encoding.html on Chromium Linux (dbg)
2413
2414         * bindings/v8/DOMData.cpp:
2415         (WebCore::DOMData::getCurrentStore):
2416         * bindings/v8/ScopedPersistent.h:
2417         * bindings/v8/ScriptController.cpp:
2418         (WebCore::ScriptController::resetIsolatedWorlds):
2419         (WebCore::ScriptController::evaluateInIsolatedWorld):
2420         (WebCore::ScriptController::currentWorldContext):
2421         * bindings/v8/V8Binding.cpp:
2422         (WebCore::perContextDataForCurrentWorld):
2423         * bindings/v8/V8DOMWindowShell.cpp:
2424         (WebCore::setIsolatedWorldField):
2425         (WebCore::V8DOMWindowShell::enteredIsolatedWorldContext):
2426         (WebCore::V8DOMWindowShell::destroyIsolatedShell):
2427         (WebCore):
2428         (WebCore::isolatedContextWeakCallback):
2429         (WebCore::V8DOMWindowShell::disposeContext):
2430         (WebCore::V8DOMWindowShell::initializeIfNeeded):
2431         (WebCore::V8DOMWindowShell::setIsolatedWorldSecurityOrigin):
2432         * bindings/v8/V8DOMWindowShell.h:
2433         (V8DOMWindowShell):
2434         (WebCore::V8DOMWindowShell::getEntered):
2435         * bindings/v8/V8DOMWrapper.h:
2436         (WebCore::V8DOMWrapper::getCachedWrapper):
2437         * bindings/v8/WorldContextHandle.cpp:
2438         (WebCore::WorldContextHandle::WorldContextHandle):
2439         * bindings/v8/custom/V8DocumentCustom.cpp:
2440         (WebCore::toV8):
2441         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2442         (WebCore::toV8):
2443         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
2444         (WebCore::toV8):
2445         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
2446         (WebCore::V8XMLHttpRequest::constructorCallback):
2447
2448 2012-09-14  Sheriff Bot  <webkit.review.bot@gmail.com>
2449
2450         Unreviewed, rolling out r128673.
2451         http://trac.webkit.org/changeset/128673
2452         https://bugs.webkit.org/show_bug.cgi?id=96847
2453
2454         Makes plugins/document-open.html crash (Requested by jamesr_
2455         on #webkit).
2456
2457         * dom/ContainerNode.cpp:
2458         (WebCore):
2459         (WebCore::ContainerNode::insertBeforeCommon):
2460         (WebCore::ContainerNode::replaceChild):
2461         (WebCore::ContainerNode::removeBetween):
2462         (WebCore::ContainerNode::removeChildren):
2463         (WebCore::ContainerNode::appendChild):
2464         (WebCore::ContainerNode::parserAddChild):
2465         (WebCore::dispatchChildInsertionEvents):
2466         (WebCore::dispatchChildRemovalEvents):
2467         * dom/ContainerNode.h:
2468         * dom/ContainerNodeAlgorithms.h:
2469         (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree):
2470         (WebCore::ChildNodeInsertionNotifier::notify):
2471         (WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromTree):
2472         * dom/Document.cpp:
2473         (WebCore::Document::dispatchWindowEvent):
2474         (WebCore::Document::dispatchWindowLoadEvent):
2475         * dom/EventDispatcher.cpp:
2476         (WebCore::EventDispatcher::dispatchEvent):
2477         * dom/EventTarget.cpp:
2478         (WebCore):
2479         (WebCore::forbidEventDispatch):
2480         (WebCore::allowEventDispatch):
2481         (WebCore::eventDispatchForbidden):
2482         (WebCore::EventTarget::fireEventListeners):
2483         * dom/EventTarget.h:
2484         (WebCore):
2485         (WebCore::forbidEventDispatch):
2486         (WebCore::allowEventDispatch):
2487         * dom/Node.cpp:
2488         (WebCore::Node::dispatchSubtreeModifiedEvent):
2489         (WebCore::Node::dispatchFocusInEvent):
2490         (WebCore::Node::dispatchFocusOutEvent):
2491         (WebCore::Node::dispatchDOMActivateEvent):
2492         * dom/WebKitNamedFlow.cpp:
2493         (WebCore::WebKitNamedFlow::dispatchRegionLayoutUpdateEvent):
2494         * html/HTMLMediaElement.cpp:
2495         (WebCore::HTMLMediaElement::loadInternal):
2496
2497 2012-09-14  Julien Chaffraix  <jchaffraix@webkit.org>
2498
2499         Revert r127457 and following fixes due to several hit-testing regressions
2500         https://bugs.webkit.org/show_bug.cgi?id=96830
2501
2502         Reviewed by Antonio Gomes.
2503
2504         This change reverts r127457, r127863 and r128505.
2505
2506         * WebCore.exp.in:
2507         * WebCore.order:
2508         * dom/Document.cpp:
2509         (WebCore::Document::nodesFromRect):
2510         * dom/Document.h:
2511         (Document):
2512         * page/EventHandler.cpp:
2513         (WebCore::EventHandler::hitTestResultAtPoint):
2514         * rendering/HitTestRequest.h:
2515         * rendering/HitTestResult.cpp:
2516         (WebCore::HitTestLocation::HitTestLocation):
2517         * rendering/HitTestResult.h:
2518         (HitTestLocation):
2519         * rendering/RenderFrameBase.cpp:
2520         * rendering/RenderFrameBase.h:
2521         (RenderFrameBase):
2522         * rendering/RenderLayer.cpp:
2523         (WebCore::RenderLayer::hitTest):
2524         * testing/Internals.cpp:
2525         (WebCore::Internals::nodesFromRect):
2526         * testing/Internals.h:
2527         (Internals):
2528         * testing/Internals.idl:
2529
2530 2012-09-14  Joshua Bell  <jsbell@chromium.org>
2531
2532         IndexedDB: Calling close() during upgradeneeded handler should fire error at open request
2533         https://bugs.webkit.org/show_bug.cgi?id=96807
2534
2535         Reviewed by Tony Chang.
2536
2537         Per spec, if the database connection is closed before the success event fires, the request
2538         should have an error event of type AbortError fired at it.
2539
2540         Test: storage/indexeddb/intversion-close-in-upgradeneeded.html
2541
2542         * Modules/indexeddb/IDBDatabase.h:
2543         (WebCore::IDBDatabase::isClosePending): Expose this state so an in-flight success can be morphed.
2544         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
2545         (WebCore::IDBDatabaseBackendImpl::close): Fire the appropriate error at connections that are mid-opening.
2546         * Modules/indexeddb/IDBOpenDBRequest.cpp:
2547         (WebCore::IDBOpenDBRequest::onSuccess): If the connection was closed before the success is enqueued - 
2548         which can happen in multi-process ports with asynchronous messaging - convert the success to an error.
2549
2550 2012-09-14  Ryosuke Niwa  <rniwa@webkit.org>
2551
2552         Turn forbidEventDispatch and allowEventDispatch into a RAII object
2553         https://bugs.webkit.org/show_bug.cgi?id=96717
2554
2555         Reviewed by Abhishek Arya.
2556
2557         Replaced forbidEventDispatch and allowEventDispatch by AssertNoEventDispatch.
2558
2559         * dom/ContainerNode.cpp:
2560         (WebCore):
2561         (WebCore::ContainerNode::insertBeforeCommon):
2562         (WebCore::ContainerNode::replaceChild):
2563         (WebCore::ContainerNode::removeBetween):
2564         (WebCore::ContainerNode::removeChildren):
2565         (WebCore::ContainerNode::appendChild):
2566         (WebCore::ContainerNode::parserAddChild):
2567         (WebCore::dispatchChildInsertionEvents):
2568         (WebCore::dispatchChildRemovalEvents):
2569         * dom/ContainerNode.h:
2570         (AssertNoEventDispatch):
2571         (WebCore::AssertNoEventDispatch::AssertNoEventDispatch):
2572         (WebCore::AssertNoEventDispatch::~AssertNoEventDispatch):
2573         (WebCore::AssertNoEventDispatch::isEventDispatchForbidden):
2574         (WebCore):
2575         * dom/ContainerNodeAlgorithms.h:
2576         (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree):
2577         (WebCore::ChildNodeInsertionNotifier::notify):
2578         (WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromTree):
2579         * dom/Document.cpp:
2580         (WebCore::Document::dispatchWindowEvent):
2581         (WebCore::Document::dispatchWindowLoadEvent):
2582         * dom/EventDispatcher.cpp:
2583         (WebCore::EventDispatcher::dispatchEvent):
2584         * dom/EventTarget.cpp:
2585         (WebCore):
2586         (WebCore::EventTarget::fireEventListeners):
2587         * dom/EventTarget.h:
2588         (WebCore):
2589         * dom/Node.cpp:
2590         (WebCore::Node::dispatchSubtreeModifiedEvent):
2591         (WebCore::Node::dispatchFocusInEvent):
2592         (WebCore::Node::dispatchFocusOutEvent):
2593         (WebCore::Node::dispatchDOMActivateEvent):
2594         * dom/WebKitNamedFlow.cpp:
2595         (WebCore::WebKitNamedFlow::dispatchRegionLayoutUpdateEvent):
2596         * html/HTMLMediaElement.cpp:
2597         (WebCore::HTMLMediaElement::loadInternal):
2598
2599 2012-09-14  Mike West  <mkwst@chromium.org>
2600
2601         JSC should throw a more descriptive exception when blocking 'eval' via CSP.
2602         https://bugs.webkit.org/show_bug.cgi?id=94331
2603
2604         Reviewed by Geoffrey Garen.
2605
2606         Unless explicitly whitelisted, the 'script-src' Content Security Policy
2607         directive blocks 'eval' and 'eval'-like constructs such as
2608         'new Function()'. When 'eval' is encountered in code, an 'EvalError' is
2609         thrown, but the associated message is poor: "Eval is disabled" doesn't
2610         give developers enough information about why their code isn't behaving
2611         as expected.
2612
2613         This patch adds an 'errorMessage' parameter to the JavaScriptCore method
2614         used to disable 'eval'; ContentSecurityPolicy has the opportunity to
2615         pass in a more detailed and descriptive error that contains more context
2616         for the developer.
2617
2618         The new error message is tested by adjusting existing tests; nothing new
2619         is required.
2620
2621         * bindings/js/ScriptController.cpp:
2622         (WebCore::ScriptController::initScript):
2623             Read the error message off the document's ContentSecurityPolicy.
2624         (WebCore::ScriptController::disableEval):
2625         * bindings/js/ScriptController.h:
2626         (ScriptController):
2627             Pipe the error message through to JSGlobalObject when disabling eval
2628         * bindings/js/WorkerScriptController.cpp:
2629         (WebCore::WorkerScriptController::disableEval):
2630         * bindings/js/WorkerScriptController.h:
2631         (WorkerScriptController):
2632             Pipe the error message through to JSGlobalObject when disabling eval
2633         * bindings/v8/ScriptController.cpp:
2634         (WebCore::ScriptController::disableEval):
2635         * bindings/v8/ScriptController.h:
2636         (ScriptController):
2637         * bindings/v8/WorkerScriptController.cpp:
2638         (WebCore::WorkerScriptController::disableEval):
2639         * bindings/v8/WorkerScriptController.h:
2640         (WorkerScriptController):
2641             Placeholder for V8 piping to be built in webk.it/94332.
2642         * dom/Document.cpp:
2643         (WebCore::Document::disableEval):
2644         * dom/Document.h:
2645         (Document):
2646         * dom/ScriptExecutionContext.h:
2647         (ScriptExecutionContext):
2648             Pipe the error message through to the ScriptController when
2649             disabling eval.
2650         * page/ContentSecurityPolicy.cpp:
2651         (WebCore::CSPDirectiveList::evalDisabledErrorMessage):
2652             Accessor for the error message that ought be displayed to developers
2653             when 'eval' used while disabled for a specific directive list.
2654         (WebCore::CSPDirectiveList::setEvalDisabledErrorMessage):
2655             Mutator for the error message that ought be displayed to developers
2656             when 'eval' used while disabled for a specific directive list.
2657         (CSPDirectiveList):
2658         (WebCore::CSPDirectiveList::create):
2659             Upon creation of a CSPDirectiveList, set the error message if the
2660             directive list disables 'eval'.
2661         (WebCore::ContentSecurityPolicy::didReceiveHeader):
2662             Pass the error message into ScriptExecutionContext::disableEval.
2663         (WebCore::ContentSecurityPolicy::evalDisabledErrorMessage):
2664             Public accessor for the policy's error message; walks the list of
2665             directive lists and returns the first error message found.
2666         (WebCore):
2667         * page/ContentSecurityPolicy.h:
2668         * workers/WorkerContext.cpp:
2669         (WebCore::WorkerContext::disableEval):
2670         * workers/WorkerContext.h:
2671         (WorkerContext):
2672             Pipe the error message through to the ScriptController when
2673             disabling eval.
2674
2675 2012-09-14  Dan Carney  <dcarney@google.com>
2676
2677         Remove V8DOMWindowShell::getEntered
2678         https://bugs.webkit.org/show_bug.cgi?id=96637
2679
2680         Reviewed by Adam Barth.
2681
2682         V8DOMWindowShell::getEntered was refactored so that the window shell
2683         no longer has to be kept alive by a v8 context but rather a smaller
2684         object.
2685
2686         No new tests. No change in functionality.
2687
2688         * bindings/v8/DOMData.cpp:
2689         (WebCore::DOMData::getCurrentStore):
2690         * bindings/v8/ScopedPersistent.h:
2691         (WebCore::ScopedPersistent::leakHandle):
2692         (ScopedPersistent):
2693         * bindings/v8/ScriptController.cpp:
2694         (WebCore::ScriptController::resetIsolatedWorlds):
2695         (WebCore::ScriptController::evaluateInIsolatedWorld):
2696         (WebCore::ScriptController::currentWorldContext):
2697         * bindings/v8/V8Binding.cpp:
2698         (WebCore::perContextDataForCurrentWorld):
2699         * bindings/v8/V8DOMWindowShell.cpp:
2700         (WebCore::setIsolatedWorldField):
2701         (WebCore::V8DOMWindowShell::toIsolatedContextData):
2702         (WebCore::isolatedContextWeakCallback):
2703         (WebCore::V8DOMWindowShell::disposeContext):
2704         (WebCore::V8DOMWindowShell::clearIsolatedShell):
2705         (WebCore):
2706         (WebCore::V8DOMWindowShell::initializeIfNeeded):
2707         (WebCore::V8DOMWindowShell::setIsolatedWorldSecurityOrigin):
2708         * bindings/v8/V8DOMWindowShell.h:
2709         (V8DOMWindowShell):
2710         (IsolatedContextData):
2711         (WebCore::V8DOMWindowShell::IsolatedContextData::create):
2712         (WebCore::V8DOMWindowShell::IsolatedContextData::world):
2713         (WebCore::V8DOMWindowShell::IsolatedContextData::perContextData):
2714         (WebCore::V8DOMWindowShell::IsolatedContextData::setSecurityOrigin):
2715         (WebCore::V8DOMWindowShell::IsolatedContextData::securityOrigin):
2716         (WebCore::V8DOMWindowShell::IsolatedContextData::IsolatedContextData):
2717         (WebCore::V8DOMWindowShell::enteredIsolatedContext):
2718         (WebCore::V8DOMWindowShell::enteredIsolatedContextData):
2719         * bindings/v8/V8DOMWrapper.h:
2720         (WebCore::V8DOMWrapper::getCachedWrapper):
2721         * bindings/v8/WorldContextHandle.cpp:
2722         (WebCore::WorldContextHandle::WorldContextHandle):
2723         * bindings/v8/custom/V8DocumentCustom.cpp:
2724         (WebCore::toV8):
2725         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2726         (WebCore::toV8):
2727         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
2728         (WebCore::toV8):
2729         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
2730         (WebCore::V8XMLHttpRequest::constructorCallback):
2731
2732 2012-09-14  Michelangelo De Simone  <michelangelo@webkit.org>
2733
2734         [CSS Shaders] u_textureSize uniform should be set to the size of the texture.
2735         https://bugs.webkit.org/show_bug.cgi?id=95914
2736
2737         Reviewed by Dean Jackson.
2738
2739         This adds support for the following shader uniform variables:
2740
2741             uniform vec2 u_textureSize
2742             uniform vec4 u_meshBox
2743             uniform vec2 u_tileSize
2744             uniform vec2 u_meshSize
2745
2746         The relevant section of the specification is:
2747         http://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#shader-uniform-variables
2748
2749         Tests: css3/filters/custom/custom-filter-u-mesh-box.html
2750                css3/filters/custom/custom-filter-u-mesh-size.html
2751                css3/filters/custom/custom-filter-u-texture-size.html
2752                css3/filters/custom/custom-filter-u-tile-size.html
2753
2754         * platform/graphics/filters/FECustomFilter.cpp:
2755         (WebCore::FECustomFilter::bindProgramAndBuffers):
2756
2757 2012-09-14  Ojan Vafai  <ojan@chromium.org>
2758
2759         Provide a runtime setting to disable position:sticky
2760         https://bugs.webkit.org/show_bug.cgi?id=96827
2761
2762         Reviewed by James Robinson.
2763
2764         Have it be on by default so that only ports that both enable
2765         the define and don't want it on by default need to do something special.
2766
2767         * css/CSSParser.cpp:
2768         (WebCore::CSSParserContext::CSSParserContext):
2769         (WebCore::operator==):
2770         (WebCore::isValidKeywordPropertyAndValue):
2771         * css/CSSParserMode.h:
2772         (CSSParserContext):
2773         * dom/Document.cpp:
2774         (WebCore::Document::cssStickyPositionEnabled):
2775         (WebCore):
2776         * dom/Document.h:
2777         (Document):
2778         * page/Settings.cpp:
2779         (WebCore::Settings::Settings):
2780         * page/Settings.h:
2781         (Settings):
2782         (WebCore::Settings::setCSSStickyPositionEnabled):
2783         (WebCore::Settings::cssStickyPositionEnabled):
2784
2785 2012-09-14  Simon Fraser  <simon.fraser@apple.com>
2786
2787         Fix builds with CSS_IMAGE_RESOLUTION enabled after r128656.
2788
2789         * css/StyleBuilder.cpp:
2790         (WebCore::ApplyPropertyImageResolution::applyInheritValue):
2791         (WebCore::ApplyPropertyImageResolution::applyInitialValue):
2792
2793 2012-09-14  Adam Barth  <abarth@webkit.org>
2794
2795         Remove webkitPostMessage
2796         https://bugs.webkit.org/show_bug.cgi?id=96577
2797
2798         Reviewed by Ojan Vafai.
2799
2800         webkitPostMessage works the same as postMessage. The spec and the
2801         implementation have been stable for a while. We should no longer be
2802         exposing this vendor-prefixed API.
2803
2804         This patch places the webkitPostMessage API behind an ENABLE flag.
2805         We're going to try removing this API in the Chromium port. If we don't
2806         run into trouble, we'll remove it in all the other ports as well.
2807
2808         This topic has been discussed on webkit-dev in
2809         http://lists.webkit.org/pipermail/webkit-dev/2012-April/020237.html and
2810         http://lists.webkit.org/pipermail/webkit-dev/2012-September/022189.html
2811
2812         This patch introduces the ENABLE(LEGACY_VENDOR_PREFIXES) flag. Rather
2813         than having a flag for each vendor-prefixed API we're experimenting
2814         with removing, we'll add vendor prefixed APIs to this ENABLE when we
2815         want to try removing them. If we succeed, we'll just delete the APIs.
2816         If we fail, we'll remove them from the ENABLE. That way we avoid the
2817         churn of adding and removing many ENABLE macros.
2818
2819         * Configurations/FeatureDefines.xcconfig:
2820         * GNUmakefile.am:
2821         * GNUmakefile.features.am:
2822         * bindings/js/JSDOMWindowCustom.cpp:
2823         (WebCore):
2824         * bindings/js/JSDedicatedWorkerContextCustom.cpp:
2825         (WebCore):
2826         * bindings/js/JSMessagePortCustom.cpp:
2827         (WebCore):
2828         * bindings/js/JSWorkerCustom.cpp:
2829         (WebCore):
2830         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2831         (WebCore):
2832         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
2833         (WebCore):
2834         * bindings/v8/custom/V8MessagePortCustom.cpp:
2835         (WebCore):
2836         * bindings/v8/custom/V8WorkerCustom.cpp:
2837         (WebCore):
2838         * dom/MessagePort.idl:
2839         * page/DOMWindow.idl:
2840         * workers/DedicatedWorkerContext.idl:
2841         * workers/Worker.idl:
2842
2843 2012-09-14  Simon Fraser  <simon.fraser@apple.com>
2844
2845         REGRESSION: transition doesn’t always override transition-property
2846         https://bugs.webkit.org/show_bug.cgi?id=96658
2847
2848         Reviewed by Dean Jackson.
2849
2850         Setting the animation property on an Animation in CSSToStyleMap::mapAnimationProperty()
2851         is special because we have to call setAnimationMode(Animation::AnimateAll) as well
2852         as setting the property to CSSPropertyInvalid if it's for the initial state
2853         of the transition-property property.
2854         
2855         In order to fix this via StyleBuilder PropertyHandlers, we have to know,
2856         in ApplyPropertyAnimation::applyInitialValue(), which property is getting applied.
2857         This requires passing the CSSPropertyID down through all of the "apply" methods.
2858         
2859         Do some unrelated cleanup in CSSParser::parseTransitionShorthand(); the existing code
2860         was not safe with respect to adding new properties to the shorthand.
2861
2862         Test: transitions/longhand-vs-shorthand-initial.html
2863
2864         * css/CSSParser.cpp:
2865         (WebCore::CSSParser::parseTransitionShorthand):
2866         * css/StyleBuilder.cpp:
2867         (WebCore::ApplyPropertyExpanding::applyInheritValue):
2868         (WebCore::ApplyPropertyExpanding::applyInitialValue):
2869         (WebCore::ApplyPropertyExpanding::applyValue):
2870         (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
2871         (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
2872         (WebCore::ApplyPropertyDefaultBase::applyValue):
2873         (WebCore::ApplyPropertyDefault::applyValue):
2874         (WebCore::ApplyPropertyNumber::applyValue):
2875         (WebCore::ApplyPropertyStyleImage::applyValue):
2876         (WebCore::ApplyPropertyAuto::applyInheritValue):
2877         (WebCore::ApplyPropertyAuto::applyInitialValue):
2878         (WebCore::ApplyPropertyAuto::applyValue):
2879         (WebCore::ApplyPropertyClip::applyInheritValue):
2880         (WebCore::ApplyPropertyClip::applyInitialValue):
2881         (WebCore::ApplyPropertyClip::applyValue):
2882         (WebCore::ApplyPropertyColor::applyInheritValue):
2883         (WebCore::ApplyPropertyColor::applyInitialValue):
2884         (WebCore::ApplyPropertyColor::applyValue):
2885         (WebCore::ApplyPropertyDirection::applyValue):
2886         (WebCore::ApplyPropertyLength::applyValue):
2887         (WebCore::ApplyPropertyString::applyValue):
2888         (WebCore::ApplyPropertyBorderRadius::applyValue):
2889         (WebCore::ApplyPropertyFillLayer::applyInheritValue):
2890         (WebCore::ApplyPropertyFillLayer::applyInitialValue):
2891         (WebCore::ApplyPropertyFillLayer::applyValue):
2892         (WebCore::ApplyPropertyComputeLength::applyValue):
2893         (WebCore::ApplyPropertyFont::applyInheritValue):
2894         (WebCore::ApplyPropertyFont::applyInitialValue):
2895         (WebCore::ApplyPropertyFont::applyValue):
2896         (WebCore::ApplyPropertyFontSize::applyInheritValue):
2897         (WebCore::ApplyPropertyFontSize::applyInitialValue):
2898         (WebCore::ApplyPropertyFontSize::applyValue):
2899         (WebCore::ApplyPropertyFontWeight::applyValue):
2900         (WebCore::ApplyPropertyFontVariantLigatures::applyInheritValue):
2901         (WebCore::ApplyPropertyFontVariantLigatures::applyInitialValue):
2902         (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
2903         (WebCore::ApplyPropertyBorderImage::applyValue):
2904         (WebCore::ApplyPropertyBorderImageModifier::applyInheritValue):
2905         (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
2906         (WebCore::ApplyPropertyBorderImageModifier::applyValue):
2907         (WebCore::ApplyPropertyBorderImageSource::applyValue):
2908         (WebCore::ApplyPropertyCounter::emptyFunction):
2909         (WebCore::ApplyPropertyCounter::applyInheritValue):
2910         (WebCore::ApplyPropertyCounter::applyValue):
2911         (WebCore::ApplyPropertyCursor::applyInheritValue):
2912         (WebCore::ApplyPropertyCursor::applyInitialValue):
2913         (WebCore::ApplyPropertyCursor::applyValue):
2914         (WebCore::ApplyPropertyTextAlign::applyValue):
2915         (WebCore::ApplyPropertyTextDecoration::applyValue):
2916         (WebCore::ApplyPropertyLineHeight::applyValue):
2917         (WebCore::ApplyPropertyPageSize::applyInheritValue):
2918         (WebCore::ApplyPropertyPageSize::applyInitialValue):
2919         (WebCore::ApplyPropertyPageSize::applyValue):
2920         (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
2921         (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
2922         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
2923         (WebCore::ApplyPropertyAnimation::applyInheritValue):
2924         (WebCore::ApplyPropertyAnimation::applyInitialValue): If the property is
2925         CSSPropertyWebkitTransitionProperty, call setAnimationMode(Animation::AnimateAll).
2926         (WebCore::ApplyPropertyAnimation::applyValue):
2927         (WebCore::ApplyPropertyOutlineStyle::applyInheritValue):
2928         (WebCore::ApplyPropertyOutlineStyle::applyInitialValue):
2929         (WebCore::ApplyPropertyOutlineStyle::applyValue):
2930         (WebCore::ApplyPropertyResize::applyValue):
2931         (WebCore::ApplyPropertyVerticalAlign::applyValue):
2932         (WebCore::ApplyPropertyAspectRatio::applyInheritValue):
2933         (WebCore::ApplyPropertyAspectRatio::applyInitialValue):
2934         (WebCore::ApplyPropertyAspectRatio::applyValue):
2935         (WebCore::ApplyPropertyZoom::applyInheritValue):
2936         (WebCore::ApplyPropertyZoom::applyInitialValue):
2937         (WebCore::ApplyPropertyZoom::applyValue):
2938         (WebCore::ApplyPropertyDisplay::applyInheritValue):
2939         (WebCore::ApplyPropertyDisplay::applyInitialValue):
2940         (WebCore::ApplyPropertyDisplay::applyValue):
2941         (WebCore::ApplyPropertyClipPath::applyValue):
2942         (WebCore::ApplyPropertyWrapShape::applyValue):
2943         (WebCore::ApplyPropertyImageResolution::applyInheritValue):
2944         (WebCore::ApplyPropertyImageResolution::applyInitialValue):
2945         (WebCore::ApplyPropertyImageResolution::applyValue):
2946         * css/StyleBuilder.h:
2947         (PropertyHandler):
2948         (WebCore::PropertyHandler::applyInheritValue):
2949         (WebCore::PropertyHandler::applyInitialValue):
2950         (WebCore::PropertyHandler::applyValue):
2951         * css/StyleResolver.cpp:
2952         (WebCore::StyleResolver::collectMatchingRulesForList): Pass in the property ID.
2953
2954 2012-09-14  Chang Shu  <cshu@webkit.org>
2955
2956         Support constructor-type attribute in idls other than DOMWindow.
2957         https://bugs.webkit.org/show_bug.cgi?id=96821
2958
2959         Reviewed by Kentaro Hara.
2960
2961         In CodeGeneratorJS.pm, we should not assume only DOMWindow uses Constructor
2962         attribute. So for other interfaces, we should pass castedThis->globalObject()
2963         instead of castedThis.
2964
2965         Test: bindings/scripts/test/JS/JSTestObj.idl
2966
2967         * bindings/scripts/CodeGeneratorJS.pm:
2968         (GenerateImplementation):
2969         * bindings/scripts/test/JS/JSTestObj.cpp:
2970         (WebCore::jsTestObjConstructorTestSubObj):
2971         (WebCore::jsTestObjConditionalAttr4Constructor):
2972         (WebCore::jsTestObjConditionalAttr5Constructor):
2973         (WebCore::jsTestObjConditionalAttr6Constructor):
2974
2975 2012-09-14  Tom Sepez  <tsepez@chromium.org>
2976
2977         ImageLoader can't be cleared when video element poster attribute removed.
2978         https://bugs.webkit.org/show_bug.cgi?id=96301
2979
2980         Reviewed by Abhishek Arya.
2981
2982         Same problem as in https://bugs.webkit.org/show_bug.cgi?id=90801. We can't
2983         clear the image loader when the src attribute is cleared, because we might be
2984         inside a handler called on top of an image loader event dispatch. Instead we
2985         will rely on the OwnPtr relationship between the Element and the Image Loader
2986         to limit the lifetime of the loader to that of the element.
2987
2988         Test: fast/dom/beforeload/clear-video-poster-in-beforeload-listener.html
2989
2990         * html/HTMLVideoElement.cpp:
2991         (WebCore::HTMLVideoElement::parseAttribute):
2992         Remove permature clearing of m_imageLoader.
2993         * html/HTMLEmbedElement.cpp:
2994         (WebCore::HTMLEmbedElement::parseAttribute):
2995         Remove permature clearing of m_imageLoader.
2996         * html/HTMLObjectElement.cpp:
2997         (WebCore::HTMLObjectElement::parseAttribute):
2998         Remove permature clearing of m_imageLoader.
2999
3000 2012-09-14  Jeffrey Pfau  <jpfau@apple.com>
3001
3002         Allow third-party storage blocking setting to change while a page is loaded
3003         https://bugs.webkit.org/show_bug.cgi?id=95790
3004
3005         Reviewed by Brady Eidson.
3006
3007         Pipe through changes to the storage blocking policy to each document and plugin.
3008
3009         Tests: http/tests/security/storage-blocking-loosened-local-storage.html
3010                http/tests/security/storage-blocking-loosened-plugin.html
3011                http/tests/security/storage-blocking-loosened-private-browsing-plugin.html
3012                http/tests/security/storage-blocking-loosened-shared-worker.html
3013                http/tests/security/storage-blocking-loosened-websql.html
3014                http/tests/security/storage-blocking-strengthened-local-storage.html
3015                http/tests/security/storage-blocking-strengthened-plugin.html
3016                http/tests/security/storage-blocking-strengthened-private-browsing-plugin.html
3017                http/tests/security/storage-blocking-strengthened-shared-worker.html
3018                http/tests/security/storage-blocking-strengthened-websql.html
3019
3020         * WebCore.exp.in:
3021         * dom/Document.cpp: Pipe changes through to the Document's SecurityOrigin.
3022         (WebCore::Document::storageBlockingStateDidChange):
3023         (WebCore):
3024         * dom/Document.h:
3025         (Document):
3026         * page/DOMWindow.cpp: Check to make sure access is allowed before returning a cached storage area.
3027         (WebCore::DOMWindow::sessionStorage):
3028         (WebCore::DOMWindow::localStorage):
3029         * page/Page.cpp:
3030         (WebCore::Page::collectPluginViews): Refactored out into a function.
3031         (WebCore):
3032         (WebCore::Page::storageBlockingStateChanged): Pipe changes through to each PluginView.
3033         (WebCore::Page::privateBrowsingStateChanged):
3034         * page/Page.h:
3035         (Page):
3036         * page/Settings.cpp:
3037         (WebCore::Settings::setStorageBlockingPolicy): Tell Pages about changes to the storage blocking policy.
3038         (WebCore):
3039         * page/Settings.h:
3040         (Settings):
3041         * plugins/PluginViewBase.h:
3042         (WebCore::PluginViewBase::storageBlockingStateChanged):
3043
3044 2012-09-14  Dan Carney  <dcarney@google.com>
3045
3046         Prevent workers from calling back into other worlds
3047         https://bugs.webkit.org/show_bug.cgi?id=96790
3048
3049         Reviewed by Adam Barth.
3050
3051         Added a few sanity checks to ensure callbacks are always using the correct world.
3052
3053         No new tests. No new change in functionality.
3054
3055         * bindings/v8/V8DOMWrapper.cpp:
3056         (WebCore::V8DOMWrapper::getEventListener):
3057         * bindings/v8/V8LazyEventListener.cpp:
3058         (WebCore::V8LazyEventListener::prepareListenerObject):
3059         * bindings/v8/WorldContextHandle.cpp:
3060         (WebCore::WorldContextHandle::WorldContextHandle):
3061         (WebCore::WorldContextHandle::adjustedContext):
3062         * bindings/v8/WorldContextHandle.h:
3063
3064 2012-09-14  Dana Jansens  <danakj@chromium.org>
3065
3066         Minimize collisions when hashing pairs
3067         https://bugs.webkit.org/show_bug.cgi?id=96022
3068
3069         Reviewed by Adrienne Walker.
3070
3071         Use WTF::pairIntHash() to hash pairs of integers.
3072
3073         * dom/Document.cpp:
3074         (WebCore::ImmutableAttributeDataCacheKey::hash):
3075         * dom/StyledElement.cpp:
3076         (WebCore::computePresentationAttributeCacheHash):
3077         * platform/graphics/Gradient.cpp:
3078         (WebCore::Gradient::hash):
3079         * platform/graphics/IntPointHash.h:
3080         (WTF::IntPointHash::hash):
3081         * platform/graphics/IntRectHash.h:
3082         * platform/graphics/IntSizeHash.h:
3083         * platform/graphics/blackberry/LayerTileIndex.h:
3084         * platform/graphics/cg/GraphicsContextCG.cpp:
3085         (WebCore::SubimageCacheHash::hash):
3086
3087 2012-09-14  Rob Buis  <rbuis@rim.com>
3088
3089         [BlackBerry] Use StringBuilder more in BlackBerry RSS classes
3090         https://bugs.webkit.org/show_bug.cgi?id=96820
3091
3092         Reviewed by Antonio Gomes.
3093
3094         Use append/appendLiteral where possible.
3095
3096         * platform/MIMETypeRegistry.cpp:
3097         (WebCore::mimeTypeAssociationMap):
3098         * platform/network/blackberry/rss/RSSAtomParser.cpp:
3099         (WebCore::RSSAtomParser::parseContent):
3100         (WebCore::RSSAtomParser::parseAuthor):
3101         * platform/network/blackberry/rss/RSSGenerator.cpp:
3102         (WebCore::RSSGenerator::generateHtml):
3103         * platform/network/blackberry/rss/RSSParserBase.cpp:
3104         (WebCore::textFromXMLAttr):
3105         (WebCore::textFromXMLNode):
3106
3107 2012-09-14  Alexandru Chiculita  <achicu@adobe.com>
3108
3109         [CSS Shaders] Enable anti-aliasing on the FECustomFilter
3110         https://bugs.webkit.org/show_bug.cgi?id=96668
3111
3112         Reviewed by Dean Jackson.
3113
3114         Added multisample frame buffer for the FECustomFilter. It will try to allocate a multisample framebuffer
3115         with a maximum sample count of 4. At the end it will blit the samples back to the original frame buffer,
3116         so that we can read the pixels back.
3117
3118         This patch uses extensions GL_ANGLE_framebuffer_multisample, GL_ANGLE_framebuffer_blit
3119         and GL_OES_rgb8_rgba8.
3120
3121         No new tests, multisampling is not working in Chromium DRT and has not pixel effect on WebKit Mac.
3122
3123         * platform/graphics/filters/FECustomFilter.cpp:
3124         (WebCore::FECustomFilter::FECustomFilter):
3125         (WebCore::FECustomFilter::deleteRenderBuffers):
3126         (WebCore):
3127         (WebCore::FECustomFilter::deleteMultisampleRenderBuffers):
3128         (WebCore::FECustomFilter::drawFilterMesh):
3129         (WebCore::FECustomFilter::createMultisampleBuffer):
3130         (WebCore::FECustomFilter::resolveMultisampleBuffer):
3131         (WebCore::FECustomFilter::canUseMultisampleBuffers):
3132         (WebCore::FECustomFilter::resizeMultisampleBuffers):
3133         (WebCore::FECustomFilter::resizeContext):
3134         * platform/graphics/filters/FECustomFilter.h:
3135
3136 2012-09-14  Bo Liu  <boliu@chromium.org>
3137
3138         Add in-place reload behavior to ImagesEnabled setting
3139         https://bugs.webkit.org/show_bug.cgi?id=95478
3140
3141         Reviewed by Adam Barth.
3142
3143         Store ImagesEnabled setting in CachedResourceLoader similar to
3144         AutoLoadImages. Move FrameLoaderClient::allowImage to after a
3145         CachedImage has been created and store the cache for reload if it is
3146         blocked.
3147
3148         Make sure when image loads are deferred by either ImagesEnabled or
3149         LoadImagesAutomatically, onload is not called.
3150
3151         Added ImagesEnabled to InternalSettings for layout tests.
3152
3153         Tests: fast/loader/display-image-unset-can-block-image-and-can-reload-in-place.html
3154                fast/loader/images-enabled-unset-can-block-image-and-can-reload-in-place.html
3155
3156         * WebCore.exp.in:
3157         * loader/FrameLoader.cpp:
3158         (WebCore::FrameLoader::didBeginDocument):
3159         * loader/SubresourceLoader.cpp:
3160         (WebCore::SubresourceLoader::willSendRequest):
3161         * loader/cache/CachedImage.cpp:
3162         (WebCore::CachedImage::load):
3163         * loader/cache/CachedImage.h:
3164         * loader/cache/CachedResource.cpp:
3165         (WebCore::CachedResource::didAddClient):
3166         * loader/cache/CachedResource.h:
3167         (WebCore::CachedResource::stillNeedsLoad):
3168         * loader/cache/CachedResourceLoader.cpp:
3169         (WebCore::CachedResourceLoader::CachedResourceLoader):
3170         (WebCore::CachedResourceLoader::requestImage):
3171         (WebCore::CachedResourceLoader::canRequest):
3172         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
3173         (WebCore::CachedResourceLoader::setAutoLoadImages):
3174         (WebCore):
3175         (WebCore::CachedResourceLoader::setImagesEnabled):
3176         (WebCore::CachedResourceLoader::shouldDeferImageLoad):
3177         (WebCore::CachedResourceLoader::reloadImagesIfNotDeferred):
3178         * loader/cache/CachedResourceLoader.h:
3179         (CachedResourceLoader):
3180         (WebCore::CachedResourceLoader::imagesEnabled):
3181         * page/Settings.cpp:
3182         (WebCore::setImageLoadingSettings):
3183         (WebCore::Settings::Settings):
3184         (WebCore::Settings::setLoadsImagesAutomatically):
3185         (WebCore::Settings::imageLoadingSettingsTimerFired):
3186         (WebCore::Settings::setImagesEnabled):
3187         * page/Settings.h:
3188         (Settings):
3189         * testing/InternalSettings.cpp:
3190         (WebCore::InternalSettings::setImagesEnabled):
3191         (WebCore):
3192         * testing/InternalSettings.h:
3193         (InternalSettings):
3194         * testing/InternalSettings.idl:
3195
3196 2012-09-14  Emil A Eklund  <eae@chromium.org>
3197
3198         https://bugs.webkit.org/show_bug.cgi?id=96226
3199         REGRESSION (r128006): Three spatial navigation tests are failing
3200
3201         Reviewed by Ryosuke Niwa.
3202
3203         Fix spatial navigation regression by reverting parts of r128006.
3204         Specifically the change to remove the overridden boundingBox
3205         method in ContainerNode. 
3206
3207         * dom/ContainerNode.cpp:
3208         (WebCore::ContainerNode::getUpperLeftCorner):
3209         (WebCore):
3210         (WebCore::ContainerNode::getLowerRightCorner):
3211         (WebCore::ContainerNode::boundingBox):
3212         * dom/ContainerNode.h:
3213         (ContainerNode):
3214
3215 2012-09-14  James Robinson  <jamesr@chromium.org>
3216
3217         Unreviewed, rolling out r128627.
3218         http://trac.webkit.org/changeset/128627
3219         https://bugs.webkit.org/show_bug.cgi?id=96575
3220
3221         Breaks indexeddb content_browsertests in chromium
3222
3223         * Modules/indexeddb/IDBDatabase.cpp:
3224         (WebCore::IDBDatabase::IDBDatabase):
3225         (WebCore::IDBDatabase::setVersion):
3226         * Modules/indexeddb/IDBDatabase.h:
3227         (IDBDatabase):
3228
3229 2012-09-14  Alexandru Chiculita  <achicu@adobe.com>
3230
3231         [CSS Shaders] Refactor FECustomFilter to make it usable from platform dependent implementations
3232         https://bugs.webkit.org/show_bug.cgi?id=96801
3233
3234         Reviewed by Dean Jackson.
3235
3236         I've refactored the FECustomFilter to allow FECustomFilterSkia.cpp to use the rendering part
3237         from outside.
3238
3239         Also removed the Texture class as it is not available on some platforms.
3240
3241         The changes for Skia will land in a different patch:
3242         https://bugs.webkit.org/show_bug.cgi?id=96579
3243
3244         No new tests, the existing custom filters tests should already cover this.
3245
3246         * platform/graphics/filters/CustomFilterGlobalContext.cpp:
3247         (WebCore::CustomFilterGlobalContext::prepareContextIfNeeded):
3248         * platform/graphics/filters/FECustomFilter.cpp:
3249         (WebCore::FECustomFilter::FECustomFilter):
3250         (WebCore::FECustomFilter::deleteRenderBuffers):
3251         (WebCore::FECustomFilter::drawFilterMesh):
3252         (WebCore):
3253         (WebCore::FECustomFilter::prepareForDrawing):
3254         (WebCore::FECustomFilter::programNeedsInputTexture):
3255         (WebCore::FECustomFilter::applyShader):
3256         (WebCore::FECustomFilter::initializeContext):
3257         (WebCore::FECustomFilter::ensureInputTexture):
3258         (WebCore::FECustomFilter::uploadInputTexture):
3259         (WebCore::FECustomFilter::ensureFrameBuffer):
3260         (WebCore::FECustomFilter::resizeContextIfNeeded):
3261         (WebCore::FECustomFilter::resizeContext):
3262         (WebCore::FECustomFilter::bindProgramAndBuffers):
3263         * platform/graphics/filters/FECustomFilter.h:
3264         (FECustomFilter):
3265
3266 2012-09-14  Alexey Proskuryakov  <ap@apple.com>
3267
3268         REGRESSION(r126717): It made inspector/styles/media-queries.html fail/flakey
3269         https://bugs.webkit.org/show_bug.cgi?id=95070
3270
3271         Roll out r126717, and another change that depends on it.
3272         r126717: Remove parent pointer from StyleSheetContents and StyleRuleImport
3273         r127123: Cache and share parsed imported stylesheets
3274
3275         * css/CSSImportRule.cpp:
3276         * css/CSSImportRule.h:
3277         * css/CSSStyleSheet.cpp:
3278         (WebCore::CSSStyleSheet::willMutateRules):
3279         (WebCore::CSSStyleSheet::reattachChildRuleCSSOMWrappers):
3280         (WebCore::CSSStyleSheet::insertRule):
3281         (WebCore::CSSStyleSheet::ownerDocument):
3282         * css/CSSStyleSheet.h:
3283         (WebCore::CSSStyleSheet::clearOwnerRule):
3284         * css/StyleRuleImport.cpp:
3285         (WebCore::StyleRuleImport::StyleRuleImport):
3286         (WebCore::StyleRuleImport::~StyleRuleImport):
3287         (WebCore::StyleRuleImport::setCSSStyleSheet):
3288         (WebCore::StyleRuleImport::isLoading):
3289         (WebCore::StyleRuleImport::requestStyleSheet):
3290         * css/StyleRuleImport.h:
3291         (WebCore::StyleRuleImport::parentStyleSheet):
3292         (WebCore::StyleRuleImport::setParentStyleSheet):
3293         (WebCore::StyleRuleImport::clearParentStyleSheet):
3294         (ImportedStyleSheetClient):
3295         (WebCore::StyleRuleImport::ImportedStyleSheetClient::ImportedStyleSheetClient):
3296         (WebCore::StyleRuleImport::ImportedStyleSheetClient::~ImportedStyleSheetClient):
3297         (WebCore::StyleRuleImport::ImportedStyleSheetClient::setCSSStyleSheet):
3298         * css/StyleSheetContents.cpp:
3299         (WebCore::StyleSheetContents::StyleSheetContents):
3300         (WebCore::StyleSheetContents::isCacheable):
3301         (WebCore::StyleSheetContents::parserAppendRule):
3302         (WebCore::StyleSheetContents::clearRules):
3303         (WebCore::StyleSheetContents::wrapperInsertRule):
3304         (WebCore::StyleSheetContents::wrapperDeleteRule):
3305         (WebCore::StyleSheetContents::parseAuthorStyleSheet):
3306         (WebCore::StyleSheetContents::parseStringAtLine):
3307         (WebCore::StyleSheetContents::checkLoaded):
3308         (WebCore::StyleSheetContents::notifyLoadedSheet):
3309         (WebCore::StyleSheetContents::startLoadingDynamicSheet):
3310         (WebCore::StyleSheetContents::rootStyleSheet):
3311         (WebCore::StyleSheetContents::singleOwnerNode):
3312         (WebCore::StyleSheetContents::singleOwnerDocument):
3313         (WebCore::StyleSheetContents::parentStyleSheet):
3314         * css/StyleSheetContents.h:
3315         (WebCore::StyleSheetContents::create):
3316         (StyleSheetContents):
3317         (WebCore::StyleSheetContents::ownerRule):
3318         (WebCore::StyleSheetContents::clearOwnerRule):
3319         * dom/ProcessingInstruction.cpp:
3320         (WebCore::ProcessingInstruction::parseStyleSheet):
3321         * dom/StyleElement.cpp:
3322         (WebCore::StyleElement::createSheet):
3323         * html/HTMLLinkElement.cpp:
3324         (WebCore::HTMLLinkElement::setCSSStyleSheet):
3325         * loader/cache/CachedCSSStyleSheet.cpp:
3326         (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):
3327
3328 2012-09-14  Ojan Vafai  <ojan@chromium.org>
3329
3330         Simplify some code in RenderBox::computePercentageLogicalHeight
3331         https://bugs.webkit.org/show_bug.cgi?id=96704
3332
3333         Reviewed by Tony Chang.
3334
3335         This is strictly code cleanup. No behavior change.
3336         Also removed some comments that were what comments and/or were
3337         getting stale.
3338
3339         * rendering/RenderBox.cpp:
3340         (WebCore::RenderBox::skipContainingBlockForPercentHeightCalculation):
3341         (WebCore):
3342         (WebCore::RenderBox::computePercentageLogicalHeight):
3343         * rendering/RenderBox.h:
3344         (RenderBox):
3345
3346 2012-09-14  Kent Tamura  <tkent@chromium.org>
3347
3348         Unreviewed, a workaround for a mysterious crash on Apple Windows port.
3349         https://bugs.webkit.org/show_bug.cgi?id=96636
3350
3351         * testing/InternalSettings.cpp:
3352         Touch RuntimeEnabledFeatures::langAttributeAwareFormControlUIEnabled only if
3353         ENABLE(INPUT_TYPE_TIME_MULTIPLE_FIELDS)
3354         (WebCore::InternalSettings::Backup::Backup):
3355         (WebCore::InternalSettings::Backup::restoreTo):
3356         (WebCore::InternalSettings::setLangAttributeAwareFormControlUIEnabled):
3357         * testing/InternalSettings.h:
3358         (Backup):
3359
3360 2012-09-14  David Grogan  <dgrogan@chromium.org>
3361
3362         IndexedDB: Print console warning about setVersion
3363         https://bugs.webkit.org/show_bug.cgi?id=96575
3364
3365         Reviewed by Tony Chang.
3366
3367         setVersion has been out of the spec for almost a year but there are
3368         still a lot of users.
3369
3370         We show the warning once per database object as an approximation for
3371         once per page.
3372
3373         No new tests, but 150-something rebaselines.
3374
3375         * Modules/indexeddb/IDBDatabase.cpp:
3376         (WebCore::IDBDatabase::IDBDatabase):
3377         (WebCore::IDBDatabase::setVersion):
3378         * Modules/indexeddb/IDBDatabase.h:
3379         (IDBDatabase):
3380
3381 2012-09-14  Michelangelo De Simone  <michelangelo@webkit.org>
3382
3383         Use arrays in shaders
3384         https://bugs.webkit.org/show_bug.cgi?id=95223
3385
3386         Reviewed by Dean Jackson.
3387
3388         Custom Filters' support for array() is introduced. Values within
3389         the array() function will be passed as uniforms to shaders.
3390
3391         Values within array() are comma-separated; the specification will be
3392         updated accordingly: https://www.w3.org/Bugs/Public/show_bug.cgi?id=18839
3393
3394         Test: css3/filters/custom/custom-filter-array.html
3395
3396         * GNUmakefile.list.am:
3397         * Target.pri:
3398         * WebCore.gypi:
3399         * WebCore.vcproj/WebCore.vcproj:
3400         * WebCore.xcodeproj/project.pbxproj:
3401         * css/CSSComputedStyleDeclaration.cpp:
3402         (WebCore::valueForCustomFilterArrayParameter): 
3403         (WebCore):
3404         (WebCore::valueForCustomFilterParameter):
3405         * css/StyleResolver.cpp:
3406         (WebCore::StyleResolver::collectMatchingRulesForList):
3407         * css/StyleResolver.h:
3408         (StyleResolver):
3409         * platform/graphics/filters/CustomFilterArrayParameter.h: Container for array()
3410         parameter values.
3411         (WebCore):
3412         (CustomFilterArrayParameter):
3413         (WebCore::CustomFilterArrayParameter::create):
3414         (WebCore::CustomFilterArrayParameter::size):
3415         (WebCore::CustomFilterArrayParameter::valueAt):
3416         (WebCore::CustomFilterArrayParameter::addValue):
3417         (WebCore::CustomFilterArrayParameter::blend):
3418         (WebCore::CustomFilterArrayParameter::operator==):
3419         (WebCore::CustomFilterArrayParameter::CustomFilterArrayParameter):
3420         * platform/graphics/filters/CustomFilterParameter.h:
3421         * platform/graphics/filters/FECustomFilter.cpp:
3422         (WebCore::FECustomFilter::bindProgramArrayParameters):
3423         (WebCore):
3424         (WebCore::FECustomFilter::bindProgramParameters):
3425         * platform/graphics/filters/FECustomFilter.h:
3426         (WebCore):
3427         (FECustomFilter):
3428
3429 2012-09-14  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3430
3431         [Qt] Remove old cruft from the qmake build system
3432
3433         Rubber-stamped by Simon Hausmann.
3434
3435         * DerivedSources.pri:
3436         * Target.pri:
3437
3438 2012-09-14  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3439
3440         [Qt] Make force_static_libs_as_shared work on Mac OS
3441
3442         We had to move a few LIBS += around that were in the wrong place,
3443         and not caught when everything was just linked into the final
3444         QtWebKit library.
3445
3446         Reviewed by Simon Hausmann.
3447
3448         * WebCore.pri:
3449