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