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