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