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