[BlackBerry] MediaPlayerPrivate: fix call to MediaStreamDescriptor::label()
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-03-12  Alberto Garcia  <agarcia@igalia.com>
2
3         [BlackBerry] MediaPlayerPrivate: fix call to MediaStreamDescriptor::label()
4         https://bugs.webkit.org/show_bug.cgi?id=112140
5
6         Reviewed by Rob Buis.
7
8         MediaStreamDescriptor::id() was renamed to MediaStreamDescriptor::label() in r139352.
9
10         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
11         (WebCore::toWebMediaStreamDescriptor):
12
13 2013-03-12  Eugene Klyuchnikov  <eustas@chromium.org>
14
15         Web Inspector: [REGRESSION] StepInto (F11) and StepOut (Shift-F11) shortcuts toggle Inspector window full-screen state
16         https://bugs.webkit.org/show_bug.cgi?id=112113
17
18         Reviewed by Alexander Pavlov.
19
20         Updated handlers missed in first patch. Added JSDocs to all handlers.
21
22         * inspector/front-end/Panel.js: Fixed JSDocs.
23         * inspector/front-end/CallStackSidebarPane.js:
24         Added return values. Added JSDocs.
25         * inspector/front-end/ScriptsPanel.js: Ditto.
26         * inspector/front-end/GoToLineDialog.js: Added JSDocs.
27         * inspector/front-end/TimelinePanel.js: Ditto.
28
29 2013-03-12  Alberto Garcia  <agarcia@igalia.com>
30
31         [BlackBerry] DisplayRefreshMonitor: rename m_timestamp back to m_monotonicAnimationStartTime
32         https://bugs.webkit.org/show_bug.cgi?id=112139
33
34         Reviewed by Rob Buis.
35
36         This changed in r131131, but it was accidentally renamed back in r144465.
37
38         * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:
39         (WebCore::DisplayRefreshMonitor::displayLinkFired):
40
41 2013-03-12  Alberto Garcia  <agarcia@igalia.com>
42
43         [BlackBerry] FontPlatformData: HarfBuzz renaming
44         https://bugs.webkit.org/show_bug.cgi?id=112142
45
46         Reviewed by Rob Buis.
47
48         When the old HarfBuzz code was removed in r141291,
49         HarfBuzzNGFace.h was renamed to HarfBuzzFace.h and m_harfbuzzFace
50         was renamed to m_harfBuzzFace.
51
52         These changes need to be reflected in the BlackBerry port.
53
54         * platform/graphics/blackberry/FontPlatformDataBlackBerry.cpp:
55         (WebCore::FontPlatformData::FontPlatformData):
56         (WebCore::FontPlatformData::platformDataInit):
57         (WebCore::FontPlatformData::platformDataAssign):
58         (WebCore::FontPlatformData::harfBuzzFace):
59
60 2013-03-12  Alberto Garcia  <agarcia@igalia.com>
61
62         [BlackBerry] FontCacheBlackBerry: return PassRefPtr<SimpleFontData>
63         https://bugs.webkit.org/show_bug.cgi?id=112022
64
65         Reviewed by Rob Buis.
66
67         FontData functions return PassRefPtr since r130160.
68
69         * platform/graphics/blackberry/FontCacheBlackBerry.cpp:
70         (WebCore::FontCache::getFontDataForCharacters):
71         (WebCore::FontCache::getSimilarFontPlatformData):
72         (WebCore::FontCache::getLastResortFallbackFont):
73         * platform/graphics/blackberry/SimpleFontDataBlackBerry.cpp:
74         (WebCore::SimpleFontData::createScaledFontData):
75
76 2013-03-12  Vsevolod Vlasov  <vsevik@chromium.org>
77
78         Web Inspector: Fix checkContentUpdated behavior in UISourceCode.
79         https://bugs.webkit.org/show_bug.cgi?id=112037
80
81         Reviewed by Alexander Pavlov.
82
83         UISourceCode.checkContentUpdated now saves last updated content that was loaded and rejected
84         by user on the per-file basis (only the last one was saved currently).
85
86         * inspector/front-end/FileSystemProjectDelegate.js:
87         (WebInspector.FileSystemProjectDelegate.prototype.innerCallback):
88         (WebInspector.FileSystemProjectDelegate.prototype.requestFileContent):
89         (WebInspector.FileSystemProjectDelegate.prototype.canSetFileContent):
90         (WebInspector.FileSystemWorkspaceProvider.prototype._fileSystemAdded):
91         * inspector/front-end/SimpleWorkspaceProvider.js:
92         (WebInspector.SimpleProjectDelegate.prototype.canSetFileContent):
93         * inspector/front-end/UISourceCode.js:
94         (WebInspector.UISourceCode.prototype.checkContentUpdated.contentLoaded):
95         (WebInspector.UISourceCode.prototype.checkContentUpdated):
96         (WebInspector.UISourceCode.prototype._commitContent):
97         (WebInspector.UISourceCode.prototype.addRevision):
98         (WebInspector.UISourceCode.prototype.commitWorkingCopy):
99         * inspector/front-end/Workspace.js:
100         (WebInspector.ProjectDelegate.prototype.canSetFileContent):
101         (WebInspector.Project.prototype.canSetFileContent):
102
103 2013-03-12  Tomas Popela  <tpopela@redhat.com>
104
105         [Gtk] NBSP are not replaced when using X clipboard
106         https://bugs.webkit.org/show_bug.cgi?id=112118
107
108         Reviewed by Martin Robinson.
109
110         We're not replacing nbsp with spaces when using X clipboard
111         (Shift+Insert or middle mouse button).
112
113         * platform/gtk/DataObjectGtk.cpp:
114         (WebCore::DataObjectGtk::text):
115
116 2013-03-12  Florin Malita  <fmalita@chromium.org>
117
118         SVG Pattern pixelated on inline SVG with CSS transforms
119         https://bugs.webkit.org/show_bug.cgi?id=111587
120
121         Reviewed by Dirk Schulze.
122
123         When calculating the resolution for resource image buffers, we need to also consider CSS
124         transforms. This patch updates calculateTransformationToOutermostSVGCoordinateSystem()
125         (renamed to calculateTransformationToOutermostCoordinateSystem) to include the affine
126         component from CSS transforms by walking the parent layer tree.        
127
128         Test: svg/custom/resources-css-scaled.html
129
130         * rendering/svg/RenderSVGResourceClipper.cpp:
131         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
132         * rendering/svg/RenderSVGResourceFilter.cpp:
133         (WebCore::RenderSVGResourceFilter::applyResource):
134         * rendering/svg/RenderSVGResourceGradient.cpp:
135         (WebCore::createMaskAndSwapContextForTextGradient):
136         (WebCore::clipToTextMask):
137         * rendering/svg/RenderSVGResourceMasker.cpp:
138         (WebCore::RenderSVGResourceMasker::applyResource):
139         * rendering/svg/RenderSVGResourcePattern.cpp:
140         (WebCore::RenderSVGResourcePattern::buildPattern):
141         * rendering/svg/SVGRenderingContext.cpp:
142         (WebCore::SVGRenderingContext::calculateScreenFontSizeScalingFactor):
143         (WebCore::SVGRenderingContext::calculateTransformationToOutermostCoordinateSystem):
144         * rendering/svg/SVGRenderingContext.h:
145         (SVGRenderingContext):
146
147 2013-03-12  Yury Semikhatsky  <yurys@chromium.org>
148
149         Web Inspector: add html canvas memory details to the native memory overview
150         https://bugs.webkit.org/show_bug.cgi?id=112123
151
152         Reviewed by Alexander Pavlov.
153
154         Show memory occupied vby HTMLCanvasElements under Image category
155         in the native memory overview.
156
157         * inspector/front-end/NativeHeapSnapshot.js:
158         (WebInspector.NativeHeapSnapshot.prototype.images.getImageName):
159         (WebInspector.NativeHeapSnapshot.prototype.images.getCanvasName):
160         (WebInspector.NativeHeapSnapshot.prototype.images):
161         (WebInspector.NativeHeapSnapshot.prototype._addNodes):
162
163 2013-03-12  Vsevolod Vlasov  <vsevik@chromium.org>
164
165         Web Inspector: ResourceScriptFile diverged state should be correctly reset after debugger reset.
166         https://bugs.webkit.org/show_bug.cgi?id=112036
167
168         Reviewed by Alexander Pavlov.
169
170         * inspector/front-end/ResourceScriptMapping.js:
171         (WebInspector.ResourceScriptFile):
172         (WebInspector.ResourceScriptFile.prototype._workingCopyChanged):
173         (WebInspector.ResourceScriptFile.prototype._maybeDirtyChanged):
174
175 2013-03-12  Marja Hölttä  <marja@chromium.org>
176
177         [V8] Move the GetRawTemplate and HasInstance logic from generated bindings to V8PerIsolateData
178         https://bugs.webkit.org/show_bug.cgi?id=112136
179
180         Reviewed by Kentaro Hara.
181
182         When templates for main world and non-main worlds will be separated (bug
183         111724), HasInstance logic will be a bit ugly: We cannot determine the
184         world type on the fly, because during GC there is no entered context,
185         and HasInstance is called during GC. So we need to check against
186         templates from all the worlds. It's cleaner if that logic is in
187         V8PerIsolateData.
188
189         No new tests (Updated existing bindings tests).
190
191         * bindings/scripts/CodeGeneratorV8.pm:
192         (GenerateHeader):
193         (GenerateDomainSafeFunctionGetter):
194         (GenerateImplementation):
195         (CreateCustomSignature):
196         * bindings/scripts/test/V8/V8Float64Array.cpp:
197         (WebCore::ConfigureV8Float64ArrayTemplate):
198         (WebCore::V8Float64Array::GetTemplate):
199         (WebCore::V8Float64Array::HasInstance):
200         * bindings/scripts/test/V8/V8Float64Array.h:
201         (V8Float64Array):
202         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
203         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
204         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
205         (WebCore::V8TestActiveDOMObject::GetTemplate):
206         (WebCore::V8TestActiveDOMObject::HasInstance):
207         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
208         (V8TestActiveDOMObject):
209         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
210         (WebCore::V8TestCustomNamedGetter::GetTemplate):
211         (WebCore::V8TestCustomNamedGetter::HasInstance):
212         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
213         (V8TestCustomNamedGetter):
214         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
215         (WebCore::V8TestEventConstructor::GetTemplate):
216         (WebCore::V8TestEventConstructor::HasInstance):
217         * bindings/scripts/test/V8/V8TestEventConstructor.h:
218         (V8TestEventConstructor):
219         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
220         (WebCore::ConfigureV8TestEventTargetTemplate):
221         (WebCore::V8TestEventTarget::GetTemplate):
222         (WebCore::V8TestEventTarget::HasInstance):
223         * bindings/scripts/test/V8/V8TestEventTarget.h:
224         (V8TestEventTarget):
225         * bindings/scripts/test/V8/V8TestException.cpp:
226         (WebCore::V8TestException::GetTemplate):
227         (WebCore::V8TestException::HasInstance):
228         * bindings/scripts/test/V8/V8TestException.h:
229         (V8TestException):
230         * bindings/scripts/test/V8/V8TestInterface.cpp:
231         (WebCore::ConfigureV8TestInterfaceTemplate):
232         (WebCore::V8TestInterface::GetTemplate):
233         (WebCore::V8TestInterface::HasInstance):
234         * bindings/scripts/test/V8/V8TestInterface.h:
235         (V8TestInterface):
236         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
237         (WebCore::V8TestMediaQueryListListener::GetTemplate):
238         (WebCore::V8TestMediaQueryListListener::HasInstance):
239         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
240         (V8TestMediaQueryListListener):
241         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
242         (WebCore::V8TestNamedConstructor::GetTemplate):
243         (WebCore::V8TestNamedConstructor::HasInstance):
244         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
245         (V8TestNamedConstructor):
246         * bindings/scripts/test/V8/V8TestNode.cpp:
247         (WebCore::V8TestNode::GetTemplate):
248         (WebCore::V8TestNode::HasInstance):
249         * bindings/scripts/test/V8/V8TestNode.h:
250         (V8TestNode):
251         * bindings/scripts/test/V8/V8TestObj.cpp:
252         (WebCore::ConfigureV8TestObjTemplate):
253         (WebCore::V8TestObj::GetTemplate):
254         (WebCore::V8TestObj::HasInstance):
255         * bindings/scripts/test/V8/V8TestObj.h:
256         (V8TestObj):
257         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
258         (WebCore::V8TestOverloadedConstructors::GetTemplate):
259         (WebCore::V8TestOverloadedConstructors::HasInstance):
260         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
261         (V8TestOverloadedConstructors):
262         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
263         (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
264         (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
265         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
266         (V8TestSerializedScriptValueInterface):
267         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
268         (WebCore::ConfigureV8TestTypedefsTemplate):
269         (WebCore::V8TestTypedefs::GetTemplate):
270         (WebCore::V8TestTypedefs::HasInstance):
271         * bindings/scripts/test/V8/V8TestTypedefs.h:
272         (V8TestTypedefs):
273         * bindings/v8/V8PerIsolateData.cpp:
274         (WebCore::V8PerIsolateData::rawTemplate):
275         (WebCore):
276         (WebCore::V8PerIsolateData::hasInstance):
277         * bindings/v8/V8PerIsolateData.h:
278         (V8PerIsolateData):
279         * bindings/v8/custom/V8LocationCustom.cpp:
280         (WebCore::V8Location::reloadAttrGetterCustom):
281         (WebCore::V8Location::replaceAttrGetterCustom):
282         (WebCore::V8Location::assignAttrGetterCustom):
283
284 2013-03-12  Eugene Klyuchnikov  <eustas@chromium.org>
285
286         Web Inspector: Fix JSDocs in TimelinePanel.js
287         https://bugs.webkit.org/show_bug.cgi?id=112137
288
289         Reviewed by Vsevolod Vlasov.
290
291         Fix parameter type annotation of _loadFromFile.
292
293         * inspector/front-end/TimelinePanel.js: Fixed JSDoc.
294
295 2013-03-12  Vsevolod Vlasov  <vsevik@chromium.org>
296
297         Web Inspector: Add a test for Workspace add/removeMapping methods.
298         https://bugs.webkit.org/show_bug.cgi?id=112035
299
300         Reviewed by Alexander Pavlov.
301
302         Test: inspector/debugger/file-system-project-mapping.html
303
304         * inspector/front-end/ScriptsPanel.js:
305         (WebInspector.ScriptsPanel.prototype._mapFileSystemToNetwork.mapFileSystemToNetwork):
306         (WebInspector.ScriptsPanel.prototype._mapFileSystemToNetwork):
307         (WebInspector.ScriptsPanel.prototype._mapNetworkToFileSystem.mapNetworkToFileSystem):
308         (WebInspector.ScriptsPanel.prototype._mapNetworkToFileSystem):
309         * inspector/front-end/Workspace.js:
310         (WebInspector.Project.prototype._fileAdded):
311         (WebInspector.Workspace.prototype.addMapping):
312
313 2013-03-12  Vsevolod Vlasov  <vsevik@chromium.org>
314
315         Web Inspector: SourceFrames are leaking on reload.
316         https://bugs.webkit.org/show_bug.cgi?id=111961
317
318         Reviewed by Alexander Pavlov.
319
320         Added dispose method on UISourceCodeFrame.
321         Scripts panel now calls dispose when SourceFrame is removed and JavaScriptSourceFrame
322         could remove breakpoint manager listeners in it.
323         TabbedEditorContainer does not call viewForFile other than in appendFileTab methods to 
324         avoid recreating SourceFrame for uiSourceCode when it was already removed.
325
326         Test: inspector/debugger/breakpoint-manager-listeners-count.html
327
328         * inspector/front-end/JavaScriptSourceFrame.js:
329         (WebInspector.JavaScriptSourceFrame.prototype.dispose):
330         * inspector/front-end/ScriptsPanel.js:
331         * inspector/front-end/TabbedEditorContainer.js:
332         (WebInspector.TabbedEditorContainer.prototype._addScrollAndSelectionListeners):
333         (WebInspector.TabbedEditorContainer.prototype._removeScrollAndSelectionListeners):
334         (WebInspector.TabbedEditorContainer.prototype._tabClosed):
335         * inspector/front-end/UISourceCodeFrame.js:
336         (WebInspector.UISourceCodeFrame.prototype.dispose):
337
338 2013-03-12  Alexander Pavlov  <apavlov@chromium.org>
339
340         Web Inspector: [Elements] Unable to undo "Edit as HTML" changes in the editor
341         https://bugs.webkit.org/show_bug.cgi?id=112119
342
343         Reviewed by Vsevolod Vlasov.
344
345         No new tests, a UI change.
346
347         * inspector/front-end/ElementsPanel.js:
348         (WebInspector.ElementsPanel.prototype.handleShortcut): Do not undo/redo DOM/CSS changes if editing DOM text.
349         * inspector/front-end/ElementsTreeOutline.js:
350         (WebInspector.ElementsTreeOutline.prototype.editing): Added.
351
352 2013-03-12  Andrey Lushnikov  <lushnikov@chromium.org>
353
354         Web Inspector: [CodeMirror] there are bugs in TokenHighlight feature
355         https://bugs.webkit.org/show_bug.cgi?id=112039
356
357         Reviewed by Vsevolod Vlasov.
358
359         Fix token highlight in codeMirror experiment
360         - rewrite token highlight overlay mode to highlight words, not
361         substrings
362         - add workaround to avoid selection of already selected word
363
364         No new tests.
365
366         * inspector/front-end/CodeMirrorTextEditor.js:
367         (WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype._cursorChange):
368         (WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype._removeHighlight):
369         (WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype.nextToken):
370         (WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype._addHighlight):
371         * inspector/front-end/cm/cmdevtools.css:
372         (.line-with-selection .cm-column-with-selection):
373
374 2013-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
375
376         Unreviewed, rolling out r145514.
377         http://trac.webkit.org/changeset/145514
378         https://bugs.webkit.org/show_bug.cgi?id=112134
379
380         breaks Mac build (Requested by falken on #webkit).
381
382         * dom/Element.cpp:
383         * dom/Element.h:
384         * dom/EventDispatcher.cpp:
385         (WebCore::EventDispatcher::dispatchSimulatedClick):
386         * dom/GestureEvent.cpp:
387         (WebCore::GestureEventDispatchMediator::dispatchEvent):
388         * dom/MouseEvent.cpp:
389         (WebCore::MouseEventDispatchMediator::dispatchEvent):
390         * dom/Node.cpp:
391         (WebCore):
392         (WebCore::Node::isInert):
393         (WebCore::Node::handleLocalEvents):
394         (WebCore::Node::disabled):
395         (WebCore::Node::willRespondToMouseMoveEvents):
396         (WebCore::Node::willRespondToMouseClickEvents):
397         (WebCore::Node::willRespondToTouchEvents):
398         * dom/Node.h:
399         (Node):
400
401 2013-03-12  Andrey Lushnikov  <lushnikov@chromium.org>
402
403         Web Inspector: [CodeMirror] highlight matching braces
404         https://bugs.webkit.org/show_bug.cgi?id=112041
405
406         Reviewed by Vsevolod Vlasov.
407
408         Add "matchbrackets" add-on to CodeMirror text editor add override
409         default styles for matched and unmatched braces.
410
411         No new tests.
412
413         * WebCore.gypi:
414         * WebCore.vcproj/WebCore.vcproj:
415         * WebCore.vcxproj/WebCore.vcxproj:
416         * WebCore.vcxproj/WebCore.vcxproj.filters:
417         * inspector/front-end/CodeMirrorTextEditor.js:
418         (WebInspector.CodeMirrorTextEditor):
419         * inspector/front-end/WebKit.qrc:
420         * inspector/front-end/cm/cmdevtools.css:
421         (.CodeMirror-matchingbracket):
422         (.CodeMirror-nonmatchingbracket):
423         * inspector/front-end/cm/matchbrackets.js: Added.
424         (.):
425
426 2013-03-12  Matt Falkenhagen  <falken@chromium.org>
427
428         Refactoring: Pull Node::disabled() and Node::isInert() down to Element.
429         https://bugs.webkit.org/show_bug.cgi?id=112085
430
431         Reviewed by Hajime Morrita.
432
433         Node is too low a level for these methods.
434
435         No new tests, just refactoring.
436
437         * dom/Element.cpp:
438         (WebCore::Element::disabled):
439         (WebCore):
440         (WebCore::Element::isInert):
441         * dom/Element.h:
442         (Element):
443         * dom/EventDispatcher.cpp:
444         (WebCore::EventDispatcher::dispatchSimulatedClick):
445         * dom/GestureEvent.cpp:
446         (WebCore::GestureEventDispatchMediator::dispatchEvent):
447         * dom/MouseEvent.cpp:
448         (WebCore::MouseEventDispatchMediator::dispatchEvent):
449         * dom/Node.cpp:
450         (WebCore::Node::handleLocalEvents):
451         (WebCore::Node::willRespondToMouseMoveEvents):
452         (WebCore::Node::willRespondToMouseClickEvents):
453         (WebCore::Node::willRespondToTouchEvents):
454         * dom/Node.h:
455         (Node):
456
457 2013-03-12  Marja Hölttä  <marja@chromium.org>
458
459         [V8] Get rid of function-level static FunctionTemplates in generated bindings code
460         https://bugs.webkit.org/show_bug.cgi?id=111971
461
462         Reviewed by Jochen Eisinger.
463
464         In the future we'll create and store function templates for main world
465         and non-main worlds separately (see bug 111724), having function
466         templates as static variables inside functions will break the
467         functionality.
468
469         No new tests (updated the bindings test expectations).
470
471         * bindings/scripts/CodeGeneratorV8.pm:
472         (GenerateDomainSafeFunctionGetter):
473         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
474         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
475         * bindings/v8/V8PerIsolateData.cpp:
476         (WebCore::V8PerIsolateData::V8PerIsolateData):
477         (WebCore::V8PerIsolateData::privateTemplate):
478         (WebCore):
479         * bindings/v8/V8PerIsolateData.h:
480         (V8PerIsolateData):
481         * bindings/v8/custom/V8LocationCustom.cpp:
482         (WebCore::V8Location::reloadAttrGetterCustom):
483         (WebCore::V8Location::replaceAttrGetterCustom):
484         (WebCore::V8Location::assignAttrGetterCustom):
485
486 2013-03-12  Takashi Sakamoto  <tasak@google.com>
487
488         [Refactoring] Implement RuleCollector
489         https://bugs.webkit.org/show_bug.cgi?id=109916
490
491         Reviewed by Antti Koivisto.
492
493         Implemented rule collector for an element and collector for a page.
494         Not all members in class State are required entire while resolving
495         a style.
496
497         No new tests, because just refactoring.
498
499         * CMakeLists.txt:
500         * GNUmakefile.list.am:
501         * Target.pri:
502         * WebCore.gypi:
503         * WebCore.xcodeproj/project.pbxproj:
504         * css/CSSAllInOne.cpp:
505         Added ElementRuleCollector and PageRuleCollector.
506         * css/DocumentRuleSets.cpp:
507         (WebCore::ShadowDistributedRules::collectMatchRequests):
508         Since behaviorAtBoundary is a state owned by ElementRuleCollector,
509         removed from here.
510         * css/DocumentRuleSets.h:
511         (WebCore::ShadowDistributedRules::isEmpty):
512         Added to quickly check whether there exist any ShadowDistributedRules
513         or not.
514         * css/ElementRuleCollector.cpp: Copied from Source/WebCore/css/StyleResolver.cpp.
515         (WebCore):
516         (WebCore::ElementRuleCollector::matchedResult):
517         (WebCore::ElementRuleCollector::matchedRuleList):
518         (WebCore::ElementRuleCollector::addMatchedRule):
519         (WebCore::ElementRuleCollector::clearMatchedRules):
520         (WebCore::ElementRuleCollector::ensureRuleList):
521         (WebCore::ElementRuleCollector::addElementStyleProperties):
522         (WebCore::ElementRuleCollector::collectMatchingRules):
523         (WebCore::ElementRuleCollector::collectMatchingRulesForRegion):
524         (WebCore::ElementRuleCollector::sortAndTransferMatchedRules):
525         (WebCore::ElementRuleCollector::matchScopedAuthorRules):
526         (WebCore::ElementRuleCollector::matchHostRules):
527         (WebCore::ElementRuleCollector::matchShadowDistributedRules):
528         (WebCore::ElementRuleCollector::matchAuthorRules):
529         (WebCore::ElementRuleCollector::matchUserRules):
530         (WebCore::ElementRuleCollector::matchUARules):
531         (WebCore::ElementRuleCollector::ruleMatches):
532         (WebCore::ElementRuleCollector::collectMatchingRulesForList):
533         (WebCore::ElementRuleCollector::sortMatchedRules):
534         (WebCore::ElementRuleCollector::matchAllRules):
535         Moved these methods from StyleResolver to this class.
536         (WebCore::ElementRuleCollector::hasAnyMatchingRules):
537         This method is used for checking whether a given element can share
538         a cache.
539         * css/ElementRuleCollector.h: Copied from Source/WebCore/css/StyleResolver.h.
540         (WebCore):
541         (WebCore::ElementRuleCollector::ElementRuleCollector):
542         Use styleResolver instance to initialize its member variables, i.e.
543         SelectorFilter, RuleSets, InspectorCSSOMWrappers, and
544         StyleScopedResolver.
545         (ElementRuleCollector):
546         (WebCore::ElementRuleCollector::setMode):
547         (WebCore::ElementRuleCollector::setPseudoStyleRequest):
548         (WebCore::ElementRuleCollector::setSameOriginOnly):
549         (WebCore::ElementRuleCollector::setRegionForStyling):
550         Mode, SameOriginOnly, RegionForStyling are only used while collecting
551         matched rules.
552         (WebCore::ElementRuleCollector::setMedium):
553         Need to know which default stylesheet should be looked up.
554         (WebCore::ElementRuleCollector::document):
555         * css/PageRuleCollector.cpp: Copied from Source/WebCore/css/StyleResolver.cpp.
556         (WebCore::comparePageRules):
557         (WebCore::PageRuleCollector::isLeftPage):
558         (WebCore::PageRuleCollector::isFirstPage):
559         (WebCore::PageRuleCollector::pageName):
560         (WebCore::PageRuleCollector::matchAllPageRules):
561         (WebCore::PageRuleCollector::matchPageRules):
562         (WebCore::checkPageSelectorComponents):
563         (WebCore::PageRuleCollector::matchPageRulesForList):
564         Moved from StyleResolver.
565         * css/PageRuleCollector.h: Copied from Source/WebCore/css/StyleResolver.h.
566         (WebCore):
567         (WebCore::PageRuleCollector::PageRuleCollector):
568         (PageRuleCollector):
569         (WebCore::PageRuleCollector::matchedResult):
570         * css/StyleResolver.cpp:
571         (WebCore):
572         (WebCore::StyleResolver::State::clear):
573         (WebCore::StyleResolver::MatchResult::addMatchedProperties):
574         (WebCore::StyleResolver::State::initForStyleResolve):
575         (WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
576         (WebCore::StyleResolver::styleForElement):
577         (WebCore::StyleResolver::styleForKeyframe):
578         (WebCore::StyleResolver::pseudoStyleForElement):
579         (WebCore::StyleResolver::styleForPage):
580         (WebCore::StyleResolver::pseudoStyleRulesForElement):
581         (WebCore::StyleResolver::applyMatchedProperties):
582         * css/StyleResolver.h:
583         (WebCore::MatchRequest::MatchRequest):
584         Removed behaviorAtBoundary. Instead, ElementRuleCollector have the
585         state.
586         (MatchRequest):
587         (WebCore::StyleResolver::selectorFilter):
588         Added to obtain SelectorFilter in ElementRuleCollector's constructor.
589         (StyleResolver):
590         (MatchResult):
591         (WebCore::StyleResolver::State::State):
592         To pass ASSERT in StyleResolver::applyProperties, need to keep
593         m_regionForStyling.
594         (State):
595         (WebCore::StyleResolver::State::regionForStyling):
596         (WebCore::StyleResolver::State::useSVGZoomRules):
597         (WebCore::StyleResolver::hasSelectorForId):
598         (WebCore):
599         (WebCore::checkRegionSelector):
600         * inspector/InspectorCSSAgent.cpp:
601         (WebCore::InspectorCSSAgent::willMatchRule):
602         Removed StyleResolver from its parameter list. Instead, added
603         InspectorCSSOMWrappers and DocumentStyleSheetCollection.
604         * inspector/InspectorCSSAgent.h:
605         (WebCore):
606         (InspectorCSSAgent):
607         * inspector/InspectorInstrumentation.cpp:
608         (WebCore):
609         (WebCore::InspectorInstrumentation::willMatchRuleImpl):
610         * inspector/InspectorInstrumentation.h:
611         (WebCore):
612         (InspectorInstrumentation):
613         (WebCore::InspectorInstrumentation::willMatchRule):
614
615 2013-03-12  Floris Bos  <bos@je-eigen-domein.nl>
616
617         [Qt] WebKit fails to compile if EGL headers are not in default INCLUDEPATH
618         https://bugs.webkit.org/show_bug.cgi?id=111859
619
620         Reviewed by Jocelyn Turcotte.
621
622         The 3D graphics code wants to include EGL header files.
623         But on some platforms such as the Raspberry Pi those are not in /usr/include
624         but in another folder.
625         Fix adds "egl" to CONFIG when OpenGL ES2 is used, so the right include
626         paths are added.
627
628         * WebCore.pri:
629
630 2013-03-12  Mike West  <mkwst@chromium.org>
631
632         XSSAuditor should send only one console error when blocking a page.
633         https://bugs.webkit.org/show_bug.cgi?id=110733
634
635         Reviewed by Daniel Bates.
636
637         Currently, we send two console errors when XSSAuditor blocks a page:
638         "Refused to execute a JavaScript script. Source code of script found
639         within request.\n", and "Entire page will be blocked.".
640
641         We should only send one message, tuning it properly for the context, and
642         including the URL of the page effected by the XSSAuditor's work.
643
644         Covered by rebaselines of all the XSSAuditor and 'reflected-xss' tests.
645
646         * html/parser/XSSAuditor.cpp:
647         * html/parser/XSSAuditor.h:
648         (WebCore::XSSAuditor::XSSAuditor):
649             Add two booleans to track the headers used to set the XSSAuditor state.
650         (WebCore::XSSAuditor::init):
651         (WebCore::XSSAuditor::filterToken):
652             Add detail about the header status to the constructed XSSInfo object.
653         * html/parser/XSSAuditorDelegate.cpp:
654         (WebCore::buildConsoleError):
655             Move message construction out into a separate inlined function, as
656             it's becoming complex.
657         (WebCore::XSSAuditorDelegate::didBlockScript):
658             Fold the "Entire page will be blocked" message into the main console
659             error.
660         * html/parser/XSSAuditorDelegate.h:
661         (WebCore::XSSInfo::create):
662         (WebCore::XSSInfo::XSSInfo):
663             Add detail about header status to XSSInfo in order to correctly
664             construct the console error.
665
666 2013-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
667
668         Unreviewed, rolling out r145494.
669         http://trac.webkit.org/changeset/145494
670         https://bugs.webkit.org/show_bug.cgi?id=112117
671
672         Breaks Chromium Mac (Requested by pfeldman on #webkit).
673
674         * bindings/scripts/CodeGeneratorV8.pm:
675         (GenerateDomainSafeFunctionGetter):
676         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
677         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
678         * bindings/v8/V8PerIsolateData.cpp:
679         (WebCore::V8PerIsolateData::V8PerIsolateData):
680         * bindings/v8/V8PerIsolateData.h:
681         (V8PerIsolateData):
682         * bindings/v8/custom/V8LocationCustom.cpp:
683         (WebCore::V8Location::reloadAttrGetterCustom):
684         (WebCore::V8Location::replaceAttrGetterCustom):
685         (WebCore::V8Location::assignAttrGetterCustom):
686
687 2013-03-12  Yury Semikhatsky  <yurys@chromium.org>
688
689         Web Inspector: add memory instrumentation for ImageLoader
690         https://bugs.webkit.org/show_bug.cgi?id=112115
691
692         Reviewed by Alexander Pavlov.
693
694         Added memory instrumentation to ImageLoader. CachedImage referenced
695         by the loader is reported as having retaining reference. This allows
696         to see in the native memory graph CachedImages that are not reachable
697         from MemoryCache but referenced by HTMLImageElement.
698
699         * loader/ImageLoader.cpp:
700         (WebCore::ImageLoader::reportMemoryUsage):
701         (WebCore):
702         * loader/ImageLoader.h:
703         (ImageLoader):
704
705 2013-03-12  Vsevolod Vlasov  <vsevik@chromium.org>
706
707         Web Inspector: Broken shortcuts in Snippets SourceFrame
708         https://bugs.webkit.org/show_bug.cgi?id=112038
709
710         Reviewed by Pavel Feldman.
711
712         * inspector/front-end/SnippetJavaScriptSourceFrame.js:
713         (WebInspector.SnippetJavaScriptSourceFrame):
714         (WebInspector.SnippetJavaScriptSourceFrame.prototype._onKeyDown):
715
716 2013-03-12  Eugene Klyuchnikov  <eustas@chromium.org>
717
718         Web Inspector: [Timeline] File selector control becomes visible on "tab" navigation.
719         https://bugs.webkit.org/show_bug.cgi?id=111710
720
721         Reviewed by Pavel Feldman.
722
723         Solution: Exclude file selector control from tab-navigation flow.
724
725         * inspector/front-end/FileUtils.js: Set tab-index to control.
726         * inspector/front-end/TimelinePanel.js: Remove duplicating code.
727         * inspector/front-end/inspector.css:
728         (.status-bar-item): Make scroll height equal to offset height.
729
730 2013-03-12  Marja Hölttä  <marja@chromium.org>
731
732         [V8] Get rid of function-level static FunctionTemplates in generated bindings code
733         https://bugs.webkit.org/show_bug.cgi?id=111971
734
735         Reviewed by Kentaro Hara.
736
737         In the future we'll create and store function templates for main world
738         and non-main worlds separately (see bug 111724), having function
739         templates as static variables inside functions will break the
740         functionality.
741
742         No new tests (updated the bindings test expectations).
743
744         * bindings/scripts/CodeGeneratorV8.pm:
745         (GenerateDomainSafeFunctionGetter):
746         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
747         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
748         * bindings/v8/V8PerIsolateData.cpp:
749         (WebCore::V8PerIsolateData::V8PerIsolateData):
750         (WebCore::V8PerIsolateData::privateTemplate):
751         (WebCore):
752         * bindings/v8/V8PerIsolateData.h:
753         (V8PerIsolateData):
754         * bindings/v8/custom/V8LocationCustom.cpp:
755         (WebCore::V8Location::reloadAttrGetterCustom):
756         (WebCore::V8Location::replaceAttrGetterCustom):
757         (WebCore::V8Location::assignAttrGetterCustom):
758
759 2013-03-12  Tien-Ren Chen  <trchen@chromium.org>
760
761         Need to notify ScrollingCoordinator when frame scrollbars are destroyed
762         https://bugs.webkit.org/show_bug.cgi?id=112104
763
764         Reviewed by James Robinson.
765
766         Need to notify ScrollingCoordinatorChromium whenever m_layerForHorizontalScrollbar /
767         m_layerForVerticalScrollbar changes, for correct lifetime management.
768
769         No new tests. Difficult to test lifetime management internal to ScrollingCoordinatorChromium.
770
771         * rendering/RenderLayerCompositor.cpp:
772         (WebCore::RenderLayerCompositor::destroyRootLayer):
773
774 2013-03-11  Simon Fraser  <simon.fraser@apple.com>
775
776         We'll get there eventually.
777
778         * platform/graphics/ca/win/PlatformCAFiltersWin.cpp:
779
780 2013-03-11  Simon Fraser  <simon.fraser@apple.com>
781
782         Fumbled adding new files to the vcproj. Fixing.
783
784         * WebCore.vcproj/WebCore.vcproj:
785
786 2013-03-11  Simon Fraser  <simon.fraser@apple.com>
787
788         Fix the Windows build by providing implementations of PlatformCAFilters::setFiltersOnLayer(),
789         PlatformCAFilters::numAnimatedFilterProperties() and PlatformCAFilters::animatedFilterPropertyName(),
790         adding PlatformCAFiltersWin.cpp to the vcproj.
791         
792         * WebCore.vcproj/WebCore.vcproj:
793         * platform/graphics/ca/PlatformCAFilters.h:
794         (PlatformCAFilters):
795         * platform/graphics/ca/win/PlatformCAFiltersWin.cpp: Copied from Source/WebCore/platform/graphics/ca/PlatformCAFilters.h.
796         (PlatformCAFilters::setFiltersOnLayer):
797         (PlatformCAFilters::numAnimatedFilterProperties):
798         (PlatformCAFilters::animatedFilterPropertyName):
799
800 2013-03-11  Jochen Eisinger  <jochen@chromium.org>
801
802         Don't create multiple user gesture indicators when forwarding events to sub frames
803         https://bugs.webkit.org/show_bug.cgi?id=111923
804
805         Reviewed by Adam Barth.
806
807         Ports that implement consumable user gestures depend on a single user
808         gesture indicator being created in response to a single user gesture.
809
810         Test: platform/chromium/fast/events/popup-allowed-from-gesture-only-once-iframes.html
811
812         * dom/UserGestureIndicator.cpp:
813         (WebCore::isDefinite):
814         (WebCore::UserGestureIndicator::UserGestureIndicator):
815         (WebCore::UserGestureIndicator::processingUserGesture):
816         * dom/UserGestureIndicator.h:
817         * page/EventHandler.cpp:
818         (WebCore::EventHandler::handleMousePressEvent):
819         (WebCore::EventHandler::handleMouseDoubleClickEvent):
820         (WebCore::EventHandler::handleMouseReleaseEvent):
821         (WebCore::EventHandler::keyEvent):
822         (WebCore::EventHandler::handleTouchEvent):
823
824 2013-03-11  Simon Fraser  <simon.fraser@apple.com>
825
826         Fix Windows build.
827
828         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
829
830 2013-03-11  Tim Horton  <timothy_horton@apple.com>
831
832         Unreviewed build fix after http://trac.webkit.org/changeset/145472.
833
834         * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
835         (PlatformCAFilters::colorMatrixValueForFilter):
836
837 2013-03-11  Takashi Sakamoto  <tasak@google.com>
838
839         [CSS] shadow from radius has wrong render in webkit
840         https://bugs.webkit.org/show_bug.cgi?id=99928
841
842         Reviewed by Simon Fraser.
843
844         No rounded cornder should be expanded in the mixed case, i.e. some
845         corners are rounded, but others are not rounded.
846         Need to look at each corner independently,
847         i.e. top-left, top-right, bottom-left and bottom-right, and
848         to expand corners whose width and height are larger than 0.
849
850         Test: fast/box-shadow/box-shadow-with-zero-radius.html
851
852         * platform/graphics/RoundedRect.cpp:
853         (WebCore::RoundedRect::Radii::expand):
854
855 2013-03-11  Simon Fraser  <simon.fraser@apple.com>
856
857         [CA] Animations of CSS filters don't work correctly
858         https://bugs.webkit.org/show_bug.cgi?id=111905
859
860         Reviewed by Dean Jackson.
861
862         Fix various issues with transitions of composited filters on Mac,
863         most of which stemmed from the conversion to use CAFilter.
864         
865         Put the Mac CA filter-related code into a new file, PlatformCAFilters,
866         to group code that creates filter properties into a single place.
867         
868         Animations of CIFilters using multiple values never worked correctly,
869         because we would clobber all but the last property for each filter,
870         so fix that.
871         
872         Changes in the moved filter code:
873             - Made use of sepiaFullConstants in the CIFilter and CAFilter code.
874             - For CI, return CIVectors instead of NSArrays of NSNumbers.
875             - Fudge the inputColor for the CI grayscale filter to better match software filters.
876             - fix some cases where the behavior was wrong in the isDefault() case.
877
878         * WebCore.xcodeproj/project.pbxproj: Add PlatformCAFilters.h, PlatformCAFiltersMac.mm.
879         * platform/graphics/GraphicsLayer.cpp:
880         (WebCore::GraphicsLayer::animationNameForTransition): This function was creating a string
881         containing non-ASCII characters.
882         * platform/graphics/ca/GraphicsLayerCA.cpp:
883         (WebCore::animationIdentifier): To handle CIFilter animations, we need to tack another
884         index onto the animation identifier, since some animations require animating multiple
885         properties of the same CIFilter. Add "subIndex" for this.
886         (WebCore::GraphicsLayerCA::moveOrCopyAnimations): Ditto.
887         (WebCore::GraphicsLayerCA::updateAnimations): Ditto.
888         (WebCore::GraphicsLayerCA::setAnimationOnLayer): Ditto.
889         (WebCore::GraphicsLayerCA::removeCAAnimationFromLayer): Ditto.
890         (WebCore::GraphicsLayerCA::pauseCAAnimationOnLayer): Ditto.
891         (WebCore::GraphicsLayerCA::createAnimationFromKeyframes): Ditto.
892         (WebCore::GraphicsLayerCA::appendToUncommittedAnimations): Ditto.
893         * platform/graphics/ca/GraphicsLayerCA.h: Ditto.
894         (WebCore::GraphicsLayerCA::LayerPropertyAnimation::LayerPropertyAnimation):
895         (LayerPropertyAnimation):
896         * platform/graphics/ca/PlatformCAAnimation.h:
897         (PlatformCAAnimation): Functions moved.
898         * platform/graphics/ca/PlatformCAFilters.h: Added.
899         (PlatformCAFilters):
900         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
901         (PlatformCAAnimation::setFromValue):
902         (PlatformCAAnimation::setToValue):
903         (PlatformCAAnimation::setValues):
904         * platform/graphics/ca/mac/PlatformCAFiltersMac.mm: Added.
905         (PlatformCAFilters::filterValueForOperation):
906         (PlatformCAFilters::colorMatrixValueForFilter):
907         (PlatformCAFilters::numAnimatedFilterProperties):
908         (PlatformCAFilters::animatedFilterPropertyName):
909         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
910         (PlatformCALayer::PlatformCALayer):
911         (PlatformCALayer::addAnimationForKey):
912         (PlatformCALayer::setFilters):
913         (PlatformCALayer::filtersCanBeComposited):
914
915 2013-03-11  Sheriff Bot  <webkit.review.bot@gmail.com>
916
917         Unreviewed, rolling out r145462.
918         http://trac.webkit.org/changeset/145462
919         https://bugs.webkit.org/show_bug.cgi?id=112097
920
921         Compilation failure in PluginView.cpp (Requested by jamesr_ on
922         #webkit).
923
924         * accessibility/AccessibilityMenuList.cpp:
925         (WebCore::AccessibilityMenuList::canSetFocusAttribute):
926         * bindings/objc/DOM.mm:
927         (kitClass):
928         * bindings/v8/V8LazyEventListener.cpp:
929         (WebCore::V8LazyEventListener::prepareListenerObject):
930         * css/SelectorChecker.cpp:
931         (WebCore::SelectorChecker::checkOne):
932         * editing/ApplyStyleCommand.cpp:
933         (WebCore::isLegacyAppleStyleSpan):
934         (WebCore::isEmptyFontTag):
935         (WebCore::ApplyStyleCommand::applyBlockStyle):
936         * editing/FormatBlockCommand.cpp:
937         (WebCore::isElementForFormatBlock):
938         * editing/ReplaceSelectionCommand.cpp:
939         (WebCore::isMailPasteAsQuotationNode):
940         (WebCore::haveSameTagName):
941         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
942         (WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):
943         * history/CachedPage.cpp:
944         (WebCore::CachedPage::restore):
945         * html/ColorInputType.cpp:
946         (WebCore::ColorInputType::suggestions):
947         * html/HTMLTableRowsCollection.cpp:
948         (WebCore::isInHead):
949         (WebCore::isInBody):
950         (WebCore::isInFoot):
951         * inspector/DOMPatchSupport.cpp:
952         (WebCore::DOMPatchSupport::innerPatchNode):
953         * page/PageSerializer.cpp:
954         (WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
955         * plugins/PluginView.cpp:
956         (WebCore::PluginView::getValue):
957         * rendering/RenderEmbeddedObject.cpp:
958         (WebCore::RenderEmbeddedObject::paintContents):
959         (WebCore::RenderEmbeddedObject::handleUnavailablePluginIndicatorEvent):
960         * rendering/RenderLayer.cpp:
961         (WebCore::RenderLayer::name):
962         * rendering/RenderMedia.cpp:
963         (WebCore::RenderMedia::mediaElement):
964         * rendering/RenderSearchField.cpp:
965         (WebCore::RenderSearchField::autosaveName):
966         * rendering/RenderTextControl.cpp:
967         (WebCore::RenderTextControl::textFormControlElement):
968         (WebCore::updateUserModifyProperty):
969         * rendering/mathml/RenderMathMLFenced.cpp:
970         (WebCore::RenderMathMLFenced::updateFromElement):
971         * rendering/mathml/RenderMathMLFraction.cpp:
972         (WebCore::RenderMathMLFraction::updateFromElement):
973         * xml/parser/XMLDocumentParserLibxml2.cpp:
974         (WebCore::XMLDocumentParser::XMLDocumentParser):
975         (WebCore::XMLDocumentParser::endElementNs):
976
977 2013-03-11  Alexey Proskuryakov  <ap@apple.com>
978
979         Move SharedWorkerRepository functions out of DefaultSharedWorkerRepository
980         https://bugs.webkit.org/show_bug.cgi?id=100418
981
982         Reviewed by Sam Weinig.
983
984         * CMakeLists.txt:
985         * GNUmakefile.list.am:
986         * Target.pri:
987         * WebCore.vcproj/WebCore.vcproj:
988         * WebCore.xcodeproj/project.pbxproj:
989         Added SharedWorkerRepository.cpp.
990
991         * WebCore.gyp/WebCore.gyp:
992         * WebCore.gypi:
993         Chromium uses WebKit/chromium/src/SharedWorkerRepository.cpp instead of
994         WebCore/workers/DefaultSharedWorkerRepository.cpp. Not sure why it's added and
995         then excluded, but did the same with the new SharedWorkerRepository.cpp, which
996         just contains some code moved from that file.
997
998         * workers/DefaultSharedWorkerRepository.cpp:
999         (WebCore::SharedWorkerScriptLoader::load): Removed a PLATFORM(CHROMIUM) clause,
1000         chromium doesn't compile this file.
1001         (WebCore::DefaultSharedWorkerRepository::connectToWorker): Added a FIXME about
1002         seemingly wrong code.
1003
1004         * workers/SharedWorkerRepository.cpp: Added.
1005         (WebCore::SharedWorkerRepository::isAvailable):
1006         (WebCore::SharedWorkerRepository::connect):
1007         (WebCore::SharedWorkerRepository::documentDetached):
1008         (WebCore::SharedWorkerRepository::hasSharedWorkers):
1009         Moved from DefaultSharedWorkerRepository.cpp, because this is part of SharedWorkerRepository.
1010
1011 2013-03-11  Adam Barth  <abarth@webkit.org>
1012
1013         Make BackgroundHTMLParser work with doc.writes that enter or leave foreign content
1014         https://bugs.webkit.org/show_bug.cgi?id=109764
1015
1016         Reviewed by Eric Seidel.
1017
1018         Previously, we were not reseting the state of the
1019         HTMLTreeBuilderSimulator when we failed speculative parsing. This had a
1020         number of observable consequences, including not parsing CDATA sections
1021         correctly when document.write caused us to enter foreign content.
1022
1023         Test: fast/parser/document-write-svg-cdata.html
1024
1025         * html/parser/BackgroundHTMLParser.cpp:
1026         (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
1027         (WebCore::BackgroundHTMLParser::resumeFrom):
1028         (WebCore::BackgroundHTMLParser::pumpTokenizer):
1029         (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
1030         * html/parser/BackgroundHTMLParser.h:
1031         (Checkpoint):
1032         (BackgroundHTMLParser):
1033         * html/parser/HTMLDocumentParser.cpp:
1034         (WebCore::HTMLDocumentParser::validateSpeculations):
1035         (WebCore::HTMLDocumentParser::didFailSpeculation):
1036         * html/parser/HTMLDocumentParser.h:
1037         (ParsedChunk):
1038         * html/parser/HTMLElementStack.h:
1039         (WebCore::HTMLElementStack::ElementRecord::namespaceURI):
1040         * html/parser/HTMLTreeBuilder.h:
1041         (WebCore::HTMLTreeBuilder::options):
1042         (WebCore::HTMLTreeBuilder::openElements):
1043         (HTMLTreeBuilder):
1044         * html/parser/HTMLTreeBuilderSimulator.cpp:
1045         (WebCore::HTMLTreeBuilderSimulator::stateFor):
1046         (WebCore):
1047         * html/parser/HTMLTreeBuilderSimulator.h:
1048         (WebCore):
1049         (WebCore::HTMLTreeBuilderSimulator::state):
1050         (WebCore::HTMLTreeBuilderSimulator::setState):
1051         (HTMLTreeBuilderSimulator):
1052
1053 2013-03-11  Abhishek Arya  <inferno@chromium.org>
1054
1055         Replace static_casts with to* functions.
1056         https://bugs.webkit.org/show_bug.cgi?id=112072
1057
1058         Reviewed by Philip Rogers.
1059
1060         to* functions are preferred over static_cast calls since they
1061         help to catch bad casts easily on the testing infrastructure.
1062
1063         * accessibility/AccessibilityMenuList.cpp:
1064         (WebCore::AccessibilityMenuList::canSetFocusAttribute):
1065         * bindings/objc/DOM.mm:
1066         (kitClass):
1067         * bindings/v8/V8LazyEventListener.cpp:
1068         (WebCore::V8LazyEventListener::prepareListenerObject):
1069         * css/SelectorChecker.cpp:
1070         (WebCore::SelectorChecker::checkOne):
1071         * editing/ApplyStyleCommand.cpp:
1072         (WebCore::isLegacyAppleStyleSpan):
1073         (WebCore::isEmptyFontTag):
1074         (WebCore::ApplyStyleCommand::applyBlockStyle):
1075         * editing/FormatBlockCommand.cpp:
1076         (WebCore::isElementForFormatBlock):
1077         * editing/ReplaceSelectionCommand.cpp:
1078         (WebCore::isMailPasteAsQuotationNode):
1079         (WebCore::haveSameTagName):
1080         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
1081         (WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):
1082         * history/CachedPage.cpp:
1083         (WebCore::CachedPage::restore):
1084         * html/ColorInputType.cpp:
1085         (WebCore::ColorInputType::suggestions):
1086         * html/HTMLTableRowsCollection.cpp:
1087         (WebCore::isInHead):
1088         (WebCore::isInBody):
1089         (WebCore::isInFoot):
1090         * inspector/DOMPatchSupport.cpp:
1091         (WebCore::DOMPatchSupport::innerPatchNode):
1092         * page/PageSerializer.cpp:
1093         (WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
1094         * plugins/PluginView.cpp:
1095         (WebCore::PluginView::getValue):
1096         * rendering/RenderEmbeddedObject.cpp:
1097         (WebCore::RenderEmbeddedObject::paintContents):
1098         (WebCore::RenderEmbeddedObject::handleUnavailablePluginIndicatorEvent):
1099         * rendering/RenderLayer.cpp:
1100         (WebCore::RenderLayer::name):
1101         * rendering/RenderMedia.cpp:
1102         (WebCore::RenderMedia::mediaElement):
1103         * rendering/RenderSearchField.cpp:
1104         (WebCore::RenderSearchField::autosaveName):
1105         * rendering/RenderTextControl.cpp:
1106         (WebCore::RenderTextControl::textFormControlElement):
1107         (WebCore::updateUserModifyProperty):
1108         * rendering/mathml/RenderMathMLFenced.cpp:
1109         (WebCore::RenderMathMLFenced::updateFromElement):
1110         * rendering/mathml/RenderMathMLFraction.cpp:
1111         (WebCore::RenderMathMLFraction::updateFromElement):
1112         * xml/parser/XMLDocumentParserLibxml2.cpp:
1113         (WebCore::XMLDocumentParser::XMLDocumentParser):
1114         (WebCore::XMLDocumentParser::endElementNs):
1115
1116 2013-03-11  Philip Rogers  <pdr@google.com>
1117
1118         Replace static_casts for SVGSVGElement and SVGStopElement
1119         https://bugs.webkit.org/show_bug.cgi?id=111651
1120
1121         Reviewed by Stephen Chenney.
1122
1123         toSVGSVGElement and toSVGStopElement are preferred over static_casts because bad casts
1124         can be caught on our testing infrastructure. This patches replaces all static_casts for
1125         SVGSVGElement and SVGStopElement with toSVGSVGElement and toSVGStopElement, respectively.
1126
1127         Additionaly, this patch renames SVGElement::isSVG to SVGElement::isSVGSVGElement to
1128         remove ambiguity for callers who may confuse this with isSVGElement.
1129
1130         No new tests as this is covered with existing tests.
1131
1132         * rendering/svg/RenderSVGRoot.cpp:
1133         (WebCore::RenderSVGRoot::computeIntrinsicRatioInformation):
1134         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
1135         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
1136         (WebCore::RenderSVGRoot::layout):
1137         (WebCore::RenderSVGRoot::buildLocalToBorderBoxTransform):
1138         (WebCore::RenderSVGRoot::hasRelativeDimensions):
1139         (WebCore::RenderSVGRoot::hasRelativeIntrinsicLogicalWidth):
1140         (WebCore::RenderSVGRoot::hasRelativeLogicalHeight):
1141         * rendering/svg/RenderSVGViewportContainer.cpp:
1142         (WebCore::RenderSVGViewportContainer::determineIfLayoutSizeChanged):
1143         (WebCore::RenderSVGViewportContainer::calcViewport):
1144         (WebCore::RenderSVGViewportContainer::viewportTransform):
1145         * svg/SVGDocument.cpp:
1146         (WebCore::SVGDocument::rootElement):
1147         (WebCore::SVGDocument::childShouldCreateRenderer):
1148         * svg/SVGElement.cpp:
1149         (WebCore::SVGElement::ownerSVGElement):
1150         * svg/SVGElement.h:
1151         (WebCore::SVGElement::isSVGSVGElement):
1152         * svg/SVGGradientElement.cpp:
1153         (WebCore::SVGGradientElement::buildStops):
1154         * svg/SVGLengthContext.cpp:
1155         (WebCore::SVGLengthContext::determineViewport):
1156         * svg/SVGSVGElement.h:
1157         (WebCore):
1158         (WebCore::toSVGSVGElement):
1159         * svg/SVGStopElement.h:
1160         (WebCore::toSVGStopElement):
1161         (WebCore):
1162
1163 2013-03-11  Tony Chang  <tony@chromium.org>
1164
1165         Small code cleanup in RenderFlexibleBox
1166         https://bugs.webkit.org/show_bug.cgi?id=112076
1167
1168         Reviewed by Ojan Vafai.
1169
1170         No new tests, this is a refactor and existing tests in css3/flexbox should pass.
1171
1172         * rendering/RenderFlexibleBox.cpp:
1173         (WebCore::RenderFlexibleBox::layoutBlock): Remove unused param from repositionLogicalHeightDependentFlexItems.
1174         (WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems): Remove unused param from repositionLogicalHeightDependentFlexItems.
1175         The clientLogicalBottom can't have changed in this time (the only thing we've done is align children).
1176         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): Just call layout() if we marked the flexitem as needing layout.
1177         (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild): Just call layout() if we marked the flexitem as needing layout.
1178         * rendering/RenderFlexibleBox.h:
1179         (RenderFlexibleBox): Remove unused param from repositionLogicalHeightDependentFlexItems.
1180
1181 2013-03-11  Jochen Eisinger  <jochen@chromium.org>
1182
1183         Rename DefinitelyProcessingUserGesture to DefinitelyProcessingNewUserGesture
1184         https://bugs.webkit.org/show_bug.cgi?id=111959
1185
1186         Reviewed by Alexey Proskuryakov.
1187
1188         The rationale is that the UserGestureIndicator will increase the number
1189         of consumable user gestures when it's invoked with what is now
1190         DefinitelyProcessingNewUserGesture.
1191
1192         In a follow-up change I will reintroduce DefinitelyProcessingUserGesture
1193         which will only increase the consumable user gesture count if we are
1194         not already processing a user gesture.
1195
1196         No new tests, no change in functionality.
1197
1198         * accessibility/AccessibilityNodeObject.cpp:
1199         (WebCore::AccessibilityNodeObject::increment):
1200         (WebCore::AccessibilityNodeObject::decrement):
1201         * accessibility/AccessibilityObject.cpp:
1202         (WebCore::AccessibilityObject::press):
1203         * bindings/ScriptControllerBase.cpp:
1204         (WebCore::ScriptController::executeScript):
1205         * bindings/js/ScriptController.cpp:
1206         (WebCore::ScriptController::executeScriptInWorld):
1207         * bindings/v8/NPV8Object.cpp:
1208         (_NPN_EvaluateHelper):
1209         * dom/UserGestureIndicator.cpp:
1210         (WebCore::isDefinite):
1211         (WebCore::UserGestureIndicator::UserGestureIndicator):
1212         (WebCore::UserGestureIndicator::processingUserGesture):
1213         * dom/UserGestureIndicator.h:
1214         * inspector/InspectorFrontendClientLocal.cpp:
1215         (WebCore::InspectorFrontendClientLocal::openInNewTab):
1216         * inspector/InspectorFrontendHost.cpp:
1217         (WebCore::FrontendMenuProvider::contextMenuItemSelected):
1218         * inspector/InspectorPageAgent.cpp:
1219         (WebCore::InspectorPageAgent::navigate):
1220         * loader/NavigationScheduler.cpp:
1221         (WebCore::ScheduledURLNavigation::fire):
1222         (WebCore::ScheduledURLNavigation::didStartTimer):
1223         (WebCore::ScheduledRedirect::fire):
1224         (WebCore::ScheduledRefresh::fire):
1225         (WebCore::ScheduledHistoryNavigation::fire):
1226         (WebCore::ScheduledFormSubmission::fire):
1227         (WebCore::ScheduledFormSubmission::didStartTimer):
1228         * page/EventHandler.cpp:
1229         (WebCore::EventHandler::handleMousePressEvent):
1230         (WebCore::EventHandler::handleMouseDoubleClickEvent):
1231         (WebCore::EventHandler::handleMouseReleaseEvent):
1232         (WebCore::EventHandler::keyEvent):
1233         (WebCore::EventHandler::handleTouchEvent):
1234         * platform/chromium/PopupContainer.cpp:
1235         (WebCore::PopupContainer::handleMouseDownEvent):
1236         (WebCore::PopupContainer::handleMouseMoveEvent):
1237         (WebCore::PopupContainer::handleMouseReleaseEvent):
1238         (WebCore::PopupContainer::handleWheelEvent):
1239         (WebCore::PopupContainer::handleKeyEvent):
1240
1241 2013-03-11  Yuki Sekiguchi  <yuki.sekiguchi@access-company.com>
1242
1243         Ruby text is incorrectly positioned when its writing-mode is changed to vertical after layout is done
1244         https://bugs.webkit.org/show_bug.cgi?id=96592
1245
1246         Reviewed by Hajime Morrita.
1247
1248         Fixed logical left of RenderRubyText is not cleared.
1249
1250         This causes trouble when RenderRubyTest is laid out vertically after horizontally.
1251         Horizontal layout set logical top(== y).
1252         Vertical layout don't set logical left(== y).
1253         RenderRubyText::y remain old one.
1254         We clear old RenderRubyText::y at the first part of layout().
1255
1256         Test: fast/writing-mode/ruby-text-logical-left.html
1257
1258         * rendering/RenderRubyRun.cpp:
1259         (WebCore::RenderRubyRun::layout): Reset logicalLeft not to reuse old one.
1260
1261 2013-03-11  Lamarque V. Souza  <Lamarque.Souza@basyskom.com>
1262
1263         [css3-text] Add partial parsing support for text-underline-position property from CSS3 Text
1264         https://bugs.webkit.org/show_bug.cgi?id=102491
1265
1266         Reviewed by Julien Chaffraix.
1267
1268         This patch extends the existing parsing to support 'auto', 'alphabetic' and 'under'. We don't fully match
1269         the specification as we don't support [ left | right ] and this is left for another implementation
1270         as the rendering will need to be added.
1271
1272         Test: fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-underline-position.html
1273
1274         * css/CSSComputedStyleDeclaration.cpp:
1275         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1276         * css/CSSParser.cpp:
1277         (WebCore::CSSParser::parseValue):
1278         (WebCore::CSSParser::parseTextUnderlinePosition):
1279         * css/CSSParser.h:
1280         * css/CSSPrimitiveValueMappings.h:
1281         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1282         (WebCore::CSSPrimitiveValue::operator TextUnderlinePosition):
1283         * css/CSSProperty.cpp:
1284         (WebCore::CSSProperty::isInheritedProperty):
1285         Added parsing-related checks for text-underline-position property.
1286         * css/CSSPropertyNames.in: Added '-webkit-underline-position' property.
1287         * css/CSSValueKeywords.in:
1288         * css/SVGCSSValueKeywords.in:
1289         * css/StyleBuilder.cpp:
1290         (ApplyPropertyTextUnderlinePosition):
1291         (WebCore::ApplyPropertyTextUnderlinePosition::applyValue):
1292         (WebCore::ApplyPropertyTextUnderlinePosition::createHandler):
1293         (WebCore::StyleBuilder::StyleBuilder):
1294         Set property handler for text-underline-position.
1295         * css/StyleResolver.cpp:
1296         (WebCore::StyleResolver::applyProperty):
1297         * rendering/style/RenderStyle.h:
1298         * rendering/style/RenderStyleConstants.h:
1299         * rendering/style/StyleRareInheritedData.cpp:
1300         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1301         (WebCore::StyleRareInheritedData::operator==):
1302         Added support for m_textUnderlinePosition on copy constructor and operator
1303         assignment functions.
1304         * rendering/style/StyleRareInheritedData.h:
1305         (StyleRareInheritedData): Added m_textUnderlinePosition here as it won't be used regularly.
1306
1307 2013-03-11  Christian Biesinger  <cbiesinger@chromium.org>
1308
1309         Hit testing should use ancestorInThisScope to get the non-shadow ancestor
1310         https://bugs.webkit.org/show_bug.cgi?id=112068
1311
1312         Reviewed by Dimitri Glazkov.
1313
1314         Tests: media/nodesFromRect-shadowContent.html
1315
1316         * rendering/HitTestResult.cpp:
1317         (WebCore::HitTestResult::setToNonShadowAncestor):
1318         (WebCore::HitTestResult::addNodeToRectBasedTestResult):
1319         Use ancestorInThisScope which is not deprecated and which produces
1320         correct results for nested shadow trees (e.g. in case of <video>,
1321         which contains <input> elements for the controls, which themselves
1322         have shadow trees)
1323
1324 2013-03-11  Abhishek Arya  <inferno@chromium.org>
1325
1326         Replace static_cast with to* helper functions.
1327         https://bugs.webkit.org/show_bug.cgi?id=112045
1328
1329         Reviewed by Eric Seidel.
1330
1331         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
1332         (WebCore::V8HTMLOptionsCollection::removeMethodCustom):
1333         (WebCore::V8HTMLOptionsCollection::indexedPropertySetter):
1334         * bindings/v8/custom/V8NamedNodesCollection.cpp:
1335         (WebCore::V8NamedNodesCollection::namedItem):
1336         * bindings/v8/custom/V8NodeCustom.cpp:
1337         (WebCore::wrap):
1338         * editing/BreakBlockquoteCommand.cpp:
1339         (WebCore::BreakBlockquoteCommand::doApply):
1340         * editing/CompositeEditCommand.cpp:
1341         (WebCore::CompositeEditCommand::insertNodeAt):
1342         (WebCore::CompositeEditCommand::pushAnchorElementDown):
1343         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
1344         (WebCore::CompositeEditCommand::splitTreeToNode):
1345         * editing/InsertParagraphSeparatorCommand.cpp:
1346         (WebCore::InsertParagraphSeparatorCommand::doApply):
1347         * loader/archive/cf/LegacyWebArchive.cpp:
1348         (WebCore::LegacyWebArchive::create):
1349         * platform/chromium/PasteboardChromium.cpp:
1350         (WebCore::Pasteboard::writeImage):
1351         * platform/mac/HTMLConverter.mm:
1352         (+[WebHTMLConverter editingAttributedStringFromRange:]):
1353         * rendering/RenderLayerBacking.cpp:
1354         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
1355         * rendering/RenderLayerCompositor.cpp:
1356         (WebCore::RenderLayerCompositor::frameContentsCompositor):
1357         (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
1358         * rendering/RenderSnapshottedPlugIn.cpp:
1359         (WebCore::RenderSnapshottedPlugIn::plugInImageElement):
1360         * rendering/mathml/RenderMathMLOperator.cpp:
1361         (WebCore::RenderMathMLOperator::updateFromElement):
1362         * rendering/svg/RenderSVGResourceContainer.cpp:
1363         (WebCore::RenderSVGResourceContainer::idChanged):
1364
1365 2013-03-11  James Robinson  <jamesr@chromium.org>
1366
1367         [chromium] Use SkMatrix44 instead of WebTransformationMatrix in animation APIs
1368         https://bugs.webkit.org/show_bug.cgi?id=111791
1369
1370         Reviewed by Adrienne Walker.
1371
1372         Adds a new utility function to convert a TransformationMatrix to an SkMatrix44 and
1373         uses it in AnimationTranslationUtil and GraphicsLayerChromium.
1374
1375         * WebCore.gypi:
1376         * platform/chromium/support/WebTransformationMatrix.cpp:
1377         (WebKit::WebTransformationMatrix::WebTransformationMatrix):
1378         * platform/graphics/chromium/AnimationTranslationUtil.cpp:
1379         (WebCore::toWebTransformOperations):
1380         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1381         (WebCore::GraphicsLayerChromium::updateTransform):
1382         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
1383         * platform/graphics/chromium/TransformSkMatrix44Conversions.cpp:
1384         (WebCore::TransformSkMatrix44Conversions::convert):
1385         * platform/graphics/chromium/TransformSkMatrix44Conversions.h:
1386         (TransformSkMatrix44Conversions):
1387
1388 2013-03-11  Sheriff Bot  <webkit.review.bot@gmail.com>
1389
1390         Unreviewed, rolling out r145435.
1391         http://trac.webkit.org/changeset/145435
1392         https://bugs.webkit.org/show_bug.cgi?id=112082
1393
1394         Still does not compile (Requested by jamesr on #webkit).
1395
1396         * Modules/indexeddb/IDBBackingStore.cpp:
1397         (WebCore::IDBBackingStore::getObjectStores):
1398         (WebCore::IDBBackingStore::createObjectStore):
1399         (WebCore::IDBBackingStore::deleteObjectStore):
1400         (WebCore::IDBBackingStore::getRecord):
1401         (WebCore::IDBBackingStore::putRecord):
1402         (WebCore::IDBBackingStore::clearObjectStore):
1403         (WebCore::IDBBackingStore::deleteRecord):
1404         (WebCore::IDBBackingStore::getKeyGeneratorCurrentNumber):
1405         (WebCore::IDBBackingStore::maybeUpdateKeyGeneratorCurrentNumber):
1406         (WebCore::IDBBackingStore::keyExistsInObjectStore):
1407         (WebCore::IDBBackingStore::getIndexes):
1408         (WebCore::IDBBackingStore::createIndex):
1409         (WebCore::IDBBackingStore::deleteIndex):
1410         (WebCore::IDBBackingStore::putIndexDataForRecord):
1411         (WebCore::IDBBackingStore::findKeyInIndex):
1412         (WebCore::IDBBackingStore::getPrimaryKeyViaIndex):
1413         (WebCore::IDBBackingStore::keyExistsInIndex):
1414         (WebCore::indexCursorOptions):
1415         * Modules/indexeddb/IDBBackingStore.h:
1416         (IDBBackingStore):
1417         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1418         (WebCore::DeleteIndexOperation::create):
1419         (WebCore::DeleteIndexOperation::DeleteIndexOperation):
1420         (DeleteIndexOperation):
1421         (WebCore::IDBDatabaseBackendImpl::openInternal):
1422         (WebCore::IDBDatabaseBackendImpl::deleteIndex):
1423         (WebCore::DeleteIndexOperation::perform):
1424         (WebCore::DeleteRangeOperation::perform):
1425         (WebCore::ClearOperation::perform):
1426         * Modules/indexeddb/IDBLevelDBCoding.cpp:
1427         (WebCore::IDBLevelDBCoding::KeyPrefix::KeyPrefix):
1428         (WebCore::IDBLevelDBCoding::KeyPrefix::encode):
1429         (WebCore::IDBLevelDBCoding::SchemaVersionKey::encode):
1430         (WebCore::IDBLevelDBCoding::MaxDatabaseIdKey::encode):
1431         (WebCore::IDBLevelDBCoding::DataVersionKey::encode):
1432         (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::encode):
1433         (WebCore::IDBLevelDBCoding::DatabaseNameKey::encode):
1434         (WebCore::IDBLevelDBCoding::DatabaseMetaDataKey::encode):
1435         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encode):
1436         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::encode):
1437         (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::encode):
1438         (WebCore::IDBLevelDBCoding::IndexFreeListKey::encode):
1439         (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::encode):
1440         (WebCore::IDBLevelDBCoding::IndexNamesKey::encode):
1441         (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::encode):
1442         (WebCore::IDBLevelDBCoding::ExistsEntryKey::encode):
1443         * Modules/indexeddb/IDBLevelDBCoding.h:
1444         (IDBLevelDBCoding):
1445         (KeyPrefix):
1446         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
1447         (WebCore::IDBObjectStoreBackendImpl::IndexWriter::writeIndexKeys):
1448
1449 2013-03-11  Alec Flett  <alecflett@chromium.org>
1450
1451         IndexedDB: Protect against key prefix overflows
1452         https://bugs.webkit.org/show_bug.cgi?id=111138
1453
1454         Reviewed by Tony Chang.
1455
1456         This reworks the boundary checking for all databaseId,
1457         objectStoreId, and indexId, including negative and
1458         zero-based ids. All entrypoints into IDBLevelDBCoding
1459         are protected with explicit checks and all internal
1460         uses of KeyPrefix are protected with ASSERTs in the
1461         various constructors.
1462
1463         Tests: WebKit unit tests IDBBackingStoreTest.cpp in WebKit/chromium
1464
1465         * Modules/indexeddb/IDBBackingStore.h: Make all public methods boolean-based for errors.
1466         * Modules/indexeddb/IDBLevelDBCoding.h: Add methods for checking databaseId, objectStoreId, and indexId.
1467
1468 2013-03-11  Philip Rogers  <pdr@google.com>
1469
1470         Replace static_cast<SVGStyledElement> with toSVGStyledElement()
1471         https://bugs.webkit.org/show_bug.cgi?id=111651
1472
1473         Reviewed by Abhishek Arya.
1474
1475         toSVGStyledElement is preferred over static_cast<SVGStyledElement*> because bad casts
1476         can be caught on our testing infrastructure. This patch replaces all
1477         static_cast<SVGStyledElement> instances with toSVGStyledElement.
1478
1479         Additionally, this patch renames SVGElement::isStyled to SVGElement::isSVGStyledElement to
1480         remove a confusing overlap with html styled elements. This name differs slighly from the
1481         other is*() functions in SVGElement but this will be resolved up with webkit.org/b/107386.
1482
1483         No new tests as this is covered with existing tests.
1484
1485         * rendering/svg/RenderSVGModelObject.cpp:
1486         (WebCore::getElementCTM):
1487         * rendering/svg/RenderSVGResourceClipper.cpp:
1488         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
1489         (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
1490         (WebCore::RenderSVGResourceClipper::hitTestClipContent):
1491         * rendering/svg/RenderSVGResourceMasker.cpp:
1492         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
1493         (WebCore::RenderSVGResourceMasker::calculateMaskContentRepaintRect):
1494         * rendering/svg/RenderSVGResourcePattern.cpp:
1495         (WebCore::RenderSVGResourcePattern::createTileImage):
1496         * rendering/svg/SVGRenderSupport.cpp:
1497         (WebCore::SVGRenderSupport::layoutChildren):
1498         * rendering/svg/SVGResources.cpp:
1499         (WebCore::registerPendingResource):
1500         * svg/SVGAnimationElement.cpp:
1501         (WebCore::SVGAnimationElement::isTargetAttributeCSSProperty):
1502         (WebCore::SVGAnimationElement::computeCSSPropertyValue):
1503         (WebCore::SVGAnimationElement::adjustForInheritance):
1504         (WebCore::inheritsFromProperty):
1505         * svg/SVGElement.cpp:
1506         (WebCore::collectInstancesForSVGElement):
1507         (WebCore::SVGElement::isAnimatableAttribute):
1508         * svg/SVGElement.h:
1509         (WebCore::SVGElement::isSVGStyledElement):
1510         * svg/SVGElementInstance.cpp:
1511         (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
1512         (WebCore::SVGElementInstance::InstanceUpdateBlocker::InstanceUpdateBlocker):
1513         * svg/SVGLocatable.cpp:
1514         (WebCore::SVGLocatable::computeCTM):
1515         * svg/SVGStyledElement.cpp:
1516         (WebCore::SVGStyledElement::updateRelativeLengthsInformation):
1517         * svg/SVGStyledElement.h:
1518         (WebCore::SVGStyledElement::isSVGStyledElement):
1519         * svg/SVGUseElement.cpp:
1520         (WebCore::SVGUseElement::selfHasRelativeLengths):
1521         * svg/graphics/filters/SVGFEImage.cpp:
1522         (WebCore::FEImage::platformApplySoftware):
1523
1524 2013-03-11  Tim Horton  <timothy_horton@apple.com>
1525
1526         PDFPlugin: Make scrolling between pages in non-continuous modes work
1527         https://bugs.webkit.org/show_bug.cgi?id=111415
1528         <rdar://problem/12555320>
1529
1530         Reviewed by Alexey Proskuryakov.
1531
1532         * WebCore.exp.in: Export ScrollableArea::scrollToOffsetWithoutAnimation.
1533
1534 2013-03-11  Mark Lam  <mark.lam@apple.com>
1535
1536         Remove the use of the quotaMap cache in DatabaseTracker.
1537         https://bugs.webkit.org/show_bug.cgi?id=111805.
1538
1539         Reviewed by Geoffrey Garen.
1540
1541         This change is needed because using the quotaMap cache can result in
1542         an inaccurate read (in a multi-process system) on what database files
1543         are actually present on the filesystem. Instead of using the quotaMap
1544         cache, we rely on the tracker database and query it every time we need
1545         the origin/quota information.
1546
1547         No new tests.
1548
1549         * Modules/webdatabase/DatabaseTracker.cpp:
1550         (WebCore::DatabaseTracker::hasAdequateQuotaForOrigin):
1551         (WebCore::DatabaseTracker::hasEntryForOriginNoLock):
1552         (WebCore::DatabaseTracker::origins):
1553         (WebCore::DatabaseTracker::quotaForOriginNoLock):
1554         (WebCore::DatabaseTracker::setQuota):
1555         (WebCore::DatabaseTracker::addDatabase):
1556         (WebCore::DatabaseTracker::deleteOrigin):
1557         * Modules/webdatabase/DatabaseTracker.h:
1558
1559 2013-03-11  Morten Stenshorne  <mstensho@opera.com>
1560
1561         Don't rely on the fact that StaticPosition happens to be defined as 0
1562         https://bugs.webkit.org/show_bug.cgi?id=110123
1563
1564         Also made the expression slightly less convoluted.
1565
1566         Reviewed by Alexey Proskuryakov.
1567
1568         No new tests. This is just code cleanup.
1569
1570         * rendering/RenderObject.cpp:
1571         (WebCore::RenderObject::containingBlock):
1572
1573 2013-03-11  Adam Barth  <abarth@webkit.org>
1574
1575         Unreviewed attempt to fix build after http://trac.webkit.org/changeset/145421.
1576
1577         * html/HTMLPlugInImageElement.cpp:
1578
1579 2013-03-05  Ojan Vafai  <ojan@chromium.org>
1580
1581         Intrinsic width keyword values don't work for tables
1582         https://bugs.webkit.org/show_bug.cgi?id=111515
1583
1584         Reviewed by Julien Chaffraix.
1585
1586         Tests: fast/css-intrinsic-dimensions/css-tables.html
1587                fast/css-intrinsic-dimensions/tables.html
1588
1589         * rendering/RenderBox.cpp:
1590         (WebCore::RenderBox::computeIntrinsicLogicalWidthUsing):
1591         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
1592         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
1593         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
1594         * rendering/RenderBox.h:
1595         Pass in the border and padding as an argument since RenderTable needs
1596         to pass in a different value. Unfortunately, the math doesn't work out right
1597         in the positioned/replaced cases if we just pass 0. We need to pass in the correct
1598         border and padding and then subtract it from the result.
1599
1600         * rendering/RenderTable.cpp:
1601         (WebCore::RenderTable::updateLogicalWidth):
1602         Compute intrinsic widths as well as specified ones. Down the road
1603         we may want to consider having intrinsic width values return true for
1604         isSpecified.
1605
1606         (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
1607         Compute intrinsic widths as well.
1608
1609         (WebCore::RenderTable::computeIntrinsicLogicalWidths):
1610         Implement this method so that the RenderBox::computeIntrinsicLogicalWidthUsing
1611         gets the right intrinsic values instead of the preferred values.
1612
1613         (WebCore::RenderTable::computePreferredLogicalWidths):
1614         * rendering/RenderTable.h:
1615
1616 2013-03-11  Stephen Chenney  <schenney@chromium.org>
1617
1618         HTMLInputElement can delete an ImageLoader while it's still needed
1619         https://bugs.webkit.org/show_bug.cgi?id=110621
1620
1621         Reviewed by Darin Adler.
1622
1623         ImageLoader objects may fire events for HTMLInputElements that are of
1624         type ImageInputType that own the loader. These events may cause script
1625         to run that changes the type of the input element and hence causes the
1626         ImageLoader to be deleted, while the image loader is still processing
1627         the event dispatch. Bad things ensue.
1628
1629         This change moves ownership of the ImageLoader from the ImageInputType
1630         onto the HTMLImageElement which is already protected from deletion during
1631         event processing.
1632
1633         Test: fast/forms/image/image-error-event-modifies-type-crash.html
1634
1635         * html/HTMLInputElement.cpp:
1636         (WebCore::HTMLInputElement::imageLoader): Method to return the
1637           ImageLoader, creating it if not already created.
1638         * html/HTMLInputElement.h:
1639         (WebCore::HTMLInputElement::hasImageLoader): Return true if the
1640           ImageLoader has been created.
1641         (HTMLInputElement): Define ImageLoader access methods and the OwnPtr
1642           for the HTMLImageLoader.
1643         * html/ImageInputType.cpp:
1644         (WebCore::ImageInputType::srcAttributeChanged): Use the element's ImageLoader.
1645         (WebCore::ImageInputType::attach): Use the element's ImageLoader.
1646         (WebCore::ImageInputType::willMoveToNewOwnerDocument): Use the element's ImageLoader.
1647         (WebCore::ImageInputType::height): Use the element's ImageLoader.
1648         (WebCore::ImageInputType::width): Use the element's ImageLoader.
1649         * html/ImageInputType.h:
1650         (ImageInputType): Remove the declaration of the ImageLoader.
1651
1652 2013-03-11  Alok Priyadarshi  <alokp@chromium.org>
1653
1654         Revert "Mark GraphicsLayers as opaque when possible"
1655
1656         This reverts commit 0a4d3c2d8a0373aa9e5bd9209885137a13a7f0e0.
1657
1658         REGRESSION (r143626): http://chainlove.com shows garbage tiles on Mac
1659         https://bugs.webkit.org/show_bug.cgi?id=112043
1660
1661         Unreviewed, rolling out r143626.
1662
1663         * rendering/RenderBox.cpp:
1664         * rendering/RenderBox.h:
1665         (RenderBox):
1666         * rendering/RenderBoxModelObject.h:
1667         (RenderBoxModelObject):
1668         * rendering/RenderLayer.cpp:
1669         * rendering/RenderLayer.h:
1670         (RenderLayer):
1671         * rendering/RenderLayerBacking.cpp:
1672         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1673         * rendering/RenderLayerModelObject.h:
1674         (RenderLayerModelObject):
1675
1676 2013-03-11  Dean Jackson  <dino@apple.com>
1677
1678         Plugins created during user gestures (or soon after) should not be snapshotted
1679         https://bugs.webkit.org/show_bug.cgi?id=111975
1680
1681         Reviewed by Tim Horton.
1682
1683         There are sites which create plugins in response to user actions, such as clicking
1684         on an image that is acting like a poster frame. In those cases we should never snapshot.
1685
1686         There are some other sites which also create plugins in response to user actions,
1687         but don't necessarily create the content themselves. Instead they run some script
1688         that injects an iframe, and the frame loads a plugin. In order to make sure we don't
1689         snapshot in those cases, we're adding the concept of a blessed plugin. Anything that
1690         is created soon after a *handled* user gesture is not snapshotted. To do this we
1691         mark a timestamp in the document when we've called an event listener for a user
1692         gesture. The plugin element then compares its creation time with the most recent
1693         user action time.
1694
1695         * dom/Document.cpp:
1696         (WebCore::Document::Document): Initialise new timestamp.
1697         (WebCore::Document::resetLastHandledUserGestureTimestamp): Sets the member variable
1698             to the current time.
1699         * dom/Document.h:
1700         (WebCore::Document::lastHandledUserGestureTimestamp): Getter.
1701
1702         * dom/EventTarget.cpp:
1703         (WebCore::EventTarget::fireEventListeners): If there were some event listeners and
1704             we were processing a user gesture, then reset the timestamp in the document.
1705
1706         * html/HTMLPlugInImageElement.cpp:
1707         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Remember if we were created
1708             during a user gesture.
1709         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Start the plugin
1710             if we were created during a user gesture, or if we are close enough in time
1711             to a listener that fired in relation to a user gesture.
1712         * html/HTMLPlugInImageElement.h: New private member flag indicating if we were
1713             in a user gesture when constructed.
1714
1715 2013-03-11  Jeffrey Pfau  <jpfau@apple.com>
1716
1717         List cache partitions as units instead of as their contents
1718         https://bugs.webkit.org/show_bug.cgi?id=111909
1719
1720         Reviewed by Maciej Stachowiak.
1721
1722         Not possible to test with current automated test tools, must be tested manually.
1723
1724         * loader/cache/MemoryCache.cpp:
1725         (WebCore::MemoryCache::getOriginsWithCache): List a cache item as a member of a partition, if possible
1726
1727 2013-03-11  Alexey Proskuryakov  <ap@apple.com>
1728
1729         Chromium build fix. Forked files strike again.
1730
1731         * platform/network/chromium/ResourceHandle.cpp:
1732         (WebCore::ResourceHandle::firstRequest):
1733
1734 2013-03-11  James Robinson  <jamesr@chromium.org>
1735
1736         Fix typo from r145399. Rubber stamped by Abhishek Arya.
1737
1738         * rendering/svg/RenderSVGViewportContainer.h:
1739         (WebCore::toRenderSVGViewportContainer):
1740
1741 2013-03-11  Hans Muller  <hmuller@adobe.com>
1742
1743         [CSS Exclusions] Refactor the ExclusionPolygon class to enable storing multiple boundaries
1744         https://bugs.webkit.org/show_bug.cgi?id=111766
1745
1746         Reviewed by Dirk Schulze.
1747
1748         Refactored the ExclusionPolygon class to enable adding support for shape-margin and shape-padding.
1749         Extracted a new FloatPolygon class which is now used by ExclusionPolygon to represent the shape's
1750         boundary. It will be used to add m_paddedPolygon and m_marginPolygon members to ExclusionPolygon
1751         in a subsequent patch.
1752
1753         No new tests. This is strictly a refactoring of the existing code.
1754
1755         * CMakeLists.txt:
1756         * GNUmakefile.list.am:
1757         * WebCore.gypi:
1758         * WebCore.vcproj/WebCore.vcproj:
1759         * WebCore.xcodeproj/project.pbxproj:
1760         * platform/graphics/FloatPolygon.cpp: Factored out of Source/WebCore/rendering/ExclusionPolygon.cpp.
1761         (WebCore::determinant):
1762         (WebCore::areCollinearPoints):
1763         (WebCore::areCoincidentPoints):
1764         (WebCore::isPointOnLineSegment):
1765         (WebCore::nextVertexIndex):
1766         (WebCore::FloatPolygon::FloatPolygon):
1767         (WebCore::FloatPolygon::findNextEdgeVertexIndex):
1768         (WebCore::FloatPolygon::overlappingEdges):
1769         (WebCore::leftSide):
1770         (WebCore::FloatPolygon::contains):
1771         (WebCore::VertexPair::overlapsRect):
1772         (WebCore::VertexPair::intersection):
1773         * platform/graphics/FloatPolygon.h: Factored out of Source/WebCore/rendering/ExclusionPolygon.h.
1774         (FloatPolygon):
1775         (WebCore::FloatPolygon::vertexAt):
1776         (WebCore::FloatPolygon::numberOfVertices):
1777         (WebCore::FloatPolygon::fillRule):
1778         (WebCore::FloatPolygon::edgeAt):
1779         (WebCore::FloatPolygon::numberOfEdges):
1780         (WebCore::FloatPolygon::boundingBox):
1781         (WebCore::FloatPolygon::isEmpty):
1782         (VertexPair):
1783         (WebCore::VertexPair::~VertexPair):
1784         (WebCore::VertexPair::minX):
1785         (WebCore::VertexPair::minY):
1786         (WebCore::VertexPair::maxX):
1787         (WebCore::VertexPair::maxY):
1788         (FloatPolygonEdge):
1789         (WebCore::FloatPolygonEdge::previousEdge):
1790         (WebCore::FloatPolygonEdge::nextEdge):
1791         (WebCore::FloatPolygonEdge::polygon):
1792         (WebCore::FloatPolygonEdge::vertexIndex1):
1793         (WebCore::FloatPolygonEdge::vertexIndex2):
1794         (WebCore::FloatPolygonEdge::edgeIndex):
1795         * rendering/ExclusionPolygon.cpp: Now depends on FloatPolygon.
1796         (EdgeIntersection):
1797         (WebCore::leftSide):
1798         (WebCore::computeXIntersection):
1799         (WebCore::getVertexIntersectionVertices):
1800         (WebCore::computeXIntersections):
1801         (WebCore::computeOverlappingEdgeXProjections):
1802         (WebCore::ExclusionPolygon::getExcludedIntervals):
1803         (WebCore::ExclusionPolygon::getIncludedIntervals):
1804         (WebCore::firstFitRectInPolygon):
1805         (WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop):
1806         * rendering/ExclusionPolygon.h: Now depends on FloatPolygon.
1807         (WebCore::OffsetPolygonEdge::OffsetPolygonEdge):
1808         (ExclusionPolygon):
1809         (WebCore::ExclusionPolygon::ExclusionPolygon):
1810
1811 2013-03-11  Alexey Proskuryakov  <ap@apple.com>
1812
1813         Roll out part of r144671.
1814
1815         ResourceHandle::firstRequest() should not be const(), because it returns a
1816         non-const reference.        
1817
1818         * platform/network/ResourceHandle.cpp:
1819         (WebCore::ResourceHandle::firstRequest):
1820         * platform/network/ResourceHandle.h:
1821
1822 2013-01-30  Jer Noble  <jer.noble@apple.com>
1823
1824         Mac: Cmd-w should close full screen window.
1825         https://bugs.webkit.org/show_bug.cgi?id=108406
1826
1827         Reviewed by Darin Adler.
1828
1829         Pass performClose: requests on to the owning window controller.
1830
1831         * platform/mac/WebCoreFullScreenWindow.mm:
1832         (-[WebCoreFullScreenWindow performClose:]):
1833
1834 2013-03-11  Xiyuan Xia  <xiyuan@chromium.org>
1835
1836         [Chromium] chromium/linux breaks expectation of select popup background due to bad UA css rules
1837         https://bugs.webkit.org/show_bug.cgi?id=111873
1838
1839         Reviewed by Tony Chang.
1840
1841         On linux the default <select> background color is too dark to use as the
1842         popup background color.  Last fixes:
1843         https://bugs.webkit.org/show_bug.cgi?id=54115 and
1844         https://bugs.webkit.org/show_bug.cgi?id=56023
1845         attempt to fix the problem by applying a lighter background using
1846         special <option> selector. This breaks expectations of some websites.
1847
1848         This CL reverts the bad UA css rules above and provides the lighter
1849         background color if <select> and <option> elements are using the default
1850         background.
1851
1852         No new tests, this tests <select> popups and can be verified by ManualTests/select-scroll.html.
1853
1854         * css/themeChromiumLinux.css:
1855         (select):
1856         * platform/PopupMenuStyle.h:
1857         (WebCore::PopupMenuStyle::PopupMenuStyle):
1858         (WebCore::PopupMenuStyle::backgroundColorType):
1859         (PopupMenuStyle):
1860         * platform/chromium/PopupListBox.cpp:
1861         (WebCore::PopupListBox::paintRow):
1862         * rendering/RenderMenuList.cpp:
1863         (WebCore::RenderMenuList::itemStyle):
1864         (WebCore::RenderMenuList::getItemBackgroundColor):
1865         * rendering/RenderMenuList.h:
1866         (RenderMenuList):
1867         * rendering/RenderSearchField.cpp:
1868         (WebCore::RenderSearchField::menuStyle):
1869         * rendering/RenderThemeChromiumDefault.cpp:
1870         (WebCore::RenderThemeChromiumDefault::systemColor):
1871
1872 2013-03-11  James Robinson  <jamesr@chromium.org>
1873
1874         Compile fix. Rubber-stamp by Eric Seidel.
1875
1876         * html/shadow/MediaControlElements.cpp:
1877         (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
1878
1879 2013-03-11  Dima Gorbik  <dgorbik@apple.com>
1880
1881         Fix build for r145397 (part 2)
1882
1883         Unreviewed.
1884
1885         * html/track/TextTrackCue.cpp:
1886         (WebCore::TextTrackCue::getDisplayTree):
1887
1888 2013-03-11  Dima Gorbik  <dgorbik@apple.com>
1889
1890         Fix build for r145397
1891
1892         Unreviewed.
1893
1894         * html/shadow/MediaControls.cpp:
1895         (WebCore::MediaControls::createTextTrackDisplay):
1896         * html/shadow/MediaControlsChromium.cpp:
1897         (WebCore::MediaControlsChromium::createTextTrackDisplay):
1898         * html/shadow/MediaControlsGtk.cpp:
1899         (WebCore::MediaControlsGtk::createTextTrackDisplay):
1900
1901 2013-03-11  Abhishek Arya  <inferno@chromium.org>
1902
1903         Add ASSERT_WITH_SECURITY_IMPLICATION to catch bad casts.
1904         https://bugs.webkit.org/show_bug.cgi?id=112060
1905
1906         Reviewed by Eric Seidel.
1907
1908         * Modules/geolocation/Geolocation.cpp:
1909         (WebCore::Geolocation::document):
1910         * accessibility/AccessibilityMenuList.h:
1911         (WebCore::toAccessibilityMenuList):
1912         * accessibility/AccessibilityNodeObject.h:
1913         (WebCore::toAccessibilityNodeObject):
1914         * accessibility/AccessibilityRenderObject.h:
1915         (WebCore::toAccessibilityRenderObject):
1916         * accessibility/AccessibilitySVGRoot.h:
1917         (WebCore::toAccessibilitySVGRoot):
1918         * accessibility/AccessibilitySpinButton.h:
1919         (WebCore::toAccessibilitySpinButton):
1920         (WebCore::toAccessibilitySpinButtonPart):
1921         * accessibility/AccessibilityTable.h:
1922         (WebCore::toAccessibilityTable):
1923         * css/StyleRule.h:
1924         (WebCore::toStyleRuleMedia):
1925         (WebCore::toStyleRuleSupports):
1926         (WebCore::toStyleRuleRegion):
1927         * dom/EventContext.h:
1928         (WebCore::toTouchEventContext):
1929         * fileapi/File.h:
1930         (WebCore::toFile):
1931         * html/HTMLElement.cpp:
1932         (WebCore::HTMLElement::insertAdjacentElement):
1933         (WebCore::contextElementForInsertion):
1934         * html/HTMLMediaElement.h:
1935         (WebCore::toMediaElement):
1936         * html/HTMLMeterElement.h:
1937         (WebCore::toHTMLMeterElement):
1938         * html/HTMLOptionElement.cpp:
1939         (WebCore::toHTMLOptionElement):
1940         * html/HTMLProgressElement.cpp:
1941         (WebCore::HTMLProgressElement::renderProgress):
1942         * html/HTMLProgressElement.h:
1943         (WebCore::toHTMLProgressElement):
1944         * html/HTMLSelectElement.h:
1945         (WebCore::toHTMLSelectElement):
1946         * html/HTMLTableCellElement.cpp:
1947         (WebCore::toHTMLTableCellElement):
1948         * html/HTMLTextFormControlElement.h:
1949         (WebCore::toHTMLTextFormControlElement):
1950         * html/PluginDocument.h:
1951         (WebCore::toPluginDocument):
1952         * html/shadow/DetailsMarkerControl.cpp:
1953         (WebCore::DetailsMarkerControl::summaryElement):
1954         * html/shadow/HTMLContentElement.h:
1955         (WebCore::toHTMLContentElement):
1956         * html/shadow/HTMLShadowElement.h:
1957         (WebCore::toHTMLShadowElement):
1958         * html/shadow/TextFieldDecorationElement.cpp:
1959         (WebCore::TextFieldDecorationElement::hostInput):
1960         * page/DOMWindow.cpp:
1961         (WebCore::DOMWindow::document):
1962         * rendering/InlineTextBox.h:
1963         (WebCore::toInlineTextBox):
1964         * rendering/RenderHTMLCanvas.h:
1965         (WebCore::toRenderHTMLCanvas):
1966         * rendering/RenderScrollbar.h:
1967         (WebCore::toRenderScrollbar):
1968         * rendering/RenderTextFragment.h:
1969         (WebCore::toRenderTextFragment):
1970         * rendering/mathml/RenderMathMLOperator.h:
1971         (WebCore::toRenderMathMLOperator):
1972         * rendering/svg/RenderSVGTextPath.h:
1973         (WebCore::toRenderSVGTextPath):
1974         * rendering/svg/RenderSVGViewportContainer.h:
1975         (WebCore::toRenderSVGViewportContainer):
1976         * svg/graphics/SVGImageChromeClient.h:
1977         (WebCore::toSVGImageChromeClient):
1978
1979 2013-03-11  Adam Barth  <abarth@webkit.org>
1980
1981         Factor HTMLTreeBuilderSimulator out of BackgroundHTMLParser
1982         https://bugs.webkit.org/show_bug.cgi?id=112057
1983
1984         Reviewed by Eric Seidel.
1985
1986         Simulating the HTML tree builder is a separate concern from parsing on
1987         the background thread. We plan to re-use the tree builder simulator for
1988         the view-source parser, for example. Also, having the simulator as a
1989         separate object will make it easier to fix
1990         https://bugs.webkit.org/show_bug.cgi?id=109764.
1991
1992         * CMakeLists.txt:
1993         * GNUmakefile.list.am:
1994         * Target.pri:
1995         * WebCore.gypi:
1996         * WebCore.vcproj/WebCore.vcproj:
1997         * html/parser/BackgroundHTMLParser.cpp:
1998         (WebCore):
1999         (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
2000         (WebCore::BackgroundHTMLParser::pumpTokenizer):
2001         * html/parser/BackgroundHTMLParser.h:
2002         (BackgroundHTMLParser):
2003
2004 2013-02-26  Dima Gorbik  <dgorbik@apple.com>
2005
2006         Not all properties apply to the '::cue' pseudo-element
2007         https://bugs.webkit.org/show_bug.cgi?id=110705
2008
2009         Reviewed by Eric Carlson.
2010
2011         Background properties are not inherited and they were not applied to right elements.
2012         Now we apply all ::cue properties to WebVTT cue background box, which -webkit-media-text-track-all-nodes
2013         container was corresponding to. Now it has 'cue' pseudoId instead of '-webkit-media-text-track-all-nodes'.
2014         Property filtering is turned off for user agent rules so that we are still able to apply filtered rules
2015         to this container internally. m_cueContainer is removed because it is no longer needed.
2016         m_allDocumentNodes container was renamed to m_cueBackgroundBox.
2017
2018         Existing tests modified to cover this case.
2019
2020         * css/RuleSet.h:
2021         (WebCore::RuleData::propertyWhitelistType): disable filtering for UA rules.
2022         * css/StyleResolver.cpp:
2023         (WebCore::StyleResolver::sortAndTransferMatchedRules): pass the UA scope to propertyWhitelistType().
2024         * css/mediaControls.css: rename -webkit-media-text-track-all-nodes to 'cue'
2025         (video::cue): 
2026         * html/shadow/MediaControlElements.cpp:
2027         (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
2028         * html/shadow/MediaControlElements.h:
2029         (MediaControlTextTrackContainerElement):
2030         * html/shadow/MediaControls.cpp:
2031         (WebCore::MediaControls::createTextTrackDisplay):
2032         * html/shadow/MediaControlsChromium.cpp:
2033         (WebCore::MediaControlsChromium::createTextTrackDisplay):
2034         * html/shadow/MediaControlsGtk.cpp:
2035         (WebCore::MediaControlsGtk::createTextTrackDisplay):
2036         * html/track/TextTrackCue.cpp:
2037         (WebCore::TextTrackCue::TextTrackCue):
2038         (WebCore::TextTrackCue::updateDisplayTree):
2039         (WebCore::TextTrackCue::getDisplayTree):
2040         * html/track/TextTrackCue.h:
2041         (WebCore::TextTrackCue::element):
2042         * page/CaptionUserPreferencesMac.mm:
2043         (WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride):
2044
2045 2013-03-11  Tim Horton  <timothy_horton@apple.com>
2046
2047         ChromeClient.h doesn’t need to include RenderSnapshottedPlugIn
2048         https://bugs.webkit.org/show_bug.cgi?id=111981
2049
2050         Reviewed by Kentaro Hara.
2051
2052         * page/ChromeClient.h: Remove the extraneous #include.
2053
2054 2013-03-11  David Hyatt  <hyatt@apple.com>
2055
2056         Vertical writing doesn't work with form controls.
2057         https://bugs.webkit.org/show_bug.cgi?id=70211
2058
2059         Reviewed by Simon Fraser.
2060
2061         This is just some basic plumbing work to make textfields and
2062         textareas work with vertical writing modes. This patch leaves the
2063         html.css override alone, so authors can't enable vertical
2064         writing yet.
2065         
2066         The changes consist of converting uses of x/y/width/height to
2067         logicalLeft/Top/Width/Height.
2068       
2069         * rendering/RenderBoxModelObject.h:
2070         (WebCore::RenderBoxModelObject::paddingLogicalLeft):
2071         (WebCore::RenderBoxModelObject::paddingLogicalRight):
2072         (RenderBoxModelObject):
2073         (WebCore::RenderBoxModelObject::marginLogicalHeight):
2074         (WebCore::RenderBoxModelObject::marginLogicalWidth):
2075         * rendering/RenderSearchField.cpp:
2076         (WebCore::RenderSearchField::computeControlLogicalHeight):
2077         (WebCore::RenderSearchField::computeLogicalHeightLimit):
2078         (WebCore::RenderSearchField::centerContainerIfNeeded):
2079         * rendering/RenderSearchField.h:
2080         (RenderSearchField):
2081         * rendering/RenderTextControl.cpp:
2082         (WebCore::RenderTextControl::textBlockLogicalHeight):
2083         (WebCore::RenderTextControl::textBlockLogicalWidth):
2084         (WebCore::RenderTextControl::computeLogicalHeight):
2085         (WebCore::RenderTextControl::computeIntrinsicLogicalWidths):
2086         (WebCore::RenderTextControl::computePreferredLogicalWidths):
2087         * rendering/RenderTextControl.h:
2088         (RenderTextControl):
2089         * rendering/RenderTextControlMultiLine.cpp:
2090         (WebCore::RenderTextControlMultiLine::preferredContentLogicalWidth):
2091         (WebCore::RenderTextControlMultiLine::computeControlLogicalHeight):
2092         (WebCore::RenderTextControlMultiLine::layoutSpecialExcludedChild):
2093         * rendering/RenderTextControlMultiLine.h:
2094         (RenderTextControlMultiLine):
2095         * rendering/RenderTextControlSingleLine.cpp:
2096         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
2097         (WebCore::RenderTextControlSingleLine::paint):
2098         (WebCore::RenderTextControlSingleLine::computeLogicalHeightLimit):
2099         (WebCore::RenderTextControlSingleLine::layout):
2100         (WebCore::RenderTextControlSingleLine::styleDidChange):
2101         (WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth):
2102         (WebCore::RenderTextControlSingleLine::computeControlLogicalHeight):
2103         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
2104         * rendering/RenderTextControlSingleLine.h:
2105         (RenderTextControlSingleLine):
2106         * rendering/style/RenderStyle.h:
2107
2108 2013-03-11  Tim Horton  <timothy_horton@apple.com>
2109
2110         TiledBacking scrolling coverage can be unfairly limited for clients who do scrolling outside the web view
2111         https://bugs.webkit.org/show_bug.cgi?id=111958
2112         <rdar://problem/13356896>
2113
2114         Reviewed by Darin Adler.
2115
2116         Don't limit TiledBacking coverage if the client has opted into using
2117         its exposed rect to allow scrolling above the web view.
2118
2119         * platform/graphics/TiledBacking.h:
2120         * platform/graphics/ca/mac/TileController.h:
2121         * rendering/RenderLayerBacking.cpp:
2122         (WebCore::RenderLayerBacking::adjustTiledBackingCoverage):
2123
2124 2013-03-11  Rajeev Sarvaria  <rsarvaria@blackberry.com>
2125
2126         GetnUniform*vEXT (Robustness extension) passed incorrect parameter in WebGLRenderingContext
2127         https://bugs.webkit.org/show_bug.cgi?id=111450
2128
2129         Reviewed by Rob Buis.
2130
2131         Bufsize argument corrected to size in bytes instead of number of integers or floats.
2132
2133         * html/canvas/WebGLRenderingContext.cpp:
2134         (WebCore):
2135         (WebCore::WebGLRenderingContext::getUniform):
2136
2137 2013-03-11  Sheriff Bot  <webkit.review.bot@gmail.com>
2138
2139         Unreviewed, rolling out r145375.
2140         http://trac.webkit.org/changeset/145375
2141         https://bugs.webkit.org/show_bug.cgi?id=112050
2142
2143         Does not compile (Requested by jamesr on #webkit).
2144
2145         * Modules/indexeddb/IDBBackingStore.cpp:
2146         (WebCore::IDBBackingStore::getObjectStores):
2147         (WebCore::IDBBackingStore::createObjectStore):
2148         (WebCore::IDBBackingStore::deleteObjectStore):
2149         (WebCore::IDBBackingStore::getRecord):
2150         (WebCore::IDBBackingStore::putRecord):
2151         (WebCore::IDBBackingStore::clearObjectStore):
2152         (WebCore::IDBBackingStore::deleteRecord):
2153         (WebCore::IDBBackingStore::getKeyGeneratorCurrentNumber):
2154         (WebCore::IDBBackingStore::maybeUpdateKeyGeneratorCurrentNumber):
2155         (WebCore::IDBBackingStore::keyExistsInObjectStore):
2156         (WebCore::IDBBackingStore::getIndexes):
2157         (WebCore::IDBBackingStore::createIndex):
2158         (WebCore::IDBBackingStore::deleteIndex):
2159         (WebCore::IDBBackingStore::putIndexDataForRecord):
2160         (WebCore::IDBBackingStore::findKeyInIndex):
2161         (WebCore::IDBBackingStore::getPrimaryKeyViaIndex):
2162         (WebCore::IDBBackingStore::keyExistsInIndex):
2163         (WebCore::indexCursorOptions):
2164         * Modules/indexeddb/IDBBackingStore.h:
2165         (IDBBackingStore):
2166         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
2167         (WebCore::DeleteIndexOperation::create):
2168         (WebCore::DeleteIndexOperation::DeleteIndexOperation):
2169         (DeleteIndexOperation):
2170         (WebCore::IDBDatabaseBackendImpl::openInternal):
2171         (WebCore::IDBDatabaseBackendImpl::deleteIndex):
2172         (WebCore::DeleteIndexOperation::perform):
2173         (WebCore::DeleteRangeOperation::perform):
2174         (WebCore::ClearOperation::perform):
2175         * Modules/indexeddb/IDBLevelDBCoding.cpp:
2176         (WebCore::IDBLevelDBCoding::KeyPrefix::KeyPrefix):
2177         (WebCore::IDBLevelDBCoding::KeyPrefix::encode):
2178         (WebCore::IDBLevelDBCoding::SchemaVersionKey::encode):
2179         (WebCore::IDBLevelDBCoding::MaxDatabaseIdKey::encode):
2180         (WebCore::IDBLevelDBCoding::DataVersionKey::encode):
2181         (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::encode):
2182         (WebCore::IDBLevelDBCoding::DatabaseNameKey::encode):
2183         (WebCore::IDBLevelDBCoding::DatabaseMetaDataKey::encode):
2184         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encode):
2185         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::encode):
2186         (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::encode):
2187         (WebCore::IDBLevelDBCoding::IndexFreeListKey::encode):
2188         (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::encode):
2189         (WebCore::IDBLevelDBCoding::IndexNamesKey::encode):
2190         (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::encode):
2191         (WebCore::IDBLevelDBCoding::ExistsEntryKey::encode):
2192         * Modules/indexeddb/IDBLevelDBCoding.h:
2193         (IDBLevelDBCoding):
2194         (KeyPrefix):
2195         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
2196         (WebCore::IDBObjectStoreBackendImpl::IndexWriter::writeIndexKeys):
2197
2198 2013-03-11  Adam Klein  <adamk@chromium.org>
2199
2200         MutationCallback should be a WebIDL 'callback', not a [Callback] interface
2201         https://bugs.webkit.org/show_bug.cgi?id=91406
2202
2203         Reviewed by Adam Barth.
2204
2205         Spec: http://dom.spec.whatwg.org/#mutationcallback
2206
2207         Besides no longer calling handleEvent methods on passed-in objects,
2208         throw a TypeError if a non-function is passed to the MutationObserver constructor.
2209         This is per WebIDL: http://www.w3.org/TR/WebIDL/#es-callback-function
2210
2211         Updated MutationObserver constructor tests to exercise TypeError-throwing behavior.
2212
2213         * bindings/js/JSMutationCallback.cpp:
2214         (WebCore::JSMutationCallback::call): Call the callback directly instead of handing off to JSCallbackData; make return value void.
2215         Use jsArray() to convert from WTF::Vector -> JSArray.
2216         * bindings/js/JSMutationCallback.h:
2217         (JSMutationCallback): Rename handleEvent() to call(), make it void.
2218         * bindings/js/JSMutationObserverCustom.cpp:
2219         (WebCore::JSMutationObserverConstructor::constructJSMutationObserver): Throw if passed a non-function.
2220         * bindings/v8/V8MutationCallback.cpp:
2221         (WebCore::V8MutationCallback::V8MutationCallback): Take a v8::Function instead of a v8::Object.
2222         (WebCore::V8MutationCallback::call): Call the callback directly instead of handing off to invokeCallback(); make return value void.
2223         Use v8Array() to convert form WTF::Vector -> JSArray.
2224         * bindings/v8/V8MutationCallback.h:
2225         (WebCore::V8MutationCallback::create): Take a v8::Function instead of a v8::Object.
2226         (V8MutationCallback): ditto
2227         * bindings/v8/custom/V8MutationObserverCustom.cpp:
2228         (WebCore::V8MutationObserver::constructorCustom): Throw if passed a non-function, cast to a v8::Function when constructing callback.
2229         * dom/MutationCallback.h:
2230         (WebCore): Remove unnecessary typedef.
2231         (MutationCallback): Rename handleEvent() to call(), make it void.
2232         * dom/MutationObserver.cpp:
2233         (WebCore::MutationObserver::deliver): Update MutationCallback method name.
2234
2235 2013-03-11  Julien Chaffraix  <jchaffraix@webkit.org>
2236
2237         [CSS Grid Layout] Handle spanning grid items over specified grid tracks
2238         https://bugs.webkit.org/show_bug.cgi?id=111918
2239
2240         Reviewed by Tony Chang.
2241
2242         This change updates the containing block override logic to handle multiple
2243         spanned tracks. This makes the multiple specified grid tracks case work and
2244         will enable us to handle the minmax case once the computation logic has been
2245         updated.
2246
2247         Test: fast/css-grid-layout/grid-item-spanning-resolution.html
2248
2249         * rendering/RenderGrid.cpp:
2250         (WebCore::RenderGrid::logicalContentHeightForChild):
2251         (WebCore::RenderGrid::layoutGridItems):
2252         Updated these functions to use gridAreaBreadthForChild.
2253
2254         (WebCore::RenderGrid::gridAreaBreadthForChild):
2255         Added this helper function to handle multiple spanned grid tracks.
2256
2257         * rendering/RenderGrid.h: Added the previous function.
2258
2259 2013-03-11  Philip Rogers  <pdr@google.com>
2260
2261         Replace SVG's static_cast<SVGElement> with toSVGElement()
2262         https://bugs.webkit.org/show_bug.cgi?id=111651
2263
2264         Reviewed by Abhishek Arya.
2265
2266         toSVGElement is preferred over static_cast because bad casts can be caught on
2267         our testing infrastructure. This patch replaces all static_cast<SVGElement>
2268         instances with toSVGElement.
2269
2270         No new tests as this is just a refactoring.
2271
2272         * css/CSSCursorImageValue.cpp:
2273         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
2274         * css/StyleResolver.cpp:
2275         (WebCore::StyleResolver::matchAllRules):
2276         (WebCore::StyleResolver::locateCousinList):
2277         (WebCore::StyleResolver::canShareStyleWithElement):
2278         (WebCore::StyleResolver::locateSharedStyle):
2279         * dom/Element.cpp:
2280         (WebCore::Element::synchronizeAllAttributes):
2281         (WebCore::Element::synchronizeAttribute):
2282         * rendering/svg/RenderSVGModelObject.cpp:
2283         (WebCore::getElementCTM):
2284         (WebCore::RenderSVGModelObject::checkIntersection):
2285         (WebCore::RenderSVGModelObject::checkEnclosure):
2286         * rendering/svg/RenderSVGResource.cpp:
2287         (WebCore::removeFromCacheAndInvalidateDependencies):
2288         * rendering/svg/RenderSVGResourceClipper.cpp:
2289         (WebCore::RenderSVGResourceClipper::pathOnlyClipping):
2290         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
2291         (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
2292         (WebCore::RenderSVGResourceClipper::hitTestClipContent):
2293         * rendering/svg/RenderSVGResourceFilter.cpp:
2294         (WebCore::RenderSVGResourceFilter::buildPrimitives):
2295         * rendering/svg/RenderSVGResourceMasker.cpp:
2296         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
2297         (WebCore::RenderSVGResourceMasker::calculateMaskContentRepaintRect):
2298         * rendering/svg/RenderSVGResourcePattern.cpp:
2299         (WebCore::RenderSVGResourcePattern::createTileImage):
2300         * rendering/svg/RenderSVGShape.cpp:
2301         (WebCore::RenderSVGShape::strokeWidth):
2302         * rendering/svg/RenderSVGText.cpp:
2303         (WebCore::RenderSVGText::strokeBoundingBox):
2304         * rendering/svg/SVGRenderSupport.cpp:
2305         (WebCore::SVGRenderSupport::layoutChildren):
2306         (WebCore::SVGRenderSupport::applyStrokeStyleToContext):
2307         * rendering/svg/SVGRenderTreeAsText.cpp:
2308         (WebCore::writeSVGPaintingResource):
2309         (WebCore::writeStyle):
2310         (WebCore::operator<<):
2311         * rendering/svg/SVGResources.cpp:
2312         (WebCore::SVGResources::buildCachedResources):
2313         * rendering/svg/SVGTextLayoutEngine.cpp:
2314         (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
2315         * svg/SVGAElement.cpp:
2316         (WebCore::SVGAElement::createRenderer):
2317         * svg/SVGAnimationElement.cpp:
2318         (WebCore::SVGAnimationElement::adjustForInheritance):
2319         * svg/SVGElement.cpp:
2320         (WebCore::SVGElement::viewportElement):
2321         (WebCore::SVGElement::haveLoadedRequiredResources):
2322         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
2323         (WebCore::SVGElement::childShouldCreateRenderer):
2324         * svg/SVGElement.h:
2325         (WebCore::toSVGElement):
2326         (WebCore):
2327         * svg/SVGFEImageElement.cpp:
2328         (WebCore::SVGFEImageElement::buildPendingResource):
2329         * svg/SVGFilterElement.cpp:
2330         (WebCore::SVGFilterElement::childShouldCreateRenderer):
2331         * svg/SVGGradientElement.cpp:
2332         (WebCore::SVGGradientElement::buildStops):
2333         * svg/SVGLocatable.cpp:
2334         (WebCore::SVGLocatable::nearestViewportElement):
2335         (WebCore::SVGLocatable::farthestViewportElement):
2336         (WebCore::SVGLocatable::computeCTM):
2337         * svg/SVGMPathElement.cpp:
2338         (WebCore::SVGMPathElement::buildPendingResource):
2339         * svg/SVGSVGElement.cpp:
2340         (WebCore::SVGSVGElement::collectIntersectionOrEnclosureList):
2341         * svg/SVGStyledElement.cpp:
2342         (WebCore::SVGStyledElement::updateRelativeLengthsInformation):
2343         * svg/SVGSwitchElement.cpp:
2344         (WebCore::SVGSwitchElement::childShouldCreateRenderer):
2345         * svg/SVGTextPathElement.cpp:
2346         (WebCore::SVGTextPathElement::buildPendingResource):
2347         * svg/SVGUseElement.cpp:
2348         (WebCore::SVGUseElement::buildPendingResource):
2349         (WebCore::SVGUseElement::toClipPath):
2350         (WebCore::SVGUseElement::rendererClipChild):
2351         (WebCore::SVGUseElement::buildInstanceTree):
2352         (WebCore::SVGUseElement::hasCycleUseReferencing):
2353         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
2354         (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
2355         * svg/SVGViewSpec.cpp:
2356         (WebCore::SVGViewSpec::viewTarget):
2357         * svg/animation/SVGSMILElement.cpp:
2358         (WebCore::SVGSMILElement::buildPendingResource):
2359         * svg/graphics/filters/SVGFEImage.cpp:
2360         (WebCore::FEImage::platformApplySoftware):
2361
2362 2013-03-11  Carlos Garcia Campos  <cgarcia@igalia.com>
2363
2364         [SOUP] ResourceRequest::updateSoupMessage doesn't update the URI of the soup message
2365         https://bugs.webkit.org/show_bug.cgi?id=112040
2366
2367         Reviewed by Gustavo Noronha Silva.
2368
2369         * platform/network/soup/ResourceRequestSoup.cpp:
2370         (WebCore::ResourceRequest::updateSoupMessage): Update the soup
2371         message URI with the ResourceRequest URL.
2372
2373 2013-03-11  Alec Flett  <alecflett@chromium.org>
2374
2375         IndexedDB: Protect against key prefix overflows
2376         https://bugs.webkit.org/show_bug.cgi?id=111138
2377
2378         Reviewed by Tony Chang.
2379
2380         This reworks the boundary checking for all databaseId,
2381         objectStoreId, and indexId, including negative and
2382         zero-based ids. All entrypoints into IDBLevelDBCoding
2383         are protected with explicit checks and all internal
2384         uses of KeyPrefix are protected with ASSERTs in the
2385         various constructors.
2386
2387         Tests: WebKit unit tests IDBBackingStoreTest.cpp in WebKit/chromium
2388
2389         * Modules/indexeddb/IDBBackingStore.h: Make all public methods boolean-based for errors.
2390         * Modules/indexeddb/IDBLevelDBCoding.h: Add methods for checking databaseId, objectStoreId, and indexId.
2391
2392 2013-03-11  Xan Lopez  <xlopez@igalia.com>
2393
2394         [BlackBerry] PlatformBlackBerry.cmake: create thin AR archives
2395         https://bugs.webkit.org/show_bug.cgi?id=110580
2396
2397         Reviewed by Rob Buis.
2398
2399         Otherwise libwebcore.a goes beyond the 4Gb file size limit and the
2400         link phase fails.
2401
2402         * PlatformBlackBerry.cmake:
2403
2404 2013-03-11  Pavel Feldman  <pfeldman@chromium.org>
2405
2406         Web Inspector: fix styles toolbar in the vertical mode.
2407         Not reviewed: swapped two lines.
2408
2409         * inspector/front-end/ElementsPanel.js:
2410         (WebInspector.ElementsPanel.prototype._splitVertically):
2411
2412 2013-03-11  Andrey Lushnikov  <lushnikov@chromium.org>
2413
2414         Web Inspector: [CodeMirror] add token highlight feature
2415         https://bugs.webkit.org/show_bug.cgi?id=112009
2416
2417         Reviewed by Pavel Feldman.
2418
2419         Handle CodeMirror's "cursorActivity" event, check selection for being
2420         a word and highlight all its occurrences via CodeMirror.addOverlay method.
2421
2422         No new tests.
2423
2424         * inspector/front-end/CodeMirrorTextEditor.js:
2425         (WebInspector.CodeMirrorTextEditor):
2426         (WebInspector.CodeMirrorTextEditor.TokenHighlighter):
2427         (WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype._cursorChange):
2428         (WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype._isWord):
2429         (WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype._removeHighlight):
2430         (WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype._addHighlight.nextToken):
2431         (WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype._addHighlight):
2432         * inspector/front-end/cm/cmdevtools.css:
2433         (.cm-token-highlight):
2434
2435 2013-03-11  Andrey Lushnikov  <lushnikov@chromium.org>
2436
2437         Web Inspector: [CodeMirror] set indentation size according to devtools settings
2438         https://bugs.webkit.org/show_bug.cgi?id=111717
2439
2440         Reviewed by Pavel Feldman.
2441
2442         Set up codemirror indent size according to devtools settings.
2443
2444         No new tests.
2445
2446         * inspector/front-end/CodeMirrorTextEditor.js:
2447         (.get if):
2448         (WebInspector.CodeMirrorTextEditor):
2449
2450 2013-03-11  Yury Semikhatsky  <yurys@chromium.org>
2451
2452         Web Inspector: add per image statistics to the native memory snapshot
2453         https://bugs.webkit.org/show_bug.cgi?id=112011
2454
2455         Reviewed by Pavel Feldman.
2456
2457         Added per-image statistics to the native memory distribution table.
2458
2459         * inspector/front-end/HeapSnapshotProxy.js:
2460         (WebInspector.HeapSnapshotWorker):
2461         (WebInspector.HeapSnapshotWorker.prototype.createLoader):
2462         (WebInspector.HeapSnapshotWorker.prototype.wrapCallback):
2463         (WebInspector.HeapSnapshotWorker.prototype.callFactoryMethod):
2464         (WebInspector.HeapSnapshotProxyObject.prototype.callFactoryMethod): the method now accepts
2465         proxy constructor function instead of its name. This eliminates unnecessary function lookup.
2466         (WebInspector.HeapSnapshotLoaderProxy):
2467         (WebInspector.HeapSnapshotLoaderProxy.prototype.close):
2468         (WebInspector.HeapSnapshotProxy.prototype.createEdgesProvider):
2469         (WebInspector.HeapSnapshotProxy.prototype.createRetainingEdgesProvider):
2470         (WebInspector.HeapSnapshotProxy.prototype.createAddedNodesProvider):
2471         (WebInspector.HeapSnapshotProxy.prototype.createDeletedNodesProvider):
2472         (WebInspector.HeapSnapshotProxy.prototype.createNodesProvider):
2473         (WebInspector.HeapSnapshotProxy.prototype.createNodesProviderForClass):
2474         (WebInspector.HeapSnapshotProxy.prototype.createNodesProviderForDominator):
2475         (WebInspector.NativeHeapSnapshotProxy):
2476         (WebInspector.NativeHeapSnapshotProxy.prototype.images):
2477         * inspector/front-end/HeapSnapshotView.js:
2478         (WebInspector.HeapProfileHeader.prototype.snapshotProxyConstructor):
2479         (WebInspector.HeapProfileHeader.prototype._setupWorker):
2480         * inspector/front-end/NativeHeapSnapshot.js:
2481         (WebInspector.NativeHeapSnapshot.prototype.images):
2482         * inspector/front-end/NativeMemorySnapshotView.js:
2483         (WebInspector.NativeSnapshotNode):
2484         (WebInspector.NativeSnapshotNode.prototype._createSizeCell):
2485         (WebInspector.NativeSnapshotNode.prototype._populate):
2486         (WebInspector.NativeSnapshotNode.prototype._addChildrenFromGraph):
2487         (WebInspector.NativeSnapshotNode.prototype._addImageDetails.didLoad.didReceiveImages):
2488         (WebInspector.NativeSnapshotNode.prototype._addImageDetails):
2489         (WebInspector.NativeSnapshotProfileHeader.prototype.snapshotProxyConstructor):
2490
2491 2013-03-11  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2492
2493         [Qt] Enable tiled shadow blur for inset box shadows
2494         https://bugs.webkit.org/show_bug.cgi?id=111736
2495
2496         Reviewed by Noam Rosenthal.
2497
2498         Paint inset box-shadows using the optimized tiled shadow blur, instead of
2499         applying shadow blur to the entire painted rect.
2500
2501         This optimizes the default CSS on common pastebin sites.
2502
2503         Tested by existing tests.
2504
2505         * platform/graphics/GraphicsContext.cpp:
2506         * platform/graphics/ShadowBlur.cpp:
2507         (WebCore::ShadowBlur::drawInsetShadowWithTiling):
2508             Must set fill color before calling clearShadow, as that might clear m_color.
2509         (WebCore::ShadowBlur::drawLayerPieces):
2510             Ditto.
2511         * platform/graphics/qt/GraphicsContextQt.cpp:
2512         (WebCore::GraphicsContext::fillPath):
2513         (WebCore::GraphicsContext::fillRectWithRoundedHole):
2514
2515 2013-03-11  Alberto Garcia  <agarcia@igalia.com>
2516
2517         [BlackBerry] GraphicsLayer: rename notifySyncRequired to notifyFlushRequired
2518         https://bugs.webkit.org/show_bug.cgi?id=111997
2519
2520         Reviewed by Rob Buis.
2521
2522         This changed in r130439 but the old name was introduced again by
2523         mistake in r144465.
2524
2525         * platform/graphics/blackberry/GraphicsLayerBlackBerry.h:
2526         (WebCore::GraphicsLayerBlackBerry::notifyFlushRequired):
2527         * platform/graphics/blackberry/LayerWebKitThread.cpp:
2528         (WebCore::LayerWebKitThread::setNeedsCommit):
2529
2530 2013-03-11  Kent Tamura  <tkent@chromium.org>
2531
2532         Inappropriate validation message for required number/date input elements
2533         https://bugs.webkit.org/show_bug.cgi?id=111982
2534
2535         Reviewed by Kentaro Hara.
2536
2537         For validation message, badInput messages should take precedence
2538         over valueMissing messages because users already filled out the
2539         field with a bad value.
2540
2541         Tests: Update fast/forms/validationMessage.html
2542
2543         * html/InputType.cpp:
2544         (WebCore::InputType::validationMessage):
2545         Check badInput first.
2546
2547 2013-03-11  Yury Semikhatsky  <yurys@chromium.org>
2548
2549         Web Inspector: extract common parts of native profiles
2550         https://bugs.webkit.org/show_bug.cgi?id=111965
2551
2552         Reviewed by Alexander Pavlov.
2553
2554         Extracted common parts of native profiles into NativeProfileTypeBase. Memory
2555         domain dispatcher is now a separate class as it is shared by two native memory
2556         profile types.
2557
2558         Both native memory profile types now capture native heap graph.
2559
2560         * inspector/front-end/NativeMemorySnapshotView.js:
2561         (WebInspector.MemoryAgentDispatcher.instance):
2562         (WebInspector.NativeProfileTypeBase.prototype.buttonClicked.didReceiveMemorySnapshot):
2563         (WebInspector.NativeProfileTypeBase.prototype.buttonClicked):
2564         (WebInspector.NativeSnapshotProfileType):
2565         (WebInspector.NativeSnapshotProfileHeader.prototype._didReceiveMemorySnapshot):
2566         (WebInspector.NativeMemoryProfileType):
2567         (WebInspector.NativeMemoryProfileHeader.prototype._updateSnapshotStatus):
2568         (WebInspector.NativeMemoryProfileHeader.prototype._didReceiveMemorySnapshot):
2569
2570 2013-03-11  Sheriff Bot  <webkit.review.bot@gmail.com>
2571
2572         Unreviewed, rolling out r145349.
2573         http://trac.webkit.org/changeset/145349
2574         https://bugs.webkit.org/show_bug.cgi?id=111966
2575
2576         Missing code history of Element,PageRuleCollector. (Requested
2577         by tasak on #webkit).
2578
2579         * CMakeLists.txt:
2580         * GNUmakefile.list.am:
2581         * Target.pri:
2582         * WebCore.gypi:
2583         * WebCore.xcodeproj/project.pbxproj:
2584         * css/CSSAllInOne.cpp:
2585         * css/DocumentRuleSets.cpp:
2586         (WebCore::ShadowDistributedRules::collectMatchRequests):
2587         * css/DocumentRuleSets.h:
2588         * css/ElementRuleCollector.cpp: Removed.
2589         * css/ElementRuleCollector.h: Removed.
2590         * css/PageRuleCollector.cpp: Removed.
2591         * css/PageRuleCollector.h: Removed.
2592         * css/StyleResolver.cpp:
2593         (WebCore::leftToRightDeclaration):
2594         (WebCore):
2595         (WebCore::rightToLeftDeclaration):
2596         (WebCore::StyleResolver::State::ensureRuleList):
2597         (WebCore::StyleResolver::State::clear):
2598         (WebCore::StyleResolver::addMatchedProperties):
2599         (WebCore::StyleResolver::addElementStyleProperties):
2600         (MatchingUARulesScope):
2601         (WebCore::MatchingUARulesScope::MatchingUARulesScope):
2602         (WebCore::MatchingUARulesScope::~MatchingUARulesScope):
2603         (WebCore::MatchingUARulesScope::isMatchingUARules):
2604         (WebCore::StyleResolver::collectMatchingRules):
2605         (WebCore::StyleResolver::collectMatchingRulesForRegion):
2606         (WebCore::StyleResolver::sortAndTransferMatchedRules):
2607         (WebCore::StyleResolver::matchScopedAuthorRules):
2608         (WebCore::StyleResolver::matchHostRules):
2609         (WebCore::StyleResolver::matchAuthorRules):
2610         (WebCore::StyleResolver::matchUserRules):
2611         (WebCore::StyleResolver::matchUARules):
2612         (WebCore::StyleResolver::collectMatchingRulesForList):
2613         (WebCore::compareRules):
2614         (WebCore::StyleResolver::sortMatchedRules):
2615         (WebCore::StyleResolver::matchAllRules):
2616         (WebCore::StyleResolver::State::initForStyleResolve):
2617         (WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
2618         (WebCore::StyleResolver::styleForElement):
2619         (WebCore::StyleResolver::styleForKeyframe):
2620         (WebCore::StyleResolver::pseudoStyleForElement):
2621         (WebCore::StyleResolver::styleForPage):
2622         (WebCore::StyleResolver::pseudoStyleRulesForElement):
2623         (WebCore::StyleResolver::ruleMatches):
2624         (WebCore::StyleResolver::checkRegionSelector):
2625         (WebCore::comparePageRules):
2626         (WebCore::StyleResolver::matchPageRules):
2627         (WebCore::checkPageSelectorComponents):
2628         (WebCore::StyleResolver::matchPageRulesForList):
2629         (WebCore::StyleResolver::isLeftPage):
2630         (WebCore::StyleResolver::isFirstPage):
2631         (WebCore::StyleResolver::pageName):
2632         * css/StyleResolver.h:
2633         (WebCore::MatchRequest::MatchRequest):
2634         (MatchRequest):
2635         (StyleResolver):
2636         (MatchResult):
2637         (WebCore::StyleResolver::State::State):
2638         (State):
2639         (WebCore::StyleResolver::State::takeRuleList):
2640         (WebCore::StyleResolver::State::setSameOriginOnly):
2641         (WebCore::StyleResolver::State::isSameOriginOnly):
2642         (WebCore::StyleResolver::State::pseudoStyleRequest):
2643         (WebCore::StyleResolver::State::setMode):
2644         (WebCore::StyleResolver::State::mode):
2645         (WebCore::StyleResolver::State::matchedRules):
2646         (WebCore::StyleResolver::State::addMatchedRule):
2647         * inspector/InspectorCSSAgent.cpp:
2648         (WebCore::InspectorCSSAgent::willMatchRule):
2649         * inspector/InspectorCSSAgent.h:
2650         (WebCore):
2651         (InspectorCSSAgent):
2652         * inspector/InspectorInstrumentation.cpp:
2653         (WebCore):
2654         (WebCore::InspectorInstrumentation::willMatchRuleImpl):
2655         * inspector/InspectorInstrumentation.h:
2656         (WebCore):
2657         (InspectorInstrumentation):
2658         (WebCore::InspectorInstrumentation::willMatchRule):
2659
2660 2013-03-11  Marja Hölttä  <marja@chromium.org>
2661
2662         [V8] Fix V8InjectedScriptManager
2663         https://bugs.webkit.org/show_bug.cgi?id=111968
2664
2665         Reviewed by Kentaro Hara.
2666
2667         This is needed to make the inspector work after templates for main world
2668         and non-main worlds are separated (bug 111724).
2669
2670         No new tests (no changes in functionality).
2671
2672         * bindings/v8/custom/V8InjectedScriptManager.cpp:
2673         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
2674
2675 2013-03-11  Hayato Ito  <hayato@chromium.org>
2676
2677         Make sure that CSSSelector::setValue() is never called after parsing its pseudoType.
2678         https://bugs.webkit.org/show_bug.cgi?id=111957
2679
2680         Reviewed by Hajime Morrita.
2681
2682         It'd be nice to have an assertion here since
2683         CSSSelector::pseudoType() will never parse a new value after it
2684         parses a value and m_pseudoType is set to non-PseudoNotParsed.
2685
2686         No new tests (no change in behaviour).
2687
2688         * css/CSSSelector.h:
2689         (WebCore::CSSSelector::setValue):
2690
2691 2013-03-11  Takashi Sakamoto  <tasak@google.com>
2692
2693         [Refactoring] Implement RuleCollector
2694         https://bugs.webkit.org/show_bug.cgi?id=109916
2695
2696         Reviewed by Antti Koivisto.
2697
2698         Implemented rule collector for an element and collector for a page.
2699         Not all members in class State are required entire while resolving
2700         a style.
2701
2702         No new tests, because just refactoring.
2703
2704         * CMakeLists.txt:
2705         * GNUmakefile.list.am:
2706         * Target.pri:
2707         * WebCore.gypi:
2708         * WebCore.xcodeproj/project.pbxproj:
2709         * css/CSSAllInOne.cpp:
2710         Added ElementRuleCollector and PageRuleCollector.
2711         * css/DocumentRuleSets.cpp:
2712         (WebCore::ShadowDistributedRules::collectMatchRequests):
2713         Since behaviorAtBoundary is a state owned by ElementRuleCollector,
2714         removed from here.
2715         * css/DocumentRuleSets.h:
2716         (WebCore::ShadowDistributedRules::isEmpty):
2717         Added to quickly check whether there exist any ShadowDistributedRules
2718         or not.
2719         * css/ElementRuleCollector.cpp: Copied from Source/WebCore/css/StyleResolver.cpp.
2720         (WebCore):
2721         (WebCore::ElementRuleCollector::matchedResult):
2722         (WebCore::ElementRuleCollector::matchedRuleList):
2723         (WebCore::ElementRuleCollector::addMatchedRule):
2724         (WebCore::ElementRuleCollector::clearMatchedRules):
2725         (WebCore::ElementRuleCollector::ensureRuleList):
2726         (WebCore::ElementRuleCollector::addElementStyleProperties):
2727         (WebCore::ElementRuleCollector::collectMatchingRules):
2728         (WebCore::ElementRuleCollector::collectMatchingRulesForRegion):
2729         (WebCore::ElementRuleCollector::sortAndTransferMatchedRules):
2730         (WebCore::ElementRuleCollector::matchScopedAuthorRules):
2731         (WebCore::ElementRuleCollector::matchHostRules):
2732         (WebCore::ElementRuleCollector::matchShadowDistributedRules):
2733         (WebCore::ElementRuleCollector::matchAuthorRules):
2734         (WebCore::ElementRuleCollector::matchUserRules):
2735         (WebCore::ElementRuleCollector::matchUARules):
2736         (WebCore::ElementRuleCollector::ruleMatches):
2737         (WebCore::ElementRuleCollector::collectMatchingRulesForList):
2738         (WebCore::ElementRuleCollector::sortMatchedRules):
2739         (WebCore::ElementRuleCollector::matchAllRules):
2740         Moved these methods from StyleResolver to this class.
2741         (WebCore::ElementRuleCollector::hasAnyMatchingRules):
2742         This method is used for checking whether a given element can share
2743         a cache.
2744         * css/ElementRuleCollector.h: Copied from Source/WebCore/css/StyleResolver.h.
2745         (WebCore):
2746         (WebCore::ElementRuleCollector::ElementRuleCollector):
2747         Use styleResolver instance to initialize its member variables, i.e.
2748         SelectorFilter, RuleSets, InspectorCSSOMWrappers, and
2749         StyleScopedResolver.
2750         (ElementRuleCollector):
2751         (WebCore::ElementRuleCollector::setMode):
2752         (WebCore::ElementRuleCollector::setPseudoStyleRequest):
2753         (WebCore::ElementRuleCollector::setSameOriginOnly):
2754         (WebCore::ElementRuleCollector::setRegionForStyling):
2755         Mode, SameOriginOnly, RegionForStyling are only used while collecting
2756         matched rules.
2757         (WebCore::ElementRuleCollector::setMedium):
2758         Need to know which default stylesheet should be looked up.
2759         (WebCore::ElementRuleCollector::document):
2760         * css/PageRuleCollector.cpp: Copied from Source/WebCore/css/StyleResolver.cpp.
2761         (WebCore::comparePageRules):
2762         (WebCore::PageRuleCollector::isLeftPage):
2763         (WebCore::PageRuleCollector::isFirstPage):
2764         (WebCore::PageRuleCollector::pageName):
2765         (WebCore::PageRuleCollector::matchAllPageRules):
2766         (WebCore::PageRuleCollector::matchPageRules):
2767         (WebCore::checkPageSelectorComponents):
2768         (WebCore::PageRuleCollector::matchPageRulesForList):
2769         Moved from StyleResolver.
2770         * css/PageRuleCollector.h: Copied from Source/WebCore/css/StyleResolver.h.
2771         (WebCore):
2772         (WebCore::PageRuleCollector::PageRuleCollector):
2773         (PageRuleCollector):
2774         (WebCore::PageRuleCollector::matchedResult):
2775         * css/StyleResolver.cpp:
2776         (WebCore):
2777         (WebCore::StyleResolver::State::clear):
2778         (WebCore::StyleResolver::MatchResult::addMatchedProperties):
2779         (WebCore::StyleResolver::State::initForStyleResolve):
2780         (WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
2781         (WebCore::StyleResolver::styleForElement):
2782         (WebCore::StyleResolver::styleForKeyframe):
2783         (WebCore::StyleResolver::pseudoStyleForElement):
2784         (WebCore::StyleResolver::styleForPage):
2785         (WebCore::StyleResolver::pseudoStyleRulesForElement):
2786         (WebCore::StyleResolver::applyMatchedProperties):
2787         * css/StyleResolver.h:
2788         (WebCore::MatchRequest::MatchRequest):
2789         Removed behaviorAtBoundary. Instead, ElementRuleCollector have the
2790         state.
2791         (MatchRequest):
2792         (WebCore::StyleResolver::selectorFilter):
2793         Added to obtain SelectorFilter in ElementRuleCollector's constructor.
2794         (StyleResolver):
2795         (MatchResult):
2796         (WebCore::StyleResolver::State::State):
2797         To pass ASSERT in StyleResolver::applyProperties, need to keep
2798         m_regionForStyling.
2799         (State):
2800         (WebCore::StyleResolver::State::regionForStyling):
2801         (WebCore::StyleResolver::State::useSVGZoomRules):
2802         (WebCore::StyleResolver::hasSelectorForId):
2803         (WebCore):
2804         (WebCore::checkRegionSelector):
2805         * inspector/InspectorCSSAgent.cpp:
2806         (WebCore::InspectorCSSAgent::willMatchRule):
2807         Removed StyleResolver from its parameter list. Instead, added
2808         InspectorCSSOMWrappers and DocumentStyleSheetCollection.
2809         * inspector/InspectorCSSAgent.h:
2810         (WebCore):
2811         (InspectorCSSAgent):
2812         * inspector/InspectorInstrumentation.cpp:
2813         (WebCore):
2814         (WebCore::InspectorInstrumentation::willMatchRuleImpl):
2815         * inspector/InspectorInstrumentation.h:
2816         (WebCore):
2817         (InspectorInstrumentation):
2818         (WebCore::InspectorInstrumentation::willMatchRule):
2819
2820 2013-03-11  Mike West  <mkwst@chromium.org>
2821
2822         XSSAuditor doesn't need a copy of the original document's body.
2823         https://bugs.webkit.org/show_bug.cgi?id=111946
2824
2825         Reviewed by Darin Adler.
2826
2827         The XSSAuditor currently copies the original HTTP body of the document
2828         that's being audited in order to include it into a violation report if
2829         reflected XSS is detected. We don't actually need to do this, as we
2830         have access to the original request information from inside the
2831         XSSAuditorDelegate where the report is generated.
2832         XSSAuditorDelegate::didBlockScript ASSERTs that it's running on the
2833         main thread, so it should be safe to reach through the document's
2834         loader to get that information directly, rather than passing it from
2835         thread to thread via XSSInfo object properties.
2836
2837         * html/parser/XSSAuditor.h:
2838         * html/parser/XSSAuditor.cpp:
2839         (WebCore::XSSAuditor::init):
2840         (WebCore::XSSAuditor::filterToken):
2841         (WebCore::XSSAuditor::isSafeToSendToAnotherThread):
2842         * html/parser/XSSAuditorDelegate.h:
2843         (WebCore::XSSInfo::create):
2844         (WebCore::XSSInfo::XSSInfo):
2845         * html/parser/XSSAuditorDelegate.cpp:
2846         (WebCore::XSSInfo::isSafeToSendToAnotherThread):
2847             Drop the XSSInfo and XSSAuditor properties that held an
2848             isolatedCopy of the the original HTTP body. Depending on the
2849             document's size, this could be a significant savings.
2850         (WebCore::XSSAuditorDelegate::didBlockScript):
2851             Reach into the document's loader's original request in order to
2852             grab the body as a String, and feed that into the violation report
2853             object.
2854
2855             As a drive-by, this patch creates a FrameLoader* temporary
2856             variable to minimize repetition in this area of the code. We use
2857             the loader a few times, but should only have to grab it once.
2858
2859 2013-03-11  Silvia Pfeiffer  <silviapf@chromium.org>
2860
2861         [Chromium] REGRESSION: Closed Captions button not showing properly
2862         https://bugs.webkit.org/show_bug.cgi?id=109871
2863
2864         Reviewed by Jer Noble.
2865
2866         No new tests - covered by existing tests.
2867
2868         Most of the patch was in the meantime covered by a patch to
2869         https://bugs.webkit.org/show_bug.cgi?id=111109 .
2870         This changes a static Chromium-only function name to be consistent with
2871         parent class function names.
2872
2873         * rendering/RenderMediaControlsChromium.cpp:
2874         (WebCore::paintMediaToggleClosedCaptionsButton):
2875         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
2876         Rename paintMediaClosedCaptionsButton to paintMediaToggleClosedCaptionsButton.
2877
2878 2013-03-11  Tim Horton  <timothy_horton@apple.com>
2879
2880         RenderSnapshottedPlugIn paints in PaintPhaseBlockBackground instead of PaintPhaseForeground
2881         https://bugs.webkit.org/show_bug.cgi?id=111962
2882         <rdar://problem/13289335>
2883
2884         Reviewed by Dean Jackson.
2885
2886         RenderSnapshottedPlugIn should paint its snapshot during the foreground
2887         painting phase, instead of BlockBackground, to match normal plugin painting.
2888
2889         * rendering/RenderSnapshottedPlugIn.cpp:
2890         (WebCore::RenderSnapshottedPlugIn::paint):
2891
2892 2013-03-07  Alexander Pavlov  <apavlov@chromium.org>
2893
2894         Web Inspector: [Elements] XSLT transformation result from the xml-stylesheet PI not rendered
2895         https://bugs.webkit.org/show_bug.cgi?id=111313
2896
2897         Reviewed by Vsevolod Vlasov.
2898
2899         Frame document update upon XSL transformation was never instrumented.
2900         This change instruments the Document::applyXSLTransform() method to that end.
2901
2902         Test: http/tests/inspector/styles/xsl-transformed.xml
2903
2904         * dom/Document.cpp:
2905         (WebCore::Document::applyXSLTransform): Instrumented.
2906         * inspector/InspectorDOMAgent.cpp:
2907         (WebCore::InspectorDOMAgent::frameDocumentUpdated): Invoked upon applyXSLTransform().
2908         * inspector/InspectorDOMAgent.h:
2909         * inspector/InspectorInstrumentation.cpp:
2910         (WebCore::InspectorInstrumentation::frameDocumentUpdatedImpl): Added.
2911         * inspector/InspectorInstrumentation.h:
2912         (WebCore::InspectorInstrumentation::didCommitLoad): Drive-by: simplified.
2913         (WebCore::InspectorInstrumentation::frameDocumentUpdated): Added.
2914
2915 2013-03-10  Matt Falkenhagen  <falken@chromium.org>
2916
2917         Implement inert subtrees needed for modal <dialog>
2918         https://bugs.webkit.org/show_bug.cgi?id=110952
2919
2920         Reviewed by Hajime Morrita.
2921
2922         This changes Node::disabled() to return true when a modal dialog is
2923         open and the node is not in the dialog.
2924
2925         Reusing disabled for inertness is useful because then event
2926         targeting and focus control automatically have the desired behavior:
2927         inert nodes are skipped over.
2928
2929         Tests: fast/dom/HTMLDialogElement/closed-dialog-does-not-block-mouse-events.html
2930                fast/dom/HTMLDialogElement/modal-dialog-blocks-mouse-events.html
2931                fast/dom/HTMLDialogElement/non-modal-dialog-does-not-block-mouse-events.html
2932
2933         * dom/Document.h:
2934         (WebCore::Document::activeModalDialog): Returns the topmost element in the top layer.
2935         Since now the only elements in the top layer are modal dialogs, it is the active modal dialog.
2936         * dom/Node.cpp:
2937         (WebCore):
2938         (WebCore::Node::isInert): As per the spec, a node that is not an ancestor or descendant of the modal dialog is inert.
2939         (WebCore::Node::disabled): Return false when inert.
2940         * dom/Node.h:
2941         * html/HTMLFormControlElement.cpp:
2942         (WebCore::HTMLFormControlElement::disabled): Fall back to the superclass so inert is taken into account.
2943
2944 2013-03-10  Glenn Adams  <glenn@skynav.com>
2945
2946         Line breaking opportunities at the end of a text node are missed
2947         https://bugs.webkit.org/show_bug.cgi?id=17427
2948
2949         Reviewed by Darin Adler.
2950
2951         When initializing context for determining next break position,
2952         reuse last two characters from previous text node(s) within block.
2953         This additional state is stored in the current LazyLineBreakIterator
2954         as an optimization to prevent having to add two new parameters to
2955         isBreakable().
2956
2957         At present, this fixes only the ASCII shortcut code path, but
2958         does not yet handle the non-ASCII path. Since the ASCII path is
2959         the most performant critical, the handling of this latter path
2960         will be addressed by webkit.org/b/105692.
2961
2962         Additionally test for case where last two characters context
2963         is derived from distinct nodes, possibly with intervening empty
2964         inline node(s).
2965
2966         Test: fast/text/line-break-between-text-nodes.html
2967
2968         * platform/text/TextBreakIterator.h:
2969         (WebCore::LazyLineBreakIterator::LazyLineBreakIterator):
2970         (WebCore::LazyLineBreakIterator::lastCharacter):
2971         (WebCore::LazyLineBreakIterator::secondToLastCharacter):
2972         (WebCore::LazyLineBreakIterator::setLastTwoCharacters):
2973         (WebCore::LazyLineBreakIterator::resetLastTwoCharacters):
2974         (WebCore::LazyLineBreakIterator::updateLastTwoCharacters):
2975         (LazyLineBreakIterator):
2976         Add state variables to retain last two characters of previous text node(s)
2977         for reuse when initializing nextBreakPosition<>() context.
2978         * rendering/RenderBlockLineLayout.cpp:
2979         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
2980         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
2981         Record and reset retained last two characters of previous text node(s) as
2982         appropriate.
2983         * rendering/break_lines.cpp:
2984         (WebCore::nextBreakablePosition):
2985         Use state variables holding retained last two characters of previous text node(s)
2986         for when initializing nextBreakPosition<>() context.
2987
2988 2013-03-10  Darin Adler  <darin@apple.com>
2989
2990         NetworkStorageSession leaks its CFURLStorageSessionRef
2991         https://bugs.webkit.org/show_bug.cgi?id=111950
2992         <rdar://problem/13384134>
2993
2994         Reviewed by Sam Weinig.
2995
2996         * platform/network/NetworkStorageSession.h:
2997         Change the argument type of the constructor to a RetainPtr.
2998         * platform/network/cf/NetworkStorageSessionCFNet.cpp:
2999         (WebCore::NetworkStorageSession::NetworkStorageSession): Changed
3000         the argument type to a RetainPtr.
3001         (WebCore::NetworkStorageSession::switchToNewTestingSession): Added
3002         calls to adoptCF to adopt the value returned by wkCreatePrivateStorageSession.
3003         (WebCore::NetworkStorageSession::createPrivateBrowsingSession): Ditto.
3004         (WebCore::NetworkStorageSession::cookieStorage): Changed to use adoptCF
3005         instead of the RetainPtr constructor with AdoptCF since the former is
3006         far easier to read.
3007
3008 2013-03-10  Jason Anderssen  <janderssen@gmail.com>
3009
3010         Conformance Test 1.0.3 (Beta) function: bufferData undefined value failed.
3011         https://bugs.webkit.org/show_bug.cgi?id=111641
3012
3013         Reviewed by Dean Jackson.
3014
3015         The WebGL specification requires that a size of 0 is not valid. In javascript, passing in undefined 
3016         as a parameter to a long long is the same as passing in 0, so we must check for this incorrect
3017         value and fail. 
3018         The test suite in Kronos 1.0.3 failed, test to verify conformance is as follows:
3019         https://www.khronos.org/registry/webgl/sdk/tests/conformance/more/functions/bufferDataBadArgs.html.
3020
3021         * html/canvas/WebGLRenderingContext.cpp:
3022         (WebCore::WebGLRenderingContext::bufferData):
3023         Synthesize error and returned if size is 0.
3024
3025 2013-03-10  Andreas Kling  <akling@apple.com>
3026
3027         SVGDocumentExtensions should use OwnPtr for pending resource maps.
3028         <http://webkit.org/b/111943>
3029
3030         Reviewed by Anders Carlsson.
3031
3032         * svg/SVGDocumentExtensions.cpp:
3033         (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
3034         (WebCore::SVGDocumentExtensions::addPendingResource):
3035         (WebCore::SVGDocumentExtensions::isElementPendingResources):
3036         (WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
3037         (WebCore::SVGDocumentExtensions::removePendingResource):
3038         (WebCore::SVGDocumentExtensions::removePendingResourceForRemoval):
3039         (WebCore::SVGDocumentExtensions::markPendingResourcesForRemoval):
3040         * svg/SVGDocumentExtensions.h:
3041         (SVGDocumentExtensions):
3042
3043 2013-03-10  Tim Horton  <timothy_horton@apple.com>
3044
3045         Add a heuristic to determine the “primary” snapshotted plugin
3046         https://bugs.webkit.org/show_bug.cgi?id=111932
3047         <rdar://problem/13270208>
3048
3049         Reviewed by Dean Jackson.
3050
3051         * WebCore.exp.in: Export a few things.
3052         * html/HTMLPlugInImageElement.cpp:
3053         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
3054         (WebCore::classNameForShadowRoot): If we've been informed that we are the primary snapshotted plugin, add the 'primary' class.
3055         (WebCore::HTMLPlugInImageElement::setIsPrimarySnapshottedPlugIn): Added
3056         (WebCore::HTMLPlugInImageElement::updateSnapshotInfo): Hand classNameForShadowRoot our primary-ness.
3057         * html/HTMLPlugInImageElement.h:
3058         (HTMLPlugInImageElement): Add storage for m_isPrimarySnapshottedPlugIn.
3059
3060 2013-03-10  Mike West  <mkwst@chromium.org>
3061
3062         XSSAuditor doesn't need a copy of the original document URL.
3063         https://bugs.webkit.org/show_bug.cgi?id=111944
3064
3065         Reviewed by Adam Barth.
3066
3067         When creating an XSSInfo object in response to detecting reflected XSS
3068         on a page, the Auditor was passing in a copy of the document's
3069         original URL for reporting. It doesn't look like we need this, as
3070         XSSInfo's only consumer, XSSAuditorDelegate, runs on the main thread
3071         with access to the document. We can obtain access to the same
3072         information by reading the URL directly from the delegate's Document
3073         object if and when we need it.
3074
3075         * html/parser/XSSAuditorDelegate.cpp:
3076         (WebCore::XSSAuditorDelegate::didBlockScript):
3077             Read the document's URL directly in order to create a violation
3078             report.
3079         (WebCore::XSSInfo::isSafeToSendToAnotherThread):
3080         * html/parser/XSSAuditorDelegate.h:
3081         (WebCore::XSSInfo::create):
3082         (WebCore::XSSInfo::XSSInfo):
3083         * html/parser/XSSAuditor.cpp:
3084         (WebCore::XSSAuditor::init):
3085         (WebCore::XSSAuditor::filterToken):
3086         (WebCore::XSSAuditor::isSafeToSendToAnotherThread):
3087         * html/parser/XSSAuditor.h:
3088             Remove the copied original URL from both XSSInfo objects and the
3089             XSSAuditor.
3090
3091 2013-03-10  Andreas Kling  <akling@apple.com>
3092
3093         GlyphMetricsMap should use OwnPtr.
3094         <http://webkit.org/b/111937>
3095
3096         Reviewed by Anders Carlsson.
3097
3098         Use OwnPtr instead of raw pointer + deleteAllValues().
3099
3100         * platform/graphics/GlyphMetricsMap.h:
3101         (GlyphMetricsMap):
3102         (WebCore::::locatePageSlowCase):
3103
3104 2013-03-10  Eric Carlson  <eric.carlson@apple.com>
3105
3106         Allow iOS port to use InbandTextTrackPrivateAVF
3107         https://bugs.webkit.org/show_bug.cgi?id=111933
3108
3109         Reviewed by Dean Jackson.
3110
3111         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
3112         (WebCore::InbandTextTrackPrivateAVF::processCue): Drive-by cleanup.
3113         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
3114
3115 2013-03-09  Eric Carlson  <eric.carlson@apple.com>
3116
3117         Enable platform code to implement text track menu
3118         https://bugs.webkit.org/show_bug.cgi?id=111924
3119
3120         Reviewed by Dean Jackson.
3121
3122         No new tests, the new code isn't enabled in any ports yet.
3123
3124         * WebCore.xcodeproj/project.pbxproj: Add PlatformTextTrack.h and PlatformTextTrackMenu.h.
3125
3126         * html/HTMLAudioElement.cpp:
3127         (WebCore::HTMLAudioElement::createForJSConstructor): scheduleLoad -> scheduleDelayedAction.
3128
3129         * html/HTMLMediaElement.cpp:
3130         (WebCore::HTMLMediaElement::HTMLMediaElement): Deal with scheduleLoad to scheduleDelayedAction rename.
3131         (WebCore::HTMLMediaElement::parseAttribute): Ditto.
3132         (WebCore::HTMLMediaElement::finishParsingChildren): Ditto.
3133         (WebCore::HTMLMediaElement::insertedInto): Ditto.
3134         (WebCore::HTMLMediaElement::scheduleDelayedAction): Ditto.
3135         (WebCore::HTMLMediaElement::scheduleNextSourceChild): Ditto.
3136         (WebCore::HTMLMediaElement::loadTimerFired): Ditto.
3137         (WebCore::HTMLMediaElement::textTrackModeChanged): Notify platform menu of track change.
3138         (WebCore::HTMLMediaElement::playInternal): Deal with scheduleLoad to scheduleDelayedAction rename.
3139         (WebCore::HTMLMediaElement::pauseInternal): Ditto.
3140         (WebCore::HTMLMediaElement::mediaPlayerDidAddTrack): Ditto. Call addTrack() instead of appending 
3141             the track directly.
3142         (WebCore::HTMLMediaElement::setSelectedTextTrack): Deal with platform menu changing the
3143             selected track.
3144         (WebCore::HTMLMediaElement::platformTextTracks): Return an array of PlatformTracks representing
3145             the current text tracks.
3146         (WebCore::HTMLMediaElement::notifyMediaPlayerOfTextTrackChanges): Notify the platform menu
3147             that the list of text tracks has changed.
3148         (WebCore::HTMLMediaElement::platformTextTrackMenu): Return the platform track menu, if any.
3149         (WebCore::HTMLMediaElement::closeCaptionTracksChanged): 
3150         (WebCore::HTMLMediaElement::addTrack): Call addTrack() instead of appending the track directly.
3151         (WebCore::HTMLMediaElement::removeTrack): Call closeCaptionTracksChanged.
3152         (WebCore::HTMLMediaElement::addTextTrack): Call addTrack() instead of appending the track directly.
3153         (WebCore::HTMLMediaElement::didAddTrack): Ditto.
3154         (WebCore::HTMLMediaElement::didRemoveTrack): Deal with scheduleLoad to scheduleDelayedAction rename.
3155         (WebCore::HTMLMediaElement::sourceWasAdded): Ditto.
3156         (WebCore::HTMLMediaElement::clearMediaPlayer): Forget the platform track menu.
3157         (WebCore::HTMLMediaElement::resume): Deal with scheduleLoad to scheduleDelayedAction rename.
3158         * html/HTMLMediaElement.h:
3159
3160         * html/track/InbandTextTrack.h: scheduleLoad -> scheduleDelayedAction.
3161
3162         * html/track/TextTrack.cpp:
3163         (WebCore::TextTrack::platformTextTrack): Create a PlatformTextTrack.
3164         * html/track/TextTrack.h:
3165
3166         * platform/graphics/MediaPlayer.cpp:
3167         (WebCore::MediaPlayer::implementsTextTrackControls): New, player private passthrough.
3168         (WebCore::MediaPlayer::textTrackMenu): Ditto.
3169         * platform/graphics/MediaPlayer.h:
3170         * platform/graphics/MediaPlayerPrivate.h:
3171
3172         * platform/graphics/PlatformTextTrack.h: Added.
3173
3174         * platform/graphics/PlatformTextTrackMenu.h: Added.
3175
3176 2013-03-09  Eric Carlson  <eric.carlson@apple.com>
3177
3178         Video size calculated incorrectly when PLUGIN_PROXY_FOR_VIDEO
3179         https://bugs.webkit.org/show_bug.cgi?id=111912
3180
3181         Reviewed by Dean Jackson.
3182
3183         * html/shadow/MediaControlElements.cpp:
3184         (WebCore::MediaControlTextTrackContainerElement::updateSizes): We use RenderPart when
3185             PLUGIN_PROXY_FOR_VIDEO is defined, not RenderVideo.
3186
3187 2013-03-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
3188
3189         Fix offset handling in GStreamer WebKitWebSource.
3190         https://bugs.webkit.org/show_bug.cgi?id=111888
3191
3192         Reviewed by Philippe Normand.
3193
3194         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3195         (webKitWebSrcSeekDataCb):
3196         (StreamingClient::didReceiveData):
3197         The offset handling in WebKitWebSource was completely wrong
3198         before and caused wrong offsets to be set on the GStreamer buffers
3199         after a seek.
3200
3201         Apart from that there was also a race condition that happens
3202         when a downstream element causes seeks in very short succession
3203         and is switching between two different parts of the stream.
3204
3205 2013-03-09  Keishi Hattori  <keishi@webkit.org>
3206
3207         Month transition animation is missing in some places
3208         https://bugs.webkit.org/show_bug.cgi?id=111908
3209
3210         Reviewed by Kent Tamura.
3211
3212         Month transition animation was missing when navigating using keyboard
3213         shortcuts and when navigation was trigger by selecting.
3214
3215         Added tests to calendar-picker/*-picker-key-operations.html.
3216
3217         * Resources/pagepopups/calendarPicker.js:
3218         (Animator): Added annotations.
3219         (Animator.prototype.isRunning): Returns true of the animation is running. Used by test.
3220         (ScrollView.prototype.scrollAnimator): Returns the scroll animator. Used by test.
3221         (CalendarPicker):
3222         (CalendarPicker.prototype.onYearListViewDidSelectMonth): Use CalendarPicker.NavigationBehavior enum instead of bool.
3223         (CalendarPicker.prototype.setSelection): Ditto.
3224         (CalendarPicker.prototype._moveHighlight): Ditto.
3225         (CalendarPicker.prototype.onCalendarTableKeyDown): Ditto.
3226         (CalendarPicker.prototype.onBodyKeyDown): Ditto.
3227
3228 2013-03-09  Dean Jackson  <dino@apple.com>
3229
3230         Can't build w/o accelerated compositing
3231         https://bugs.webkit.org/show_bug.cgi?id=111891
3232
3233         Patch originally came from Tobias Mueller <tobiasmue@gnome.org>
3234
3235         Unreviewed build fix for platforms without ACCELERATED_COMPOSITING enabled, due
3236         to r145057.
3237
3238         * dom/PseudoElement.cpp:
3239         (WebCore::PseudoElement::~PseudoElement): Wrap the call to pseudoElementDestroyed in
3240             USE(ACCELERATED_COMPOSITING)
3241
3242 2013-03-07  Robert Hogan  <robert@webkit.org>
3243
3244         REGRESSION(r140907): Incorrect baseline for cells with media content during load
3245         https://bugs.webkit.org/show_bug.cgi?id=108357
3246
3247         Reviewed by Julien Chaffraix.
3248
3249         If a cell has replaced content, the intrinsic height of its content can change between layouts. If that's the case then the intrinsic padding we used
3250         for layout (the padding required to push the contents of the cell down to the row's baseline) is included in the new height and baseline and makes both
3251         of them wrong. So if a cell's content's intrinsic height has changed push the new content up into the intrinsic padding and relayout so that the rest of
3252         table and row layout can use the correct baseline and height for this cell.
3253
3254         Tests: fast/css/vertical-align-baseline-rowspan-012.html
3255                http/tests/css/vertical-align-baseline-after-image-load-2.html
3256                http/tests/css/vertical-align-baseline-after-image-load-3.html
3257                http/tests/css/vertical-align-baseline-after-image-load.html
3258
3259         * rendering/RenderTableCell.cpp:
3260         (WebCore::RenderTableCell::layout):
3261         * rendering/RenderTableCell.h:
3262         (WebCore::RenderTableCell::isBaselineAligned):
3263         * rendering/RenderTableSection.cpp:
3264         (WebCore::RenderTableSection::calcRowLogicalHeight):
3265         (WebCore::RenderTableSection::layoutRows):
3266
3267 2013-03-08  Chris Fleizach  <cfleizach@apple.com>
3268
3269         REGRESSION: Intermittent crash in SpeechSynthesis::didFinishSpeaking
3270         https://bugs.webkit.org/show_bug.cgi?id=111613
3271
3272         Reviewed by Ryosuke Niwa.
3273
3274         This crash happens when the mock synthesizer utterance variable gets cleared
3275         before the speakingFinished timer happens. I don't see how that could happen
3276         but I was able to make a similar problem happen when cancel is called twice.
3277
3278         This adds in a few more asserts and common sense checks. I'm hoping it will
3279         illuminate the problem further.
3280
3281         * platform/mock/PlatformSpeechSynthesizerMock.cpp:
3282         (WebCore::PlatformSpeechSynthesizerMock::speakingFinished):
3283         (WebCore::PlatformSpeechSynthesizerMock::speak):
3284         (WebCore::PlatformSpeechSynthesizerMock::cancel):
3285
3286 2013-03-08  David Kilzer  <ddkilzer@apple.com>
3287
3288         BUILD FIX: Make WebCore link for iOS
3289
3290         * WebCore.exp.in:
3291         - Add ENABLE(RUBBER_BAND) for FrameView::setWantsLayerForTopOverHangArea(bool)
3292           and FrameView::setWantsLayerForBottomOverHangArea(bool).
3293         - Move FloatPoint::FloatPoint(_NSPoint const&) to !PLATFORM(IOS)
3294           section.
3295
3296 2013-03-08  Julien Chaffraix  <jchaffraix@webkit.org>
3297
3298         [CSS Grid Layout] Resolve grid-{end|after} integer against the end|after edge
3299         https://bugs.webkit.org/show_bug.cgi?id=111885
3300
3301         Reviewed by Tony Chang.
3302
3303         The current code resolves grid-end (resp. grid-after) <integer>'s format against the start
3304         (resp. before) axis. The specification changed so that they are resolved against their matching
3305         axis.
3306
3307         Test: fast/css-grid-layout/grid-auto-flow-resolution.html
3308
3309         * rendering/RenderGrid.cpp:
3310         (WebCore::RenderGrid::maximumIndexInDirection):
3311         Updated the code to do the grid sizing measurement without resolveGridPositionsFromStyle. That's required
3312         as resolveGridPositionsFromStyle requires the grid to be sized.
3313
3314         (WebCore::RenderGrid::placeItemsOnGrid):
3315         Added a comment about not recomputing after grid growth. This issue was raised to www-style
3316         (http://lists.w3.org/Archives/Public/www-style/2013Mar/0182.html).
3317
3318         (WebCore::RenderGrid::resolveGridPositionsFromStyle):
3319         Added an ASSERT now that we don't call it during grid construction. Also added some code to pass
3320         the side of the GridPosition we give to resolveGridPositionFromStyle.
3321
3322         (WebCore::RenderGrid::resolveGridPositionFromStyle):
3323         Updated the code to resolve the grid position against the right side.
3324
3325         * rendering/RenderGrid.h:
3326         Added GridPositionSide and updated resolveGridPositionFromStyle's signature.
3327
3328 2013-03-08  Sheriff Bot  <webkit.review.bot@gmail.com>
3329
3330         Unreviewed, rolling out r142015.
3331         http://trac.webkit.org/changeset/142015
3332         https://bugs.webkit.org/show_bug.cgi?id=111904
3333
3334         The change caused 2 major regressions (bug 111091 and bug
3335         111595) and Pravin doesn't have time to investigate them
3336         (Requested by jchaffraix on #webkit).
3337
3338         * dom/Node.cpp:
3339         (WebCore::Node::diff):
3340         * rendering/RenderBlock.cpp:
3341         (WebCore::RenderBlock::childBecameNonInline):
3342         (WebCore):
3343         * rendering/RenderBlock.h:
3344         (RenderBlock):
3345         * rendering/RenderBoxModelObject.h:
3346         (WebCore::RenderBoxModelObject::childBecameNonInline):
3347         (RenderBoxModelObject):
3348         * rendering/RenderInline.cpp:
3349         (WebCore::RenderInline::childBecameNonInline):
3350         (WebCore):
3351         * rendering/RenderInline.h:
3352         (RenderInline):
3353         * rendering/RenderObject.cpp:
3354         (WebCore):
3355         (WebCore::RenderObject::handleDynamicFloatPositionChange):
3356         (WebCore::RenderObject::styleWillChange):
3357         (WebCore::RenderObject::styleDidChange):
3358         * rendering/RenderObject.h:
3359         (RenderObject):
3360
3361 2013-03-08  Dean Jackson  <dino@apple.com>
3362
3363         Don't snapshot Java plugins
3364         https://bugs.webkit.org/show_bug.cgi?id=111899
3365
3366         Reviewed by Tim Horton.
3367
3368         Export MIMETypeRegistry::isJavaAppletMIMEType symbol.
3369
3370         * WebCore.exp.in:
3371
3372 2013-03-08  Rafael Weinstein  <rafaelw@chromium.org>
3373
3374         [HTMLTemplateElement] processTemplateEndTag() needs to check for template in html scope
3375         https://bugs.webkit.org/show_bug.cgi?id=111880
3376
3377         Reviewed by Eric Seidel.
3378
3379         Currently, </template> handling exits with an error if there is not a template tag "in scope"
3380         which will be true if there is a table (for instance) below a template. This makes it so that
3381         the search (correctly) examines the entire element stack.
3382
3383         Tests added to html5lib testing library.
3384
3385         * html/parser/HTMLTreeBuilder.cpp:
3386         (WebCore::HTMLTreeBuilder::processTemplateEndTag):
3387
3388 2013-03-08  Eric Seidel  <eric@webkit.org>
3389
3390         BackgroundHTMLParser should be able to atomize well-known strings
3391         https://bugs.webkit.org/show_bug.cgi?id=107337
3392
3393         Reviewed by Adam Barth.
3394
3395         Testing this patch easily requires applying bug 107236 locally
3396         to remove all the rendering noise from Parser/html-threaded-parser.html.
3397
3398         This patch adds a new class HTMLIdentifier which allows us to avoid
3399         allocating strings for known tag/attribute names from HTMLNames.
3400
3401         There is still a lot of meat on this bone, but I think it's important to
3402         land something "smallish" to start and iterate from there.
3403
3404         This took Parser/html-threaded-parser.html from:
3405         median= 443.726500002 ms, stdev= 7.25002679952 ms, min= 430.244000047 ms, max= 455.511000007 ms
3406         to:
3407         median= 427.849500004 ms, stdev= 9.96967058292 ms, min= 417.914000049 ms, max= 461.528000014 ms
3408         on my MBP.
3409
3410         * CMakeLists.txt:
3411         * GNUmakefile.list.am:
3412         * Target.pri:
3413         * WebCore.gypi:
3414         * WebCore.vcproj/WebCore.vcproj:
3415         * WebCore.vcxproj/WebCore.vcxproj:
3416         * html/parser/AtomicHTMLToken.h:
3417         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
3418         * html/parser/BackgroundHTMLParser.cpp:
3419         (WebCore::tokenExitsForeignContent):
3420         (WebCore::tokenExitsSVG):
3421         (WebCore::tokenExitsMath):
3422         (WebCore::BackgroundHTMLParser::simulateTreeBuilder):
3423         * html/parser/CSSPreloadScanner.cpp:
3424         (WebCore::CSSPreloadScanner::scan):
3425         * html/parser/CSSPreloadScanner.h:
3426         (WebCore):
3427         (CSSPreloadScanner):
3428         * html/parser/CompactHTMLToken.cpp:
3429         (SameSizeAsCompactHTMLToken):
3430         (WebCore::CompactHTMLToken::CompactHTMLToken):
3431         * html/parser/CompactHTMLToken.h:
3432         (WebCore::CompactHTMLToken::Attribute::Attribute):
3433         (Attribute):
3434         (WebCore::CompactHTMLToken::data):
3435         (WebCore::CompactHTMLToken::publicIdentifier):
3436         (CompactHTMLToken):
3437         * html/parser/HTMLDocumentParser.cpp:
3438         (WebCore::HTMLDocumentParser::startBackgroundParser):
3439         * html/parser/HTMLIdentifier.cpp: Added.
3440         (WebCore):
3441         (WebCore::identifierTable):
3442         (WebCore::HTMLIdentifier::hasIndex):
3443         (WebCore::HTMLIdentifier::findIndex):
3444         (WebCore::nameForIndex):
3445         (WebCore::HTMLIdentifier::asString):
3446         (WebCore::HTMLIdentifier::asStringImpl):
3447         (WebCore::HTMLIdentifier::addNames):
3448         (WebCore::HTMLIdentifier::init):
3449         * html/parser/HTMLIdentifier.h: Added.
3450         (WebCore):
3451         (HTMLIdentifier):
3452         (WebCore::HTMLIdentifier::HTMLIdentifier):
3453         (WebCore::HTMLIdentifier::isSafeToSendToAnotherThread):
3454         * html/parser/HTMLParserIdioms.cpp:
3455         (WebCore::threadSafeEqual):
3456         (WebCore::threadSafeMatch):
3457         * html/parser/HTMLParserIdioms.h:
3458         (WebCore):
3459         (WebCore::threadSafeHTMLNamesMatch):
3460         * html/parser/HTMLPreloadScanner.cpp:
3461         (WebCore::TokenPreloadScanner::tagIdFor):
3462         (WebCore::T