Remove call to SecurityOrigin::canAccessDatabase from IDB constructor.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-02-01  Mike West  <mkwst@chromium.org>
2
3         Remove call to SecurityOrigin::canAccessDatabase from IDB constructor.
4         https://bugs.webkit.org/show_bug.cgi?id=108477
5
6         Reviewed by Adam Barth.
7
8         This change removes the 'SecurityOrigin::canAccessDatabase' check from
9         the constructor for the 'indexedDB' property on both DOMWindow and
10         WorkerContext. After the patch for http://wkbug.com/94171 this check
11         is redundant, as all the entry points to IDB are now gated on access
12         being granted.
13
14         As a side-effect, dropping the check in WorkerContextIndexedDatabase
15         allows us to stop holding a pointer to the ScriptExecutionContext we're
16         extending, which can only be a good thing.
17
18         The tests in storage/indexeddb should continue to pass.
19
20         * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
21         (WebCore::DOMWindowIndexedDatabase::indexedDB):
22             Drop the SecurityOrigin::canAccessDatabase check.
23         * Modules/indexeddb/WorkerContextIndexedDatabase.cpp:
24         (WebCore::WorkerContextIndexedDatabase::WorkerContextIndexedDatabase):
25         (WebCore::WorkerContextIndexedDatabase::from):
26             Drop the ScriptExecutionContext parameter from the class's
27             constructor and callsites.
28         (WebCore::WorkerContextIndexedDatabase::indexedDB):
29             Drop the SecurityOrigin::canAccessDatabase check.
30         * Modules/indexeddb/WorkerContextIndexedDatabase.h:
31         (WorkerContextIndexedDatabase):
32             Drop the stored pointer to ScriptExecutionContext, as we no longer
33             need it in ::indexedDB.
34
35 2013-02-01  Beth Dakin  <bdakin@apple.com>
36
37         Speculative Windows build fix. 
38
39         * platform/ScrollAnimator.h:
40         (WebCore):
41
42 2013-02-01  Ryosuke Niwa  <rniwa@webkit.org>
43
44         Smart link can erroneously move caret after an URL when typing immediately before it
45         https://bugs.webkit.org/show_bug.cgi?id=92812
46
47         Reviewed by Enrica Casucci.
48
49         The bug was caused by smart link being triggered even when a user finished typing a word
50         immediately before an URL. We already had a logic to avoid smart-linking an URL when the caret
51         was after the URL but we were missing a check for when the caret is before the URL.
52
53         Fixed the bug by adding this check.
54
55         Test: editing/inserting/smart-link-when-caret-is-moved-before-URL.html
56
57         * editing/Editor.cpp:
58         (WebCore::Editor::markAndReplaceFor):
59
60 2013-02-01  Roger Fong  <roger_fong@apple.com>
61
62         Unreviewed. Windows build fix. FloatSize.cpp was not included in the project.
63
64         * WebCore.vcproj/WebCore.vcproj:
65
66 2013-02-01  Julien Chaffraix  <jchaffraix@webkit.org>
67
68         [CSS Grid Layout] computePreferredLogicalWidths doesn't handle minmax tracks
69         https://bugs.webkit.org/show_bug.cgi?id=108403
70
71         Reviewed by Ojan Vafai.
72
73         Test: fast/css-grid-layout/grid-preferred-logical-widths.html
74
75         The code before this change was only handling minmax() with 2 fixed widths.
76         The new code was updated to remove this artificial limitation and we now
77         support all combination of minmax().
78
79         * rendering/RenderGrid.cpp:
80         (WebCore::RenderGrid::computePreferredLogicalWidths):
81         Updated to use computePreferredTrackWidth..
82
83         (WebCore::RenderGrid::computePreferredTrackWidth):
84         Added this helper function that implements the core of the preferred width
85         computation.
86
87         * rendering/RenderGrid.h: Added computePreferredTrackWidth.
88
89 2013-02-01  Nate Chapin  <japhet@chromium.org>
90
91         Cached main resources report a zero identifer on 304s
92         https://bugs.webkit.org/show_bug.cgi?id=108402
93
94         Reviewed by Adam Barth.
95
96         Test: http/tests/cache/iframe-304-crash.html
97
98         * loader/MainResourceLoader.cpp:
99         (WebCore::MainResourceLoader::responseReceived): Throughout, check m_identifierForLoadWithoutResourceLoader
100             instead of !loader() to determine whether MainResourceLoader needs to synthesize resource load callbacks.
101         (WebCore::MainResourceLoader::dataReceived):
102         (WebCore::MainResourceLoader::didFinishLoading):
103
104 2013-02-01  Nico Weber  <thakis@chromium.org>
105
106         [chromium] Build webkit with enable_web_intents set to 0.
107         https://bugs.webkit.org/show_bug.cgi?id=108408
108
109         Reviewed by Tony Chang.
110
111         I'll then make chromium build fine with that, then switch
112         enable_web_intents to 0, roll that into webkit, and then
113         actually remove the code hidden behind this flag.
114
115         * bindings/v8/custom/V8IntentCustom.cpp:
116
117 2013-02-01  Pavel Feldman  <pfeldman@chromium.org>
118
119         Web Inspector: make console object state hint non-active
120         https://bugs.webkit.org/show_bug.cgi?id=108642
121
122         Reviewed by Vsevolod Vlasov.
123
124         Otherwise it seems like an active element user could click.
125
126         * inspector/front-end/inspector.css:
127         (.object-info-state-note):
128
129 2013-02-01  Rashmi Shyamasundar  <rashmi.s2@samsung.com>
130
131         Zero size gradient should paint nothing on canvas
132         https://bugs.webkit.org/show_bug.cgi?id=102654
133
134         Reviewed by Dirk Schulze.
135
136         The functions fill(), fillText(), stroke(), strokeRect() and strokeText()
137         should paint nothing on canvas when the canvas fillStyle/strokeStyle
138         is set to a zero size gradient.
139  
140         Tests: fast/canvas/canvas-fill-zeroSizeGradient.html
141                fast/canvas/canvas-fillRect-zeroSizeGradient.html
142                fast/canvas/canvas-fillText-zeroSizeGradient.html
143                fast/canvas/canvas-stroke-zeroSizeGradient.html
144                fast/canvas/canvas-strokeRect-zeroSizeGradient.html
145                fast/canvas/canvas-strokeText-zeroSizeGradient.html
146
147         * html/canvas/CanvasRenderingContext2D.cpp:
148         (WebCore::CanvasRenderingContext2D::fill):
149         (WebCore::CanvasRenderingContext2D::stroke):
150         (WebCore::CanvasRenderingContext2D::strokeRect):
151         (WebCore::CanvasRenderingContext2D::drawTextInternal):
152
153 2013-02-01  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
154
155         HRTFElevation segfault if a null AudioBus is returned by loadPlatformResource
156         https://bugs.webkit.org/show_bug.cgi?id=108504
157
158         Reviewed by Kenneth Russell.
159
160         Fixed a segfault by checking if the returned AudioBus is null or not.
161         If it is, we should early return in the same way it was being done already
162         in HRTFElevation::calculateKernelsForAzimuthElevation();
163
164         No new tests, covered by existing tests.
165
166         * platform/audio/HRTFElevation.cpp:
167         (WebCore::getConcatenatedImpulseResponsesForSubject):
168
169 2013-02-01  Beth Dakin  <bdakin@apple.com>
170
171         ScrollAnimatorMac should adopt contentAreaScrolledInDirection
172         https://bugs.webkit.org/show_bug.cgi?id=108647
173         -and corresponding-
174         <rdar://problem/12434779>
175
176         Reviewed by Anders Carlsson.
177
178         This patch makes notifyContentAreaScrolled() and notifyPositionChanged() take a 
179         FloatSize parameter that represents the scroll delta so that it can be passed 
180         along to contentAreaScrolledInDirection:. 
181
182         Pass along the scroll delta.
183         * platform/ScrollAnimator.cpp:
184         (WebCore::ScrollAnimator::scroll):
185         (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation):
186
187         The delta is not needed in this base-class implementation. It will only be needed 
188         in the ScrollAnimatorMac override.
189         (WebCore::ScrollAnimator::notifyPositionChanged):
190         * platform/ScrollAnimator.h:
191         (WebCore::ScrollAnimator::notifyContentAreaScrolled):
192
193         Pass along the delta.
194         * platform/ScrollAnimatorNone.cpp:
195         (WebCore::ScrollAnimatorNone::scrollToOffsetWithoutAnimation):
196         (WebCore::ScrollAnimatorNone::animationTimerFired):
197         * platform/ScrollableArea.cpp:
198         (WebCore::ScrollableArea::scrollPositionChanged):
199
200         Add contentAreaScrolledInDirection: to the NSScrollerImpDetails.
201         * platform/mac/NSScrollerImpDetails.h:
202
203         New member variable m_contentAreaScrolledTimerScrollDelta stores the current 
204         scroll delta while we are waiting for m_sendContentAreaScrolledTimer to fire.
205         * platform/mac/ScrollAnimatorMac.h:
206
207         We need this so that we can call just contentAreaScrolled if 
208         contentAreaScrolledInDirection: is not available.
209         * platform/mac/ScrollAnimatorMac.mm:
210         (supportsContentAreaScrolledInDirection):
211
212         Pass along the delta.
213         (WebCore::ScrollAnimatorMac::immediateScrollTo):
214         (WebCore::ScrollAnimatorMac::notifyPositionChanged):
215         (WebCore::ScrollAnimatorMac::mayBeginScrollGesture):
216         (WebCore::ScrollAnimatorMac::notifyContentAreaScrolled):
217         (WebCore::ScrollAnimatorMac::immediateScrollBy):
218         (WebCore::ScrollAnimatorMac::sendContentAreaScrolledSoon):
219
220         If contentAreaScrolledInDirection: is available, call it with the delta, and then 
221         reset our delta. Otherwise, still call contentAreaScrolled.
222         (WebCore::ScrollAnimatorMac::sendContentAreaScrolledTimerFired):
223
224 2013-02-01  Pavel Feldman  <pfeldman@chromium.org>
225
226         Web Inspector: [file selector dialog] for mixed case queries, score uppercase letters only when assessing camelcase.
227         https://bugs.webkit.org/show_bug.cgi?id=108639
228
229         Reviewed by Vsevolod Vlasov.
230
231         * inspector/front-end/FilteredItemSelectionDialog.js:
232         (WebInspector.FilteredItemSelectionDialog.prototype._createScoringRegex):
233
234 2013-02-01  Robert Hogan  <robert@webkit.org>
235
236         Padding in a parent inline preceding an empty inline child should be counted towards width
237         https://bugs.webkit.org/show_bug.cgi?id=108226
238
239         Reviewed by Levi Weintraub.
240
241         Add the border/padding/margin from an empty inline's parent inline if it is the first or last
242         child of the inline. 
243
244         Tests: fast/inline/parent-inline-element-padding-contributes-width.html
245                fast/inline/positioned-element-padding-contributes-width.html
246
247         * rendering/RenderBlockLineLayout.cpp:
248         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
249
250 2013-02-01  Tony Gentilcore  <tonyg@chromium.org>
251
252         Continue making XSSAuditor thread safe: Remove dependencies on m_parser from init()
253         https://bugs.webkit.org/show_bug.cgi?id=108531
254
255         Reviewed by Adam Barth.
256
257         The threaded HTML parser will create and init() the XSSAuditor on the main thread, but filterToken() will be called on the background.
258
259         No new tests because no change in functionality.
260
261         * html/parser/HTMLDocumentParser.cpp:
262         (WebCore::HTMLDocumentParser::pumpTokenizer):
263         * html/parser/XSSAuditor.cpp:
264         (WebCore::XSSAuditor::XSSAuditor):
265         (WebCore::XSSAuditor::init):
266         (WebCore::XSSAuditor::filterToken):
267         * html/parser/XSSAuditor.h:
268         (WebCore):
269         (XSSAuditor):
270
271 2013-02-01  Brady Eidson  <beidson@apple.com>
272
273         Remove unnecessary parameter from DocumentLoader::scheduleArchiveLoad
274         https://bugs.webkit.org/show_bug.cgi?id=108654
275
276         Reviewed by Alexey Proskuryakov.
277
278         No new tests (No behavior change.)
279
280         Remove the KURL parameter parameter from this method which, in practice,
281         is always the same as the url of the ResourceRequest parameter.
282
283         * loader/DocumentLoader.cpp:
284         (WebCore::DocumentLoader::scheduleArchiveLoad):
285         * loader/DocumentLoader.h:
286
287         * loader/ResourceLoader.cpp:
288         (WebCore::ResourceLoader::start):
289
290 2013-02-01  Pavel Feldman  <pfeldman@chromium.org>
291
292         Web Inspector: relax goto file matching again.
293         https://bugs.webkit.org/show_bug.cgi?id=108346
294
295         Reviewed by Vsevolod Vlasov.
296
297         This change brings back behavior introduced in r116244.
298
299         * inspector/front-end/FilteredItemSelectionDialog.js:
300         (WebInspector.FilteredItemSelectionDialog.prototype._createItemElement):
301         (WebInspector.FilteredItemSelectionDialog.prototype._createSearchRegex):
302         (WebInspector.FilteredItemSelectionDialog.prototype._createScoringRegex):
303         (WebInspector.FilteredItemSelectionDialog.prototype._filterItems.compareFunction):
304         (WebInspector.FilteredItemSelectionDialog.prototype._filterItems):
305         (WebInspector.FilteredItemSelectionDialog.prototype._onMouseMove):
306         (WebInspector.FilteredItemSelectionDialog.prototype.itemElement):
307         (WebInspector.OpenResourceDialog):
308         * inspector/front-end/utilities.js:
309         (String.regexSpecialCharacters):
310         (String.prototype.escapeForRegExp):
311
312 2013-02-01  Vsevolod Vlasov  <vsevik@chromium.org>
313
314         Web Inspector: Navigator should not create tree elements for uiSourceCodes unless neededm should populate folders on expand only.
315         https://bugs.webkit.org/show_bug.cgi?id=108601
316
317         Reviewed by Pavel Feldman.
318
319         Tree elememnts for uiSourceCodes are not created until really needed anymore.
320         They are now created when parent folder tree elememnts are expanded or when uiSourceCode is revealed in navigator.
321
322         * inspector/front-end/NavigatorView.js:
323         (WebInspector.NavigatorView):
324         (WebInspector.NavigatorView.prototype.addUISourceCode):
325         (WebInspector.NavigatorView.prototype._getOrCreateScriptTreeElement):
326         (WebInspector.NavigatorView.prototype._getScriptTreeElement):
327         (WebInspector.NavigatorView.prototype._createScriptTreeElement):
328         (WebInspector.NavigatorView.prototype._removeScriptTreeElement):
329         (WebInspector.NavigatorView.prototype._updateScriptTitle):
330         (WebInspector.NavigatorView.prototype.isScriptSourceAdded):
331         (WebInspector.NavigatorView.prototype.revealUISourceCode):
332         (WebInspector.NavigatorView.prototype.removeUISourceCode):
333         (WebInspector.NavigatorView.prototype.reset):
334         (WebInspector.NavigatorView.prototype.createFolderTreeElement):
335         (WebInspector.NavigatorView.prototype._populateFolderTreeElement):
336         (WebInspector.NavigatorView.prototype._addScriptTreeElement):
337         (WebInspector.NavigatorView.prototype._adoptUISourceCode):
338         (WebInspector.NavigatorFolderTreeElement):
339         (WebInspector.NavigatorFolderTreeElement.prototype.onpopulate):
340
341 2013-02-01  Vsevolod Vlasov  <vsevik@chromium.org>
342
343         Web Inspector: TabbedEditorContainer.History performance optimization.
344         https://bugs.webkit.org/show_bug.cgi?id=108581
345
346         Introduced history items indexing by url.
347
348         Reviewed by Pavel Feldman.
349
350         Covered by existing test.
351
352         * inspector/front-end/TabbedEditorContainer.js:
353         (WebInspector.TabbedEditorContainer.History):
354         (WebInspector.TabbedEditorContainer.History.prototype.index):
355         (WebInspector.TabbedEditorContainer.History.prototype._rebuildItemIndex):
356         (WebInspector.TabbedEditorContainer.History.prototype.update):
357         (WebInspector.TabbedEditorContainer.History.prototype.remove):
358
359 2013-02-01  Geoffrey Garen  <ggaren@apple.com>
360
361         Added TriState to WTF and started using it in one place
362         https://bugs.webkit.org/show_bug.cgi?id=108628
363
364         Reviewed by Beth Dakin.
365
366         * editing/EditingStyle.h:
367         (WebCore): Moved TriState to WTF so it can be used in more places.
368
369 2013-02-01  Pavel Feldman  <pfeldman@chromium.org>
370
371         Web Inspector: Follow up to r141260: fixing renamed style.
372         Not reviewed.
373
374         * inspector/front-end/FilteredItemSelectionDialog.js:
375         (WebInspector.FilteredItemSelectionDialog.prototype._createItemElement):
376         (WebInspector.FilteredItemSelectionDialog.prototype._onClick):
377         (WebInspector.FilteredItemSelectionDialog.prototype._onMouseMove):
378
379 2013-02-01  Alexis Menard  <alexis@webkit.org>
380
381         Enable unprefixed CSS transitions by default.
382         https://bugs.webkit.org/show_bug.cgi?id=108216
383
384         Reviewed by Dean Jackson.
385
386         Rename the flag CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED
387         to CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED which will be used later to 
388         guard the unprefixing work for CSS Transforms and animations. Remove the
389         various #ifdefs and conditional generations.
390
391         * Configurations/FeatureDefines.xcconfig:
392         * DerivedSources.cpp:
393         * GNUmakefile.features.am.in:
394         * css/CSSPropertyNames.in:
395         * dom/EventNames.in:
396         * dom/TransitionEvent.cpp:
397         * dom/TransitionEvent.h:
398         * dom/TransitionEvent.idl:
399         * page/DOMWindow.idl:
400         * page/animation/AnimationController.cpp:
401         (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
402
403 2013-02-01  Kentaro Hara  <haraken@chromium.org>
404
405         Unreviewed, rolling out r141548.
406         http://trac.webkit.org/changeset/141548
407         https://bugs.webkit.org/show_bug.cgi?id=108579
408
409         userscript-plugin-document.html is flaky
410
411         * bindings/v8/DOMDataStore.h:
412         (WebCore::DOMDataStore::setWrapperInObject):
413         * bindings/v8/V8GCController.cpp:
414         (WebCore):
415         (WebCore::gcTree):
416         (WebCore::V8GCController::didCreateWrapperForNode):
417         (WebCore::V8GCController::gcPrologue):
418         (WebCore::V8GCController::minorGCPrologue):
419         (WebCore::V8GCController::majorGCPrologue):
420         * bindings/v8/V8GCController.h:
421         (V8GCController):
422
423 2013-02-01  Andrey Adaikin  <aandrey@chromium.org>
424
425         Web Inspector: fix jscompiler warnings
426         https://bugs.webkit.org/show_bug.cgi?id=108604
427
428         Reviewed by Pavel Feldman.
429
430         * inspector/front-end/ConsoleView.js:
431         (WebInspector.ConsoleGroup.prototype.addMessage):
432         * inspector/front-end/ContextMenu.js:
433         (WebInspector.ContextSubMenuItem):
434         * inspector/front-end/ImageView.js:
435         (WebInspector.ImageView.prototype._copyImageURL):
436         (WebInspector.ImageView.prototype._openInNewTab):
437         * inspector/front-end/NetworkPanel.js:
438         (WebInspector.NetworkLogView.prototype._clearBrowserCache):
439         (WebInspector.NetworkLogView.prototype._clearBrowserCookies):
440         * inspector/front-end/ResourcesPanel.js:
441         (WebInspector.IDBDatabaseTreeElement.prototype._refreshIndexedDB):
442         * inspector/front-end/ScriptsNavigator.js:
443         (WebInspector.SnippetsNavigatorView.prototype._handleEvaluateSnippet):
444         (WebInspector.SnippetsNavigatorView.prototype._handleRenameSnippet):
445         (WebInspector.SnippetsNavigatorView.prototype._handleRemoveSnippet):
446         (WebInspector.SnippetsNavigatorView.prototype._handleCreateSnippet):
447         * inspector/front-end/Toolbar.js:
448         (WebInspector.Toolbar.prototype._isDockedToBottom):
449
450 2013-02-01  Jae Hyun Park  <jae.park@company100.net>
451
452
453         Coordinated Graphics : Sort Target.pri and class declarations in alphabetical order.
454         https://bugs.webkit.org/show_bug.cgi?id=108590
455
456         Reviewed by Noam Rosenthal.
457
458         Sort CoordinatedGraphics files in Target.pri in alphabetical order.
459
460         No new tests. No change in behavior.
461
462         * Target.pri:
463
464 2013-02-01  Ilya Tikhonovsky  <loislo@chromium.org>
465
466         Web Inspector: Native Memory Instrumentation: provide edge names to class members in all WebCore instrumented classes.
467         https://bugs.webkit.org/show_bug.cgi?id=107369
468
469         Reviewed by Yury Semikhatsky.
470
471         It is almost mechanical change generated by a script.
472         Late I'll implement name to edge name consistency check in clang plugin.
473
474         * Modules/webaudio/AudioContext.cpp:
475         (WebCore::AudioContext::reportMemoryUsage):
476         * Modules/webaudio/AudioNode.cpp:
477         (WebCore::AudioNode::reportMemoryUsage):
478         * bindings/js/ScriptWrappable.h:
479         (WebCore::ScriptWrappable::reportMemoryUsage):
480         * bindings/v8/DOMDataStore.cpp:
481         (WebCore::DOMDataStore::reportMemoryUsage):
482         * bindings/v8/DOMWrapperMap.h:
483         (WebCore::DOMWrapperMap::reportMemoryUsage):
484         * bindings/v8/V8PerIsolateData.cpp:
485         (WebCore::V8PerIsolateData::reportMemoryUsage):
486         * bindings/v8/V8ValueCache.cpp:
487         (WebCore::StringCache::reportMemoryUsage):
488         * css/CSSBorderImageSliceValue.cpp:
489         (WebCore::CSSBorderImageSliceValue::reportDescendantMemoryUsage):
490         * css/CSSCalculationValue.cpp:
491         * css/CSSCanvasValue.cpp:
492         (WebCore::CSSCanvasValue::reportDescendantMemoryUsage):
493         * css/CSSCharsetRule.cpp:
494         (WebCore::CSSCharsetRule::reportMemoryUsage):
495         * css/CSSComputedStyleDeclaration.cpp:
496         (WebCore::CSSComputedStyleDeclaration::reportMemoryUsage):
497         * css/CSSCrossfadeValue.cpp:
498         (WebCore::CSSCrossfadeValue::reportDescendantMemoryUsage):
499         * css/CSSCursorImageValue.cpp:
500         (WebCore::CSSCursorImageValue::reportDescendantMemoryUsage):
501         * css/CSSFontFaceRule.cpp:
502         (WebCore::CSSFontFaceRule::reportMemoryUsage):
503         * css/CSSFontFaceSrcValue.cpp:
504         (WebCore::CSSFontFaceSrcValue::reportDescendantMemoryUsage):
505         * css/CSSFunctionValue.cpp:
506         (WebCore::CSSFunctionValue::reportDescendantMemoryUsage):
507         * css/CSSGradientValue.cpp:
508         (WebCore::CSSGradientColorStop::reportMemoryUsage):
509         (WebCore::CSSGradientValue::reportBaseClassMemoryUsage):
510         (WebCore::CSSLinearGradientValue::reportDescendantMemoryUsage):
511         (WebCore::CSSRadialGradientValue::reportDescendantMemoryUsage):
512         * css/CSSGroupingRule.cpp:
513         (WebCore::CSSGroupingRule::reportMemoryUsage):
514         * css/CSSImageGeneratorValue.cpp:
515         (WebCore::CSSImageGeneratorValue::reportBaseClassMemoryUsage):
516         * css/CSSImageSetValue.cpp:
517         (WebCore::CSSImageSetValue::reportDescendantMemoryUsage):
518         (WebCore::CSSImageSetValue::ImageWithScale::reportMemoryUsage):
519         * css/CSSImageValue.cpp:
520         (WebCore::CSSImageValue::reportDescendantMemoryUsage):
521         * css/CSSImportRule.cpp:
522         (WebCore::CSSImportRule::reportMemoryUsage):
523         * css/CSSMediaRule.cpp:
524         (WebCore::CSSMediaRule::reportMemoryUsage):
525         * css/CSSPageRule.cpp:
526         (WebCore::CSSPageRule::reportMemoryUsage):
527         * css/CSSPrimitiveValue.cpp:
528         (WebCore::CSSPrimitiveValue::reportDescendantMemoryUsage):
529         * css/CSSProperty.cpp:
530         (WebCore::CSSProperty::reportMemoryUsage):
531         * css/CSSReflectValue.cpp:
532         (WebCore::CSSReflectValue::reportDescendantMemoryUsage):
533         * css/CSSRule.cpp:
534         (WebCore::CSSRule::reportMemoryUsage):
535         * css/CSSRuleList.cpp:
536         (WebCore::StaticCSSRuleList::reportMemoryUsage):
537         * css/CSSRuleList.h:
538         * css/CSSSelectorList.cpp:
539         (WebCore::CSSSelectorList::reportMemoryUsage):
540         * css/CSSStyleRule.cpp:
541         (WebCore::CSSStyleRule::reportMemoryUsage):
542         * css/CSSStyleSheet.cpp:
543         (WebCore::CSSStyleSheet::reportMemoryUsage):
544         * css/CSSValue.cpp:
545         (WebCore::TextCloneCSSValue::reportDescendantMemoryUsage):
546         * css/CSSValueList.cpp:
547         (WebCore::CSSValueList::reportDescendantMemoryUsage):
548         * css/CSSVariableValue.h:
549         (WebCore::CSSVariableValue::reportDescendantMemoryUsage):
550         * css/FontFeatureValue.cpp:
551         (WebCore::FontFeatureValue::reportDescendantMemoryUsage):
552         * css/FontValue.cpp:
553         (WebCore::FontValue::reportDescendantMemoryUsage):
554         * css/MediaList.cpp:
555         (WebCore::MediaQuerySet::reportMemoryUsage):
556         (WebCore::MediaList::reportMemoryUsage):
557         * css/MediaQuery.cpp:
558         (WebCore::MediaQuery::reportMemoryUsage):
559         * css/MediaQueryExp.cpp:
560         (WebCore::MediaQueryExp::reportMemoryUsage):
561         * css/PropertySetCSSStyleDeclaration.cpp:
562         (WebCore::PropertySetCSSStyleDeclaration::reportMemoryUsage):
563         (WebCore::StyleRuleCSSStyleDeclaration::reportMemoryUsage):
564         (WebCore::InlineCSSStyleDeclaration::reportMemoryUsage):
565         * css/RuleFeature.cpp:
566         (WebCore::RuleFeatureSet::reportMemoryUsage):
567         * css/RuleSet.cpp:
568         (WebCore::RuleData::reportMemoryUsage):
569         (WebCore::RuleSet::reportMemoryUsage):
570         (WebCore::RuleSet::RuleSetSelectorPair::reportMemoryUsage):
571         * css/ShadowValue.cpp:
572         (WebCore::ShadowValue::reportDescendantMemoryUsage):
573         * css/StylePropertySet.cpp:
574         (WebCore::StylePropertySet::reportMemoryUsage):
575         * css/StyleResolver.cpp:
576         (WebCore::StyleResolver::MatchedProperties::reportMemoryUsage):
577         (WebCore::StyleResolver::MatchedPropertiesCacheItem::reportMemoryUsage):
578         (WebCore::MediaQueryResult::reportMemoryUsage):
579         (WebCore::StyleResolver::reportMemoryUsage):
580         * css/StyleRule.cpp:
581         (WebCore::StyleRule::reportDescendantMemoryUsage):
582         (WebCore::StyleRulePage::reportDescendantMemoryUsage):
583         (WebCore::StyleRuleFontFace::reportDescendantMemoryUsage):
584         (WebCore::StyleRuleGroup::reportDescendantMemoryUsage):
585         (WebCore::StyleRuleMedia::reportDescendantMemoryUsage):
586         (WebCore::StyleRuleRegion::reportDescendantMemoryUsage):
587         (WebCore::StyleRuleViewport::reportDescendantMemoryUsage):
588         * css/StyleRuleImport.cpp:
589         (WebCore::StyleRuleImport::reportDescendantMemoryUsage):
590         * css/StyleScopeResolver.cpp:
591         (WebCore::StyleScopeResolver::reportMemoryUsage):
592         * css/StyleSheetContents.cpp:
593         (WebCore::StyleSheetContents::reportMemoryUsage):
594         * css/WebKitCSSKeyframeRule.cpp:
595         (WebCore::StyleKeyframe::reportMemoryUsage):
596         (WebCore::WebKitCSSKeyframeRule::reportMemoryUsage):
597         * css/WebKitCSSKeyframesRule.cpp:
598         (WebCore::StyleRuleKeyframes::reportDescendantMemoryUsage):
599         (WebCore::WebKitCSSKeyframesRule::reportMemoryUsage):
600         * css/WebKitCSSSVGDocumentValue.cpp:
601         (WebCore::WebKitCSSSVGDocumentValue::reportDescendantMemoryUsage):
602         * css/WebKitCSSShaderValue.cpp:
603         (WebCore::WebKitCSSShaderValue::reportDescendantMemoryUsage):
604         * css/WebKitCSSViewportRule.cpp:
605         (WebCore::WebKitCSSViewportRule::reportMemoryUsage):
606         * dom/Attribute.h:
607         (WebCore::Attribute::reportMemoryUsage):
608         * dom/CharacterData.cpp:
609         (WebCore::CharacterData::reportMemoryUsage):
610         * dom/ContainerNode.cpp:
611         (WebCore::ContainerNode::reportMemoryUsage):
612         * dom/ContainerNode.h:
613         (ContainerNode):
614         * dom/Document.cpp:
615         (WebCore::Document::reportMemoryUsage):
616         * dom/DocumentEventQueue.cpp:
617         (WebCore::DocumentEventQueue::reportMemoryUsage):
618         * dom/DocumentOrderedMap.cpp:
619         (WebCore::DocumentOrderedMap::reportMemoryUsage):
620         * dom/DocumentStyleSheetCollection.cpp:
621         (WebCore::DocumentStyleSheetCollection::reportMemoryUsage):
622         * dom/Element.cpp:
623         (WebCore::Element::reportMemoryUsage):
624         * dom/ElementAttributeData.cpp:
625         (WebCore::ElementAttributeData::reportMemoryUsage):
626         * dom/ElementRareData.cpp:
627         (WebCore::ElementRareData::reportMemoryUsage):
628         * dom/ElementShadow.cpp:
629         (WebCore::ElementShadow::reportMemoryUsage):
630         * dom/Event.cpp:
631         (WebCore::Event::reportMemoryUsage):
632         * dom/LiveNodeList.cpp:
633         (WebCore::LiveNodeListBase::reportMemoryUsage):
634         * dom/Node.cpp:
635         (WebCore::Node::reportMemoryUsage):
636         * dom/NodeRareData.cpp:
637         (WebCore::NodeListsNodeData::reportMemoryUsage):
638         (WebCore::NodeRareData::reportMemoryUsage):
639         * dom/QualifiedName.cpp:
640         (WebCore::QualifiedName::reportMemoryUsage):
641         (WebCore::QualifiedName::QualifiedNameImpl::reportMemoryUsage):
642         * dom/ScriptExecutionContext.cpp:
643         (WebCore::ScriptExecutionContext::reportMemoryUsage):
644         * dom/SecurityContext.cpp:
645         (WebCore::SecurityContext::reportMemoryUsage):
646         * dom/ShadowRoot.cpp:
647         (WebCore::ShadowRoot::reportMemoryUsage):
648         * dom/TreeScope.cpp:
649         (WebCore::TreeScope::reportMemoryUsage):
650         * html/HTMLCanvasElement.cpp:
651         (WebCore::HTMLCanvasElement::reportMemoryUsage):
652         * html/HTMLFormControlElement.cpp:
653         (WebCore::HTMLFormControlElement::reportMemoryUsage):
654         * html/HTMLImageElement.cpp:
655         (WebCore::HTMLImageElement::reportMemoryUsage):
656         * html/HTMLInputElement.cpp:
657         (WebCore::HTMLInputElement::reportMemoryUsage):
658         * html/HTMLMediaElement.cpp:
659         (WebCore::HTMLMediaElement::reportMemoryUsage):
660         * html/HTMLTextFormControlElement.cpp:
661         (WebCore::HTMLTextFormControlElement::reportMemoryUsage):
662         * inspector/HeapGraphSerializer.cpp:
663         (WebCore::HeapGraphSerializer::HeapGraphSerializer):
664         (WebCore::HeapGraphSerializer::reportNode):
665         (WebCore::HeapGraphSerializer::reportMemoryUsage):
666         * inspector/HeapGraphSerializer.h:
667         (HeapGraphSerializer):
668         * inspector/InspectorBaseAgent.cpp:
669         (WebCore::InspectorBaseAgentInterface::reportMemoryUsage):
670         * inspector/InspectorController.cpp:
671         (WebCore::InspectorController::reportMemoryUsage):
672         * inspector/InspectorDOMStorageAgent.cpp:
673         (WebCore::InspectorDOMStorageAgent::reportMemoryUsage):
674         * inspector/InspectorDOMStorageResource.cpp:
675         (WebCore::InspectorDOMStorageResource::reportMemoryUsage):
676         * inspector/InspectorDebuggerAgent.cpp:
677         (WebCore::InspectorDebuggerAgent::reportMemoryUsage):
678         (WebCore::ScriptDebugListener::Script::reportMemoryUsage):
679         * inspector/InspectorMemoryAgent.cpp:
680         (WebCore::InspectorMemoryAgent::reportMemoryUsage):
681         * inspector/InspectorOverlay.cpp:
682         (WebCore::InspectorOverlay::reportMemoryUsage):
683         * inspector/InspectorProfilerAgent.cpp:
684         (WebCore::InspectorProfilerAgent::reportMemoryUsage):
685         * inspector/InspectorResourceAgent.cpp:
686         (WebCore::InspectorResourceAgent::reportMemoryUsage):
687         * inspector/MemoryInstrumentationImpl.cpp:
688         (WebCore::MemoryInstrumentationClientImpl::reportMemoryUsage):
689         (WebCore::MemoryInstrumentationImpl::reportMemoryUsage):
690         * inspector/NetworkResourcesData.cpp:
691         (WebCore::XHRReplayData::reportMemoryUsage):
692         (WebCore::NetworkResourcesData::ResourceData::reportMemoryUsage):
693         (WebCore::NetworkResourcesData::reportMemoryUsage):
694         * loader/CachedMetadata.cpp:
695         (WebCore::CachedMetadata::reportMemoryUsage):
696         * loader/DocumentLoader.cpp:
697         (WebCore::DocumentLoader::reportMemoryUsage):
698         * loader/FrameLoader.cpp:
699         (WebCore::FrameLoader::reportMemoryUsage):
700         * loader/MainResourceLoader.cpp:
701         (WebCore::MainResourceLoader::reportMemoryUsage):
702         * loader/Prerenderer.cpp:
703         (WebCore::Prerenderer::reportMemoryUsage):
704         * loader/ResourceBuffer.cpp:
705         (WebCore::ResourceBuffer::reportMemoryUsage):
706         * loader/ResourceLoader.cpp:
707         (WebCore::ResourceLoader::reportMemoryUsage):
708         * loader/SubresourceLoader.cpp:
709         (WebCore::SubresourceLoader::reportMemoryUsage):
710         * loader/SubstituteData.cpp:
711         (WebCore::SubstituteData::reportMemoryUsage):
712         * loader/cache/CachedCSSStyleSheet.cpp:
713         (WebCore::CachedCSSStyleSheet::reportMemoryUsage):
714         * loader/cache/CachedFont.cpp:
715         (WebCore::CachedFont::reportMemoryUsage):
716         * loader/cache/CachedImage.cpp:
717         (WebCore::CachedImage::reportMemoryUsage):
718         * loader/cache/CachedResource.cpp:
719         (WebCore::CachedResource::reportMemoryUsage):
720         * loader/cache/CachedResourceHandle.cpp:
721         (WebCore::CachedResourceHandleBase::reportMemoryUsage):
722         * loader/cache/CachedResourceLoader.cpp:
723         (WebCore::CachedResourceLoader::reportMemoryUsage):
724         * loader/cache/CachedSVGDocument.cpp:
725         (WebCore::CachedSVGDocument::reportMemoryUsage):
726         * loader/cache/CachedScript.cpp:
727         (WebCore::CachedScript::reportMemoryUsage):
728         * loader/cache/CachedShader.cpp:
729         (WebCore::CachedShader::reportMemoryUsage):
730         * loader/cache/CachedXSLStyleSheet.cpp:
731         (WebCore::CachedXSLStyleSheet::reportMemoryUsage):
732         * loader/cache/MemoryCache.cpp:
733         (WebCore::MemoryCache::reportMemoryUsage):
734         * page/DOMTimer.cpp:
735         (WebCore::DOMTimer::reportMemoryUsage):
736         * page/Frame.cpp:
737         (WebCore::Frame::reportMemoryUsage):
738         * page/Page.cpp:
739         (WebCore::Page::reportMemoryUsage):
740         * platform/KURL.cpp:
741         (WebCore::KURL::reportMemoryUsage):
742         * platform/KURLGoogle.cpp:
743         (WebCore::KURLGooglePrivate::reportMemoryUsage):
744         * platform/KURLWTFURLImpl.h:
745         (WebCore::KURLWTFURLImpl::reportMemoryUsage):
746         * platform/ScrollableArea.cpp:
747         (WebCore::ScrollableArea::reportMemoryUsage):
748         * platform/SharedBuffer.cpp:
749         (WebCore::SharedBuffer::reportMemoryUsage):
750         * platform/audio/AudioArray.h:
751         (WebCore::AudioArray::reportMemoryUsage):
752         * platform/audio/FFTFrame.cpp:
753         (WebCore::FFTFrame::reportMemoryUsage):
754         * platform/audio/HRTFDatabase.cpp:
755         (WebCore::HRTFDatabase::reportMemoryUsage):
756         * platform/audio/HRTFDatabaseLoader.cpp:
757         (WebCore::HRTFDatabaseLoader::reportMemoryUsage):
758         * platform/audio/HRTFElevation.cpp:
759         (WebCore::HRTFElevation::reportMemoryUsage):
760         * platform/audio/HRTFKernel.cpp:
761         (WebCore::HRTFKernel::reportMemoryUsage):
762         * platform/audio/ffmpeg/FFTFrameFFMPEG.cpp:
763         (reportMemoryUsage):
764         * platform/graphics/BitmapImage.cpp:
765         (WebCore::BitmapImage::reportMemoryUsage):
766         (WebCore::FrameData::reportMemoryUsage):
767         * platform/graphics/CrossfadeGeneratedImage.cpp:
768         (WebCore::CrossfadeGeneratedImage::reportMemoryUsage):
769         * platform/graphics/GeneratorGeneratedImage.cpp:
770         (WebCore::GeneratorGeneratedImage::reportMemoryUsage):
771         * platform/graphics/GraphicsLayer.cpp:
772         (WebCore::GraphicsLayer::reportMemoryUsage):
773         * platform/graphics/ImageBuffer.cpp:
774         (WebCore::ImageBuffer::reportMemoryUsage):
775         * platform/graphics/ImageSource.cpp:
776         (WebCore::ImageSource::reportMemoryUsage):
777         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
778         (WebCore::GraphicsLayerChromium::reportMemoryUsage):
779         * platform/graphics/skia/ImageBufferSkia.cpp:
780         (WebCore::ImageBufferData::reportMemoryUsage):
781         * platform/graphics/skia/MemoryInstrumentationSkia.cpp:
782         (reportMemoryUsage):
783         * platform/graphics/skia/NativeImageSkia.cpp:
784         (WebCore::NativeImageSkia::reportMemoryUsage):
785         * platform/image-decoders/ImageDecoder.cpp:
786         (WebCore::ImageFrame::reportMemoryUsage):
787         (WebCore):
788         (WebCore::ImageDecoder::reportMemoryUsage):
789         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
790         (WebCore::ImageFrame::reportMemoryUsage):
791         * platform/network/FormData.cpp:
792         (WebCore::FormData::reportMemoryUsage):
793         (WebCore::FormDataElement::reportMemoryUsage):
794         * platform/network/ResourceRequestBase.cpp:
795         (WebCore::ResourceRequestBase::reportMemoryUsageBase):
796         * platform/network/ResourceResponseBase.cpp:
797         (WebCore::ResourceResponseBase::reportMemoryUsage):
798         * platform/network/chromium/ResourceRequest.cpp:
799         (WebCore::ResourceRequest::reportMemoryUsage):
800         * rendering/InlineBox.cpp:
801         (WebCore::InlineBox::reportMemoryUsage):
802         * rendering/InlineFlowBox.cpp:
803         (WebCore::InlineFlowBox::reportMemoryUsage):
804         * rendering/InlineTextBox.cpp:
805         (WebCore::InlineTextBox::reportMemoryUsage):
806         * rendering/RenderBlock.cpp:
807         (WebCore::RenderBlock::reportMemoryUsage):
808         * rendering/RenderBox.cpp:
809         (WebCore::RenderBox::reportMemoryUsage):
810         * rendering/RenderFrameSet.cpp:
811         (WebCore::RenderFrameSet::reportMemoryUsage):
812         (WebCore::RenderFrameSet::GridAxis::reportMemoryUsage):
813         * rendering/RenderInline.cpp:
814         (WebCore::RenderInline::reportMemoryUsage):
815         * rendering/RenderLayer.cpp:
816         (WebCore::RenderLayer::reportMemoryUsage):
817         * rendering/RenderLayerBacking.cpp:
818         (WebCore::RenderLayerBacking::reportMemoryUsage):
819         * rendering/RenderLayerCompositor.cpp:
820         (WebCore::RenderLayerCompositor::reportMemoryUsage):
821         * rendering/RenderListMarker.cpp:
822         (WebCore::RenderListMarker::reportMemoryUsage):
823         * rendering/RenderObject.cpp:
824         (WebCore::RenderObject::reportMemoryUsage):
825         * rendering/RenderTableCol.cpp:
826         (WebCore::RenderTableCol::reportMemoryUsage):
827         * rendering/RenderTableRow.cpp:
828         (WebCore::RenderTableRow::reportMemoryUsage):
829         * rendering/RenderTableSection.cpp:
830         (WebCore::RenderTableSection::reportMemoryUsage):
831         (WebCore::RenderTableSection::RowStruct::reportMemoryUsage):
832         (WebCore::RenderTableSection::CellStruct::reportMemoryUsage):
833         * rendering/RenderText.cpp:
834         (WebCore::RenderText::reportMemoryUsage):
835         * rendering/RenderView.cpp:
836         (WebCore::RenderView::reportMemoryUsage):
837         * rendering/style/DataRef.h:
838         (WebCore::DataRef::reportMemoryUsage):
839         * rendering/style/RenderStyle.cpp:
840         (WebCore::RenderStyle::reportMemoryUsage):
841         * rendering/style/StyleRareInheritedData.cpp:
842         (WebCore::StyleRareInheritedData::reportMemoryUsage):
843         * rendering/style/StyleRareNonInheritedData.cpp:
844         (WebCore::StyleRareNonInheritedData::reportMemoryUsage):
845         * svg/SVGPaint.cpp:
846         (WebCore::SVGPaint::reportDescendantMemoryUsage):
847         * svg/graphics/SVGImage.cpp:
848         (WebCore::SVGImage::reportMemoryUsage):
849         * xml/XMLHttpRequest.cpp:
850         (WebCore::XMLHttpRequest::reportMemoryUsage):
851
852 2013-02-01  Philippe Normand  <pnormand@igalia.com>
853
854         [GTK][GStreamer] FullscreenVideoControllerGtk implementation
855         https://bugs.webkit.org/show_bug.cgi?id=107398
856
857         Reviewed by Gustavo Noronha Silva.
858
859         NATIVE_FULLSCREEN_VIDEO support for the GTK port. The previous
860         FullscreenVideoController implementation was refactored as a
861         sub-class of FullscreenVideoControllerGStreamer and hooked in the
862         MediaPlayerPrivateGStreamer backend.
863
864         * GNUmakefile.list.am:
865         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
866         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
867         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
868         * platform/graphics/gtk/FullscreenVideoControllerGtk.cpp: Renamed from Source/WebKit/gtk/WebCoreSupport/FullscreenVideoController.cpp.
869         * platform/graphics/gtk/FullscreenVideoControllerGtk.h: Renamed from Source/WebKit/gtk/WebCoreSupport/FullscreenVideoController.h.
870
871 2013-02-01  Andrey Lushnikov  <lushnikov@chromium.org>
872
873         Web Inspector: fix cursor location in Source Frame
874         https://bugs.webkit.org/show_bug.cgi?id=108592
875
876         Reviewed by Pavel Feldman.
877
878         Normalize range before computing amount of lines in
879         _updateSourcePosition.
880
881         No new tests.
882
883         * inspector/front-end/SourceFrame.js:
884         (WebInspector.SourceFrame.prototype._updateSourcePosition): Normalize text range.
885         * inspector/front-end/inspector.css: Slightly bigger left padding for the text.
886         (.source-frame-position):
887
888 2013-02-01  Kentaro Hara  <haraken@chromium.org>
889
890         Unreviewed build fix after r141553.
891
892         * bindings/scripts/CodeGeneratorV8.pm:
893         (GenerateImplementation):
894         * bindings/scripts/test/V8/V8Float64Array.cpp:
895         (WebCore::V8Float64Array::HasInstance):
896         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
897         (WebCore::V8TestActiveDOMObject::HasInstance):
898         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
899         (WebCore::V8TestCustomNamedGetter::HasInstance):
900         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
901         (WebCore::V8TestEventConstructor::HasInstance):
902         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
903         (WebCore::V8TestEventTarget::HasInstance):
904         * bindings/scripts/test/V8/V8TestException.cpp:
905         (WebCore::V8TestException::HasInstance):
906         * bindings/scripts/test/V8/V8TestInterface.cpp:
907         (WebCore::V8TestInterface::HasInstance):
908         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
909         (WebCore::V8TestMediaQueryListListener::HasInstance):
910         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
911         (WebCore::V8TestNamedConstructor::HasInstance):
912         * bindings/scripts/test/V8/V8TestNode.cpp:
913         (WebCore::V8TestNode::HasInstance):
914         * bindings/scripts/test/V8/V8TestObj.cpp:
915         (WebCore::V8TestObj::HasInstance):
916         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
917         (WebCore::V8TestOverloadedConstructors::HasInstance):
918         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
919         (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
920
921 2013-02-01  Vsevolod Vlasov  <vsevik@chromium.org>
922
923         Web Inspector: Sources panel navigator reveal and expand fixes.
924         https://bugs.webkit.org/show_bug.cgi?id=108584
925
926         Reviewed by Pavel Feldman.
927
928         Navigator folders are not expanded by default anymore.
929         Made domain folder expanded for inspected page main frame domain.
930         UISourceCodes are now added to navigator before editor container
931         so that they could be revealed if editor container decides to show them.
932
933         * inspector/front-end/NavigatorView.js:
934         (WebInspector.BaseNavigatorTreeElement.prototype.onattach):
935         (WebInspector.NavigatorFolderTreeElement.prototype.onattach):
936         * inspector/front-end/ScriptsPanel.js:
937         (WebInspector.ScriptsPanel.prototype._addUISourceCode):
938
939 2013-02-01  Andrey Adaikin  <aandrey@chromium.org>
940
941         Web Inspector: [Canvas] drop trace log in the backend when deleting profile in frontend
942         https://bugs.webkit.org/show_bug.cgi?id=108591
943
944         Reviewed by Pavel Feldman.
945
946         Send a dropTraceLog command to the backend when deleting a profile header from the sidebar.
947         Before we were sending the command only upon deleting an existing view of a profile, so we  would not
948         sent the command if the view was not created or if a profile header was removed via context menu (the ondelete() method).
949         Drive-by: fixed an odd formatting of property functions.
950
951         * inspector/front-end/CanvasProfileView.js:
952         (WebInspector.CanvasProfileView.prototype.dispose):
953         (WebInspector.CanvasProfileHeader.prototype.reset):
954         * inspector/front-end/ProfilesPanel.js:
955         (WebInspector.ProfileHeader.prototype.reset):
956         (WebInspector.ProfileHeader.prototype.load):
957         (WebInspector.ProfileHeader.prototype.canSaveToFile):
958         (WebInspector.ProfileHeader.prototype.saveToFile):
959         (WebInspector.ProfileHeader.prototype.loadFromFile):
960         (WebInspector.ProfileHeader.prototype.fromFile):
961         (WebInspector.ProfilesPanel):
962         (WebInspector.ProfilesPanel.prototype._reset):
963         (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
964
965 2013-02-01  Chris Fleizach  <cfleizach@apple.com>
966
967         AX: when aria-activedescendant is used with a ComboBox role, focus should not be changed
968         https://bugs.webkit.org/show_bug.cgi?id=108596
969
970         Reviewed by Ryosuke Niwa.
971
972         Normally, an aria-activedescendant change causes a focus change to be triggered.
973         However, when used in conjunction with a combo box, this causes problems for screen readers.
974         Namely, the user expects focus to remain in the text field so that the user can keep typing. 
975         If focus moves to an item in the combobox list, it is not possible to keep typing.
976
977         The solution is to not trigger a focus change in this case and instead use a selected children change notification.
978
979         Test: platform/mac/accessibility/combobox-activedescendant-notifications.html
980
981         * accessibility/AccessibilityRenderObject.cpp:
982         (WebCore::AccessibilityRenderObject::shouldNotifyActiveDescendant):
983         (WebCore::AccessibilityRenderObject::shouldFocusActiveDescendant):
984         (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
985         * accessibility/AccessibilityRenderObject.h:
986         (AccessibilityRenderObject):
987         * accessibility/mac/AXObjectCacheMac.mm:
988         (WebCore::AXObjectCache::postPlatformNotification):
989
990 2013-02-01  Chris Fleizach  <cfleizach@apple.com>
991
992         [Mac] REGRESSION(r140974): accessibility/lists.html fails on Lion=
993         https://bugs.webkit.org/show_bug.cgi?id=108291
994
995         Reviewed by Ryosuke Niwa.
996
997         This accounts for differences in what AppKit gives for accessibility role descriptions between platforms
998         when the subrole is not recognized, and standardizes it for WebKit.
999
1000         Unskip a failing Lion test
1001
1002         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1003         (-[WebAccessibilityObjectWrapper roleDescription]):
1004
1005 2013-02-01  Vsevolod Vlasov  <vsevik@chromium.org>
1006
1007         Web Inspector: Replace localeCompare in NavigatorView with compareTo.
1008         https://bugs.webkit.org/show_bug.cgi?id=108585
1009
1010         Reviewed by Pavel Feldman.
1011
1012         Replaced String.prototype.localeCompare with String.prototype.compareTo
1013         in NavigatorView to improve performance.
1014
1015         * inspector/front-end/NavigatorView.js:
1016         (WebInspector.NavigatorTreeOutline._treeElementsCompare):
1017
1018 2013-02-01  Vsevolod Vlasov  <vsevik@chromium.org>
1019
1020         Web Inspector: File system pending requests list is not cleared after processing.
1021         https://bugs.webkit.org/show_bug.cgi?id=108573
1022
1023         Reviewed by Pavel Feldman.
1024
1025         * inspector/front-end/IsolatedFileSystemModel.js:
1026         (WebInspector.IsolatedFileSystemModel.prototype._processPendingFileSystemRequests):
1027
1028 2013-02-01  Tom Sepez  <tsepez@chromium.org>
1029
1030         Dubious cast from HTMLCollection to HTMLAllCollection
1031         https://bugs.webkit.org/show_bug.cgi?id=108538
1032
1033         Reviewed by Adam Barth.
1034
1035         Patch is tested by enabling V8 binding integrity on HTMLAllCollection and
1036         running the existing tests without introducing new crashes.
1037
1038         * dom/Document.cpp:
1039         (WebCore::Document::all):
1040         Pass correct type to template.
1041         
1042         * html/HTMLAllCollection.cpp:
1043         (WebCore::HTMLAllCollection::create):
1044         (WebCore::HTMLAllCollection::HTMLAllCollection):
1045         * html/HTMLAllCollection.h:
1046         (HTMLAllCollection):
1047         Make create() method arguments compatible with template above.
1048
1049         * html/HTMLAllCollection.idl:
1050         Enable binding integrity.
1051
1052 2013-02-01  Ken Kania  <kkania@chromium.org>
1053
1054         Web Inspector: Add support for handling modal dialogs
1055         https://bugs.webkit.org/show_bug.cgi?id=107883
1056
1057         Reviewed by Pavel Feldman.
1058
1059         Introduce support for being notified when a JavaScript modal dialog
1060         is opening and closing, as well as a new command for accepting or
1061         dismissing the dialog.
1062
1063         Test: inspector-protocol/page/willRunJavaScriptDialog.html
1064
1065         * inspector/Inspector.json:
1066         * inspector/InspectorClient.h:
1067         (WebCore::InspectorClient::handleJavaScriptDialog):
1068         (InspectorClient):
1069         * inspector/InspectorInstrumentation.cpp:
1070         (WebCore):
1071         (WebCore::InspectorInstrumentation::willRunJavaScriptDialogImpl):
1072         (WebCore::InspectorInstrumentation::didRunJavaScriptDialogImpl):
1073         * inspector/InspectorInstrumentation.h:
1074         (InspectorInstrumentation):
1075         (WebCore::InspectorInstrumentation::willRunJavaScriptDialog):
1076         (WebCore):
1077         (WebCore::InspectorInstrumentation::didRunJavaScriptDialog):
1078         * inspector/InspectorPageAgent.cpp:
1079         (WebCore::InspectorPageAgent::willRunJavaScriptDialog):
1080         (WebCore):
1081         (WebCore::InspectorPageAgent::didRunJavaScriptDialog):
1082         (WebCore::InspectorPageAgent::handleJavaScriptDialog):
1083         * inspector/InspectorPageAgent.h:
1084         * inspector/front-end/ResourceTreeModel.js:
1085         (WebInspector.PageDispatcher.prototype.frameStartedLoading):
1086         (WebInspector.PageDispatcher.prototype.frameStoppedLoading):
1087         (WebInspector.PageDispatcher.prototype.frameScheduledNavigation):
1088         (WebInspector.PageDispatcher.prototype.frameClearedScheduledNavigation):
1089         (WebInspector.PageDispatcher.prototype.javascriptDialogOpening):
1090         (WebInspector.PageDispatcher.prototype.javascriptDialogClosed):
1091         * page/Chrome.cpp:
1092         (WebCore::Chrome::runBeforeUnloadConfirmPanel):
1093         (WebCore::Chrome::runJavaScriptAlert):
1094         (WebCore::Chrome::runJavaScriptConfirm):
1095         (WebCore::Chrome::runJavaScriptPrompt):
1096
1097 2013-02-01  Dan Alcantara  <dfalcantara@chromium.org>
1098
1099         Touch disambiguation blacklist is not being queried properly
1100         https://bugs.webkit.org/show_bug.cgi?id=108222
1101
1102         Reviewed by Adam Barth.
1103
1104         TEST=WebFrameTest::DisambiguationPopupBlacklist
1105
1106         Fix the blacklist so that we check it for the right nodes.
1107         Add a chromium test to check that the blacklist is being built and used
1108         correctly.  Also update the other DisambiguationPopup tests to
1109         use the new page scale method.
1110
1111         * page/TouchDisambiguation.cpp:
1112         (WebCore::findGoodTouchTargets):
1113
1114 2013-01-31  Kentaro Hara  <haraken@chromium.org>
1115
1116         [V8] Add a temporary optional Isolate parameter to HasInstance()
1117         https://bugs.webkit.org/show_bug.cgi?id=108567
1118
1119         Reviewed by Adam Barth.
1120
1121         The optional Isolate parameter will be removed once all call sites have an Isolate.
1122         It will require several patches.
1123
1124         No tests. No change in behavior.
1125
1126         * bindings/scripts/CodeGeneratorV8.pm:
1127         (GenerateHeader):
1128         (GenerateNormalAttrSetter):
1129         (GenerateParametersCheckExpression):
1130         (GenerateParametersCheck):
1131         (GenerateImplementation):
1132         * bindings/scripts/test/V8/V8Float64Array.cpp:
1133         (WebCore::V8Float64Array::HasInstance):
1134         * bindings/scripts/test/V8/V8Float64Array.h:
1135         (V8Float64Array):
1136         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1137         (WebCore::V8TestActiveDOMObject::HasInstance):
1138         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
1139         (V8TestActiveDOMObject):
1140         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1141         (WebCore::V8TestCustomNamedGetter::HasInstance):
1142         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
1143         (V8TestCustomNamedGetter):
1144         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1145         (WebCore::V8TestEventConstructor::HasInstance):
1146         * bindings/scripts/test/V8/V8TestEventConstructor.h:
1147         (V8TestEventConstructor):
1148         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1149         (WebCore::V8TestEventTarget::HasInstance):
1150         * bindings/scripts/test/V8/V8TestEventTarget.h:
1151         (V8TestEventTarget):
1152         * bindings/scripts/test/V8/V8TestException.cpp:
1153         (WebCore::V8TestException::HasInstance):
1154         * bindings/scripts/test/V8/V8TestException.h:
1155         (V8TestException):
1156         * bindings/scripts/test/V8/V8TestInterface.cpp:
1157         (WebCore::V8TestInterface::HasInstance):
1158         * bindings/scripts/test/V8/V8TestInterface.h:
1159         (V8TestInterface):
1160         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1161         (WebCore::V8TestMediaQueryListListener::HasInstance):
1162         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
1163         (V8TestMediaQueryListListener):
1164         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1165         (WebCore::V8TestNamedConstructor::HasInstance):
1166         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
1167         (V8TestNamedConstructor):
1168         * bindings/scripts/test/V8/V8TestNode.cpp:
1169         (WebCore::V8TestNode::HasInstance):
1170         * bindings/scripts/test/V8/V8TestNode.h:
1171         (V8TestNode):
1172         * bindings/scripts/test/V8/V8TestObj.cpp:
1173         (WebCore::TestObjV8Internal::overloadedMethodCallback):
1174         (WebCore::TestObjV8Internal::variadicNodeMethodCallback):
1175         (WebCore::V8TestObj::HasInstance):
1176         * bindings/scripts/test/V8/V8TestObj.h:
1177         (V8TestObj):
1178         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
1179         (WebCore::V8TestOverloadedConstructors::constructorCallback):
1180         (WebCore::V8TestOverloadedConstructors::HasInstance):
1181         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
1182         (V8TestOverloadedConstructors):
1183         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1184         (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
1185         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
1186         (V8TestSerializedScriptValueInterface):
1187
1188 2013-02-01  Nils Barth  <nbarth@google.com>
1189
1190         [CPP,GObject,ObjC] Add 'static' skip to CodeGenerator{CPP,GObject,ObjC}.pm
1191         https://bugs.webkit.org/show_bug.cgi?id=108578
1192
1193         Reviewed by Kentaro Hara.
1194
1195         Since CPP/GObject/ObjC code generators (CodeGenerator{CPP,GObject,ObjC}.pm)
1196         do not support static attributes, add test to skip these.
1197         This lets us remove #if macro from static in test files and not need
1198         these in future.
1199
1200         Test: bindings/scripts/test/TestObj.idl (run-bindings-test)
1201         Test: bindings/scripts/test/TestSupplemental.idl (run-bindings-test)
1202
1203         * bindings/scripts/CodeGeneratorCPP.pm:
1204         (SkipAttribute):
1205         * bindings/scripts/CodeGeneratorGObject.pm:
1206         (SkipAttribute):
1207         * bindings/scripts/CodeGeneratorObjC.pm:
1208         (SkipAttribute):
1209         * bindings/scripts/test/TestObj.idl:
1210         * bindings/scripts/test/TestSupplemental.idl:
1211
1212 2013-02-01  Kentaro Hara  <haraken@chromium.org>
1213
1214         [V8] Remove V8GCController::m_edenNodes
1215         https://bugs.webkit.org/show_bug.cgi?id=108579
1216
1217         Reviewed by Adam Barth.
1218
1219         Currently V8GCController::m_edenNodes stores a list of nodes whose
1220         wrappers have been created since the latest GC. The reason why we
1221         needed m_edenNodes is that there was no way to know a list of wrappers
1222         in the new space of V8. By using m_edenNodes, we had been approximating
1223         'wrappers in the new space' by 'wrappers that have been created since
1224         the latest GC'.
1225
1226         Now V8 provides VisitHandlesForPartialDependence(), with which WebKit
1227         can know a list of wrappers in the new space. By using the API, we can
1228         remove V8GCController::m_edenNodes. The benefit is that (1) we no longer
1229         need to keep m_edenNodes and that (2) it enables more precise minor
1230         DOM GC (Remember that m_edenNodes was just an approximation).
1231
1232         Performance benchmark: https://bugs.webkit.org/attachment.cgi?id=185940
1233         The benchmark runs 300 iterations, each of which creates 100000 elements.
1234         The benchmark measures average, min, median, max and stdev of execution times
1235         of the 300 iterations. This will tell us the worst-case overhead of this change.
1236
1237         Before:
1238           mean=59.91ms, min=39ms, median=42ms, max=258ms, stdev=47.48ms
1239
1240         After:
1241           mean=58.75ms, min=35ms, median=41ms, max=250ms, stdev=47.32ms
1242
1243         As shown above, I couldn't observe any performance regression.
1244
1245         No tests. No change in behavior.
1246
1247         * bindings/v8/DOMDataStore.h:
1248         (WebCore::DOMDataStore::setWrapperInObject):
1249         * bindings/v8/V8GCController.cpp:
1250         (WebCore::gcTree):
1251         (WebCore):
1252         (MinorGCWrapperVisitor):
1253         (WebCore::MinorGCWrapperVisitor::notifyFinished):
1254         (WebCore::V8GCController::gcPrologue):
1255         (WebCore::V8GCController::minorGCPrologue):
1256         (WebCore::V8GCController::majorGCPrologue):
1257         * bindings/v8/V8GCController.h:
1258         (V8GCController):
1259
1260 2013-02-01  Vsevolod Vlasov  <vsevik@chromium.org>
1261
1262         Web Inspector: Use String.prototype.startsWith instead of String.prototype.indexOf when possible
1263         https://bugs.webkit.org/show_bug.cgi?id=108575
1264
1265         Reviewed by Yury Semikhatsky.
1266
1267         * inspector/front-end/FileMapping.js:
1268         (WebInspector.FileMapping.prototype._entryMatchesURL):
1269         (WebInspector.FileMapping.prototype.urlForURI):
1270         * inspector/front-end/FileSystemMapping.js:
1271         (get WebInspector.FileSystemMappingImpl.prototype.fileForURI):
1272         (get WebInspector.FileSystemMappingImpl.prototype.uriForPath):
1273
1274 2013-01-31  Aurimas Liutikas  <aurimas@chromium.org>
1275
1276         Editor::m_compositionNode not updated on HTMLInputElement::setValue()
1277         https://bugs.webkit.org/show_bug.cgi?id=107737
1278
1279         Reviewed by Ryosuke Niwa.
1280
1281         Chromium has a bug where the IME composition did not get cancelled on JavaScript changes
1282         to the focused editing field. Most of other WebKit ports were already doing this check
1283         in their EditorClient::respondToChangedSelection. I took that logic and moved it to the
1284         Editor so every port and use the same code.
1285
1286         An existing test editing/input/setting-input-value-cancel-ime-composition.html covers this change.
1287         This test used to have an expectation to fail on Chromium and after this patch it will start passing.
1288
1289         * editing/Editor.cpp:
1290         (WebCore::Editor::cancelCompositionIfSelectionIsInvalid):
1291             Adding a call that can be used by any the port to cancel the composition if it's no longer valid.
1292         (WebCore):
1293         * editing/Editor.h:
1294         (Editor):
1295
1296 2013-01-31  Jae Hyun Park  <jae.park@company100.net>
1297
1298         Coordinated Graphics : Move CoordinatedGraphics related files to WebCore
1299         https://bugs.webkit.org/show_bug.cgi?id=108149
1300
1301         Reviewed by Noam Rosenthal.
1302
1303         This patch moves Coordinated Graphics related code to WebCore. To
1304         implement Threaded Coordinated Graphics, most of Coordianted Graphics
1305         code should be shared. Therefore, they should reside in WebCore instead of
1306         WebKit2.
1307
1308         When moving to WebCore, two renamings have been done.
1309
1310         1. Rename LayerTreeRenderer to CoordinatedGraphicsScene.
1311
1312         2. Rename WebCustomFilterProgram and WebCustomFilterOperation to
1313         CoordinatedCustomFilterProgram and CoordinatedCustomFilterOperation,
1314         respectively.
1315
1316         No new tests, covered by existing tests.
1317
1318         * CMakeLists.txt:
1319         * Target.pri:
1320         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
1321         * platform/graphics/texmap/coordinated/AreaAllocator.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/AreaAllocator.cpp.
1322         * platform/graphics/texmap/coordinated/AreaAllocator.h: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/AreaAllocator.h.
1323         * platform/graphics/texmap/coordinated/CoordinatedBackingStore.cpp: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp.
1324         * platform/graphics/texmap/coordinated/CoordinatedBackingStore.h: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h.
1325         * platform/graphics/texmap/coordinated/CoordinatedCustomFilterOperation.h: Renamed from Source/WebKit2/Shared/CoordinatedGraphics/WebCustomFilterOperation.h.
1326         * platform/graphics/texmap/coordinated/CoordinatedCustomFilterProgram.h: Renamed from Source/WebKit2/Shared/CoordinatedGraphics/WebCustomFilterProgram.h.
1327         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp.
1328         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h.
1329         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp.
1330         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.h.
1331         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.cpp.
1332         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.h: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h.
1333         * platform/graphics/texmap/coordinated/CoordinatedLayerInfo.h: Renamed from Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedLayerInfo.h.
1334         * platform/graphics/texmap/coordinated/CoordinatedSurface.cpp: Renamed from Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedSurface.cpp.
1335         * platform/graphics/texmap/coordinated/CoordinatedSurface.h: Renamed from Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedSurface.h.
1336         * platform/graphics/texmap/coordinated/CoordinatedTile.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp.
1337         * platform/graphics/texmap/coordinated/CoordinatedTile.h: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h.
1338         * platform/graphics/texmap/coordinated/SurfaceUpdateInfo.h: Renamed from Source/WebKit2/Shared/CoordinatedGraphics/SurfaceUpdateInfo.h.
1339         * platform/graphics/texmap/coordinated/UpdateAtlas.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp.
1340         * platform/graphics/texmap/coordinated/UpdateAtlas.h: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h.
1341
1342 2013-01-31  Lamarque V. Souza  <Lamarque.Souza@basyskom.com>
1343
1344         [Qt] Add support for text decoration "wavy" style
1345         https://bugs.webkit.org/show_bug.cgi?id=93507
1346
1347         Reviewed by Simon Hausmann.
1348
1349         Add support for text decoration "wavy" style for Qt platform.
1350
1351         * platform/graphics/qt/GraphicsContextQt.cpp:
1352         (WebCore::toQPenStyle):
1353         Remove FIXME comments obsoleted by this patch.
1354         (WebCore::GraphicsContext::drawLine):
1355         Implement wavy style line tracer.
1356
1357 2013-01-31  Nils Barth  <nbarth@google.com>
1358
1359         [CPP,GObject,ObjC] Add 'enum' skip to CodeGenerator{CPP,GObject,ObjC}.pm
1360         https://bugs.webkit.org/show_bug.cgi?id=108565
1361
1362         Reviewed by Kentaro Hara.
1363
1364         Since legacy code generators (CodeGenerator{CPP,GObject,ObjC}.pm)
1365         do not support enumerations, add test to skip attributes of enum type.
1366         This lets us remove #if macro from enum in test file and not need
1367         these in future.
1368         Also minor associated code cleaning:
1369           auxiliary variable: $type = $attribute->signature->type.
1370
1371         Test: bindings/scripts/test/TestObj.idl (run-bindings-test)
1372
1373         * bindings/scripts/CodeGeneratorCPP.pm:
1374         (SkipAttribute):
1375         * bindings/scripts/CodeGeneratorGObject.pm:
1376         (SkipAttribute):
1377         * bindings/scripts/CodeGeneratorObjC.pm:
1378         (SkipAttribute):
1379         * bindings/scripts/test/TestObj.idl: remove #if macro
1380
1381 2013-01-31  Kent Tamura  <tkent@chromium.org>
1382
1383         Refactoring: Remove the default argument value for Node::setFocus
1384         https://bugs.webkit.org/show_bug.cgi?id=108554
1385
1386         Reviewed by Kentaro Hara.
1387
1388         There is no code to use the default argument.
1389         No new tests. Just a refactoring.
1390
1391         * dom/Node.h: Remove default argument value for setFocus.
1392         * dom/ContainerNode.h:
1393         (ContainerNode): Ditto.
1394         * html/HTMLAreaElement.h:
1395         (HTMLAreaElement): Add OVERRIDE to setFocus.
1396         * html/HTMLFrameElementBase.h:
1397         (HTMLFrameElementBase): Ditto.
1398
1399 2013-01-31  Victor Carbune  <vcarbune@chromium.org>
1400
1401         [Track] Closed Caption button shouldn't be visible if all the track resources have failed loading
1402         https://bugs.webkit.org/show_bug.cgi?id=106285
1403
1404         Reviewed by Eric Carlson.
1405
1406         Updated existing test cases.
1407
1408         * html/HTMLMediaElement.cpp:
1409         (WebCore::HTMLMediaElement::textTracksAreReady): Checked whether there are tracks not loaded
1410         when the algorithm began.
1411         (WebCore::HTMLMediaElement::textTrackReadyStateChanged): If the ready state changed to
1412         FailedToLoad the media controls should check whether there are other caption tracks
1413         and hide the button if not.
1414         (WebCore::HTMLMediaElement::didAddTrack): Added trigger to closedCaptionsTrackChanged.
1415         (WebCore::HTMLMediaElement::hasClosedCaptions): Updated check to skip tracks that
1416         failed to load.
1417         * html/shadow/MediaControls.cpp:
1418         (WebCore::MediaControls::reset): Used the newly added method.
1419         (WebCore::MediaControls::refreshClosedCaptionsButtonVisibility): Added container method for
1420         default behaviour for refreshing the visibility of the caption button.
1421         (WebCore::MediaControls::closedCaptionTracksChanged): Used the newly added method.
1422         (WebCore):
1423         * html/shadow/MediaControls.h:
1424         (MediaControls):
1425
1426         * html/HTMLMediaElement.cpp:
1427         (WebCore::HTMLMediaElement::textTracksAreReady):
1428         (WebCore::HTMLMediaElement::textTrackReadyStateChanged):
1429         (WebCore::HTMLMediaElement::setReadyState):
1430         (WebCore::HTMLMediaElement::didAddTrack):
1431         (WebCore::HTMLMediaElement::hasClosedCaptions):
1432         * html/shadow/MediaControls.cpp:
1433         (WebCore::MediaControls::reset):
1434         (WebCore::MediaControls::refreshClosedCaptionsButtonVisibility):
1435         (WebCore::MediaControls::closedCaptionTracksChanged):
1436         (WebCore):
1437         * html/shadow/MediaControls.h:
1438         (MediaControls):
1439
1440 2013-01-31  Dima Gorbik  <dgorbik@apple.com>
1441
1442         REGRESSION(r140231): media track layout tests crashing
1443         https://bugs.webkit.org/show_bug.cgi?id=107579
1444
1445         Reviewed by Eric Carlson.
1446
1447         We were using non-standard element names with HTMLElement, which made v8 try to cast
1448         WebVTTElements to HTMLUnknownElements which was not possible. Subclassing Element instead
1449         of HTMLElement, though this requires building HTMLElements from WebVTTElements for creating
1450         a DOM tree. The code has been refactored to move WebVTT node type to QuialifiedName mappings 
1451         inside the WebVTTElement class. All WebVTTElements in the shadow dom tree now are in the 
1452         namespace defined by 'NullAtom'. This prevents regular styles from being applied to <b>, <i>
1453         and similar tags. Those have to be styled separately without reusing existing QualifiedNames
1454         and their styles. https://bugs.webkit.org/show_bug.cgi?id=107214
1455
1456         Unskipping tests to cover this.
1457
1458         * css/SelectorChecker.cpp:
1459         (WebCore::SelectorChecker::checkOne):
1460         * css/StyleResolver.cpp:
1461         (WebCore::StyleResolver::collectMatchingRules):
1462         (WebCore::StyleResolver::canShareStyleWithElement):
1463         * html/track/TextTrackCue.cpp:
1464         (WebCore::TextTrackCue::copyWebVTTNodeToDOMTree):
1465         (WebCore::TextTrackCue::getCueAsHTML):
1466         (WebCore::TextTrackCue::createCueRenderingTree):
1467         (WebCore::TextTrackCue::markFutureAndPastNodes):
1468         * html/track/TextTrackCue.h:
1469         (WebCore::TextTrackCue::cueShadowPseudoId):
1470         * html/track/WebVTTElement.cpp:
1471         (WebCore::nodeTypeToTagName): get a QualifiedName to use in the shadow DOM tree.
1472         (WebCore::WebVTTElement::WebVTTElement):
1473         (WebCore::WebVTTElement::create):
1474         (WebCore::WebVTTElement::cloneElementWithoutAttributesAndChildren):
1475         (WebCore::WebVTTElement::createEquivalentHTMLElement): create an HTMLElement to use in the DOM tree.
1476         * html/track/WebVTTElement.h:
1477         (WebCore::WebVTTElement::setWebVTTNodeType):
1478         (WebCore::WebVTTElement::webVTTNodeType):
1479         (WebCore::WebVTTElement::isPastNode):
1480         (WebCore::WebVTTElement::setIsPastNode):
1481         (WebCore::WebVTTElement::voiceAttributeName):
1482         * html/track/WebVTTParser.cpp:
1483         (WebCore::tokenToNodeType): determine a WebVTT node type for the token.
1484         (WebCore::WebVTTParser::constructTreeFromToken):
1485
1486 2013-01-31  Sheriff Bot  <webkit.review.bot@gmail.com>
1487
1488         Unreviewed, rolling out r141479.
1489         http://trac.webkit.org/changeset/141479
1490         https://bugs.webkit.org/show_bug.cgi?id=108564
1491
1492         breaks chromium test (Requested by morrita on #webkit).
1493
1494         * editing/Editor.cpp:
1495         * editing/Editor.h:
1496         (Editor):
1497
1498 2013-01-31  Changhun Kang  <temoochin@company100.net>
1499
1500         Rename from parentOrHost* to parentOrShadowHost* in Node.h.
1501         https://bugs.webkit.org/show_bug.cgi?id=108308
1502
1503         Reviewed by Dimitri Glazkov.
1504
1505         No new tests. No change in behavior.
1506
1507 2013-01-31  Alec Flett  <alecflett@chromium.org>
1508
1509         IndexedDB: remove old transaction backend bootstrap code
1510         https://bugs.webkit.org/show_bug.cgi?id=103923
1511
1512         Reviewed by Dimitri Glazkov.
1513
1514         Finally remove all leftover code from the IndexedDB "giant
1515         async refactor of 2012." This includes removal of all
1516         IDBTransaction* interfaces that were shared between
1517         the frontend and backend and a few straggling methods
1518         like onUpgradeNeeded and onSuccess that were left from
1519         the last stage of refactoring.
1520
1521         * Modules/indexeddb/IDBCallbacks.h:
1522         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1523         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
1524         (WebCore):
1525         (WebCore::IDBDatabaseBackendImpl::metadata):
1526         (IDBDatabaseBackendImpl):
1527         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
1528         (WebCore):
1529         (IDBDatabaseBackendInterface):
1530         * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
1531         (WebCore):
1532         * Modules/indexeddb/IDBTransaction.h:
1533         (WebCore):
1534         (IDBTransaction):
1535         * Modules/indexeddb/IDBTransactionBackendImpl.h:
1536         (WebCore):
1537         (IDBTransactionBackendImpl):
1538         * Modules/indexeddb/IDBTransactionBackendInterface.h: Removed.
1539         * Modules/indexeddb/IDBTransactionCallbacks.h: Removed.
1540         * Modules/indexeddb/IDBTransactionCoordinator.h:
1541         (WebCore):
1542         * Target.pri:
1543         * WebCore.gypi:
1544         * WebCore.xcodeproj/project.pbxproj:
1545
1546 2013-01-31  Kentaro Hara  <haraken@chromium.org>
1547
1548         Unreviewed, rolling out r141502.
1549         http://trac.webkit.org/changeset/141502
1550         https://bugs.webkit.org/show_bug.cgi?id=108441
1551
1552         Hit assert in SVGElementInstance
1553
1554         * bindings/scripts/CodeGeneratorV8.pm:
1555         (GetInternalFields):
1556         * dom/EventTarget.idl:
1557         * svg/SVGElementInstance.idl:
1558
1559 2013-01-31  Ojan Vafai  <ojan@chromium.org>
1560
1561         Assert that computePreferredLogicalWidths never calls setNeedsLayout
1562         https://bugs.webkit.org/show_bug.cgi?id=108539
1563
1564         Reviewed by Tony Chang.
1565
1566         computePreferredLogicalWidths should only set m_minPreferredLogicalWidth
1567         and m_maxPreferredLogicalWidth. It shouldn't have other side-effects.
1568         This is take 2 after this was rolled out because it was missing the guards
1569         in RenderCounter/RenderQuote.
1570
1571         * rendering/RenderBox.cpp:
1572         (WebCore::RenderBox::minPreferredLogicalWidth):
1573         (WebCore::RenderBox::maxPreferredLogicalWidth):
1574         * rendering/RenderCounter.cpp:
1575         (WebCore::RenderCounter::computePreferredLogicalWidths):
1576         * rendering/RenderQuote.cpp:
1577         (WebCore::RenderQuote::computePreferredLogicalWidths):
1578         * rendering/mathml/RenderMathMLOperator.cpp:
1579         (WebCore::RenderMathMLOperator::computePreferredLogicalWidths):
1580         * rendering/mathml/RenderMathMLRoot.cpp:
1581         (WebCore::RenderMathMLRoot::computePreferredLogicalWidths):
1582         * rendering/mathml/RenderMathMLRow.cpp:
1583         (WebCore::RenderMathMLRow::computePreferredLogicalWidths):
1584
1585 2013-01-31  Abhishek Arya  <inferno@chromium.org>
1586
1587         Use ASSERT_WITH_SECURITY_IMPLICATION to catch bad casts in DOM
1588         https://bugs.webkit.org/show_bug.cgi?id=108490
1589  
1590         Reviewed by Eric Seidel.
1591
1592         * dom/ContainerNode.h:
1593         (WebCore::toContainerNode):
1594         * dom/Element.h:
1595         (WebCore::toElement):
1596         * dom/ShadowRoot.h:
1597         (WebCore::toShadowRoot):
1598         * dom/Text.h:
1599         (WebCore::toText):
1600         * html/HTMLElement.h:
1601         (HTMLElement):
1602         (WebCore::toHTMLElement):
1603         * html/HTMLFrameOwnerElement.h:
1604         (WebCore::toFrameOwnerElement):
1605         * html/HTMLMediaElement.cpp:
1606         (WebCore::HTMLMediaElement::hasMediaControls):
1607         * html/HTMLTemplateElement.cpp:
1608         (WebCore::toHTMLTemplateElement):
1609         * html/HTMLUnknownElement.h:
1610         (WebCore::toHTMLUnknownElement):
1611         * html/shadow/InsertionPoint.h:
1612         (WebCore::toInsertionPoint):
1613         * html/shadow/MediaControlElementTypes.cpp:
1614         (WebCore::mediaControlElementType):
1615         * html/shadow/MediaControls.h:
1616         (WebCore::toMediaControls):
1617         * html/shadow/SliderThumbElement.h:
1618         (WebCore::toSliderThumbElement):
1619         * html/shadow/TextControlInnerElements.h:
1620         (WebCore::toInputFieldSpeechButtonElement):
1621         * html/shadow/TextFieldDecorationElement.h:
1622         (WebCore::toTextFieldDecorationElement):
1623         * html/track/WebVTTElement.h:
1624         (WebCore::toWebVTTElement):
1625         * mathml/MathMLElement.h:
1626         (WebCore::toMathMLElement):
1627         * page/scrolling/ScrollingStateFixedNode.h:
1628         (WebCore::toScrollingStateFixedNode):
1629         * page/scrolling/ScrollingStateScrollingNode.h:
1630         (WebCore::toScrollingStateScrollingNode):
1631         * page/scrolling/ScrollingStateStickyNode.h:
1632         (WebCore::toScrollingStateStickyNode):
1633         * rendering/RenderLayer.cpp:
1634         (WebCore::RenderLayer::resize):
1635         * rendering/svg/SVGResources.cpp:
1636         (WebCore::registerPendingResource):
1637         (WebCore::SVGResources::buildCachedResources):
1638         * svg/SVGElement.h:
1639         (WebCore::toSVGElement):
1640         * svg/SVGStyledElement.h:
1641         (WebCore::toSVGStyledElement):
1642
1643 2013-01-31  Christopher Cameron  <ccameron@chromium.org>
1644
1645         Fix rubber-band effect on non-scrollable pages
1646         https://bugs.webkit.org/show_bug.cgi?id=107611
1647
1648         Reviewed by Antonio Gomes.
1649
1650         Handle a FrameView's wheel event even if it is not scrollable
1651         because Chrome relies on handling these wheel events for the
1652         over-scroll rubber-band effect.
1653  
1654         This had been removed in r138378
1655         [EFL][WK2] Never create WebCore scrollbars for EFL/WK2
1656         by kenneth@chromium.org
1657
1658         Tests: platform/chromium/rubberbanding/wheelevent-overhang-e.html
1659                platform/chromium/rubberbanding/wheelevent-overhang-n.html
1660                platform/chromium/rubberbanding/wheelevent-overhang-s.html
1661                platform/chromium/rubberbanding/wheelevent-overhang-w.html
1662
1663         * page/FrameView.cpp:
1664         (WebCore::FrameView::wheelEvent):
1665
1666 2013-01-31  Enrica Casucci  <enrica@apple.com>
1667
1668         Mac: Editor::baseWritingDirectionForSelectionStart should return WritingDirection instead of NSWritingDirection.
1669         https://bugs.webkit.org/show_bug.cgi?id=108519.
1670
1671         Reviewed by Sam Weinig.
1672
1673         No new tests, no change in behavior.
1674
1675         There is no need to use AppKit types here.
1676         baseWritingDirectionForSelectionStart now returns WritingDirection and
1677         WebHTMLView toggleWritingDirection has been modified accordingly.
1678         
1679         * editing/Editor.h:
1680         * editing/mac/EditorMac.mm:
1681         (WebCore::Editor::baseWritingDirectionForSelectionStart):
1682
1683 2013-01-31  Kentaro Hara  <haraken@chromium.org>
1684
1685         [V8] Pass an Isolate to GetTemplate() in CodeGeneratorV8.pm
1686         https://bugs.webkit.org/show_bug.cgi?id=108445
1687
1688         Reviewed by Adam Barth.
1689
1690         No tests. No change in behavior.
1691
1692         * bindings/scripts/CodeGeneratorV8.pm:
1693         (GenerateDomainSafeFunctionGetter):
1694         (GenerateDomainSafeFunctionSetter):
1695         (GenerateNormalAttrGetter):
1696         (GenerateNamedConstructorCallback):
1697         (GenerateImplementation):
1698         * bindings/scripts/test/V8/V8Float64Array.cpp:
1699         (WebCore::ConfigureV8Float64ArrayTemplate):
1700         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1701         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
1702         (WebCore::TestActiveDOMObjectV8Internal::TestActiveDOMObjectDomainSafeFunctionSetter):
1703         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1704         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
1705         * bindings/scripts/test/V8/V8TestNode.cpp:
1706         (WebCore::ConfigureV8TestNodeTemplate):
1707
1708 2013-01-31  Kentaro Hara  <haraken@chromium.org>
1709
1710         [V8] Clean up Dictionary::get() by removing redundant FindInstanceInPrototypeChain()
1711         https://bugs.webkit.org/show_bug.cgi?id=108443
1712
1713         Reviewed by Adam Barth.
1714
1715         In Dictionary::get(), wrapper->FindInstanceInPrototypeChain(V8XXX::GetTemplate())
1716         is unnecessary for DOM wrappers other than DOMWindow. For wrappers other than
1717         DOMWindow, we can simply use V8XXX::HasInstance(wrapper).
1718
1719         Tests: fast/events/constructors/*
1720
1721         * bindings/v8/Dictionary.cpp:
1722         (WebCore::Dictionary::get):
1723
1724 2013-01-31  Julien Chaffraix  <jchaffraix@webkit.org>
1725
1726         [CSS Grid Layout] Support implicit rows and columns
1727         https://bugs.webkit.org/show_bug.cgi?id=103573
1728
1729         Reviewed by Ojan Vafai.
1730
1731         Tests: fast/css-grid-layout/implicit-columns-auto-resolution.html
1732                fast/css-grid-layout/implicit-rows-auto-resolution.html
1733
1734         This change makes us properly initialize our GridTrack vectors's size
1735         so that we can safely query any items during layout.
1736
1737         * rendering/RenderGrid.cpp:
1738         (WebCore::RenderGrid::gridTrackSize):
1739         Added this helper function to return the track size from the grid
1740         element's columns' / rows' definitions or the default value.
1741
1742         (WebCore::RenderGrid::maximumIndexInDirection):
1743         Added this helper function to get the maximum index in a direction
1744         taking grid item's implicit indexes into account.
1745
1746         (WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
1747         Changed the funtion to not append the new tracks as we are properly
1748         sized now.
1749
1750         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
1751         (WebCore::RenderGrid::tracksAreWiderThanMinTrackBreadth):
1752         Updated these functions to use the new helper functions.
1753
1754         (WebCore::RenderGrid::layoutGridItems):
1755         Changed this function to size both vectors when initializing them.
1756         Also removed an unneeded bounds check as it shouldn't be needed anymore.
1757
1758         * rendering/RenderGrid.h:
1759         Added the new helper functions.
1760
1761         * rendering/style/GridTrackSize.h:
1762         (WebCore::GridTrackSize::GridTrackSize):
1763         Added a constructor taking a LengthType.
1764
1765 2013-01-31  Joanmarie Diggs  <jdiggs@igalia.com>
1766
1767         [GTK] fast/css/relative-positioned-block-crash.html is intermittently crashing
1768         https://bugs.webkit.org/show_bug.cgi?id=108200
1769
1770         Reviewed by Martin Robinson.
1771
1772         Getting the Position of a PseudoElement now triggers an assertion.
1773         This can occur when clicking on empty space in a render block.
1774         Looking to the unignored parent's node (and passing that accessible
1775         object on in a signal to Assistive Technologies) seems like the most
1776         reasonable thing to do here.
1777
1778         No new tests; instead skipping two tests that were crashing as a result.
1779
1780         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1781         (objectFocusedAndCaretOffsetUnignored):
1782
1783 2013-01-31  Kentaro Hara  <haraken@chromium.org>
1784
1785         [V8] Simplify CodeGeneratorV8.pm by using InheritsExtendedAttribute("EventTarget")
1786         https://bugs.webkit.org/show_bug.cgi?id=108441
1787
1788         Reviewed by Adam Barth.
1789
1790         A complicated condition in GetInternalFields() can be simplified
1791         by using InheritsExtendedAttribute("EventTarget").
1792
1793         No tests. No change in behavior.
1794
1795         * bindings/scripts/CodeGeneratorV8.pm:
1796         (GetInternalFields):
1797         * dom/EventTarget.idl: Added [EventTarget] which should have been added.
1798         * svg/SVGElementInstance.idl: Ditto.
1799
1800 2013-01-31  Youenn Fablet  <youennf@gmail.com>
1801
1802         Quadratic and bezier curves with coincident endpoints rendered incorrectly
1803         https://bugs.webkit.org/show_bug.cgi?id=105650
1804
1805         Reviewed by Kenneth Russell.
1806
1807         Tests: fast/canvas/canvas-bezier-same-endpoint.html
1808                fast/canvas/canvas-quadratic-same-endpoint.html
1809
1810         * html/canvas/CanvasPathMethods.cpp:
1811         (WebCore::CanvasPathMethods::quadraticCurveTo):
1812         (WebCore::CanvasPathMethods::bezierCurveTo):
1813
1814 2013-01-31  Mark Lam  <mark.lam@apple.com>
1815
1816         Abstraction for hiding enum class.
1817         https://bugs.webkit.org/show_bug.cgi?id=108533
1818
1819         Reviewed by Anders Carlsson.
1820
1821         No new tests.
1822
1823         * Modules/webdatabase/DatabaseError.h:
1824         (WebCore::ENUM_CLASS_BEGIN):
1825
1826 2013-01-31  Arnaud Renevier  <a.renevier@sisa.samsung.com>
1827
1828         [Gtk] drag and drop has black background without composition
1829         https://bugs.webkit.org/show_bug.cgi?id=108376
1830
1831         Reviewed by Martin Robinson.
1832
1833         Use gtk_drag_set_icon_surface (or gtk_drag_set_icon_pixbuf) when the
1834         screen is not composited. That way, drag window will be decomposited
1835         and rendered transparent with Xshape.
1836
1837         To determine which parts of the window must be transparent, gtk checks
1838         if a pixel is more than 50% opaque. With dissolveDragImageToFraction,
1839         all pixels are made 25% transparent. With antialiasing, opacity goes
1840         below the threshold for some pixels, which makes the resulting image
1841         messy. So, we need to skip dissolveDragImageToFraction when we use
1842         gtk_drag_set_icon_surface.
1843
1844         * platform/gtk/DragIcon.cpp:
1845         (WebCore::DragIcon::DragIcon):
1846         (WebCore::DragIcon::~DragIcon):
1847         (WebCore::DragIcon::setImage):
1848         (WebCore::DragIcon::useForDrag):
1849         * platform/gtk/DragIcon.h:
1850         (DragIcon):
1851         * platform/gtk/DragImageGtk.cpp:
1852         (WebCore::dissolveDragImageToFraction):
1853
1854 2013-01-31  Tony Gentilcore  <tonyg@chromium.org>
1855
1856         Begin to make XSSAuditor thread aware
1857         https://bugs.webkit.org/show_bug.cgi?id=108394
1858
1859         Reviewed by Adam Barth.
1860
1861         This patch moves the parts of filterToken() that depend on Frame, Document, etc. to a delegate class.
1862         The new didBlockScript delegate method is invoked with the resulting DidBlockScriptRequest which will
1863         be owned by the CompactHTMLToken in the threaded case.
1864
1865         This is just the first step as there is more to do to make XSSAuditor thread safe.
1866
1867         No new tests because covered by existing tests.
1868
1869         * CMakeLists.txt:
1870         * GNUmakefile.list.am:
1871         * Target.pri:
1872         * WebCore.gypi:
1873         * WebCore.vcproj/WebCore.vcproj:
1874         * WebCore.vcxproj/WebCore.vcxproj:
1875         * WebCore.vcxproj/WebCore.vcxproj.filters:
1876         * WebCore.xcodeproj/project.pbxproj:
1877         * html/parser/BackgroundHTMLParser.cpp:
1878         (WebCore::BackgroundHTMLParser::pumpTokenizer):
1879         * html/parser/HTMLDocumentParser.cpp:
1880         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
1881         (WebCore::HTMLDocumentParser::processTokensFromBackgroundParser):
1882         (WebCore::HTMLDocumentParser::pumpTokenizer):
1883         * html/parser/HTMLDocumentParser.h:
1884         (HTMLDocumentParser):
1885         * html/parser/XSSAuditor.cpp:
1886         (WebCore::XSSAuditor::filterToken):
1887         * html/parser/XSSAuditor.h:
1888         (WebCore):
1889         (XSSAuditor):
1890         * html/parser/XSSAuditorDelegate.cpp: Added.
1891         (WebCore):
1892         (WebCore::XSSAuditorDelegate::XSSAuditorDelegate):
1893         (WebCore::XSSAuditorDelegate::didBlockScript):
1894         * html/parser/XSSAuditorDelegate.h: Added.
1895         (WebCore):
1896         (DidBlockScriptRequest):
1897         (WebCore::DidBlockScriptRequest::create):
1898         (WebCore::DidBlockScriptRequest::DidBlockScriptRequest):
1899         (XSSAuditorDelegate):
1900
1901         * CMakeLists.txt:
1902         * GNUmakefile.list.am:
1903         * Target.pri:
1904         * WebCore.gypi:
1905         * WebCore.vcproj/WebCore.vcproj:
1906         * WebCore.vcxproj/WebCore.vcxproj:
1907         * WebCore.vcxproj/WebCore.vcxproj.filters:
1908         * WebCore.xcodeproj/project.pbxproj:
1909         * html/parser/BackgroundHTMLParser.cpp:
1910         (WebCore::BackgroundHTMLParser::pumpTokenizer):
1911         * html/parser/HTMLDocumentParser.cpp:
1912         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
1913         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
1914         (WebCore::HTMLDocumentParser::pumpTokenizer):
1915         * html/parser/HTMLDocumentParser.h:
1916         (HTMLDocumentParser):
1917         * html/parser/XSSAuditor.cpp:
1918         (WebCore::XSSAuditor::XSSAuditor):
1919         (WebCore::XSSAuditor::filterToken):
1920         * html/parser/XSSAuditor.h:
1921         (WebCore):
1922         (XSSAuditor):
1923         * html/parser/XSSAuditorDelegate.cpp: Added.
1924         (WebCore):
1925         (WebCore::XSSAuditorDelegate::XSSAuditorDelegate):
1926         (WebCore::XSSAuditorDelegate::didBlockScript):
1927         * html/parser/XSSAuditorDelegate.h: Added.
1928         (WebCore):
1929         (DidBlockScriptRequest):
1930         (WebCore::DidBlockScriptRequest::create):
1931         (WebCore::DidBlockScriptRequest::DidBlockScriptRequest):
1932         (XSSAuditorDelegate):
1933
1934 2013-01-31  Uday Kiran  <udaykiran@motorola.com>
1935
1936         CSS3's vh attribute is not adjusting while browser resizes
1937         https://bugs.webkit.org/show_bug.cgi?id=86418
1938
1939         Reviewed by Antti Koivisto.
1940
1941         Elements with viewport percentage units needs layout whenever
1942         viewport size changes. Check for viewport percentage unit
1943         was missing for height.
1944
1945         Test: css3/viewport-percentage-lengths/vh-resize.html
1946
1947         * rendering/RenderBlock.cpp:
1948         (WebCore::RenderBlock::updateBlockChildDirtyBitsBeforeLayout):
1949         * rendering/RenderBox.cpp:
1950         (WebCore::RenderBox::hasViewportPercentageLogicalHeight): Check if style
1951         is specified in viewport percentage units.
1952         (WebCore):
1953         * rendering/RenderBox.h:
1954         (RenderBox):
1955         * rendering/RenderView.cpp:
1956         (WebCore::RenderView::layout): Elements with viewport percentage units
1957         needs relayout when viewport size changes.
1958
1959 2013-01-31  Anton Vayvod  <avayvod@chromium.org>
1960
1961         TextAutosizing: refactor the cluster related method parameters into a single struct.
1962         https://bugs.webkit.org/show_bug.cgi?id=108384
1963
1964         This anticipates adding more cluster related information in the following patches.
1965         
1966         Reviewed by Kenneth Rohde Christiansen.
1967
1968         Just a refactoring so no new tests.
1969
1970         * rendering/TextAutosizer.cpp: define the new struct and pass it to every method instead of
1971         a cluster and its descendant block containing all text.
1972         * rendering/TextAutosizer.h: change method prototypes to receive the new struct
1973         as a parameter defining an autosizing cluster.
1974
1975         * rendering/TextAutosizer.cpp:
1976         (WebCore::TextAutosizingClusterInfo::TextAutosizingClusterInfo):
1977         (TextAutosizingClusterInfo):
1978         (WebCore):
1979         (WebCore::TextAutosizer::processSubtree):
1980         (WebCore::TextAutosizer::processCluster):
1981         (WebCore::TextAutosizer::processContainer):
1982         (WebCore::TextAutosizer::isAutosizingCluster):
1983         (WebCore::TextAutosizer::clusterShouldBeAutosized):
1984         (WebCore::TextAutosizer::measureDescendantTextWidth):
1985         * rendering/TextAutosizer.h:
1986         (WebCore):
1987
1988 2013-01-31  Jacky Jiang  <zhajiang@rim.com>
1989
1990         [BlackBerry] Bing Images viewport causes layout "fun"
1991         https://bugs.webkit.org/show_bug.cgi?id=108393
1992
1993         Reviewed by Yong Li.
1994         Internally reviewed by Arvid Nilsson and partially reviewed by Konrad Piascik.
1995
1996         PR: 277855
1997         On bing.com image search page, JS generated styles for the divs which
1998         contained images based on the window.screen and window.innerWidth.
1999         Unfortunately the styles for the divs weren't good enough on our device
2000         which resulted in three images being overlapped in the same viewport.
2001         On our port, we calculate the screen rect base on the physical screen
2002         pixels. However, iOS and lastest Android Chrome port already changed it
2003         to density-independent (logical) pixels. And also to my knowledge that
2004         some websites would generate bad styles for us as well through
2005         @media device-width/device-height.
2006         To be consistent and fix such kinds of issues, we should use
2007         density-independent pixels instead of physical screen pixels. Mainly
2008         ported from Chrome port change r139356. The patch will affect
2009         screen.width/height, window.outerWidth/outerHeight and
2010         @media device-width/device-height.
2011
2012         * platform/blackberry/PlatformScreenBlackBerry.cpp:
2013         (WebCore):
2014         (WebCore::toUserSpace):
2015         (WebCore::screenAvailableRect):
2016         (WebCore::screenRect):
2017
2018 2013-01-31  Max Vujovic  <mvujovic@adobe.com>
2019
2020         [CSS Shaders] Parse custom filter function with the at-rule reference syntax
2021         https://bugs.webkit.org/show_bug.cgi?id=108351
2022
2023         Reviewed by Dean Jackson.
2024
2025         This patch implements the parsing for the new custom filter function "at-rule reference"
2026         syntax. It does not implement the style resolution yet.
2027
2028         The custom function syntax has changed in the spec. Instead of including all of the custom
2029         filter information inline, the custom function can now reference an @filter rule by name.
2030         The custom function can still accept a list of parameters.
2031
2032         The syntax is defined as the following, where IDENT is the name of the @filter rule:
2033         filter: custom(IDENT [, <param>]*)
2034
2035         In practice, it can look like this:
2036         filter: custom(page-curl, direction 90, amount 0.5);
2037
2038         Spec: https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#customident-ltparamgt
2039
2040         Tests: css3/filters/custom-with-at-rule-syntax/parsing-custom-function-invalid.html
2041                css3/filters/custom-with-at-rule-syntax/parsing-custom-function-valid.html
2042
2043         * css/CSSParser.cpp:
2044         (WebCore::CSSParser::parseCustomFilterParameters):
2045             Factor out a new function that just parses custom filter parameters. This is used by the
2046             previous inline syntax and the new at-rule reference syntax.
2047         (WebCore):
2048         (WebCore::CSSParser::parseCustomFilterFunctionWithAtRuleReferenceSyntax):
2049             This method parses the new at-rule reference syntax. When we remove the inline syntax,
2050             we can rename this method to "parseCustomFilterFunction" and call it directly.
2051         (WebCore::CSSParser::parseCustomFilterFunctionWithInlineSyntax):
2052             Move the previous inline syntax parsing code into a new function.
2053         (WebCore::CSSParser::parseCustomFilterFunction):
2054             This method looks ahead in the CSS parser values and decides whether to parse the custom
2055             function with the previous inline syntax or with the new at-rule reference syntax.
2056         (WebCore::CSSParser::parseFilter):
2057             I renamed the "parseCustomFilter" method to "parseCustomFilterFunction" to be more
2058             explicit. Here, we update the name in the call site.
2059         * css/CSSParser.h:
2060         * css/StyleResolver.cpp:
2061         (WebCore::StyleResolver::createCustomFilterOperationWithAtRuleReferenceSyntax):
2062             This is a stub method. In the future, style resolution for the at-rule reference
2063             syntax will happen here. When we remove the inline syntax, we can rename this method 
2064         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
2065             This method contains the previous inline syntax style resolution code.
2066         (WebCore):
2067         (WebCore::StyleResolver::createCustomFilterOperation):
2068             This method decides which syntax we should use to resolve the style.
2069         * css/StyleResolver.h:
2070         (StyleResolver):
2071
2072 2013-01-31  Aurimas Liutikas  <aurimas@chromium.org>
2073
2074         Editor::m_compositionNode not updated on HTMLInputElement::setValue()
2075         https://bugs.webkit.org/show_bug.cgi?id=107737
2076
2077         Reviewed by Ryosuke Niwa.
2078
2079         Chromium has a bug where the IME composition did not get cancelled on JavaScript changes
2080         to the focused editing field. Most of other WebKit ports were already doing this check
2081         in their EditorClient::respondToChangedSelection. I took that logic and moved it to the
2082         Editor so every port and use the same code.
2083
2084         An existing test editing/input/setting-input-value-cancel-ime-composition.html covers this change.
2085         This test used to have an expectation to fail on Chromium and after this patch it will start passing.
2086
2087         * editing/Editor.cpp:
2088         (WebCore::Editor::cancelCompositionIfSelectionIsInvalid):
2089             Adding a call that can be used by any the port to cancel the composition if it's no longer valid.
2090         (WebCore):
2091         * editing/Editor.h:
2092         (Editor):
2093
2094 2013-01-31  Joseph Pecoraro  <pecoraro@apple.com>
2095
2096         Disable ENABLE_FULLSCREEN_API on iOS
2097         https://bugs.webkit.org/show_bug.cgi?id=108250
2098
2099         Reviewed by Benjamin Poulain.
2100
2101         * Configurations/FeatureDefines.xcconfig:
2102
2103 2013-01-31  Mark Pilgrim  <pilgrim@chromium.org>
2104
2105         [Chromium] Move LocalizedStrings to WebCore
2106         https://bugs.webkit.org/show_bug.cgi?id=108488
2107
2108         Reviewed by Adam Barth.
2109
2110         Part of a larger refactoring series; see tracking bug 106829.
2111
2112         * WebCore.gypi:
2113         * platform/chromium/LocalizedStringsChromium.cpp: Copied from Source/WebKit/chromium/src/LocalizedStrings.cpp.
2114         (WebCore::imageTitle):
2115
2116 2013-01-31  Enrica Casucci  <enrica@apple.com>
2117
2118         WebKit2: provide new bundle APIs to allow bundle clients to be notified of pasteboard access.
2119         https://bugs.webkit.org/show_bug.cgi?id=108396.
2120         <rdar://problem/12920461>
2121
2122         Reviewed by Alexey Proskuryakov.
2123
2124         Adds support in WebCore to new EditorClient methods to support the modified
2125         client bundle API in WebKit2.
2126
2127         * WebCore.exp.in:
2128         * editing/Editor.cpp:
2129         (WebCore::Editor::cut): Added call to willWriteSelectionToPasteboard.
2130         (WebCore::Editor::copy): Ditto.
2131         (WebCore::Editor::willWriteSelectionToPasteboard): Added.
2132         * editing/Editor.h:
2133         * loader/EmptyClients.h: Added empty client implementation
2134         for the new methods.
2135         (WebCore::EmptyEditorClient::willWriteSelectionToPasteboard):
2136         (WebCore::EmptyEditorClient::getClientPasteboardDataForRange):
2137         * page/EditorClient.h:
2138         * platform/mac/PasteboardMac.mm:
2139         (WebCore::Pasteboard::writeSelectionForTypes): Added call to getClientPasteboardDataForRange.
2140
2141 2013-01-31  David Kilzer  <ddkilzer@apple.com>
2142
2143         Use OS() and PLATFORM() macros in WebCorePrefix.h for readability
2144         <http://webkit.org/b/108374>
2145
2146         Reviewed by Laszlo Gombos.
2147
2148         * WebCorePrefix.h: Replaced all possible checks with OS() or
2149         PLATFORM() macros other than __APPLE__.
2150
2151 2013-01-31  Mike West  <mkwst@chromium.org>
2152
2153         Cleanup: Use ScriptExecutionContext::topOrigin when relevant.
2154         https://bugs.webkit.org/show_bug.cgi?id=108476
2155
2156         Reviewed by Jochen Eisinger.
2157
2158         Rather than diving through 'frame()->top()' or 'topDocument()' to get
2159         the SecurityOrigin of the top-level document in a frame, we can now
2160         directly grab the 'topOrigin()' off of a ScriptExecutionContext. This
2161         patch adjusts a few callsites to use the new hotness rather than the
2162         old brokenness.
2163
2164         This is a pure refactoring: No web-visible changes should result.
2165
2166         * Modules/webdatabase/DOMWindowWebDatabase.cpp:
2167         (WebCore::DOMWindowWebDatabase::openDatabase):
2168         * page/DOMWindow.cpp:
2169         (WebCore::DOMWindow::sessionStorage):
2170         (WebCore::DOMWindow::localStorage):
2171         * workers/SharedWorker.cpp:
2172         (WebCore::SharedWorker::create):
2173         * workers/WorkerMessagingProxy.cpp:
2174         (WebCore::WorkerMessagingProxy::startWorkerContext):
2175
2176 2013-01-31  peavo@outlook.com  <peavo@outlook.com>
2177
2178         [Curl] There is no way for a WebKit client to set the Curl cookie jar path
2179         https://bugs.webkit.org/show_bug.cgi?id=107692
2180
2181         Reviewed by Brent Fulgham.
2182
2183         Set default cookie jar path.
2184         Get the cookie jar path for Curl from the environment variable CURL_COOKIE_JAR_PATH.
2185
2186         * platform/network/curl/ResourceHandleManager.cpp:
2187         (WebCore::cookieJarPath): Added helper function to set cookie jar path.
2188         (WebCore::ResourceHandleManager::ResourceHandleManager): Call helper function.
2189
2190 2013-01-31  Maciej Stachowiak  <mjs@apple.com>
2191
2192         REGRESSION (r138962): Fails to show "confirm form resubmission", hangs browser
2193         https://bugs.webkit.org/show_bug.cgi?id=108214
2194
2195         Reviewed by Adam Barth.
2196         
2197         Attempt a workaround suggested by Nate Chapin by putting some code
2198         in #ifdef !PLATFORM(CHROMIUM).
2199
2200         * loader/MainResourceLoader.cpp:
2201         (WebCore::MainResourceLoader::notifyFinished):
2202
2203 2013-01-31  Ojan Vafai  <ojan@chromium.org>
2204
2205         REGRESSION(r128517): Percentage heights in quirks mode collapse when printing
2206         https://bugs.webkit.org/show_bug.cgi?id=108382
2207
2208         Reviewed by David Hyatt.
2209
2210         r128517 clean up our containing block finding logic, but broke percentage
2211         heights in quirks mode during printing since the RenderView would have 0 height.
2212         Turns out we already had a long-standing bug where we'd incorrectly
2213         treat collapse percentage heights on the body when printing as well.
2214
2215         Fix both bugs by changing the way we grab the logical height on the RenderView.
2216         RenderView::computeLogicalHeight returns 0 when printing. For the purposes of
2217         stretching and percentage heights, we instead need to return the pageLogicalHeight.
2218
2219         Tests: printing/quirks-percentage-height-body.html
2220                printing/quirks-percentage-height.html
2221                printing/standards-percentage-heights.html
2222
2223         * rendering/RenderBox.cpp:
2224         (WebCore::RenderBox::computeLogicalHeight):
2225         This FIXME is outdated and already fixed. Also, call viewLogicalHeightForPercentages
2226         which does the same logic except also correctly handles column RenderViews.
2227         (WebCore::RenderBox::viewLogicalHeightForPercentages):
2228         (WebCore::RenderBox::computePercentageLogicalHeight):
2229         * rendering/RenderBox.h:
2230
2231         * rendering/RenderBox.cpp:
2232         (WebCore::RenderBox::computeLogicalHeight):
2233         (WebCore::RenderBox::viewLogicalHeightForPercentages):
2234         (WebCore):
2235         (WebCore::RenderBox::computePercentageLogicalHeight):
2236         * rendering/RenderBox.h:
2237         (RenderBox):
2238
2239 2013-01-31  Dirk Schulze  <krit@webkit.org>
2240
2241         [canvas] Implement currentPath to get and set the current path of the context
2242         https://bugs.webkit.org/show_bug.cgi?id=108246
2243
2244         Reviewed by Dean Jackson.
2245
2246         Add currentPath attribute to CanvasRenderingContext2d interface. This allows
2247         setting the current context path by an existing Path object as well as getting
2248         the current context path as new Path object. The returned and the set Paths
2249         are not live.
2250
2251         This feature is behind the CANVAS_PATH compiler flag which is disabled by
2252         default for now.
2253
2254         Test: fast/canvas/canvas-currentPath.html
2255
2256         * html/canvas/CanvasPathMethods.cpp: Rename transformIsInvertible to
2257             isTransformInvertible for harmonizing naming schema.
2258         (WebCore::CanvasPathMethods::moveTo): Ditto.
2259         (WebCore::CanvasPathMethods::lineTo): Ditto.
2260         (WebCore::CanvasPathMethods::quadraticCurveTo): Ditto.
2261         (WebCore::CanvasPathMethods::bezierCurveTo): Ditto.
2262         (WebCore::CanvasPathMethods::arcTo): Ditto.
2263         (WebCore::CanvasPathMethods::arc): Ditto.
2264         (WebCore::CanvasPathMethods::rect): Ditto.
2265         * html/canvas/CanvasPathMethods.h: Ditto.
2266         (CanvasPathMethods):
2267         (WebCore::CanvasPathMethods::isTransformInvertible):
2268         * html/canvas/CanvasRenderingContext2D.cpp:
2269         (WebCore):
2270         (WebCore::CanvasRenderingContext2D::currentPath): Getter for currentPath.
2271         (WebCore::CanvasRenderingContext2D::setCurrentPath): Setter for currentPath.
2272         * html/canvas/CanvasRenderingContext2D.h:
2273         (WebCore):
2274         (CanvasRenderingContext2D):
2275         (WebCore::CanvasRenderingContext2D::isTransformInvertible):
2276         * html/canvas/CanvasRenderingContext2D.idl: Add currentPath attribute.
2277         * html/canvas/DOMPath.h: Add new constructor and getter for Path object.
2278         (WebCore::DOMPath::create): New static function for new ctor.
2279         (DOMPath):
2280         (WebCore::DOMPath::path): Getter for Path object.
2281         (WebCore::DOMPath::DOMPath):
2282
2283 2013-01-31  Alexandre Elias  <aelias@chromium.org>
2284
2285         Call FrameView::contentsResized() when setting fixed layout size
2286         https://bugs.webkit.org/show_bug.cgi?id=107922
2287
2288         Reviewed by James Robinson.
2289
2290         In fixed layout mode, we should be calling contentsResized() when the
2291         fixed layout size is changed, but not laying out when the visible
2292         content rect changes.
2293
2294         Previously landed as r140869 but was reverted due to a bug in bundled
2295         Chromium-specific code. This patch includes just the minimum needed in
2296         WebCore.
2297
2298         New WebFrameTest: FrameViewNeedsLayoutOnFixedLayoutResize.  Some
2299         flaky and obsolete tests for the old page scale mode are also deleted.
2300
2301         * page/FrameView.cpp:
2302         (WebCore::FrameView::visibleContentsResized):
2303         * platform/ScrollView.cpp:
2304         (WebCore::ScrollView::setFixedLayoutSize):
2305         (WebCore::ScrollView::setUseFixedLayout):
2306
2307 2013-01-31  Otto Derek Cheung  <otcheung@rim.com>
2308
2309         [BlackBerry] CookieParser should ignore invalid/unsupported attributes instead of ignoring the cookie
2310         https://bugs.webkit.org/show_bug.cgi?id=108494
2311
2312         PR 287832
2313         Reviewed by Rob Buis.
2314         Internally Reviewed by Liam Quinn.
2315
2316         A short-term fix for CookieParser to not blow up when a Set-Cookie header has an invalid
2317         or unsupported cookie attribute.
2318
2319         We will ignore the attribute only, not the entire cookie.
2320
2321         Also, making sure the parser won't replace values of valid attributes when evaluating an unsupported
2322         cookie with the same length and same first character as a supported attribute.
2323
2324         Tested using opera cookie and browser.swlab.rim.net cookies test suite. Tested using regular sites that
2325         has a login mechanism.
2326
2327         * platform/blackberry/CookieParser.cpp:
2328         (WebCore::CookieParser::parseOneCookie):
2329
2330 2013-01-31  Tommy Widenflycht  <tommyw@google.com>
2331
2332         [chromium] MediaStream API: Rename WebMediaStreamDescriptor and WebMediaStreamComponent to WebMediaStream and WebMediaStreamTrack
2333         https://bugs.webkit.org/show_bug.cgi?id=108458
2334
2335         Reviewed by Adam Barth.
2336
2337         Only renames, no other code changes.
2338
2339         * WebCore.gypi:
2340         * platform/chromium/support/WebMediaStream.cpp: Added.
2341         (WebKit::WebMediaStream::WebMediaStream):
2342         (WebKit):
2343         (WebKit::WebMediaStream::reset):
2344         (WebKit::WebMediaStream::label):
2345         (WebKit::WebMediaStream::id):
2346         (WebKit::WebMediaStream::extraData):
2347         (WebKit::WebMediaStream::setExtraData):
2348         (WebKit::WebMediaStream::audioSources):
2349         (WebKit::WebMediaStream::videoSources):
2350         (WebKit::WebMediaStream::operator=):
2351         (WebKit::WebMediaStream::operator PassRefPtr<WebCore::MediaStreamDescriptor>):
2352         (WebKit::WebMediaStream::operator WebCore::MediaStreamDescriptor*):
2353         (WebKit::WebMediaStream::initialize):
2354         (WebKit::WebMediaStream::assign):
2355         * platform/chromium/support/WebMediaStreamComponent.cpp: Removed.
2356         * platform/chromium/support/WebMediaStreamDescriptor.cpp: Removed.
2357         * platform/chromium/support/WebMediaStreamTrack.cpp: Added.
2358         (WebKit):
2359         (WebKit::WebMediaStreamTrack::WebMediaStreamTrack):
2360         (WebKit::WebMediaStreamTrack::operator=):
2361         (WebKit::WebMediaStreamTrack::initialize):
2362         (WebKit::WebMediaStreamTrack::reset):
2363         (WebKit::WebMediaStreamTrack::operator PassRefPtr<MediaStreamComponent>):
2364         (WebKit::WebMediaStreamTrack::operator MediaStreamComponent*):
2365         (WebKit::WebMediaStreamTrack::isEnabled):
2366         (WebKit::WebMediaStreamTrack::id):
2367         (WebKit::WebMediaStreamTrack::stream):
2368         (WebKit::WebMediaStreamTrack::source):
2369         (WebKit::WebMediaStreamTrack::assign):
2370         * platform/chromium/support/WebRTCStatsRequest.cpp:
2371         (WebKit::WebRTCStatsRequest::stream):
2372         (WebKit::WebRTCStatsRequest::component):
2373         * platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
2374         (WebCore::MediaStreamCenterChromium::didCreateMediaStream):
2375         (WebCore::MediaStreamCenterChromium::stopLocalMediaStream):
2376         (WebCore::MediaStreamCenterChromium::addMediaStreamTrack):
2377         (WebCore::MediaStreamCenterChromium::removeMediaStreamTrack):
2378         * platform/mediastream/chromium/MediaStreamCenterChromium.h:
2379         (WebKit):
2380         (MediaStreamCenterChromium):
2381         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
2382         (WebCore::RTCPeerConnectionHandlerChromium::didAddRemoteStream):
2383         (WebCore::RTCPeerConnectionHandlerChromium::didRemoveRemoteStream):
2384         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
2385         (WebKit):
2386         (RTCPeerConnectionHandlerChromium):
2387
2388 2013-01-31  Dmitry Zvorygin  <zvorygin@chromium.org>
2389
2390         Web Inspector: searching for <u> in elements panel finds all tags containing "u"
2391         https://bugs.webkit.org/show_bug.cgi?id=108176
2392
2393         Reviewed by Pavel Feldman.
2394
2395         When searching for tag name check that tag name must either start from
2396         search query, or must end with it.
2397
2398         * inspector/InspectorDOMAgent.cpp:
2399         (WebCore::InspectorDOMAgent::performSearch):
2400
2401 2013-01-30  Mark Lam  <mark.lam@apple.com>
2402
2403         DatabaseContext needs to outlive the ScriptExecutionContext.
2404         https://bugs.webkit.org/show_bug.cgi?id=108355.
2405
2406         Reviewed by Geoffrey Garen.
2407
2408         Added a RefPtr<DatabaseContext> in ScriptExecutionContext to keep the
2409         DatabaseContext alive until after ScriptExecutionContext destructs.
2410
2411         No new tests.
2412
2413         * Modules/webdatabase/DatabaseContext.cpp:
2414         (WebCore::DatabaseContext::DatabaseContext):
2415         * dom/ScriptExecutionContext.cpp:
2416         (WebCore::ScriptExecutionContext::setDatabaseContext):
2417         * dom/ScriptExecutionContext.h:
2418         (ScriptExecutionContext):
2419
2420 2013-01-31  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
2421
2422         On Linux, can't get spelling suggestions without selection when unified text checker is enabled
2423         https://bugs.webkit.org/show_bug.cgi?id=107684
2424
2425         Reviewed by Ryosuke Niwa.
2426
2427         No new tests, covered by context-menu-suggestions.html.
2428
2429         * editing/Editor.cpp:
2430         (WebCore::Editor::guessesForMisspelledOrUngrammatical):
2431         For Linux, extend selection range to the closest word to get
2432         the spelling suggestions when unified text checker is enabled.
2433
2434 2013-01-31  Florin Malita  <fmalita@chromium.org>
2435
2436         [Skia] Update SkiaImageFilterBuilder's brightness matrix to match Chromium's implementation
2437         https://bugs.webkit.org/show_bug.cgi?id=107841
2438
2439         Reviewed by Stephen White.
2440
2441         Update Skia's brightness filter to match the spec after http://trac.webkit.org/changeset/139770.
2442
2443         No new tests: covered by existing tests (currently disabled pending rebaseline).
2444
2445         * platform/graphics/filters/skia/SkiaImageFilterBuilder.cpp:
2446
2447 2013-01-31  Andrey Lushnikov  <lushnikov@chromium.org>
2448
2449         Web Inspector: show cursor location in DTE
2450         https://bugs.webkit.org/show_bug.cgi?id=108478
2451
2452         Reviewed by Pavel Feldman.
2453
2454         Add a new status bar element to SourceFrame to display current
2455         DefaultTextEditor cursor position.
2456
2457         No new tests.
2458
2459         * English.lproj/localizedStrings.js:
2460         * inspector/front-end/DefaultTextEditor.js:
2461         (WebInspector.DefaultTextEditor.prototype.copyRange):
2462         * inspector/front-end/SourceFrame.js:
2463         (WebInspector.SourceFrame):
2464         (WebInspector.SourceFrame.prototype.statusBarItems):
2465         (WebInspector.SourceFrame.prototype.selectionChanged):
2466         (WebInspector.SourceFrame.prototype._updateSourcePosition):
2467         * inspector/front-end/TextEditor.js:
2468         (WebInspector.TextEditor.prototype.copyRange):
2469         * inspector/front-end/inspector.css:
2470         (.source-frame-position):
2471
2472 2013-01-31  Andrey Lushnikov  <lushnikov@chromium.org>
2473
2474         Web Inspector: overlay highlight in DTE gets messed up when zoom factor changes.
2475         https://bugs.webkit.org/show_bug.cgi?id=108486
2476
2477         Reviewed by Pavel Feldman.
2478
2479         Repaint overlay highlight when zoom factor changes.
2480
2481         No new tests.
2482
2483         * inspector/front-end/DefaultTextEditor.js:
2484         (WebInspector.TextEditorMainPanel.prototype.highlightRegex):
2485         (WebInspector.TextEditorMainPanel.prototype.removeHighlight):
2486         (WebInspector.TextEditorMainPanel.prototype.highlightRange):
2487         (WebInspector.TextEditorMainPanel.prototype._repaintLineRowsAffectedByHighlightDescriptors):
2488         (WebInspector.TextEditorMainPanel.prototype.resize):
2489
2490 2013-01-31  Simon Hausmann  <simon.hausmann@digia.com>
2491
2492         [Qt] Fix minor memory leak in slot execution
2493
2494         Reviewed by Allan Sandfeld Jensen.
2495
2496         Don't leak the "length" string when executing a slot in JavaScript.
2497
2498         * bridge/qt/qt_runtime.cpp:
2499         (JSC::Bindings::QtConnectionObject::execute):
2500
2501 2013-01-31  Mike West  <mkwst@chromium.org>
2502
2503         Allow blocking of IndexedDB in third-party contexts
2504         https://bugs.webkit.org/show_bug.cgi?id=94171
2505
2506         Reviewed by Jochen Eisinger.
2507
2508         This patch ensures that the origin of the top window is passed into
2509         SecurityOrigin::canAccessDatabase when working with IndexedDB. Giving
2510         SecurityOrigin access to this data means that it can properly check
2511         whether the database is being opened in a third-party context, and
2512         therefore properly enforce the third-party access checks that were
2513         added in http://trac.webkit.org/changeset/125736.
2514
2515         Third-party checks are added to IDBFactory::open,
2516         IDBFactory::deleteDatabase, and IDBFactory::getDatabaseNames; each will
2517         now throw a SECURITY_ERR exception when access in a third-party context
2518         if third-party access checks are enabled.
2519
2520         To make this process slightly more clear, and avoid some ugly casting
2521         logic, this patch adds a 'topOrigin'  method to ScriptExecutionContext,
2522         and implements it on both WorkerContext and Document.
2523
2524         Tests: http/tests/security/cross-origin-indexeddb-allowed.html
2525                http/tests/security/cross-origin-indexeddb.html
2526                http/tests/security/cross-origin-worker-indexeddb-allowed.html
2527                http/tests/security/cross-origin-worker-indexeddb.html
2528
2529         * Modules/indexeddb/IDBFactory.cpp:
2530         (WebCore::IDBFactory::getDatabaseNames):
2531         (WebCore::IDBFactory::openInternal):
2532         (WebCore::IDBFactory::deleteDatabase):
2533             Grab the SecurityOrigin of the current context's top-level origin,
2534             and pass it to SecurityOrigin::canAccessDatabase to ensure that
2535             access checks are properly applied to these three methods.
2536         * dom/Document.cpp:
2537         (WebCore::Document::topOrigin):
2538         (WebCore):
2539         * dom/Document.h:
2540         (Document):
2541         * dom/ScriptExecutionContext.h:
2542         (ScriptExecutionContext):
2543             Add a topOrigin() method to ScriptExecutionContext, and implement it
2544             on Document in order to give callers access to the top document's
2545             SecurityOrigin without casting ScriptExecutionContext.
2546         * workers/WorkerContext.h:
2547             Change the existing topOrigin() method to override the new method
2548             on ScriptExecutionContext.
2549
2550 2013-01-31  Eugene Klyuchnikov  <eustas@chromium.org>
2551
2552         Web Inspector: [Network] Add cookie column to show presence of request/response cookies.
2553         https://bugs.webkit.org/show_bug.cgi?id=107441
2554
2555         Reviewed by Pavel Feldman.
2556
2557         In some use cases only responses that contain "set-cookie" headers
2558         are interesting.
2559
2560         * English.lproj/localizedStrings.js: Added "Set-Cookies" string.
2561         * inspector/front-end/NetworkPanel.js:
2562         (WebInspector.NetworkLogView.prototype._createTable): Added columns.
2563         (WebInspector.NetworkLogView.prototype._createSortingFunctions): Ditto.
2564         (WebInspector.NetworkDataGridNode.prototype.createCells): Ditto.
2565         (WebInspector.NetworkDataGridNode.prototype.refreshRequest): Ditto.
2566         (WebInspector.NetworkDataGridNode.prototype._refreshCookiesCell): Added.
2567         (WebInspector.NetworkDataGridNode.prototype._refreshSetCookiesCell): Added.
2568         (WebInspector.NetworkDataGridNode.RequestCookiesCountComparator): Added.
2569         (WebInspector.NetworkDataGridNode.ResponseCookiesCountComparator): Added.
2570
2571 2013-01-31  Andrey Adaikin  <aandrey@chromium.org>
2572
2573         Web Inspector: Exception in HeapSnapshotView.js
2574         https://bugs.webkit.org/show_bug.cgi?id=108456
2575
2576         Reviewed by Yury Semikhatsky.
2577
2578         Listen "profile added" events in the HeapSnapshotView targeted only to the Heap Snapshot type.
2579
2580         * inspector/front-end/HeapSnapshotView.js:
2581         (WebInspector.HeapSnapshotView.prototype._onProfileHeaderAdded):
2582
2583 2013-01-31  Andrey Lushnikov  <lushnikov@chromium.org>
2584
2585         Web Inspector: do not set any textContent in overlay highlight spans
2586         https://bugs.webkit.org/show_bug.cgi?id=108460
2587
2588         Reviewed by Pavel Feldman.
2589
2590         Do not set any text content for overlay highlight spans to implicitly
2591         set its height. Instead, measure its height in the same manner as its
2592         done for "width" and "left" and set it explicitly.
2593
2594         No new tests: no change in behaviour.
2595
2596         * inspector/front-end/DefaultTextEditor.js:
2597         (WebInspector.TextEditorMainPanel.prototype._appendOverlayHighlight):
2598         (WebInspector.TextEditorMainPanel.ElementMetrics):
2599         * inspector/front-end/textEditor.css:
2600         (.text-editor-token-highlight): Update highlight to correspond to
2601         slightly different elements height.
2602
2603 2013-01-31  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2604
2605         [Qt] Box shadows on a transparency layer is very slow
2606         https://bugs.webkit.org/show_bug.cgi?id=107547
2607
2608         Reviewed by Noam Rosenthal.
2609
2610         Include the window boundaries in the clip returned by GraphicsContext,
2611         since QPainter may remember clips larger than the destination, but
2612         ShadowBlur uses the clipBounds to determine the size of the shadow layer.
2613
2614         * platform/graphics/qt/GraphicsContextQt.cpp:
2615         (WebCore::GraphicsContext::clipBounds):
2616
2617 2013-01-31  Pavel Feldman  <pfeldman@chromium.org>
2618
2619         Web Inspector: highlight backend languages as scripts
2620         https://bugs.webkit.org/show_bug.cgi?id=108336
2621
2622         Reviewed by Vsevolod Vlasov.
2623
2624         Most languages have structure similar to js, so enabling default highlighter for them won't hurt.
2625
2626         * inspector/front-end/FileSystemWorkspaceProvider.js:
2627         (WebInspector.FileSystemWorkspaceProvider.prototype._contentTypeForPath):
2628
2629 2013-01-31  Andrey Adaikin  <aandrey@chromium.org>
2630
2631         Web Inspector: [Profiles] show launcher view upon deleting last profile type's header
2632         https://bugs.webkit.org/show_bug.cgi?id=108468
2633
2634         Reviewed by Pavel Feldman.
2635
2636         We should show launcher view and hide profile type sidebar section upon deleting last profile type's header from the sidebar.
2637         Right now we only show launcher view upon deleting the last profile header (of any profile type).
2638
2639         * inspector/front-end/ProfilesPanel.js:
2640         (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
2641
2642 2013-01-31  Eugene Klyuchnikov  <eustas@chromium.org>
2643
2644         Web Inspector: [Network] Columns are misaligned as first row goes out of sight.
2645         https://bugs.webkit.org/show_bug.cgi?id=107933
2646
2647         Reviewed by Pavel Feldman.
2648
2649         For some reason if "td" elements in first table row have "display: none"
2650         style, then column width calculation breaks.
2651
2652         * inspector/front-end/networkLogView.css:
2653         (.network-log-grid.data-grid tr.offscreen > td > div):
2654         Hide content instead of "td" element itself.
2655
2656 2013-01-31   Vineet Chaudhary  <rgf748@motorola.com>
2657
2658         formMethod to have empty string as default value and 'get' as invalid.
2659         https://bugs.webkit.org/show_bug.cgi?id=108263
2660
2661         Reviewed by Kent Tamura.
2662
2663         The spec says formmethod should only have an invalid value default, not a missing value default.
2664         Spec: http://www.whatwg.org/specs/web-apps/current-work/#form-submission-0
2665               http://www.w3.org/html/wg/drafts/html/master/forms.html#attr-fs-formmethod
2666
2667         Test: fast/forms/formmethod-attribute-test.html
2668
2669         * html/HTMLFormControlElement.cpp: For the missing formMethod attr return empty string.
2670         (WebCore::HTMLFormControlElement::formMethod):
2671
2672 2013-01-20 Kondapally Kalyan <kalyan.kondapally@intel.com>
2673
2674         [Efl][WebGL] Add better support to track and free XResources.
2675         https://bugs.webkit.org/show_bug.cgi?id=107397
2676
2677         Reviewed by Noam Rosenthal.
2678
2679         We leak Memory during config selection as we dont free temporary
2680         allocated visuals, config etc. This patch ensures that we dont leak any
2681         memory.
2682
2683         Covered by existing WebGL tests.
2684
2685         * platform/graphics/surfaces/egl/EGLSurface.cpp:
2686         (WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
2687         * platform/graphics/surfaces/glx/GLXConfigSelector.h:
2688         (WebCore::GLXConfigSelector::GLXConfigSelector):
2689         (WebCore::GLXConfigSelector::visualInfo):
2690         (WebCore::GLXConfigSelector::pBufferContextConfig):
2691         (WebCore::GLXConfigSelector::surfaceContextConfig):
2692         (WebCore::GLXConfigSelector::createSurfaceConfig):
2693         (GLXConfigSelector):
2694         Removed XVisualInfo as member variable. Fixed memory leaks.
2695
2696         * platform/graphics/surfaces/glx/GLXSurface.cpp:
2697         (WebCore::GLXTransportSurface::GLXTransportSurface):
2698         * platform/graphics/surfaces/glx/OwnPtrX11.h: Added.
2699         (OwnPtrX11):
2700         (WebCore::OwnPtrX11::OwnPtrX11):
2701         (WebCore::OwnPtrX11::~OwnPtrX11):
2702         (WebCore::OwnPtrX11::operator=):
2703         (WebCore::OwnPtrX11::operator T*):
2704         (WebCore::OwnPtrX11::operator->):
2705         (WebCore::OwnPtrX11::get):
2706         Calls XFree on pointer to memory allocated by X when the class goes out of scope.
2707         OwnPtr cannot be used here as GLXFBConfig is a pointer to an array of pointers.
2708
2709         * platform/graphics/surfaces/glx/X11WindowResources.cpp:
2710         (WebCore::X11OffScreenWindow::X11OffScreenWindow):
2711         (WebCore::X11OffScreenWindow::~X11OffScreenWindow):
2712         (WebCore):
2713         (WebCore::X11OffScreenWindow::createOffScreenWindow):
2714         (WebCore::X11OffScreenWindow::destroyWindow):
2715         (WebCore::X11OffScreenWindow::nativeSharedDisplay):
2716         * platform/graphics/surfaces/glx/X11WindowResources.h:
2717         (X11OffScreenWindow):
2718         Removed unused code. Fixed memory leaks.
2719
2720 2013-01-31  Andrey Adaikin  <aandrey@chromium.org>
2721
2722         Web Inspector: [Canvas] remove invalid canvas profile trace logs upon frame navigation
2723         https://bugs.webkit.org/show_bug.cgi?id=108454
2724
2725         Reviewed by Pavel Feldman.
2726
2727         When canvas profile trace logs stored in the backend get destroyed (for example, on frame navigation), send an event to frontend and update the UI.
2728         Drive-by: replace String types to corresponding TypeBuilder::Canvas::* typedefs.
2729
2730         * inspector/InjectedScriptCanvasModule.cpp:
2731         (WebCore::InjectedScriptCanvasModule::captureFrame):
2732         (WebCore::InjectedScriptCanvasModule::startCapturing):
2733         (WebCore::InjectedScriptCanvasModule::callStartCapturingFunction):
2734         (WebCore::InjectedScriptCanvasModule::stopCapturing):
2735         (WebCore::InjectedScriptCanvasModule::dropTraceLog):
2736         (WebCore::InjectedScriptCanvasModule::callVoidFunctionWithTraceLogIdArgument):
2737         (WebCore::InjectedScriptCanvasModule::traceLog):
2738         (WebCore::InjectedScriptCanvasModule::replayTraceLog):
2739         (WebCore::InjectedScriptCanvasModule::resourceInfo):
2740         (WebCore::InjectedScriptCanvasModule::resourceState):
2741         * inspector/InjectedScriptCanvasModule.h:
2742         (InjectedScriptCanvasModule):
2743         * inspector/Inspector.json:
2744         * inspector/InspectorCanvasAgent.cpp:
2745         (WebCore::InspectorCanvasAgent::dropTraceLog):
2746         (WebCore::InspectorCanvasAgent::stopCapturing):
2747         (WebCore::InspectorCanvasAgent::getTraceLog):
2748         (WebCore::InspectorCanvasAgent::replayTraceLog):
2749         (WebCore::InspectorCanvasAgent::getResourceInfo):
2750         (WebCore::InspectorCanvasAgent::getResourceState):
2751         (WebCore::InspectorCanvasAgent::frameNavigated):
2752         * inspector/InspectorCanvasAgent.h:
2753         (InspectorCanvasAgent):
2754         * inspector/InspectorPageAgent.cpp:
2755         (WebCore::InspectorPageAgent::hasIdForFrame):
2756         (WebCore):
2757         * inspector/InspectorPageAgent.h:
2758         (InspectorPageAgent):
2759         * inspector/front-end/CanvasProfileView.js:
2760         (WebInspector.CanvasProfileType.prototype._runSingleFrameCapturing):
2761         (WebInspector.CanvasProfileType.prototype._startFrameCapturing):
2762         (WebInspector.CanvasProfileType.prototype._didStartCapturingFrame):
2763         (WebInspector.CanvasProfileType.prototype._traceLogsRemoved):
2764         (WebInspector.CanvasDispatcher.prototype.contextCreated):
2765         (WebInspector.CanvasDispatcher.prototype.traceLogsRemoved):
2766         (WebInspector.CanvasProfileHeader):
2767         (WebInspector.CanvasProfileHeader.prototype.frameId):
2768
2769 2013-01-31  Andrey Lushnikov  <lushnikov@chromium.org>
2770
2771         Web Inspector: DTE doesn't highlight words if the selected one is the last in the line
2772         https://bugs.webkit.org/show_bug.cgi?id=108344
2773
2774         Reviewed by Pavel Feldman.
2775
2776         Fix error in _isWord function which made an erroneous line-end check.
2777
2778         Improved test: inspector/editor/text-editor-highlight-token.html
2779
2780         * inspector/front-end/DefaultTextEditor.js:
2781         (WebInspector.TextEditorMainPanel.TokenHighlighter.prototype._isWord):
2782
2783 2013-01-31  Philippe Normand  <pnormand@igalia.com>
2784
2785         Unreviewed, Qt build fix after r141265.
2786
2787         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2788         Avoid uninitialized variable error when NATIVE_FULLSCREEN_VIDEO is disabled.
2789
2790 2013-01-31  Kent Tamura  <tkent@chromium.org>
2791
2792         Click on a label element won't select input[type=date]
2793         https://bugs.webkit.org/show_bug.cgi?id=108428
2794
2795         Reviewed by Kentaro Hara.
2796
2797         date/time input types with INPUT_MULTIPLE_FIELDS_UI are not
2798         mouse-focusable. <input> as a shadow host never gets focus and
2799         sub-fields in its shadow tree are focusable. Howevever, the click
2800         handling of <label> checked isMouseFocusable. We introduce new function
2801         isFocusableByClickOnLabel to HTMLElement. It's default implementation is
2802         same as isMouseFocusable, and we add special handling for
2803         BaseMultipleFieldsDateAndTimeInputType::isFocusableByClickOnLabel.
2804
2805         Also, date/time input types without INPUT_MULTIPLE_FIELDS_UI were not
2806         mouse-focusable by a mistake. It should be mouse-focusable.
2807
2808         Test: fast/forms/date/date-click-on-label.html
2809
2810         * html/HTMLElement.cpp:
2811         (WebCore::HTMLElement::isFocusableByClickOnLabel):
2812         Added. Just calls isMouseFocusable.
2813         * html/HTMLElement.h:
2814         (HTMLElement): Declare isFocusableByClickOnLabel.
2815         * html/HTMLLabelElement.cpp:
2816         (WebCore::HTMLLabelElement::defaultEventHandler):
2817         Calls isFocusableByClickOnLabel instead of isMouseFocusable.
2818
2819         * html/HTMLInputElement.cpp:
2820         (WebCore::HTMLInputElement::isFocusableByClickOnLabel):
2821         Delegate to InputType::isFocusableByClickOnLabel.
2822         * html/HTMLInputElement.h:
2823         (HTMLInputElement): Declare isFocusableByClickOnLabel.
2824         * html/InputType.cpp:
2825         (WebCore::InputType::isFocusableByClickOnLabel):
2826         Added. Calls isMouseFocusable.
2827         * html/InputType.h:
2828         (InputType): Declare isFocusableByClickOnLabel.
2829
2830         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
2831         (WebCore::BaseMultipleFieldsDateAndTimeInputType::isFocusableByClickOnLabel):
2832         Added. Use the same logic with textfields.
2833         * html/BaseMultipleFieldsDateAndTimeInputType.h:
2834         (BaseMultipleFieldsDateAndTimeInputType): Declare isFocusableByClickOnLabel.
2835         * html/BaseChooserOnlyDateAndTimeInputType.cpp:
2836         (WebCore::BaseChooserOnlyDateAndTimeInputType::isMouseFocusable):
2837         Added. Use the same logic with textfields.
2838         * html/BaseChooserOnlyDateAndTimeInputType.h:
2839         (BaseChooserOnlyDateAndTimeInputType): Declare isMouseFocusable.
2840
2841 2013-01-31  Kentaro Hara  <haraken@chromium.org>
2842
2843         Rename WheelEvent::Granularity to WheelEvent::DeltaMode
2844         https://bugs.webkit.org/show_bug.cgi?id=108434
2845
2846         Reviewed by Ryosuke Niwa.
2847
2848         Per the spec, WheelEvent::Granularity should be renamed to WheelEvent::DeltaMode.
2849
2850         Spec: http://www.w3.org/TR/DOM-Level-3-Events/#events-WheelEvent
2851         https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm#constructor-wheelevent
2852
2853         No tests. No change in behavior.
2854
2855         * dom/WheelEvent.cpp:
2856         (WebCore::WheelEvent::WheelEvent):
2857         (WebCore::WheelEvent::initWheelEvent):
2858         (WebCore::deltaMode):
2859         (WebCore::WheelEventDispatchMediator::WheelEventDispatchMediator):
2860         * dom/WheelEvent.h:
2861         (WebCore::WheelEvent::create):
2862         (WebCore::WheelEvent::deltaMode):
2863         (WheelEvent):
2864         * page/EventHandler.cpp:
2865         (WebCore::wheelGranularityToScrollGranularity):
2866         (WebCore::EventHandler::defaultWheelEventHandler):
2867
2868 2013-01-30  Yury Semikhatsky  <yurys@chromium.org>
2869
2870         Web Inspector: test that nodes from the same detached DOM tree will get into one group in heap snapshot
2871         https://bugs.webkit.org/show_bug.cgi?id=108202
2872
2873         Reviewed by Vsevolod Vlasov.
2874
2875         Test: inspector-protocol/heap-profiler/heap-snapshot-with-detached-dom-tree.html
2876
2877         * inspector/front-end/JSHeapSnapshot.js:
2878         (WebInspector.JSHeapSnapshotNode.prototype.className): removed unnecessary i18n.
2879
2880 2013-01-31  Kentaro Hara  <haraken@chromium.org>
2881
2882         [V8] Trace not only major DOM GCs but also minor DOM GCs
2883         https://bugs.webkit.org/show_bug.cgi?id=108436
2884
2885         Reviewed by Adam Barth.
2886
2887         Currently only major DOM GCs are traced.
2888         We should also trace minor DOM GCs.
2889
2890         No tests. No change in behavior.
2891
2892         * bindings/v8/V8GCController.cpp:
2893         (WebCore::V8GCController::minorGCPrologue):
2894         (WebCore::V8GCController::minorGCEpilogue):
2895
2896 2013-01-31  Yury Semikhatsky  <yurys@chromium.org>
2897
2898         Layout Test inspector-protocol/take-heap-snapshot.html crashes in the Debug mode
2899         https://bugs.webkit.org/show_bug.cgi?id=104800
2900
2901         Reviewed by Jochen Eisinger.
2902
2903         The test crashed because during snapshot generation Profiler.reportHeapSnapshotProgress
2904         events were sent to the inspector front-end, then parsed and dispatched there.
2905         Since in case of layout tests the front-end resides in the same process
2906         as the inspected page parsing the event broke an assumption that there are
2907         no JS heap allocations while heap snapshot is being taken.
2908
2909         I added optional boolean parameter 'reportProgress' to Profiler.takeHeapSnapshot
2910         command so that the protocol client can control whether progress events should
2911         be sent during snapshot generation. The protocol test is not interested in the
2912         progress events and sets reportProgress to false.
2913
2914         Test: inspector-protocol/heap-profiler/take-heap-snapshot.html
2915
2916         * inspector/Inspector.json:
2917         * inspector/InspectorProfilerAgent.cpp:
2918         (WebCore::InspectorProfilerAgent::takeHeapSnapshot):
2919         * inspector/InspectorProfilerAgent.h:
2920         (InspectorProfilerAgent):
2921         * inspector/front-end/ProfilesPanel.js:
2922         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
2923
2924 2013-01-31  Sheriff Bot  <webkit.review.bot@gmail.com>
2925
2926         Unreviewed, rolling out r141110.
2927         http://trac.webkit.org/changeset/141110
2928         https://bugs.webkit.org/show_bug.cgi?id=108349
2929
2930         This patch broke WK2-EFL unit tests (Requested by grzegorz on
2931         #webkit).
2932
2933         * platform/text/TextChecking.h:
2934         (WebCore):
2935
2936 2013-01-31  Kentaro Hara  <haraken@chromium.org>
2937
2938         [V8] 'new MouseEvent("click", {relatedTarget: window}).window' should return window
2939         https://bugs.webkit.org/show_bug.cgi?id=108432
2940
2941         Reviewed by Adam Barth.
2942
2943         In V8 'new MouseEvent("click", {relatedTarget: window}).window'
2944         returns null. JSC returns window, which is a correct behavior.
2945         V8 should also return window.
2946
2947         The point is that we need to handle a DOMWindow wrapper specially
2948         before converting it to an EventTarget object. A wrapper returned by
2949         Dictionary::get("relatedTarget") is not an expected DOMWindow wrapper.
2950         To get the expected DOMWindow wrapper, we need to look up a prototype
2951         chain of the DOMWindow wrapper.
2952
2953         In JSC, this special handling is done by JSEventTargetCustom::toEventTarget().
2954
2955         Test: fast/events/constructors/mouse-event-constructor.html
2956
2957         * bindings/v8/Dictionary.cpp:
2958         (WebCore::Dictionary::get):
2959
2960 2013-01-31  Mark Pilgrim  <pilgrim@chromium.org>
2961
2962         [Chromium] Move MediaPlayerPrivateChromium to WebCore
2963         https://bugs.webkit.org/show_bug.cgi?id=108415
2964
2965         Reviewed by Adam Barth.
2966
2967         Part of a larger refactoring series; see tracking bug 106829.
2968
2969         * WebCore.gypi:
2970         * platform/graphics/chromium/MediaPlayerPrivateChromium.cpp: Added.
2971         (WebCore):
2972         (WebCore::MediaPlayerPrivate::registerMediaEngine): call
2973         registerMediaEngine through static function pointer that was set
2974         during WebKit initializeWithoutV8
2975         (WebCore::MediaPlayerPrivate::setMediaEngineRegisterSelfFunction):
2976         new setter function that takes a function pointer that is used by registerMediaEngine
2977         * platform/graphics/chromium/MediaPlayerPrivateChromium.h:
2978         (WebCore):
2979         (MediaPlayerPrivate):
2980
2981 2013-01-30  Patrick Gansterer  <paroga@webkit.org>
2982
2983         Port DragImageWin.cpp to WinCE
2984         https://bugs.webkit.org/show_bug.cgi?id=108329
2985
2986         Reviewed by Brent Fulgham.
2987
2988         Add #if !OS(WINCE) around a few lines of the code, so it can be used by the WinCE port too.
2989
2990         * PlatformWinCE.cmake:
2991         * platform/win/DragImageWin.cpp:
2992         (WebCore::dragLabelFont):
2993         * platform/wince/DragImageWinCE.cpp: Removed.
2994
2995 2013-01-30  Hayato Ito  <hayato@chromium.org>
2996
2997         Split CSSOMWrapper data and functions out from StyleResolver into its own class.
2998         https://bugs.webkit.org/show_bug.cgi?id=107779
2999
3000         Reviewed by Dimitri Glazkov.
3001
3002         Factored CSSOMWrapper logic and data out from StyleResolver into a
3003         InspectorCSSOMWrappers class.  Since InspectorCSSOMWrappers
3004         depends on static variables defined in StyleResolver.cpp, this
3005         patch does not extract a new class into a new file, which makes a
3006         review easier since it produces readable diffs.
3007
3008         After we factor static variables related to default style sheets
3009         in a following patch (bug 107780), I'll move
3010         InspectorCSSOMWrappers into a its own file.
3011
3012         No new tests, refactoring only.
3013
3014         * css/StyleResolver.cpp:
3015         (WebCore):
3016         (WebCore::StyleResolver::appendAuthorStyleSheets):
3017         (WebCore::InspectorCSSOMWrappers::collectFromStyleSheetIfNeeded):
3018         (WebCore::InspectorCSSOMWrappers::collect):
3019         (WebCore::InspectorCSSOMWrappers::collectFromStyleSheetContents): Name it explicitly rather than overloading.
3020         (WebCore::InspectorCSSOMWrappers::collectFromStyleSheets): Name it explicitly rather than overloading.
3021         (WebCore::InspectorCSSOMWrappers::collectFromDocumentStyleSheetCollection): Name it explicitly rather than overloading.
3022         (WebCore::InspectorCSSOMWrappers::getWrapperForRuleInSheets): Renamed from ensureFullCSSOMWrapperForInspector().
3023         (WebCore::InspectorCSSOMWrappers::reportMemoryUsage):
3024         (WebCore::StyleResolver::reportMemoryUsage):
3025         * css/StyleResolver.h:
3026         (InspectorCSSOMWrappers):
3027         (WebCore):
3028         (StyleResolver):
3029         (WebCore::StyleResolver::inspectorCSSOMWrappers):
3030         * inspector/InspectorCSSAgent.cpp:
3031         (WebCore::InspectorCSSAgent::willMatchRule):
3032         (WebCore::InspectorCSSAgent::willProcessRule):
3033         (WebCore::InspectorCSSAgent::buildObjectForRule):
3034
3035 2013-01-30  Sheriff Bot  <webkit.review.bot@gmail.com>
3036
3037         Unreviewed, rolling out r141358.
3038         http://trac.webkit.org/changeset/141358
3039         https://bugs.webkit.org/show_bug.cgi?id=108421
3040
3041         breaks android builder (Requested by morrita on #webkit).
3042
3043         * bindings/v8/custom/V8IntentCustom.cpp:
3044
3045 2013-01-30  Kentaro Hara  <haraken@chromium.org>
3046
3047         [V8] Use state->isolate() when state is not 0
3048         https://bugs.webkit.org/show_bug.cgi?id=107674
3049
3050         Reviewed by Adam Barth.
3051
3052         No tests. No change in behavior.
3053
3054         * bindings/v8/ScriptProfiler.cpp:
3055         (WebCore::ScriptProfiler::start):
3056         (WebCore::ScriptProfiler::stop):
3057
3058 2013-01-30  Adam Barth  <abarth@webkit.org>
3059
3060         The background HTML parser should be able to parse speculatively
3061         https://bugs.webkit.org/show_bug.cgi?id=107753
3062
3063         Reviewed by Eric Seidel.
3064
3065         This patch adds the ability for the foreground HTML parser to
3066         invalidate speculative parsing done by the background HTML parser.
3067         Currently, we're a bit overly agressive an invalidate all speculations
3068         on document.write. We plan to refine that in the future.
3069
3070         Test: fast/parser/document-write-partial-script.html
3071
3072         * WebCore.gypi:
3073         * html/parser/BackgroundHTMLInputStream.cpp: Added.
3074         (WebCore):
3075         (WebCore::BackgroundHTMLInputStream::BackgroundHTMLInputStream):
3076         (WebCore::BackgroundHTMLInputStream::append):
3077         (WebCore::BackgroundHTMLInputStream::close):
3078         (WebCore::BackgroundHTMLInputStream::createCheckpoint):
3079         (WebCore::BackgroundHTMLInputStream::rewindTo):
3080         * html/parser/BackgroundHTMLInputStream.h: Added.
3081         (WebCore):
3082         (BackgroundHTMLInputStream):
3083         (WebCore::BackgroundHTMLInputStream::current):
3084         (WebCore::BackgroundHTMLInputStream::Checkpoint::Checkpoint):
3085         (Checkpoint):
3086         * html/parser/BackgroundHTMLParser.cpp:
3087         (WebCore::BackgroundHTMLParser::append):
3088         (WebCore):
3089         (WebCore::BackgroundHTMLParser::resumeFrom):
3090         (WebCore::BackgroundHTMLParser::markEndOfFile):
3091         (WebCore::BackgroundHTMLParser::pumpTokenizer):
3092         (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
3093         (WebCore::BackgroundHTMLParser::resumeFromPartial):
3094         * html/parser/BackgroundHTMLParser.h:
3095         (BackgroundHTMLParser):
3096         * html/parser/HTMLDocumentParser.cpp:
3097         (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
3098         (WebCore::HTMLDocumentParser::didFailSpeculation):
3099         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
3100         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
3101         * html/parser/HTMLDocumentParser.h:
3102         (ParsedChunk):
3103         (HTMLDocumentParser):
3104
3105 2013-01-30  Nils Barth  <nbarth@google.com>
3106
3107         [V8] Add IDL 'enum' support to CodeGeneratorV8.pm
3108         https://bugs.webkit.org/show_bug.cgi?id=106553
3109
3110         Reviewed by Kentaro Hara.
3111
3112         Add partial support for Web IDL enumerations in V8 bindings
3113
3114         Binding generators currently cannot handle IDL enumerations.
3115         (An enumeration is an DOMString with a limited set of values, thus
3116         treated internally as DOMString, with validation code added in
3117         bindings.)
3118         This adds support for enumerations in V8, adding validation checking
3119         to setters.
3120         It does not add validation checking to operations (no test case), and
3121         does not add support in JSC.
3122
3123         Test: bindings/scripts/test/TestObj.idl (run-bindings-test)
3124
3125         * bindings/scripts/IDLParser.pm:
3126          - Parser assumes all IDL definitions are interfaces; add support for
3127            other definitions
3128          - Parser parses but discards enum definitions; instead, record
3129            parsed data
3130         (Parse): Sort definitions into interfaces and enums.
3131         Remove "@definitions eq (someIdlDocument)" test, as this never
3132         happens (fossil code) -- parseDefinitions returns list of definitions,
3133         never a one-item list consisting of a document (no nested documents).
3134         (unquoteString): new utility function to unquote StringToken (token
3135         itself still quoted)
3136         (parseEnum):
3137         (parseEnumValueList):
3138         (parseEnumValues):
3139         (parseEnumOld):
3140
3141         * bindings/scripts/CodeGenerator.pm:
3142          - Expose parsed enum data to backends (detect enums, list valid
3143            values)
3144          - Enums treated as DOMString type in internal function
3145         (ProcessDocument):
3146         (IsEnumType):
3147         (ValidEnumValues):
3148         (IsRefPtrType):
3149         * bindings/scripts/CodeGeneratorV8.pm:
3150          - Enums treated as DOMString type in internal functions
3151          - Add validation to setter
3152         (GenerateNormalAttrSetter):
3153         (GetNativeType):
3154         (JSValueToNative):
3155         (NativeToJSValue):
3156         (ConvertToV8StringResource):
3157         * bindings/scripts/test/TestObj.idl:
3158          - New enum type and enum variable test for IDL enumeration support
3159         * bindings/scripts/test/V8/V8TestObj.cpp:
3160          - Generated code, desired behavior
3161         (WebCore::TestObjV8Internal::enumAttrAttrGetter):
3162         (TestObjV8Internal):
3163         (WebCore::TestObjV8Internal::enumAttrAttrSetter):
3164         (WebCore):
3165         * bindings/scripts/test/JS/JSTestObj.cpp:
3166          - Generated code, currently incorrect
3167         (WebCore):
3168         (WebCore::jsTestObjEnumAttr):
3169         (WebCore::setJSTestObjEnumAttr):
3170         * bindings/scripts/test/JS/JSTestObj.h:
3171          - Generated code, currently incorrect
3172         (WebCore):
3173
3174 2013-01-30  Nico Weber  <thakis@chromium.org>
3175
3176         [chromium] Build webkit with enable_web_intents set to 0.
3177         https://bugs.webkit.org/show_bug.cgi?id=108408
3178
3179         Reviewed by Kentaro Hara.
3180
3181         I'll then make chromium build fine with that, then switch
3182         enable_web_intents to 0, roll that into webkit, and then
3183         actually remove the code hidden behind this flag.
3184
3185         * bindings/v8/custom/V8IntentCustom.cpp:
3186
3187 2013-01-30  Joshua Bell  <jsbell@chromium.org>
3188
3189         IndexedDB: Remove speculative dispatchEvent crash fix now that root cause is addressed
3190         https://bugs.webkit.org/show_bug.cgi?id=108131
3191
3192         Reviewed by Tony Chang.
3193
3194         A patch was landed in r140027 to prevent a null pointer crash in
3195         IDBRequest::dispatchEvent and confirm the source of the crash (which
3196         we couldn't repro locally). Following confirmation from user reports,
3197         the root cause was tracked down to a race condition in MessageQueue,
3198         and was fixed in r140483. This patch is no longer needed, and there's
3199         always been an ASSERT in place to catch regressions while debugging.
3200
3201         No new tests - no behavior change.
3202
3203         * Modules/indexeddb/IDBRequest.cpp:
3204         (WebCore::IDBRequest::dispatchEvent): Remove extraneous test.
3205
3206 2013-01-30  Joe Mason  <jmason@rim.com>
3207
3208         [BlackBerry] Store both proxy and host credentials simultaneously for NetworkJob
3209         https://bugs.webkit.org/show_bug.cgi?id=108388
3210
3211         Reviewed by Yong Li.
3212
3213         The platform NetworkRequest interface has been updated again, to store both a proxy and host
3214         credential for each request (to prevent an infinite loop when a request authenticates against a
3215         proxy but fails the host authentication, and then the followup contains the host credential but not
3216         the proxy credential so it fails proxy authentication, so the next followup contains the proxy
3217         credential but not the host credential...)
3218
3219         Complying with the new interface requires the host and proxy challenge to be stored separately in
3220         webkit so they can both be added to the same NetworkRequest.
3221
3222         Internal PR: 281172
3223         Internal Reviewer: Leo Yang
3224
3225         * platform/network/ResourceHandleInternal.h:
3226         (ResourceHandleInternal):
3227         * platform/network/blackberry/AuthenticationChallenge.h:
3228         (WebCore::AuthenticationChallenge::hasCredentials):
3229         (AuthenticationChallenge):
3230         * platform/network/blackberry/NetworkJob.cpp:
3231         (WebCore::NetworkJob::notifyAuthReceived):
3232         (WebCore::NetworkJob::handleRedirect):
3233         (WebCore::NetworkJob::sendRequestWithCredentials):
3234         (WebCore::NetworkJob::storeCredentials):
3235         (WebCore):
3236         (WebCore::NetworkJob::purgeCredentials):
3237         (WebCore::NetworkJob::notifyChallengeResult):
3238         (WebCore::NetworkJob::updateCurrentWebChallenge):
3239         * platform/network/blackberry/NetworkJob.h:
3240         (NetworkJob):
3241         * platform/network/blackberry/NetworkManager.cpp:
3242         (WebCore::setAuthCredentials):
3243         (WebCore):
3244         (WebCore::NetworkManager::startJob):
3245
3246 2013-01-30  Oliver Hunt  <oliver@apple.com>
3247
3248         Make JSEventListener more robust in the event of the compiled handler being released.
3249         https://bugs.webkit.org/show_bug.cgi?id=108390
3250
3251         Reviewed by Michael Saboff.
3252
3253         It shouldn't be possible for a handler to be collected for any object that
3254         might still trigger an event.  Nonetheless it does still happen, and the
3255         only point of failure that currently exists is compiling the handler.
3256
3257         This patch is mostly just assertions, but also removes a bunch of field
3258         clearing that was previously being performed.  Given we do seem to periodically
3259         end up needing to recompile a handler this appears to be necessary.  That
3260         said there does not appear to be a memory hit from this as the event handlers
3261         that make us use JSLazyEventListener are not frequently compiled, and the bulk
3262         of the functions that are compiled end up causing us to keep the strings around
3263         anyway.
3264
3265         * bindings/js/JSLazyEventListener.cpp:
3266         (WebCore::JSLazyEventListener::JSLazyEventListener):
3267         (WebCore::JSLazyEventListener::initializeJSFunction):
3268
3269 2013-01-30  Kentaro Hara  <haraken@chromium.org>
3270
3271         Implement KeyboardEvent constructor
3272         https://bugs.webkit.org/show_bug.cgi?id=108320
3273
3274         Reviewed by Adam Barth.
3275
3276         This patch implements KeyboardEvent constructor under a DOM4_EVENTS_CONSTRUCTOR flag,
3277         which is enabled on Chromium and Safari.
3278
3279         This significantly simplifies a code to construct a KeyboardEvent.
3280
3281         Before:
3282           e = document.createEvent("KeyboardEvent");
3283           e.initKeyboardEvent("keypress", true, true, null, false, false, false, false, 0, 0);
3284
3285         After:
3286           e = new KeyboardEvent("keypress");
3287
3288         Editor's draft: https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm
3289
3290         - 'char' and 'code' are not yet supported due to lack of WebCore implementation.
3291
3292         - 'altGraphKey' is not supported because it's an extended attribute in WebKit
3293         and is not speced.
3294
3295         - Renamed keyboard event constant variables to avoid style errors.
3296
3297         Test: fast/events/constructors/keyboard-event-constructor.html
3298
3299         * dom/KeyboardEvent.cpp:
3300         (WebCore::keyLocationCode):
3301         (WebCore::KeyboardEventInit::KeyboardEventInit):
3302         (WebCore):
3303         (WebCore::KeyboardEvent::KeyboardEvent):
3304         * dom/KeyboardEvent.h:
3305         (WebCore):
3306         (WebCore::KeypressCommand::KeypressCommand):
3307         (KeypressCommand):
3308         (KeyboardEventInit):
3309         (KeyboardEvent):
3310         (WebCore::KeyboardEvent::create):
3311         (WebCore::KeyboardEvent::keyIdentifier):
3312         (WebCore::KeyboardEvent::keyLocation):
3313         (WebCore::KeyboardEvent::altGraphKey):
3314         (WebCore::KeyboardEvent::keyEvent):
3315         (WebCore::KeyboardEvent::keypressCommands):
3316         * dom/KeyboardEvent.idl:
3317
3318 2013-01-30  Joshua Bell  <jsbell@chromium.org>
3319
3320         IndexedDB: IDBKeyRange::isOnlyKey() does pointer equality comparison
3321         https://bugs.webkit.org/show_bug.cgi?id=107582
3322
3323         Reviewed by Tony Chang.
3324
3325         Per the bug title, IDBKeyRange::isOnlyKey() was testing the upper/lower pointers to
3326         determine if this was a "trivial" range, which can be used to fast-path lookups. This
3327         is insufficient in multi-process ports where range values may be thrown across the wire.
3328         This is addressed by using the existing key equality tests.
3329
3330         In addition, the bounds type check incorrectly checked m_lowerType == LowerBoundOpen, which
3331         meant the function could never return true (since upper == lower implies closed bounds).
3332         Therefore, the fast-path case wasn't used even in single-process ports (e.g. DRT). The
3333         slow-path case contructed a backing store cursor over the range, and exited early if the
3334         cursor yielded nothing. The fast-path case doesn't need to create a cursor, so needs to
3335         deal with lookup misses. This revealed two similar (but trivial) lurking bugs in the
3336         fast-path.
3337
3338         No new behavior; covered by tests such as: storage/indexeddb/get-keyrange.html
3339
3340         * Modules/indexeddb/IDBBackingStore.cpp:
3341         (WebCore::IDBBackingStore::getRecord): Handle backing store read miss case.
3342         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
3343         (WebCore::GetOperation::perform): Handle backing store read miss case.
3344         * Modules/indexeddb/IDBKeyRange.cpp:
3345         (WebCore::IDBKeyRange::isOnlyKey): Compare keys by value, not pointer, correct
3346         type checks, add assertions.
3347         * Modules/indexeddb/IDBKeyRange.h:
3348         (IDBKeyRange): Move implementation to CPP file.
3349
3350 2013-01-30  Joe Mason  <jmason@rim.com>
3351
3352         [BlackBerry] Never store empty credentials in NetworkJob::storeCredentials
3353         https://bugs.webkit.org/show_bug.cgi?id=108387
3354
3355         Reviewed by Yong Li.
3356
3357         There is a code path that can cause NetworkJob::storeCredentials to be called with empty
3358         credentials, causing the existing credentials to be overwritten even though authentication
3359         succeeded.  PR 287791 has been filed to investigate why this happens; in the meantime, ignore empty
3360         credentials.
3361
3362         Internal PR: 281172
3363         Internally Reviewed By: Leo Yang
3364
3365         * platform/network/blackberry/NetworkJob.cpp:
3366         (WebCore::NetworkJob::storeCredentials):
3367
3368 2013-01-30  Andy Estes  <aestes@apple.com>
3369
3370         ContentFilter should be a ref-counted class
3371         https://bugs.webkit.org/show_bug.cgi?id=108392
3372
3373         Reviewed by David Kilzer.
3374
3375         * loader/MainResourceLoader.h:
3376         (MainResourceLoader): Store a RefPtr to m_contentFilter.
3377         * platform/ContentFilter.h: Inherit from RefCounted<ContentFilter>.
3378         * platform/mac/ContentFilterMac.mm:
3379         (WebCore::ContentFilter::create): Return a PassRefPtr.
3380
3381 2013-01-30  Tim Horton  <timothy_horton@apple.com>
3382
3383         [mac] ImageBuffer should create accelerated buffers for small canvases, but we shouldn't force them to create compositing layers
3384         https://bugs.webkit.org/show_bug.cgi?id=107804
3385         <rdar://problem/11752381>
3386
3387         Reviewed by Simon Fraser.
3388
3389         Make all canvases IOSurface-backed if requested, instead of having a size threshold
3390         under which we won't use accelerated canvas.
3391
3392         Make requiresCompositingForCanvas take the size of the canvas into account, using
3393         the threshold which was previously in ImageBuffer to determine whether or not a
3394         canvas should be forced into a compositing layer.
3395
3396         This improves canvas performance on some benchmarks
3397         (http://www.mikechambers.com/html5/javascript/QuadTree/examples/collision.html, for example)
3398         significantly, in cases where canvases which fall below the size limit
3399         (and thus are unaccelerated) are being drawn rapidly into either accelerated
3400         tiles or another accelerated canvas, by preventing excessive copying to/from the GPU.
3401
3402         * platform/graphics/cg/ImageBufferCG.cpp:
3403         (WebCore):
3404         (WebCore::ImageBuffer::ImageBuffer):
3405         * rendering/RenderLayerCompositor.cpp:
3406         (WebCore::RenderLayerCompositor::requiresCompositingForCanvas):
3407
3408 2013-01-30  Alec Flett  <alecflett@chromium.org>
3409
3410         IndexedDB: clean up scheduleTask return type
3411         https://bugs.webkit.org/show_bug.cgi?id=108361
3412
3413         Reviewed by Tony Chang.
3414
3415         This is just a code simplification now that the
3416         synchronous consumers of scheduleTask are gone.
3417
3418         No new tests: pure refactor.
3419
3420         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
3421         (WebCore::IDBDatabaseBackendImpl::setIndexesReady):
3422         (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
3423         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
3424         (WebCore::IDBTransactionBackendImpl::scheduleTask):
3425         * Modules/indexeddb/IDBTransactionBackendImpl.h:
3426         (WebCore::IDBTransactionBackendImpl::scheduleTask):
3427         (IDBTransactionBackendImpl):
3428
3429 2013-01-30  Simon Fraser  <simon.fraser@apple.com>
3430
3431         Elements that dynamically become fixed sometimes jump to the top left on scrolling
3432         https://bugs.webkit.org/show_bug.cgi?id=108389
3433
3434         Reviewed by Beth Dakin.
3435
3436         When an element became position:fixed and gained a compositing layer
3437         as a result, we would compute its viewport constraints (including the 
3438         last GraphicsLayer position) before we had actually updated the GraphicsLayer
3439         geometry for the first time. This would cause a jump to 0,0 on scrolling.
3440         
3441         Fix by removing the call to updateViewportConstraintStatus() just after
3442         creating the backing. Instead, hook in to registerScrollingLayers(),
3443         which is called on every geometry update, to update the viewport
3444         constraints for this layer.
3445         
3446         Tested via existing tests, which now show correct positions at last
3447         layout.
3448
3449         * rendering/RenderLayerBacking.cpp:
3450         (WebCore::RenderLayerBacking::registerScrollingLayers):
3451         * rendering/RenderLayerCompositor.cpp:
3452         (WebCore::RenderLayerCompositor::updateBacking):
3453
3454 2013-01-30  Adam Barth  <abarth@webkit.org>
3455
3456         HTMLDocumentParser::insert should be aware of threaded parsing
3457         https://bugs.webkit.org/show_bug.cgi?id=107764
3458
3459         Reviewed by Eric Seidel.
3460
3461         This patch is an incremental step towards recovering from
3462         document.write invalidating our speculative parsing buffer. The
3463         approach I've taken is to make it possible to transfer the
3464         HTMLDocumentParser's HTMLTokenizer and HTMLToken to the background
3465       &n