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