d9f0fb11d9cc2d9dacdc1f9624e3bc171e849389
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-02-16  Andreas Kling  <akling@apple.com>
2
3         Remove multi-threading gunk from WebKit2's PluginInfoStore.
4         <http://webkit.org/b/110046>
5
6         Reviewed by Alexey Proskuryakov.
7
8         Remove now-unused code for making deep (isolated) copies of WebCore plugin structures.
9
10         * plugins/PluginData.h:
11         (MimeClassInfo):
12         (PluginInfo):
13
14 2013-02-16  Alexey Proskuryakov  <ap@apple.com>
15
16         Identifier generated twice in FrameLoader::loadResourceSynchronously()
17         https://bugs.webkit.org/show_bug.cgi?id=110022
18
19         Reviewed by Darin Adler.
20
21         * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadResourceSynchronously):
22         Fix an apparent refactoring mistake.
23
24 2013-02-16  Andreas Kling  <akling@apple.com>
25
26         [JSC] Remove custom mark function for NamedNodeMap.
27         <http://webkit.org/b/110029>
28
29         Reviewed by Darin Adler.
30
31         NamedNodeMap refs and unrefs its Element owner, so there's no need for the wrapper to keep the Element alive.
32
33         Covered by fast/dom/Attr/access-after-element-destruction.html
34
35         * bindings/js/JSNamedNodeMapCustom.cpp:
36         * dom/NamedNodeMap.idl:
37
38 2013-02-16  Peter Nelson  <peter@peterdn.com>
39
40         REGRESSION(r143076): Crash when calling removeNamedItem or removeNamedItemNS with a non-existent attribute of newly created element.
41         <http://webkit.org/b/110019>
42
43         Reviewed by Andreas Kling.
44
45         Now checks Element::hasAttributes() before calling Element::getAttributeItemIndex().
46
47         Test: http/tests/misc/acid3.html
48
49         * dom/NamedNodeMap.cpp:
50         (WebCore::NamedNodeMap::removeNamedItem):
51         (WebCore::NamedNodeMap::removeNamedItemNS):
52
53 2013-02-16  Andreas Kling  <akling@apple.com>
54
55         Element: Devirtualize attribute synchronization functions.
56         <http://webkit.org/b/110033>
57
58         Reviewed by Darin Adler.
59
60         Devirtualize the functions that perform re-serialization of lazy attributes and give
61         them "synchronize"-style names:
62
63             - SVGElement::synchronizeAnimatedSVGAttribute()
64             - StyledElement::synchronizeStyleAttributeInternal()
65
66         * dom/Element.cpp:
67         (WebCore::Element::synchronizeAllAttributes):
68         (WebCore::Element::synchronizeAttribute):
69         * dom/Element.h:
70         * dom/StyledElement.cpp:
71         (WebCore::StyledElement::synchronizeStyleAttribute):
72         * dom/StyledElement.h:
73         (StyledElement):
74         * rendering/svg/RenderSVGResourceGradient.cpp:
75         (WebCore::RenderSVGResourceGradient::applyResource):
76         * rendering/svg/RenderSVGResourcePattern.cpp:
77         (WebCore::RenderSVGResourcePattern::buildPattern):
78         * svg/SVGElement.cpp:
79         (WebCore::SVGElement::synchronizeAnimatedSVGAttribute):
80         * svg/SVGElement.h:
81         (SVGElement):
82
83 2013-02-16  Andreas Kling  <akling@apple.com>
84
85         Element: Avoid unrelated attribute synchronization on other attribute access.
86         <http://webkit.org/b/110025>
87
88         Reviewed by Darin Adler.
89
90         We've been extremely trigger happy with re-serializing the style attribute (and SVG animatables)
91         whenever any Element attribute API was used. This patch narrows this down to (almost always)
92         only synchronizing an attribute when someone specifically wants to read/update it.
93
94         Also removed two more confusing ElementData accessors:
95
96             - Element::elementDataWithSynchronizedAttributes()
97             - Element::ensureElementDataWithSynchronizedAttributes()
98
99         * dom/Element.h:
100         * dom/Element.cpp:
101         (WebCore::Element::hasAttributes):
102         (WebCore::Element::hasEquivalentAttributes):
103         (WebCore::Element::cloneAttributesFromElement):
104         (WebCore::Element::synchronizeAllAttributes):
105
106             Renamed updateInvalidAttributes() to synchronizeAllAttributes().
107             This function should only be used when we need every single attribute to be up-to-date.
108
109         (WebCore::Element::synchronizeAttribute):
110
111             Broke out logic for synchronizing a specific attribute, given either a full QualifiedName
112             or a localName.
113
114         (WebCore::Element::setSynchronizedLazyAttribute):
115
116             Don't call ensureUniqueElementData() indisciminately here. This avoids converting the attribute
117             storage when re-serializing the inline style yields the same CSS text that was already in the
118             style attribute.
119
120         (WebCore::Element::hasAttribute):
121         (WebCore::Element::hasAttributeNS):
122         (WebCore::Element::getAttribute):
123         (WebCore::Element::getAttributeNode):
124         (WebCore::Element::getAttributeNodeNS):
125         (WebCore::Element::setAttribute):
126         (WebCore::Element::setAttributeNode):
127         (WebCore::Element::removeAttributeNode):
128
129             Only synchronize the attribute in question.
130
131         * dom/Node.cpp:
132         (WebCore::Node::compareDocumentPosition):
133
134             Call synchronizeAllAttributes() when comparing two Attr nodes on the same Element instead
135             of relying on the side-effects of another function doing this.
136
137 2013-02-16  Seokju Kwon  <seokju.kwon@gmail.com>
138
139         Fix build warnings after r139853
140         https://bugs.webkit.org/show_bug.cgi?id=109929
141
142         Reviewed by Alexey Proskuryakov.
143
144         Use UNUSED_PARAM macro to fix build warning -Wunused-parameter
145         when INSPECTOR is disabled.
146
147         No new tests, no behavior change.
148
149         * inspector/InspectorInstrumentation.h:
150         (WebCore::InspectorInstrumentation::frameStartedLoading):
151         (WebCore::InspectorInstrumentation::frameStoppedLoading):
152         (WebCore::InspectorInstrumentation::frameScheduledNavigation):
153         (WebCore::InspectorInstrumentation::frameClearedScheduledNavigation):
154
155 2013-02-16  Sheriff Bot  <webkit.review.bot@gmail.com>
156
157         Unreviewed, rolling out r142734.
158         http://trac.webkit.org/changeset/142734
159         https://bugs.webkit.org/show_bug.cgi?id=110018
160
161         "Triggered crashes on lots of websites" (Requested by ggaren
162         on #webkit).
163
164         * bindings/js/JSLocationCustom.cpp:
165         (WebCore::JSLocation::getOwnPropertySlotDelegate):
166
167 2013-02-16  Robert Hogan  <robert@webkit.org>
168
169         percentage top value of position:relative element not calculated using parent's min-height unless height set
170         https://bugs.webkit.org/show_bug.cgi?id=14762
171
172         Reviewed by Julien Chaffraix.
173
174         Percentage height "is calculated with respect to the height of the generated box's containing block" says  
175         http://www.w3.org/TR/CSS21/visudet.html#the-height-property and "If the height of the containing block is not 
176         specified explicitly (i.e., it depends on content height), and this element is not absolutely positioned, the
177         value computes to 'auto'." So when calculating the used height of a replaced element do not crawl through ancestor 
178         blocks except when traversing anonymous blocks. Ensure that anonymous table cells are not skipped through though.
179
180         http://www.w3.org/TR/CSS21/tables.html#height-layout adds "In CSS 2.1, the height of a cell box is the minimum 
181         height required by the content." This height is decided by allowing table cells to report their height as auto.
182         It's not clear why http://trac.webkit.org/changeset/91242 decided it should no longer do this - doing so caused
183         us to regress in our rendering of computed-image-width-with-percent-height-inside-table-cell-and-fixed-ancestor.html.
184
185         Tests: fast/block/percent-top-parent-respects-min-height.html
186                fast/replaced/computed-image-width-with-percent-height-and-fixed-ancestor-vertical-lr.html
187                fast/replaced/computed-image-width-with-percent-height-and-fixed-ancestor.html
188                fast/replaced/computed-image-width-with-percent-height-inside-table-cell-and-fixed-ancestor-vertical-lr.html
189                fast/replaced/computed-image-width-with-percent-height-inside-table-cell-and-fixed-ancestor.html
190
191         * rendering/RenderBoxModelObject.cpp:
192         (WebCore::RenderBoxModelObject::hasAutoHeightOrContainingBlockWithAutoHeight):
193         (WebCore):
194         (WebCore::RenderBoxModelObject::relativePositionOffset):
195         * rendering/RenderBoxModelObject.h:
196         (RenderBoxModelObject):
197         * rendering/RenderReplaced.cpp:
198         (WebCore::RenderReplaced::hasReplacedLogicalHeight):
199
200 2013-02-16  Stephen White  <senorblanco@chromium.org>
201
202         [skia] FEOffset should have a Skia implementation.
203         https://bugs.webkit.org/show_bug.cgi?id=109831
204
205         Reviewed by James Robinson.
206
207         Covered by css3/filters/effect-reference.html and -hw.html.
208
209         * WebCore.gypi:
210         * platform/graphics/filters/FEOffset.h:  Implement createImageFilter()
211         for the Skia path.
212         * platform/graphics/filters/skia/FEOffsetSkia.cpp: Added.
213         (WebCore::FEOffset::createImageFilter):
214         Instantiate an SkOffsetImageFilter when building the Skia DAG.
215
216 2013-02-16  Vsevolod Vlasov  <vsevik@chromium.org>
217
218         Web Inspector: Create separate project for each domain for UISourceCode based on browser resources.
219         https://bugs.webkit.org/show_bug.cgi?id=109691
220
221         Reviewed by Pavel Feldman.
222
223         Separate project of certain type is now created for each domain.
224         UISourceCode path represents a path in the project now.
225         UISourceCode uri is now calculated based on project id and path.
226         It is also possible to calculate path based on projectId and URI, which is used for uiSourceCodeForURI() methods.
227
228         * inspector/front-end/ScriptSnippetModel.js:
229         (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
230         * inspector/front-end/SimpleWorkspaceProvider.js:
231         (WebInspector.SimpleProjectDelegate):
232         (WebInspector.SimpleProjectDelegate.projectId):
233         (WebInspector.SimpleProjectDelegate.prototype.id):
234         (WebInspector.SimpleProjectDelegate.prototype.displayName):
235         (WebInspector.SimpleProjectDelegate.prototype.addFile):
236         (WebInspector.SimpleWorkspaceProvider):
237         (WebInspector.SimpleWorkspaceProvider.splitURL):
238         (WebInspector.SimpleWorkspaceProvider._pathForSplittedURL):
239         (WebInspector.SimpleWorkspaceProvider.uriForURL):
240         (WebInspector.SimpleWorkspaceProvider.prototype._projectDelegate):
241         (WebInspector.SimpleWorkspaceProvider.prototype._innerAddFileForURL):
242         (WebInspector.SimpleWorkspaceProvider.prototype.addFileByName):
243         (WebInspector.SimpleWorkspaceProvider.prototype._innerAddFile):
244         (WebInspector.SimpleWorkspaceProvider.prototype.removeFileByName):
245         (WebInspector.SimpleWorkspaceProvider.prototype.reset):
246         * inspector/front-end/UISourceCode.js:
247         (WebInspector.UISourceCode.uri):
248         (WebInspector.UISourceCode.path):
249         (WebInspector.UISourceCode.prototype.uri):
250         * inspector/front-end/Workspace.js:
251         (WebInspector.Project.prototype._fileAdded):
252         (WebInspector.Project.prototype._fileRemoved):
253         (WebInspector.Project.prototype.uiSourceCodeForURI):
254
255 2013-02-15  Chris Fleizach  <cfleizach@apple.com>
256
257         AX: Split WebAccessibilityObjectWrapper so code can be shared with iOS
258         https://bugs.webkit.org/show_bug.cgi?id=109849
259
260         Reviewed by David Kilzer.
261
262         Split up the WebAccessibilityObjectWrapper so that iOS can share more 
263         code with MacOS. I imagine over time, more code will move into this base class,
264         but for now this will be a good start.
265
266         A base class called WebAccessibilityObjectWrapper now exists, and Mac has a subclass
267         of that. iOS will be able to do the same.
268
269         * WebCore.xcodeproj/project.pbxproj:
270         * accessibility/mac/AXObjectCacheMac.mm:
271         (WebCore::AXObjectCache::attachWrapper):
272         * accessibility/mac/WebAccessibilityObjectWrapper.h:
273         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
274         (-[WebAccessibilityObjectWrapper detach]):
275         (-[WebAccessibilityObjectWrapper attachmentView]):
276         (-[WebAccessibilityObjectWrapper accessibilityObject]):
277         (-[WebAccessibilityObjectWrapper accessibilityPostedNotification:]):
278         (-[WebAccessibilityObjectWrapper titleTagShouldBeUsedInDescriptionField]):
279         (-[WebAccessibilityObjectWrapper accessibilityTitle]):
280         (-[WebAccessibilityObjectWrapper accessibilityDescription]):
281         (-[WebAccessibilityObjectWrapper accessibilityHelpText]):
282         * accessibility/mac/WebAccessibilityObjectWrapperMac.h: Added.
283         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: Added.
284         (std):
285         (-[WebAccessibilityObjectWrapperMac detach]):
286         (-[WebAccessibilityObjectWrapperMac attachmentView]):
287         (CFAutoreleaseHelper):
288         (AXObjectIsTextMarker):
289         (AXObjectIsTextMarkerRange):
290         (AXTextMarkerRange):
291         (AXTextMarkerRangeStart):
292         (AXTextMarkerRangeEnd):
293         (SearchKeyEntry):
294         (createAccessibilitySearchKeyMap):
295         (accessibilitySearchKeyForString):
296         (textMarkerForVisiblePosition):
297         (-[WebAccessibilityObjectWrapperMac textMarkerForVisiblePosition:]):
298         (visiblePositionForTextMarker):
299         (-[WebAccessibilityObjectWrapperMac visiblePositionForTextMarker:]):
300         (visiblePositionForStartOfTextMarkerRange):
301         (visiblePositionForEndOfTextMarkerRange):
302         (textMarkerRangeFromMarkers):
303         (AXAttributedStringRangeIsValid):
304         (AXAttributeStringSetFont):
305         (CreateCGColorIfDifferent):
306         (AXAttributeStringSetColor):
307         (AXAttributeStringSetNumber):
308         (AXAttributeStringSetStyle):
309         (AXAttributeStringSetBlockquoteLevel):
310         (AXAttributeStringSetSpelling):
311         (AXAttributeStringSetHeadingLevel):
312         (AXAttributeStringSetElement):
313         (AXAttributedStringAppendText):
314         (nsStringForReplacedNode):
315         (-[WebAccessibilityObjectWrapperMac doAXAttributedStringForTextMarkerRange:]):
316         (textMarkerRangeFromVisiblePositions):
317         (-[WebAccessibilityObjectWrapperMac textMarkerRangeFromVisiblePositions:endPosition:]):
318         (-[WebAccessibilityObjectWrapperMac accessibilityActionNames]):
319         (-[WebAccessibilityObjectWrapperMac additionalAccessibilityAttributeNames]):
320         (-[WebAccessibilityObjectWrapperMac accessibilityAttributeNames]):
321         (-[WebAccessibilityObjectWrapperMac visiblePositionRangeForTextMarkerRange:]):
322         (-[WebAccessibilityObjectWrapperMac renderWidgetChildren]):
323         (-[WebAccessibilityObjectWrapperMac remoteAccessibilityParentObject]):
324         (convertToVector):
325         (convertToNSArray):
326         (-[WebAccessibilityObjectWrapperMac textMarkerRangeForSelection]):
327         (-[WebAccessibilityObjectWrapperMac position]):
328         (createAccessibilityRoleMap):
329         (roleValueToNSString):
330         (-[WebAccessibilityObjectWrapperMac role]):
331         (-[WebAccessibilityObjectWrapperMac subrole]):
332         (-[WebAccessibilityObjectWrapperMac roleDescription]):
333         (-[WebAccessibilityObjectWrapperMac scrollViewParent]):
334         (-[WebAccessibilityObjectWrapperMac titleTagShouldBeUsedInDescriptionField]):
335         (-[WebAccessibilityObjectWrapperMac accessibilityTitle]):
336         (-[WebAccessibilityObjectWrapperMac accessibilityDescription]):
337         (-[WebAccessibilityObjectWrapperMac accessibilityHelpText]):
338         (-[WebAccessibilityObjectWrapperMac accessibilityAttributeValue:]):
339         (-[WebAccessibilityObjectWrapperMac accessibilityFocusedUIElement]):
340         (-[WebAccessibilityObjectWrapperMac accessibilityHitTest:]):
341         (-[WebAccessibilityObjectWrapperMac accessibilityIsAttributeSettable:]):
342         (-[WebAccessibilityObjectWrapperMac accessibilityIsIgnored]):
343         (-[WebAccessibilityObjectWrapperMac accessibilityParameterizedAttributeNames]):
344         (-[WebAccessibilityObjectWrapperMac accessibilityPerformPressAction]):
345         (-[WebAccessibilityObjectWrapperMac accessibilityPerformIncrementAction]):
346         (-[WebAccessibilityObjectWrapperMac accessibilityPerformDecrementAction]):
347         (-[WebAccessibilityObjectWrapperMac accessibilityPerformShowMenuAction]):
348         (-[WebAccessibilityObjectWrapperMac accessibilityShowContextMenu]):
349         (-[WebAccessibilityObjectWrapperMac accessibilityPerformAction:]):
350         (-[WebAccessibilityObjectWrapperMac accessibilitySetValue:forAttribute:]):
351         (rendererForView):
352         (-[WebAccessibilityObjectWrapperMac _accessibilityParentForSubview:]):
353         (-[WebAccessibilityObjectWrapperMac accessibilityActionDescription:]):
354         (-[WebAccessibilityObjectWrapperMac doAXAttributedStringForRange:]):
355         (-[WebAccessibilityObjectWrapperMac _convertToNSRange:]):
356         (-[WebAccessibilityObjectWrapperMac _indexForTextMarker:]):
357         (-[WebAccessibilityObjectWrapperMac _textMarkerForIndex:]):
358         (-[WebAccessibilityObjectWrapperMac doAXRTFForRange:]):
359         (-[WebAccessibilityObjectWrapperMac accessibilityAttributeValue:forParameter:]):
360         (-[WebAccessibilityObjectWrapperMac accessibilitySupportsOverriddenAttributes]):
361         (-[WebAccessibilityObjectWrapperMac accessibilityShouldUseUniqueId]):
362         (-[WebAccessibilityObjectWrapperMac accessibilityIndexOfChild:]):
363         (-[WebAccessibilityObjectWrapperMac accessibilityArrayAttributeCount:]):
364         (-[WebAccessibilityObjectWrapperMac accessibilityArrayAttributeValues:index:maxCount:]):
365         ([WebAccessibilityObjectWrapperMac accessibilitySetShouldRepostNotifications:]):
366         (-[WebAccessibilityObjectWrapperMac accessibilityPostedNotification:]):
367
368 2013-02-15  Eric Carlson  <eric.carlson@apple.com>
369
370         [Mac] remove wkCaptionAppearance from WebKitSystemInterface
371         https://bugs.webkit.org/show_bug.cgi?id=109996
372
373         Reviewed by Simon Fraser.
374
375         * platform/mac/WebCoreSystemInterface.h:
376         * platform/mac/WebCoreSystemInterface.mm:
377
378 2013-02-15  Sheriff Bot  <webkit.review.bot@gmail.com>
379
380         Unreviewed, rolling out r143088.
381         http://trac.webkit.org/changeset/143088
382         https://bugs.webkit.org/show_bug.cgi?id=110000
383
384         Breaks the build (Requested by dgorbik on #webkit).
385
386         * platform/mac/WebCoreSystemInterface.h:
387         * platform/mac/WebCoreSystemInterface.mm:
388
389 2013-02-15  Chris Rogers  <crogers@google.com>
390
391         Enhance AudioBus copyFrom() and sumFrom() to be able to handle discrete and speakers up and down-mixing
392         https://bugs.webkit.org/show_bug.cgi?id=109983
393
394         Reviewed by Kenneth Russell.
395
396         The Web Audio spec has a more detailed explanation for how channels are to be up and down-mixed:
397         https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#UpMix
398
399         This patch adds the initial support for handling ChannelInterpretation, although no
400         new JS API is yet implemented.
401
402         No new tests since no new APIs have yet been exposed.
403
404         * platform/audio/AudioBus.cpp:
405         (WebCore::AudioBus::copyFrom):
406         (WebCore):
407         (WebCore::AudioBus::sumFrom):
408         (WebCore::AudioBus::speakersCopyFrom):
409         (WebCore::AudioBus::speakersSumFrom):
410         (WebCore::AudioBus::discreteCopyFrom):
411         (WebCore::AudioBus::discreteSumFrom):
412         * platform/audio/AudioBus.h:
413         (AudioBus):
414
415 2013-02-15  Tony Chang  <tony@chromium.org>
416
417         Padding and border changes doesn't trigger relayout of children
418         https://bugs.webkit.org/show_bug.cgi?id=109639
419
420         Reviewed by Kent Tamura.
421
422         In RenderBlock::layoutBlock, we only relayout our children if our logical width
423         changes. This misses cases where our logical width doesn't change (i.e., padding
424         or border changes), but our content width does change.
425
426         Also convert the needsLayout ASSERT into the if statement. This is because
427         RenderScrollbarPart can change border widths and not need a layout if the scrollbar
428         doesn't have a parent. In this case, we don't need to set any children for layout.
429
430         This is a more general case of bug 104997.
431
432         Test: fast/block/dynamic-padding-border.html
433
434         * rendering/RenderBox.cpp:
435         (WebCore::borderOrPaddingLogicalWidthChanged): Only check if the logical width changed.
436         (WebCore::RenderBox::styleDidChange): Drop the border-box condition since this can happen
437         even without border-box box sizing.
438
439 2013-02-15  Mark Lam  <mark.lam@apple.com>
440
441         Split SQLStatement work between the frontend and backend.
442         https://bugs.webkit.org/show_bug.cgi?id=104751.
443
444         Reviewed by Geoffrey Garen.
445
446         This is part of the webdatabase refactoring for webkit2.
447
448         1. Copied SQLTransaction to SQLTransactionBackend, and then reduce the
449            2 to only handle frontend and backend work respectively.
450
451         2. Changed how statements are created.
452
453            - SQLTransaction::executeSQL() first creates a SQLStatement frontend
454              which encapsulates the 2 script callbacks. It then passes the
455              SQLStatement to the backend database to create the
456              SQLStatementBackend.
457            - The SQLStatementBackend manages all sqlite work.
458
459         3. Remove the Database::reportExecuteStatementResult() wrapper because
460            it is only needed in the backend now.
461
462         4. Added new files to the build / project files.
463
464         5. Updated / added comments about how the SQLStatement life-cycle works.
465
466         No new tests.
467
468         * CMakeLists.txt:
469         * GNUmakefile.list.am:
470         * Modules/webdatabase/Database.cpp:
471         * Modules/webdatabase/Database.h:
472         (Database):
473         (WebCore::Database::reportCommitTransactionResult):
474         * Modules/webdatabase/DatabaseBackend.h:
475         (DatabaseBackend):
476         * Modules/webdatabase/SQLStatement.cpp:
477         (WebCore::SQLStatement::create):
478         (WebCore::SQLStatement::SQLStatement):
479         (WebCore::SQLStatement::setBackend):
480         (WebCore::SQLStatement::hasCallback):
481         (WebCore::SQLStatement::hasErrorCallback):
482         (WebCore::SQLStatement::performCallback):
483         * Modules/webdatabase/SQLStatement.h:
484         (SQLStatement):
485         * Modules/webdatabase/SQLStatementBackend.cpp: Copied from Source/WebCore/Modules/webdatabase/SQLStatement.cpp.
486         (WebCore::SQLStatementBackend::create):
487         (WebCore::SQLStatementBackend::SQLStatementBackend):
488         (WebCore::SQLStatementBackend::frontend):
489         (WebCore::SQLStatementBackend::sqlError):
490         (WebCore::SQLStatementBackend::sqlResultSet):
491         (WebCore::SQLStatementBackend::execute):
492         (WebCore::SQLStatementBackend::setDatabaseDeletedError):
493         (WebCore::SQLStatementBackend::setVersionMismatchedError):
494         (WebCore::SQLStatementBackend::setFailureDueToQuota):
495         (WebCore::SQLStatementBackend::clearFailureDueToQuota):
496         (WebCore::SQLStatementBackend::lastExecutionFailedDueToQuota):
497         * Modules/webdatabase/SQLStatementBackend.h: Copied from Source/WebCore/Modules/webdatabase/SQLStatement.h.
498         (SQLStatementBackend):
499         (WebCore::SQLStatementBackend::hasStatementCallback):
500         (WebCore::SQLStatementBackend::hasStatementErrorCallback):
501         * Modules/webdatabase/SQLTransaction.cpp:
502         (WebCore::SQLTransaction::deliverStatementCallback):
503         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
504         (WebCore::SQLTransaction::executeSQL):
505         * Modules/webdatabase/SQLTransactionBackend.cpp:
506         (WebCore::SQLTransactionBackend::doCleanup):
507         (WebCore::SQLTransactionBackend::currentStatement):
508         (WebCore::SQLTransactionBackend::enqueueStatementBackend):
509         (WebCore::SQLTransactionBackend::executeSQL):
510         (WebCore::SQLTransactionBackend::runStatements):
511         (WebCore::SQLTransactionBackend::getNextStatement):
512         (WebCore::SQLTransactionBackend::runCurrentStatementAndGetNextState):
513         (WebCore::SQLTransactionBackend::nextStateForCurrentStatementError):
514         * Modules/webdatabase/SQLTransactionBackend.h:
515         (SQLTransactionBackend):
516         * Target.pri:
517         * WebCore.gypi:
518         * WebCore.vcproj/WebCore.vcproj:
519         * WebCore.vcxproj/WebCore.vcxproj:
520         * WebCore.vcxproj/WebCore.vcxproj.filters:
521         * WebCore.xcodeproj/project.pbxproj:
522
523 2013-02-15  Elliott Sprehn  <esprehn@chromium.org>
524
525         Rename HasCustomCallbacks to HasCustomStyleCallbacks
526         https://bugs.webkit.org/show_bug.cgi?id=109982
527
528         Reviewed by Eric Seidel.
529
530         Now that inside ChildFrameDisconnector we only call isFrameOwnerElement()
531         on elements that report having descendants (or themselves) have connected
532         frames we don't need to be as agressive about avoiding the virtual call
533         to isFrameOwnerElement() which lets us rename hasCustomCallbacks to
534         hasCustomStyleCallbacks to better reflect it's purpose.
535
536         * dom/ContainerNodeAlgorithms.h:
537         (WebCore::ChildFrameDisconnector::collectFrameOwners):
538         * dom/Element.cpp:
539         (WebCore::Element::styleForRenderer):
540         (WebCore::Element::recalcStyle):
541         (WebCore::Element::willRecalcStyle):
542         (WebCore::Element::didRecalcStyle):
543         (WebCore::Element::customStyleForRenderer):
544         * dom/Node.h:
545         (WebCore::Node::pseudoId):
546         (WebCore::Node::hasCustomStyleCallbacks):
547         (WebCore::Node::customPseudoId):
548         (WebCore::Node::setHasCustomStyleCallbacks):
549         * dom/PseudoElement.cpp:
550         (WebCore::PseudoElement::PseudoElement):
551         * dom/ShadowRoot.cpp:
552         (WebCore::ShadowRoot::recalcStyle):
553         * html/HTMLFormControlElement.cpp:
554         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
555         * html/HTMLFrameOwnerElement.cpp:
556         (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
557         (WebCore::HTMLFrameOwnerElement::disconnectContentFrame):
558         * html/HTMLFrameSetElement.cpp:
559         (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
560         * html/HTMLIFrameElement.cpp:
561         (WebCore::HTMLIFrameElement::HTMLIFrameElement):
562         * html/HTMLInputElement.cpp:
563         (WebCore::HTMLInputElement::HTMLInputElement):
564         * html/HTMLMediaElement.cpp:
565         (WebCore::HTMLMediaElement::HTMLMediaElement):
566         * html/HTMLOptGroupElement.cpp:
567         (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
568         * html/HTMLOptionElement.cpp:
569         (WebCore::HTMLOptionElement::HTMLOptionElement):
570         * html/HTMLPlugInImageElement.cpp:
571         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
572         * html/shadow/DateTimeEditElement.cpp:
573         (WebCore::DateTimeEditElement::DateTimeEditElement):
574         * html/shadow/TextControlInnerElements.cpp:
575         (WebCore::TextControlInnerElement::TextControlInnerElement):
576         (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
577         * html/shadow/TextFieldDecorationElement.cpp:
578         (WebCore::TextFieldDecorationElement::TextFieldDecorationElement):
579         * svg/SVGElement.cpp:
580         (WebCore::SVGElement::SVGElement):
581         * svg/SVGUseElement.cpp:
582         (WebCore::SVGUseElement::SVGUseElement):
583
584 2013-02-15  Eric Carlson  <eric.carlson@apple.com>
585
586         [Mac] remove wkCaptionAppearance from WebKitSystemInterface
587         https://bugs.webkit.org/show_bug.cgi?id=109996
588
589         Reviewed by Simon Fraser.
590
591         * platform/mac/WebCoreSystemInterface.h:
592         * platform/mac/WebCoreSystemInterface.mm:
593
594 2013-02-15  Andreas Kling  <akling@apple.com>
595
596         Calling DOM Element.attributes shouldn't force creation of ElementData.
597         <http://webkit.org/b/109976>
598
599         Reviewed by Darin Adler.
600
601         Don't create ElementData for an Element unnecessarily just because someone calls .attributes on it.
602         Previously, JS like this would create empty ElementData when 'element' has no attributes:
603
604             for (i = 0; i < element.attributes.length; ++i)
605                 doStuff(element.attributes[i]);
606
607         Make NamedNodeMap::length() short-circuit and return 0 if !Element::hasAttributes().
608
609         * dom/Element.cpp:
610         (WebCore::Element::attributes):
611         * dom/NamedNodeMap.cpp:
612         (WebCore::NamedNodeMap::length):
613
614 2013-02-15  Kentaro Hara  <haraken@chromium.org>
615
616         [V8] An "EvenTarget" type in IDL should be converted to EventTarget*, not to Node*
617         https://bugs.webkit.org/show_bug.cgi?id=109895
618
619         Reviewed by Adam Barth.
620
621         Currently an "EventTarget" type in IDL is converted to Node*.
622         This is wrong because there are non-Node interfaces that inherit
623         a EventTarget. We should convert an "EventTarget" type to EventTarget*.
624         This will fix FIXMEs in CodeGeneratorV8.pm.
625
626         * bindings/scripts/CodeGeneratorV8.pm:
627         (GetNativeType):
628         (JSValueToNative):
629
630 2013-02-15  Simon Fraser  <simon.fraser@apple.com>
631
632         REGRESSION (r142505?): Crashes in WebCore::ScrollingStateNode::appendChild when using back/forward buttons
633         https://bugs.webkit.org/show_bug.cgi?id=109826
634         <rdar://problem/13216100>
635
636         Reviewed by Beth Dakin.
637
638         Fix a crash when going Back on some pages with fixed position elements.
639         
640         When a page was being restored from the page cache, and a layout from
641         FrameLoader::commitProvisionalLoad() caused us to try to register the fixed
642         position layer before the main scrolling layer, we'd crash trying to dereference
643         the root node.
644         
645         Fix by bailing from ScrollingStateTree::attachNode() if we can't find the parent
646         node.
647
648         Test: platform/mac-wk2/tiled-drawing/null-parent-back-crash.html
649
650         * page/scrolling/ScrollingStateTree.cpp:
651         (WebCore::ScrollingStateTree::attachNode):
652         (WebCore::ScrollingStateTree::stateNodeForID):
653         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
654         (WebCore::ScrollingCoordinatorMac::updateViewportConstrainedNode):
655
656 2013-02-15  Simon Fraser  <simon.fraser@apple.com>
657
658         Constrain fixed layers to the viewport, not the document
659         https://bugs.webkit.org/show_bug.cgi?id=109646
660
661         Reviewed by Beth Dakin.
662         
663         It's bad to constrain position:fixed compositing layers to the
664         document rect, because their bounds will change every time the scroll
665         position changes, and we're not good currently at synchronizing scrolling
666         thread layer updates with main thread layer updates, so jiggles ensue.
667         
668         Fix by constraining position:fixed layers to the viewport.
669
670         Test: compositing/geometry/limit-layer-bounds-fixed.html
671
672         * rendering/RenderLayerBacking.cpp:
673         (WebCore::RenderLayerBacking::updateCompositedBounds):
674
675 2013-02-13  Jer Noble  <jer.noble@apple.com>
676
677         Add a CDMClient class which allows the CDM to query for the currently attached MediaPlayer.
678         https://bugs.webkit.org/show_bug.cgi?id=109702
679
680         Reviewed by Eric Carlson.
681
682         Some CDM implementations will need to work closely with an associated
683         MediaPlayer in order to generate key requests and provide keys. Add a
684         client protocol to be implemented by the MediaKeys object which can
685         provide access to the associated MediaPlayer if present.
686
687         * Modules/encryptedmedia/CDM.cpp:
688         (WebCore::CDM::CDM): Initialize the m_client ivar.
689         (WebCore::CDM::mediaPlayer): Pass to the client, if present.
690         * Modules/encryptedmedia/CDM.h:
691         (WebCore::CDM::client): Simple getter.
692         (WebCore::CDM::setClient): Simple setter.
693         * Modules/encryptedmedia/MediaKeys.cpp:
694         (WebCore::MediaKeys::MediaKeys): Initialize the m_mediaElement ivar
695             and call setClient() on the passed in CDM.
696         (WebCore::MediaKeys::setMediaElement): Simple setter.
697         (WebCore::MediaKeys::cdmMediaPlayer): Retrieve the MediaPlayer from
698             the m_mediaElement if present.
699         * Modules/encryptedmedia/MediaKeys.h:
700         * html/HTMLMediaElement.cpp:
701         (WebCore::HTMLMediaElement::~HTMLMediaElement): Call setMediaKeys(0)
702             to clear the mediaElement in any associated MediaKeys.
703         (WebCore::HTMLMediaElement::setMediaKeys): Clear the mediaElement on
704             any associated MediaKeys, and set the mediaElement on the newly
705             associated MediaKeys.
706
707 2013-02-15  Simon Fraser  <simon.fraser@apple.com>
708
709         drop-shadow filter with overflow:hidden child misbehaves
710         https://bugs.webkit.org/show_bug.cgi?id=109783
711
712         Reviewed by Dean Jackson.
713         
714         The change in r112745 was not sufficient; it failed to account
715         for descendant layers that needed to not clipping to avoid artefacts
716         with filters like drop-shadow.
717
718         Test: css3/filters/filter-repaint-shadow-layer-child.html
719
720         * rendering/RenderLayer.cpp:
721         (WebCore::RenderLayer::paintLayerContents): Remove the useClipRect bool.
722         Replace it with a clipToDirtyRect member on the LayerPaintingInfo, which
723         gets passed to descendants. Remove some "Restore the clip" comments that added
724         nothing.
725         * rendering/RenderLayer.h:
726         (WebCore::RenderLayer::LayerPaintingInfo::LayerPaintingInfo):
727         (LayerPaintingInfo):
728
729 2013-02-15  Sheriff Bot  <webkit.review.bot@gmail.com>
730
731         Unreviewed, rolling out r143066.
732         http://trac.webkit.org/changeset/143066
733         https://bugs.webkit.org/show_bug.cgi?id=109986
734
735         Broke the Apple Lion build (among others). (Requested by
736         ddkilzer on #webkit).
737
738         * accessibility/mac/AXObjectCacheMac.mm:
739         (WebCore::AXObjectCache::attachWrapper):
740         * accessibility/mac/WebAccessibilityObjectWrapper.h:
741         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
742         (-[WebAccessibilityObjectWrapper unregisterUniqueIdForUIElement]):
743         (-[WebAccessibilityObjectWrapper detach]):
744         (-[WebAccessibilityObjectWrapper accessibilityObject]):
745         (-[WebAccessibilityObjectWrapper attachmentView]):
746         (CFAutoreleaseHelper):
747         (AXObjectIsTextMarker):
748         (AXObjectIsTextMarkerRange):
749         (AXTextMarkerRange):
750         (AXTextMarkerRangeStart):
751         (AXTextMarkerRangeEnd):
752         (SearchKeyEntry):
753         (createAccessibilitySearchKeyMap):
754         (accessibilitySearchKeyForString):
755         (textMarkerForVisiblePosition):
756         (-[WebAccessibilityObjectWrapper textMarkerForVisiblePosition:]):
757         (visiblePositionForTextMarker):
758         (-[WebAccessibilityObjectWrapper visiblePositionForTextMarker:]):
759         (visiblePositionForStartOfTextMarkerRange):
760         (visiblePositionForEndOfTextMarkerRange):
761         (textMarkerRangeFromMarkers):
762         (AXAttributedStringRangeIsValid):
763         (AXAttributeStringSetFont):
764         (CreateCGColorIfDifferent):
765         (AXAttributeStringSetColor):
766         (AXAttributeStringSetNumber):
767         (AXAttributeStringSetStyle):
768         (AXAttributeStringSetBlockquoteLevel):
769         (AXAttributeStringSetSpelling):
770         (AXAttributeStringSetHeadingLevel):
771         (AXAttributeStringSetElement):
772         (AXAttributedStringAppendText):
773         (nsStringForReplacedNode):
774         (-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
775         (textMarkerRangeFromVisiblePositions):
776         (-[WebAccessibilityObjectWrapper textMarkerRangeFromVisiblePositions:endPosition:]):
777         (-[WebAccessibilityObjectWrapper accessibilityActionNames]):
778         (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
779         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
780         (-[WebAccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
781         (-[WebAccessibilityObjectWrapper renderWidgetChildren]):
782         (-[WebAccessibilityObjectWrapper remoteAccessibilityParentObject]):
783         (convertToVector):
784         (convertToNSArray):
785         (-[WebAccessibilityObjectWrapper textMarkerRangeForSelection]):
786         (-[WebAccessibilityObjectWrapper position]):
787         (createAccessibilityRoleMap):
788         (roleValueToNSString):
789         (-[WebAccessibilityObjectWrapper role]):
790         (-[WebAccessibilityObjectWrapper subrole]):
791         (-[WebAccessibilityObjectWrapper roleDescription]):
792         (-[WebAccessibilityObjectWrapper scrollViewParent]):
793         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
794         (-[WebAccessibilityObjectWrapper accessibilityFocusedUIElement]):
795         (-[WebAccessibilityObjectWrapper accessibilityHitTest:]):
796         (-[WebAccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
797         (-[WebAccessibilityObjectWrapper accessibilityIsIgnored]):
798         (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
799         (-[WebAccessibilityObjectWrapper accessibilityPerformPressAction]):
800         (-[WebAccessibilityObjectWrapper accessibilityPerformIncrementAction]):
801         (-[WebAccessibilityObjectWrapper accessibilityPerformDecrementAction]):
802         (-[WebAccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
803         (-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):
804         (-[WebAccessibilityObjectWrapper accessibilityPerformAction:]):
805         (-[WebAccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
806         (rendererForView):
807         (-[WebAccessibilityObjectWrapper _accessibilityParentForSubview:]):
808         (-[WebAccessibilityObjectWrapper accessibilityActionDescription:]):
809         (-[WebAccessibilityObjectWrapper doAXAttributedStringForRange:]):
810         (-[WebAccessibilityObjectWrapper _convertToNSRange:]):
811         (-[WebAccessibilityObjectWrapper _indexForTextMarker:]):
812         (-[WebAccessibilityObjectWrapper _textMarkerForIndex:]):
813         (-[WebAccessibilityObjectWrapper doAXRTFForRange:]):
814         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
815         (-[WebAccessibilityObjectWrapper accessibilitySupportsOverriddenAttributes]):
816         (-[WebAccessibilityObjectWrapper accessibilityShouldUseUniqueId]):
817         (-[WebAccessibilityObjectWrapper accessibilityIndexOfChild:]):
818         (-[WebAccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
819         (-[WebAccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
820         * accessibility/mac/WebAccessibilityObjectWrapperMac.h: Removed.
821         * accessibility/mac/WebAccessibilityObjectWrapperMac.m: Removed.
822
823 2013-02-15  Emil A Eklund  <eae@chromium.org>
824
825         Change MouseRelatedEvent to use LayoutPoint::scale
826         https://bugs.webkit.org/show_bug.cgi?id=109979
827
828         Reviewed by Dimitri Glazkov.
829         
830         Change MouseRelatedEvent::MouseRelatedEvent to use LayoutPoint::
831         scale to adjust location and scroll offset for scale factor and
832         zooming.
833
834         No new tests, no change in functionality.
835
836         * dom/MouseRelatedEvent.cpp:
837         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
838
839 2013-02-15  Chris Fleizach  <cfleizach@apple.com>
840
841         AX: Split WebAccessibilityObjectWrapper so code can be shared with iOS
842         https://bugs.webkit.org/show_bug.cgi?id=109849
843
844         Reviewed by David Kilzer.
845
846         Split up the WebAccessibilityObjectWrapper so that iOS can share more 
847         code with MacOS. I imagine over time, more code will move into this base class,
848         but for now this will be a good start.
849
850         A base class called WebAccessibilityObjectWrapper now exists, and Mac has a subclass
851         of that. iOS will be able to do the same.
852
853         * WebCore.xcodeproj/project.pbxproj:
854         * accessibility/mac/AXObjectCacheMac.mm:
855         (WebCore::AXObjectCache::attachWrapper):
856         * accessibility/mac/WebAccessibilityObjectWrapper.h:
857         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
858         (-[WebAccessibilityObjectWrapper detach]):
859         (-[WebAccessibilityObjectWrapper attachmentView]):
860         (-[WebAccessibilityObjectWrapper accessibilityObject]):
861         (-[WebAccessibilityObjectWrapper accessibilityPostedNotification:]):
862         (-[WebAccessibilityObjectWrapper titleTagShouldBeUsedInDescriptionField]):
863         (-[WebAccessibilityObjectWrapper accessibilityTitle]):
864         (-[WebAccessibilityObjectWrapper accessibilityDescription]):
865         (-[WebAccessibilityObjectWrapper accessibilityHelpText]):
866         * accessibility/mac/WebAccessibilityObjectWrapperMac.h: Added.
867         * accessibility/mac/WebAccessibilityObjectWrapperMac.m: Added.
868         (std):
869         (-[WebAccessibilityObjectWrapperMac detach]):
870         (-[WebAccessibilityObjectWrapperMac attachmentView]):
871         (CFAutoreleaseHelper):
872         (AXObjectIsTextMarker):
873         (AXObjectIsTextMarkerRange):
874         (AXTextMarkerRange):
875         (AXTextMarkerRangeStart):
876         (AXTextMarkerRangeEnd):
877         (SearchKeyEntry):
878         (createAccessibilitySearchKeyMap):
879         (accessibilitySearchKeyForString):
880         (textMarkerForVisiblePosition):
881         (-[WebAccessibilityObjectWrapperMac textMarkerForVisiblePosition:]):
882         (visiblePositionForTextMarker):
883         (-[WebAccessibilityObjectWrapperMac visiblePositionForTextMarker:]):
884         (visiblePositionForStartOfTextMarkerRange):
885         (visiblePositionForEndOfTextMarkerRange):
886         (textMarkerRangeFromMarkers):
887         (AXAttributedStringRangeIsValid):
888         (AXAttributeStringSetFont):
889         (CreateCGColorIfDifferent):
890         (AXAttributeStringSetColor):
891         (AXAttributeStringSetNumber):
892         (AXAttributeStringSetStyle):
893         (AXAttributeStringSetBlockquoteLevel):
894         (AXAttributeStringSetSpelling):
895         (AXAttributeStringSetHeadingLevel):
896         (AXAttributeStringSetElement):
897         (AXAttributedStringAppendText):
898         (nsStringForReplacedNode):
899         (-[WebAccessibilityObjectWrapperMac doAXAttributedStringForTextMarkerRange:]):
900         (textMarkerRangeFromVisiblePositions):
901         (-[WebAccessibilityObjectWrapperMac textMarkerRangeFromVisiblePositions:endPosition:]):
902         (-[WebAccessibilityObjectWrapperMac accessibilityActionNames]):
903         (-[WebAccessibilityObjectWrapperMac additionalAccessibilityAttributeNames]):
904         (-[WebAccessibilityObjectWrapperMac accessibilityAttributeNames]):
905         (-[WebAccessibilityObjectWrapperMac visiblePositionRangeForTextMarkerRange:]):
906         (-[WebAccessibilityObjectWrapperMac renderWidgetChildren]):
907         (-[WebAccessibilityObjectWrapperMac remoteAccessibilityParentObject]):
908         (convertToVector):
909         (convertToNSArray):
910         (-[WebAccessibilityObjectWrapperMac textMarkerRangeForSelection]):
911         (-[WebAccessibilityObjectWrapperMac position]):
912         (createAccessibilityRoleMap):
913         (roleValueToNSString):
914         (-[WebAccessibilityObjectWrapperMac role]):
915         (-[WebAccessibilityObjectWrapperMac subrole]):
916         (-[WebAccessibilityObjectWrapperMac roleDescription]):
917         (-[WebAccessibilityObjectWrapperMac scrollViewParent]):
918         (-[WebAccessibilityObjectWrapperMac titleTagShouldBeUsedInDescriptionField]):
919         (-[WebAccessibilityObjectWrapperMac accessibilityTitle]):
920         (-[WebAccessibilityObjectWrapperMac accessibilityDescription]):
921         (-[WebAccessibilityObjectWrapperMac accessibilityHelpText]):
922         (-[WebAccessibilityObjectWrapperMac accessibilityAttributeValue:]):
923         (-[WebAccessibilityObjectWrapperMac accessibilityFocusedUIElement]):
924         (-[WebAccessibilityObjectWrapperMac accessibilityHitTest:]):
925         (-[WebAccessibilityObjectWrapperMac accessibilityIsAttributeSettable:]):
926         (-[WebAccessibilityObjectWrapperMac accessibilityIsIgnored]):
927         (-[WebAccessibilityObjectWrapperMac accessibilityParameterizedAttributeNames]):
928         (-[WebAccessibilityObjectWrapperMac accessibilityPerformPressAction]):
929         (-[WebAccessibilityObjectWrapperMac accessibilityPerformIncrementAction]):
930         (-[WebAccessibilityObjectWrapperMac accessibilityPerformDecrementAction]):
931         (-[WebAccessibilityObjectWrapperMac accessibilityPerformShowMenuAction]):
932         (-[WebAccessibilityObjectWrapperMac accessibilityShowContextMenu]):
933         (-[WebAccessibilityObjectWrapperMac accessibilityPerformAction:]):
934         (-[WebAccessibilityObjectWrapperMac accessibilitySetValue:forAttribute:]):
935         (rendererForView):
936         (-[WebAccessibilityObjectWrapperMac _accessibilityParentForSubview:]):
937         (-[WebAccessibilityObjectWrapperMac accessibilityActionDescription:]):
938         (-[WebAccessibilityObjectWrapperMac doAXAttributedStringForRange:]):
939         (-[WebAccessibilityObjectWrapperMac _convertToNSRange:]):
940         (-[WebAccessibilityObjectWrapperMac _indexForTextMarker:]):
941         (-[WebAccessibilityObjectWrapperMac _textMarkerForIndex:]):
942         (-[WebAccessibilityObjectWrapperMac doAXRTFForRange:]):
943         (-[WebAccessibilityObjectWrapperMac accessibilityAttributeValue:forParameter:]):
944         (-[WebAccessibilityObjectWrapperMac accessibilitySupportsOverriddenAttributes]):
945         (-[WebAccessibilityObjectWrapperMac accessibilityShouldUseUniqueId]):
946         (-[WebAccessibilityObjectWrapperMac accessibilityIndexOfChild:]):
947         (-[WebAccessibilityObjectWrapperMac accessibilityArrayAttributeCount:]):
948         (-[WebAccessibilityObjectWrapperMac accessibilityArrayAttributeValues:index:maxCount:]):
949         ([WebAccessibilityObjectWrapperMac accessibilitySetShouldRepostNotifications:]):
950         (-[WebAccessibilityObjectWrapperMac accessibilityPostedNotification:]):
951
952 2013-02-15  Elliott Sprehn  <esprehn@chromium.org>
953
954         RenderQuote should not mark renderers as needing layout during layout
955         https://bugs.webkit.org/show_bug.cgi?id=109876
956
957         Reviewed by Ojan Vafai.
958
959         Marking RenderQuotes as needing pref width recalcs and layouts during a
960         layout is dangerous since an ancestor may mark itself as having completed
961         layout, but then some subtree still thinks it needs layout.
962
963         Instead, since the only time we create RenderQuote instances is inside
964         PseudoElement, we can call attachQuote inside PseudoElement::attach during
965         the regular tree mutating cycle. We can then use RenderQuote::styleDidChange
966         to update the kind of quotes on normal style changes.
967
968         This makes RenderQuote behave much more similarly to DOM nodes and means
969         we no longer need to set dirty bits during layout.
970
971         Test: fast/css-generated-content/quote-layout-focus-crash.html
972
973         * dom/PseudoElement.cpp:
974         (WebCore::PseudoElement::attach): Now call attachQuote().
975         * rendering/RenderQuote.cpp:
976         (WebCore::RenderQuote::~RenderQuote):
977         (WebCore::RenderQuote::willBeRemovedFromTree):
978         (WebCore::RenderQuote::styleDidChange):
979         (WebCore::RenderQuote::updateText):
980         (WebCore::RenderQuote::attachQuote):
981         (WebCore::RenderQuote::detachQuote):
982         (WebCore::RenderQuote::updateDepth):
983         * rendering/RenderQuote.h:
984         (RenderQuote):
985
986 2013-02-15  Sheriff Bot  <webkit.review.bot@gmail.com>
987
988         Unreviewed, rolling out r143044.
989         http://trac.webkit.org/changeset/143044
990         https://bugs.webkit.org/show_bug.cgi?id=109974
991
992         broke windows build (Requested by kling on #webkit).
993
994         * dom/DocumentSharedObjectPool.cpp:
995         (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes):
996         * dom/Element.cpp:
997         (WebCore::sizeForShareableElementDataWithAttributeCount):
998         (WebCore::ShareableElementData::ShareableElementData):
999         (WebCore::ShareableElementData::~ShareableElementData):
1000         (WebCore::UniqueElementData::UniqueElementData):
1001         * dom/Element.h:
1002         (WebCore::ShareableElementData::immutableAttributeArray):
1003         (ShareableElementData):
1004         (WebCore::ElementData::attributeItem):
1005
1006 2013-02-15  Adam Barth  <abarth@webkit.org>
1007
1008         Enable the preload scanner on the background parser thread
1009         https://bugs.webkit.org/show_bug.cgi?id=108027
1010
1011         Reviewed by Tony Gentilcore.
1012
1013         The patch causes us to pass all the fast/preloader tests with the
1014         threaded parser enabled.
1015
1016         This patch wires up the BackgroundHTMLParser to the
1017         TokenPreloadScanner.  Currently, we bail out of preload scanning if we
1018         encounter a document.write becaues we don't know how to rewind the
1019         preload scanner, but that's something we can tune in the future.
1020
1021         The BackgroundHTMLParser delivers the preloads to the
1022         HTMLDocumentParser together with the token stream. If the
1023         HTMLDocumentParser isn't able to use the token stream immediately, it
1024         kicks off the preloads.
1025
1026         * html/parser/BackgroundHTMLParser.cpp:
1027         (WebCore::checkThatPreloadsAreSafeToSendToAnotherThread):
1028         (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
1029         (WebCore::BackgroundHTMLParser::resumeFrom):
1030         (WebCore::BackgroundHTMLParser::pumpTokenizer):
1031         (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
1032         * html/parser/BackgroundHTMLParser.h:
1033         (Configuration):
1034             - We need to add a struct for the create function because the
1035               number of arguments exceeds the limits of Functional.h.
1036         (BackgroundHTMLParser):
1037         (WebCore::BackgroundHTMLParser::create):
1038         * html/parser/CSSPreloadScanner.cpp:
1039         (WebCore::CSSPreloadScanner::scanCommon):
1040         (WebCore::CSSPreloadScanner::scan):
1041         (WebCore::CSSPreloadScanner::emitRule):
1042             - We need to use a new string here so that the string is safe to
1043               send to another thread.
1044         * html/parser/CSSPreloadScanner.h:
1045         (CSSPreloadScanner):
1046         * html/parser/HTMLDocumentParser.cpp:
1047         (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
1048         (WebCore::HTMLDocumentParser::startBackgroundParser):
1049             - Following the example of the XSSAuditor, we create the
1050               TokenPreloadScanner on the main thread and then send it to the
1051               background thread for operation.
1052         * html/parser/HTMLDocumentParser.h:
1053         (WebCore):
1054         (ParsedChunk):
1055         * html/parser/HTMLParserOptions.h:
1056         (HTMLParserOptions):
1057             - We need to add a default constructor so that the
1058               HTMLDocumentParser can create an empty
1059               BackgroundHTMLParser::Configuration struct.
1060         * html/parser/HTMLPreloadScanner.cpp:
1061         (WebCore::TokenPreloadScanner::scan):
1062         (WebCore::TokenPreloadScanner::scanCommon):
1063         (WebCore::HTMLPreloadScanner::scan):
1064         * html/parser/HTMLPreloadScanner.h:
1065         (TokenPreloadScanner):
1066         (WebCore::TokenPreloadScanner::isSafeToSendToAnotherThread):
1067         * html/parser/HTMLResourcePreloader.cpp:
1068         (WebCore::HTMLResourcePreloader::takeAndPreload):
1069         (WebCore):
1070         * html/parser/HTMLResourcePreloader.h:
1071         (WebCore::PreloadRequest::PreloadRequest):
1072         (WebCore):
1073         (HTMLResourcePreloader):
1074
1075 2013-02-15  Ryosuke Niwa  <rniwa@webkit.org>
1076
1077         Build fix after r143030. We need to keep updatedRange around until createMarkupInternal returns.
1078
1079         * editing/markup.cpp:
1080         (WebCore::createMarkup):
1081
1082 2013-02-15  Rik Cabanier  <cabanier@adobe.com>
1083
1084         Add platform support for -webkit-background-blend-mode to CG context
1085         https://bugs.webkit.org/show_bug.cgi?id=108549
1086
1087         Reviewed by Dean Jackson.
1088
1089         Tests: css3/compositing/effect-background-blend-mode-stacking.html
1090                css3/compositing/effect-background-blend-mode.html
1091
1092         This patch adds support for blending on background images to the Core Graphics port of WebKit.
1093
1094         * platform/graphics/CrossfadeGeneratedImage.cpp: Added interface change for blending.
1095         (WebCore::CrossfadeGeneratedImage::drawPattern):
1096         * platform/graphics/CrossfadeGeneratedImage.h: Added interface change for blending.
1097         (CrossfadeGeneratedImage):
1098         * platform/graphics/GeneratedImage.h: Added interface change for blending.
1099         (GeneratedImage):
1100         * platform/graphics/GeneratorGeneratedImage.cpp: Added interface change for blending.
1101         (WebCore::GeneratorGeneratedImage::drawPattern):
1102         * platform/graphics/GeneratorGeneratedImage.h: Added interface change for blending.
1103         (GeneratorGeneratedImage):
1104         * platform/graphics/GraphicsContext.cpp: Added interface change for blending and passes blend mode to image object.
1105         (WebCore::GraphicsContext::drawTiledImage):
1106         (WebCore::GraphicsContext::blendModeOperation):
1107         (WebCore):
1108         * platform/graphics/GraphicsContext.h: Added interface change for blending.
1109         (GraphicsContext):
1110         * platform/graphics/Image.cpp: Added interface change for blending and passed it to graphics layer.
1111         (WebCore::Image::drawTiled):
1112         * platform/graphics/Image.h: Added interface change for blending.
1113         (Image):
1114         * platform/graphics/cg/ImageCG.cpp: Added interface change for blending and passed it to OS.
1115         (WebCore::Image::drawPattern):
1116         * rendering/RenderBoxModelObject.cpp: Passed blend mode when drawing background images.
1117         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1118         * platform/graphics/cairo/ImageCairo.cpp: Added interface change for blending.
1119         (WebCore::Image::drawPattern):
1120         * platform/graphics/qt/ImageQt.cpp: Added interface change for blending.
1121         (WebCore::Image::drawPattern):
1122         * platform/graphics/skia/ImageSkia.cpp: Added interface change for blending.
1123         (WebCore::Image::drawPattern):
1124         * rendering/RenderBoxModelObject.cpp: Added interface change for blending.
1125         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1126         * svg/graphics/SVGImageForContainer.cpp: Added interface change for blending.
1127         (WebCore::SVGImageForContainer::drawPattern):
1128         * svg/graphics/SVGImageForContainer.h: Added interface change for blending.
1129
1130 2013-02-14  Emil A Eklund  <eae@chromium.org>
1131
1132         Clamp span value in RenderTableCell::parse[Col|Row]SpanFromDOM
1133         https://bugs.webkit.org/show_bug.cgi?id=109878
1134
1135         Reviewed by Abhishek Arya.
1136
1137         Test: fast/table/colspan-huge-number.html
1138         
1139         Clamp colspan and rowspan values to their respective maximum
1140         supported values.
1141
1142         * rendering/RenderTableCell.cpp:
1143         (WebCore::RenderTableCell::parseColSpanFromDOM):
1144         (WebCore::RenderTableCell::parseRowSpanFromDOM):
1145
1146 2013-02-15  Andreas Kling  <akling@apple.com>
1147
1148         ShareableElementData should use zero-length array for storage.
1149         <http://webkit.org/b/109959>
1150
1151         Reviewed by Anders Carlsson.
1152
1153         Use a zero-length Attribute array instead of always casting from void* to an array.
1154         It was done this way originally because I didn't know we could sidestep the MSVC
1155         build error with some #pragma hackery.
1156
1157         * dom/DocumentSharedObjectPool.cpp:
1158         (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes):
1159         * dom/Element.cpp:
1160         (WebCore::sizeForShareableElementDataWithAttributeCount):
1161         (WebCore::ShareableElementData::ShareableElementData):
1162         (WebCore::ShareableElementData::~ShareableElementData):
1163         (WebCore::UniqueElementData::UniqueElementData):
1164         * dom/Element.h:
1165         (ShareableElementData):
1166         (WebCore::ElementData::attributeItem):
1167
1168 2013-02-14  Ojan Vafai  <ojan@chromium.org>
1169
1170         Implement RenderGrid::computeIntrinsicLogicalWidths
1171         https://bugs.webkit.org/show_bug.cgi?id=109881
1172
1173         Reviewed by Tony Chang.
1174
1175         For now this is not observable due to the FIXMEs for unimplemented bits
1176         of computePreferredLogicalWidths. But, soon, I'll be removing the computePreferredLogicalWidths
1177         override entirely and instead use RenderBlock's, which will also address the
1178         RenderGrid FIXMEs.
1179
1180         * rendering/RenderGrid.cpp:
1181         (WebCore::RenderGrid::computeIntrinsicLogicalWidths):
1182         const_cast the usages of m_grid. Alternately, we could stack allocate it, but there's disagreement on
1183         whether that's the right choice. See https://bugs.webkit.org/show_bug.cgi?id=109880.
1184
1185         (WebCore::RenderGrid::computePreferredLogicalWidths):
1186         * rendering/RenderGrid.h:
1187
1188
1189 2013-02-15  Xueqing Huang  <huangxueqing@baidu.com>
1190
1191         Flexbox should ignore firstLine pseudo element.
1192         https://bugs.webkit.org/show_bug.cgi?id=104485
1193
1194         Reviewed by Tony Chang.
1195
1196         Spec[1] said that "None of the properties defined in this module
1197         apply to '::first-line' or '::first-letter' pseudo-elements." and
1198         css2[2] define "The :first-line pseudo-element can only be attached
1199         to a block container element." 
1200         [1]http://dev.w3.org/csswg/css3-flexbox/#display-flex
1201         [2]http://www.w3.org/TR/CSS2/selector.html#first-line-pseudo
1202
1203         tests:
1204         css3/flexbox/flexbox-ignore-firstLine.html
1205         css3/flexbox/flexitem-firstLine-valid.html
1206         css3/flexbox/inline-flexbox-ignore-firstLine.html 
1207
1208         * rendering/RenderBlock.cpp:
1209         (WebCore::RenderBlock::firstLineBlock):
1210
1211 2013-02-15  Alec Flett  <alecflett@chromium.org>
1212
1213         IndexedDB: Implement SharedBuffer version of put()
1214         https://bugs.webkit.org/show_bug.cgi?id=109092
1215
1216         Reviewed by Adam Barth.
1217
1218         Switch IDBDatabaseBackendInterface::put over
1219         to SharedBuffer, to avoid buffer copies of the value.
1220
1221         No new tests, this is a refactor.
1222
1223         * Modules/indexeddb/IDBBackingStore.cpp:
1224         (WebCore::IDBBackingStore::putRecord):
1225         * Modules/indexeddb/IDBBackingStore.h:
1226         (WebCore):
1227         (IDBBackingStore):
1228         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1229         (WebCore::PutOperation::create):
1230         (WebCore::PutOperation::PutOperation):
1231         (PutOperation):
1232         (WebCore::IDBDatabaseBackendImpl::put):
1233         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
1234         (IDBDatabaseBackendImpl):
1235         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
1236         (WebCore):
1237         * Modules/indexeddb/IDBObjectStore.cpp:
1238         (WebCore::IDBObjectStore::put):
1239
1240 2013-02-15  Anders Carlsson  <andersca@apple.com>
1241
1242         Implement StorageAreaProxy::length
1243         https://bugs.webkit.org/show_bug.cgi?id=109962
1244
1245         Reviewed by Andreas Kling.
1246
1247         Export a symbol needed by WebKit2.
1248
1249         * WebCore.exp.in:
1250
1251 2013-02-15  Anders Carlsson  <andersca@apple.com>
1252
1253         Remove const from a bunch of StorageArea member functions
1254         https://bugs.webkit.org/show_bug.cgi?id=109957
1255
1256         Reviewed by Beth Dakin.
1257
1258         StorageArea is an abstract base class, and its subclasses might want to mutate the object
1259         when certain member functions are called so remove const from all member functions.
1260
1261         * storage/StorageArea.h:
1262         (WebCore):
1263         (StorageArea):
1264         (WebCore::StorageArea::~StorageArea):
1265         (WebCore::StorageArea::incrementAccessCount):
1266         (WebCore::StorageArea::decrementAccessCount):
1267         (WebCore::StorageArea::closeDatabaseIfIdle):
1268         * storage/StorageAreaImpl.cpp:
1269         (WebCore::StorageAreaImpl::canAccessStorage):
1270         (WebCore::StorageAreaImpl::length):
1271         (WebCore::StorageAreaImpl::key):
1272         (WebCore::StorageAreaImpl::getItem):
1273         (WebCore::StorageAreaImpl::contains):
1274         (WebCore::StorageAreaImpl::memoryBytesUsedByCache):
1275         * storage/StorageAreaImpl.h:
1276         (StorageAreaImpl):
1277
1278 2013-02-13  Ryosuke Niwa  <rniwa@webkit.org>
1279
1280         DeleteButtonController::enable and disable should be called via a RAII object
1281         https://bugs.webkit.org/show_bug.cgi?id=109550
1282
1283         Reviewed by Enrica Casucci.
1284
1285         Added DeleteButtonControllerDisableScope, a friend class of DeleteButtonController,
1286         and made DeleteButtonController::enable/disable private.
1287
1288         * dom/ContainerNode.cpp:
1289         * editing/CompositeEditCommand.cpp:
1290         (WebCore::EditCommandComposition::unapply):
1291         (WebCore::EditCommandComposition::reapply):
1292         (WebCore::CompositeEditCommand::apply):
1293         * editing/DeleteButtonController.h:
1294         (WebCore):
1295         (DeleteButtonController):
1296         (DeleteButtonControllerDisableScope):
1297         (WebCore::DeleteButtonControllerDisableScope::DeleteButtonControllerDisableScope):
1298         (WebCore::DeleteButtonControllerDisableScope::~DeleteButtonControllerDisableScope):
1299         * editing/markup.cpp:
1300         (WebCore::createMarkup):
1301         (WebCore::createFragmentFromNodes):
1302
1303 2013-02-15  Max Vujovic  <mvujovic@adobe.com>
1304
1305         Add code from other branch.
1306
1307         [CSS Shaders] Parse src property in @-webkit-filter at-rules
1308         https://bugs.webkit.org/show_bug.cgi?id=109770
1309
1310         Reviewed by Dean Jackson.
1311
1312         This patch implements the parsing for the CSS src property in @-webkit-filter at-rules.
1313
1314         The Filter Effects spec [1] specifies its syntax:
1315             src: [ <uri> [format(<string>)]?]#
1316
1317         In practice, it can look like:
1318             src: url(shader.vs) format('x-shader/x-vertex'),
1319                  url(shader.fs) format('x-shader/x-fragment');
1320
1321         This src property is similar to the src property in CSS font-face rules, but a little
1322         different. The CSS Fonts spec [2] specifies:
1323             src: [ <uri> [format(<string>#)]? | <font-face-name> ]#
1324             The syntax for a <font-face-name> is a unique font face name enclosed by "local("
1325             and ")".
1326
1327         Unlike the filter src property, the font face src property accepts the local function
1328         [e.g. src: local("SomeFont");]. Also, the font face src property accepts a list of strings
1329         instead of just one string in its format function.
1330
1331         [1]: https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#custom-filter-src
1332         [2]: http://www.w3.org/TR/css3-fonts/#src-desc
1333
1334         Tests: css3/filters/custom-with-at-rule-syntax/parsing-src-property-invalid.html
1335                css3/filters/custom-with-at-rule-syntax/parsing-src-property-valid.html
1336
1337         * css/CSSGrammar.y.in:
1338             Set (and unset) a flag called "m_inFilterRule", which tells us if we are in a
1339             @-webkit-filter at-rule or in a @font-face at-rule when we encounter a src property.
1340             We parse the two variants of the src property separately so that we can create different
1341             objects (WebKitCSSShaderValue vs. CSSFontFaceSrcValue) and because their syntax is a
1342             little different.
1343         * css/CSSParser.cpp:
1344         (WebCore::CSSParser::CSSParser):
1345         (WebCore::CSSParser::parseValue):
1346         (WebCore::CSSParser::parseFilterRuleSrcUriAndFormat):
1347             Parses a URI and format pair found in the @-webkit-filter src property.
1348         (WebCore::CSSParser::parseFilterRuleSrc):
1349             Parse the @-webkit-filter src property.
1350         * css/CSSParser.h:
1351         (CSSParser):
1352         * css/WebKitCSSShaderValue.cpp:
1353         (WebCore::WebKitCSSShaderValue::customCssText):
1354             WebKitCSSShaderValue now has an m_format member, which needs to be included in its
1355             cssText.
1356         (WebCore::WebKitCSSShaderValue::reportDescendantMemoryUsage):
1357         * css/WebKitCSSShaderValue.h:
1358         (WebCore::WebKitCSSShaderValue::format):
1359         (WebCore::WebKitCSSShaderValue::setFormat):
1360         (WebKitCSSShaderValue):
1361
1362 2013-02-15  Eric Carlson  <eric.carlson@apple.com>
1363
1364         Crash occurs at WebCore::TextTrackList::length() when enabling closed captions in movie
1365         https://bugs.webkit.org/show_bug.cgi?id=109886
1366
1367         Reviewed by Dean Jackson.
1368
1369         No new tests, media/media-captions.html does not crash with this change.
1370
1371         * html/HTMLMediaElement.cpp:
1372         (WebCore::HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured): Early return when
1373             m_textTracks is NULL.
1374
1375 2013-02-15  Adam Barth  <abarth@webkit.org>
1376
1377         TokenPreloadScanner should be able to scan CompactHTMLTokens
1378         https://bugs.webkit.org/show_bug.cgi?id=109861
1379
1380         Reviewed by Eric Seidel.
1381
1382         This patch moves the main scanning logic for the TokenPreloadScanner to
1383         a templated scanCommon routine that can scan either an HTMLToken or a
1384         CompactHTMLToken. This patch will let the BackgroundHTMLParser preload
1385         scan its CompactHTMLTokens.
1386
1387         * html/parser/CSSPreloadScanner.cpp:
1388         (WebCore):
1389         (WebCore::CSSPreloadScanner::scanCommon):
1390         (WebCore::CSSPreloadScanner::scan):
1391         * html/parser/CSSPreloadScanner.h:
1392         (CSSPreloadScanner):
1393             - Tweak the CSSPreloadScanner API slightly to make it easier to
1394               call from templated code.
1395         * html/parser/HTMLPreloadScanner.cpp:
1396         (WebCore::TokenPreloadScanner::tagIdFor):
1397         (WebCore):
1398         (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
1399         (TokenPreloadScanner::StartTagScanner):
1400         (WebCore::TokenPreloadScanner::scan):
1401         (WebCore::TokenPreloadScanner::scanCommon):
1402         (WebCore::TokenPreloadScanner::updatePredictedBaseURL):
1403         (WebCore::HTMLPreloadScanner::scan):
1404         * html/parser/HTMLPreloadScanner.h:
1405         (TokenPreloadScanner):
1406
1407 2013-02-15  Alexis Menard  <alexis@webkit.org>
1408
1409         WebKit shouldn't accept "none, none" in transition shorthand property.
1410         https://bugs.webkit.org/show_bug.cgi?id=108751
1411
1412         Reviewed by Dean Jackson.
1413
1414         http://dev.w3.org/csswg/css3-transitions/#transition-shorthand-property
1415         specifies that if there is more than one transition defined in the
1416         shorthand and any of them has a value of 'none' then the declaration is
1417         invalid. This patch fixes the problem by passing a parsing context to
1418         track if a keyword has been set for the transition-property and if so
1419         then use it to invalidate or not the declaration.
1420
1421         Test: transitions/transitions-parsing.html
1422
1423         * css/CSSParser.cpp:
1424         (AnimationParseContext):
1425         (WebCore::AnimationParseContext::AnimationParseContext):
1426         (WebCore::AnimationParseContext::commitFirstAnimation): track whether
1427         it's the first <single-transition/animation> or not defined in the
1428         shorthand.
1429         (WebCore::AnimationParseContext::hasCommittedFirstAnimation):
1430         (WebCore::AnimationParseContext::commitAnimationPropertyKeywordInShorthand):
1431         In the shorthand as soon as a keyword has been found then the parsing
1432         is 'finished', if any other animation/transition declaration part of
1433         the shorthand are with a keyword then it's invalid.
1434         (WebCore::AnimationParseContext::animationPropertyKeywordInShorthandAllowed):
1435         (WebCore::AnimationParseContext::hasSeenAnimationPropertyKeyword):
1436         (WebCore::AnimationParseContext::sawAnimationPropertyKeyword):
1437         (WebCore):
1438         (WebCore::CSSParser::parseValue):
1439         (WebCore::CSSParser::parseAnimationShorthand):
1440         (WebCore::CSSParser::parseTransitionShorthand):
1441         (WebCore::CSSParser::parseAnimationProperty):
1442         * css/CSSParser.h:
1443         (WebCore):
1444
1445 2013-02-15  Andreas Kling  <akling@apple.com>
1446
1447         ElementData: Move leafy things out of the base class.
1448         <http://webkit.org/b/109888>
1449
1450         Reviewed by Antti Koivisto.
1451
1452         - Moved functions for mutating/adding/removing attributes into UniqueElementData.
1453           Attempts to modify shared element data will now fail at compile-time.
1454
1455         - Removed mutableAttributeVector() and have call sites access the vector directly.
1456
1457         - Move immutableAttributeArray() to ShareableElementData.
1458
1459         - Move some function bodies from Element.h to Element.cpp since all clients are in there.
1460
1461         * dom/Element.cpp:
1462         (WebCore::Element::addAttributeInternal):
1463         (WebCore::ShareableElementData::ShareableElementData):
1464         (WebCore::UniqueElementData::makeShareableCopy):
1465         (WebCore::UniqueElementData::addAttribute):
1466         (WebCore::UniqueElementData::removeAttribute):
1467         (WebCore::ElementData::reportMemoryUsage):
1468         (WebCore::UniqueElementData::getAttributeItem):
1469         (WebCore::UniqueElementData::attributeItem):
1470         * dom/Element.h:
1471         (ElementData):
1472         (WebCore::ShareableElementData::immutableAttributeArray):
1473         (ShareableElementData):
1474         (UniqueElementData):
1475         (WebCore::ElementData::length):
1476         (WebCore::ElementData::attributeItem):
1477
1478 2013-02-15  Hans Muller  <hmuller@adobe.com>
1479
1480         [CSS Exclusions] Enable shape-inside support for circles
1481         https://bugs.webkit.org/show_bug.cgi?id=109713
1482
1483         Reviewed by Dirk Schulze.
1484
1485         Removed the test that disabled circle values for shape-inside.
1486         The remaining support for circles, which is based on rounded rectangles
1487         whose width/height is equal to their radiusX/radiusY, has not changed.
1488
1489         Test: fast/exclusions/shape-inside/shape-inside-circle.html
1490
1491         * rendering/ExclusionShapeInsideInfo.h:
1492         (WebCore::ExclusionShapeInsideInfo::isEnabledFor): Now only disallows ellipse.
1493
1494 2013-02-15  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1495
1496         [Soup] Leverage new soup_cookie_jar_get_cookie_list() API
1497         https://bugs.webkit.org/show_bug.cgi?id=109931
1498
1499         Reviewed by Kenneth Rohde Christiansen.
1500
1501         In several cases, the CookieJarSoup implementation was retrieving / copying ALL the
1502         cookies using soup_cookie_jar_all_cookies() and then using soup_cookie_applies_to_uri()
1503         to filter out cookies it is not interested in. This was inefficient.
1504
1505         In libsoup 2.40, soup_cookie_jar_get_cookie_list() was introduced to retrieve only the
1506         cookies that apply to a given URI. This patch leverages this new API in CookieJarSoup's
1507         getRawCookies() and deleteCookie(). This way, only the cookies we are interested in
1508         are retrieved and copied. Libsoup does not need to iterate over all the cookies itself
1509         because it keeps the cookies in a hash table using the host names as key.
1510
1511         No new tests, no behavior change.
1512
1513         * platform/network/soup/CookieJarSoup.cpp:
1514         (WebCore::getRawCookies):
1515         (WebCore::deleteCookie):
1516
1517 2013-02-15  Vladislav Kaznacheev  <kaznacheev@chromium.org>
1518
1519         Web Inspector: Added an option to split Elements and Sources sidebars in two panes.
1520         https://bugs.webkit.org/show_bug.cgi?id=109298.
1521
1522         Reviewed by Vsevolod Vlasov.
1523
1524         Introduced the "Split sidebar" context menu option that splits the horizontal sidebar into two panes.
1525         The width split ratio is 1:1 by default and is preserved when the Inspector window is resized.
1526         Elements sidebar is split into two tabbed panes, Sources sidebar is split into a pane stack and a tabbed pane.
1527
1528         No new tests.
1529
1530         * inspector/front-end/DOMBreakpointsSidebarPane.js:
1531         (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype._reattachBody):
1532         * inspector/front-end/ElementsPanel.js:
1533         (WebInspector.ElementsPanel.get this):
1534         (WebInspector.ElementsPanel):
1535         (WebInspector.ElementsPanel.prototype._sidebarContextMenuEventFired):
1536         (WebInspector.ElementsPanel.prototype._populateContextMenuForSidebar.toggleSetting):
1537         (WebInspector.ElementsPanel.prototype.get _arrangeSidebarPanes.get this):
1538         (WebInspector.ElementsPanel.prototype.addExtensionSidebarPane):
1539         * inspector/front-end/ExtensionServer.js:
1540         (WebInspector.ExtensionServer.prototype._onCreateSidebarPane):
1541         * inspector/front-end/ScriptsPanel.js:
1542         (WebInspector.ScriptsPanel):
1543         (WebInspector.ScriptsPanel.prototype._appendUISourceCodeItems):
1544         (WebInspector.ScriptsPanel.prototype._contextMenuEventFired):
1545         (WebInspector.ScriptsPanel.prototype._sidebarContextMenuEventFired):
1546         (WebInspector.ScriptsPanel.prototype._populateContextMenuForSidebar.toggleSetting):
1547         (WebInspector.ScriptsPanel.prototype.get _arrangeSidebarPanes.get this):
1548         * inspector/front-end/SidebarPane.js:
1549         (WebInspector.SidebarPane):
1550         (WebInspector.SidebarPane.prototype.expand):
1551         (WebInspector.SidebarPane.prototype.onContentReady):
1552         (WebInspector.SidebarPane.prototype._setExpandCallback):
1553         (WebInspector.SidebarPane.prototype.wasShown):
1554         (WebInspector.SidebarPaneTitle):
1555         (WebInspector.SidebarPaneTitle.prototype._expand):
1556         (WebInspector.SidebarPaneTitle.prototype._collapse):
1557         (WebInspector.SidebarPaneTitle.prototype._toggleExpanded):
1558         (WebInspector.SidebarPaneTitle.prototype._onTitleKeyDown):
1559         (WebInspector.SidebarPaneStack):
1560         (WebInspector.SidebarPaneStack.prototype.addPane):
1561         (WebInspector.SidebarTabbedPane):
1562         (WebInspector.SidebarTabbedPane.prototype.addPane):
1563         * inspector/front-end/SidebarView.js:
1564         * inspector/front-end/SplitView.js:
1565         (WebInspector.SplitView):
1566         (WebInspector.SplitView.prototype.get mainElement):
1567         (WebInspector.SplitView.prototype.get sidebarElement):
1568
1569 2013-02-15  Vsevolod Vlasov  <vsevik@chromium.org>
1570
1571         Web Inspector: Several consecutive Backspace or Delete strikes should not be marked as undoable state.
1572         https://bugs.webkit.org/show_bug.cgi?id=109915
1573
1574         Reviewed by Pavel Feldman.
1575
1576         Extracted _isEditRangeUndoBoundary() and _isEditRangeAdjacentToLastCommand() in TextEditorModel
1577         to detect if markUndoableState() call is needed before and after editRange.
1578
1579         * inspector/front-end/TextEditorModel.js:
1580         (WebInspector.TextRange.prototype.immediatelyPrecedes):
1581         (WebInspector.TextRange.prototype.immediatelyFollows):
1582         (WebInspector.TextEditorModel.endsWithBracketRegex.):
1583
1584 2013-02-15  Andrey Adaikin  <aandrey@chromium.org>
1585
1586         Fix inconsistency in WebGLRenderingContext.idl for getAttribLocation
1587         https://bugs.webkit.org/show_bug.cgi?id=109892
1588
1589         Reviewed by Kentaro Hara.
1590
1591         * html/canvas/WebGLRenderingContext.idl:
1592
1593 2013-02-15  Andrey Adaikin  <aandrey@chromium.org>
1594
1595         Web Inspector: [Canvas] show replay log grouped by draw calls
1596         https://bugs.webkit.org/show_bug.cgi?id=109592
1597
1598         Reviewed by Pavel Feldman.
1599
1600         Show canvas capturing log grouped by drawing calls.
1601         Drive-by: extended Array.prototype with a handy peekLast function.
1602         Drive-by: removed code dups in few places.
1603
1604         * inspector/front-end/CanvasProfileView.js:
1605         (WebInspector.CanvasProfileView):
1606         (WebInspector.CanvasProfileView.prototype.dispose):
1607         (WebInspector.CanvasProfileView.prototype._onReplayStepClick):
1608         (WebInspector.CanvasProfileView.prototype._onReplayDrawingCallClick):
1609         (WebInspector.CanvasProfileView.prototype._onReplayLastStepClick):
1610         (WebInspector.CanvasProfileView.prototype._replayTraceLog.didReplayTraceLog):
1611         (WebInspector.CanvasProfileView.prototype._replayTraceLog):
1612         (WebInspector.CanvasProfileView.prototype._didReceiveTraceLog):
1613         (WebInspector.CanvasProfileView.prototype._selectedCallIndex):
1614         (WebInspector.CanvasProfileView.prototype._selectedDrawCallGroupIndex):
1615         (WebInspector.CanvasProfileView.prototype._appendCallNode):
1616         * inspector/front-end/DataGrid.js:
1617         (WebInspector.DataGrid.prototype.setColumnVisible):
1618         (WebInspector.DataGridNode.prototype.set hasChildren):
1619         (WebInspector.DataGridNode.prototype.set revealed):
1620         (WebInspector.DataGridNode.prototype.get leftPadding):
1621         * inspector/front-end/externs.js:
1622         (Array.prototype.peekLast):
1623         * inspector/front-end/utilities.js:
1624
1625 2013-02-15  Yury Semikhatsky  <yurys@chromium.org>
1626
1627         Web Inspector: highlight record revealed in Timeline
1628         https://bugs.webkit.org/show_bug.cgi?id=109930
1629
1630         Reviewed by Pavel Feldman.
1631
1632         Revealed timeline record is now highlighted with yellow background
1633         that fades out in 2 seconds.
1634
1635         * inspector/front-end/TimelinePanel.js:
1636         (WebInspector.TimelinePanel.prototype._revealRecord):
1637         (WebInspector.TimelinePanel.prototype._refreshRecords):
1638         (WebInspector.TimelinePanel.prototype._clearRecordHighlight):
1639         * inspector/front-end/timelinePanel.css:
1640         (.highlighted-timeline-record):
1641         (@-webkit-keyframes timeline_record_highlight):
1642         (to):
1643
1644 2013-02-15  Vsevolod Vlasov  <vsevik@chromium.org>
1645
1646         Web Inspector: Pass original selection to textModel to correctly restore it after undo.
1647         https://bugs.webkit.org/show_bug.cgi?id=109911
1648
1649         Reviewed by Pavel Feldman.
1650
1651         We can distinguish backspace pressed with and without selection now.
1652
1653         * inspector/front-end/DefaultTextEditor.js:
1654         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
1655         (WebInspector.DefaultTextEditor.WordMovementController.prototype._handleCtrlBackspace):
1656         * inspector/front-end/TextEditorModel.js:
1657         (WebInspector.TextEditorCommand):
1658         (WebInspector.TextEditorModel.endsWithBracketRegex.):
1659
1660 2013-02-15  Joe Mason  <jmason@rim.com>
1661
1662         [BlackBerry] Remove redundant requireAuth parameter of NetworkJob::notifyAuthReceived
1663         https://bugs.webkit.org/show_bug.cgi?id=109855
1664
1665         Reviewed by Yong Li.
1666
1667         Internal PR: 296697
1668         Internally Reviewed By: Leo Yang
1669
1670         Code cleanup: The requireAuth parameter of NetworkJob::notifyAuthReceived is redundant as its value
1671         can be determined from "result" - if result is AuthResultRetry, requireAuth is false, otherwise it
1672         is true.
1673
1674         No new tests as there is no behaviour change.
1675
1676         * platform/network/blackberry/NetworkJob.cpp:
1677         (WebCore::NetworkJob::notifyAuthReceived):
1678         * platform/network/blackberry/NetworkJob.h:
1679         (NetworkJob):
1680
1681 2013-02-15  Vsevolod Vlasov  <vsevik@chromium.org>
1682
1683         Web Inspector: Redo in text editor should always collapse selection to end.
1684         https://bugs.webkit.org/show_bug.cgi?id=109907
1685
1686         Reviewed by Pavel Feldman.
1687
1688         * inspector/front-end/TextEditorModel.js:
1689         (WebInspector.TextEditorModel.endsWithBracketRegex.):
1690
1691 2013-02-15  Dan Carney  <dcarney@google.com>
1692
1693         [v8] persistent handle dispose before last use
1694         https://bugs.webkit.org/show_bug.cgi?id=109927
1695
1696         Reviewed by Jochen Eisinger.
1697
1698         No new tests. No change in functionality.
1699
1700         * bindings/v8/ScriptWrappable.h:
1701         (WebCore::ScriptWrappable::weakCallback):
1702
1703 2013-02-15  Keishi Hattori  <keishi@webkit.org>
1704
1705         PagePopupController.formatMonth should support short month format
1706         https://bugs.webkit.org/show_bug.cgi?id=109530
1707
1708         Reviewed by Kent Tamura.
1709
1710         PagePopupController.formatMonth should support short month format so we
1711         can use it in the new calendar picker.
1712
1713         Tested by LocaleMacTest::formatMonth.
1714
1715         * page/PagePopupController.cpp:
1716         (WebCore::PagePopupController::formatMonth): Take an extra bool argument to switch to short month format.
1717         * page/PagePopupController.h:
1718         (PagePopupController):
1719         * page/PagePopupController.idl:
1720         * platform/text/LocaleICU.cpp:
1721         (WebCore::LocaleICU::shortMonthFormat):
1722         (WebCore):
1723         * platform/text/LocaleICU.h:
1724         (LocaleICU):
1725         * platform/text/LocaleNone.cpp:
1726         (WebCore::shortMonthFormat):
1727         (WebCore):
1728         * platform/text/PlatformLocale.cpp:
1729         (WebCore::DateTimeStringBuilder::visitField):
1730         (WebCore::Locale::formatDateTime):
1731         * platform/text/PlatformLocale.h:
1732         (Locale):
1733         * platform/text/mac/LocaleMac.h:
1734         (LocaleMac):
1735         * platform/text/mac/LocaleMac.mm:
1736         (WebCore::LocaleMac::shortMonthFormat):
1737         (WebCore):
1738         * platform/text/win/LocaleWin.cpp:
1739         (WebCore::LocaleWin::shortMonthFormat): Windows doesn't have a short
1740         month format so we just replace MMMM with MMM.
1741         (WebCore):
1742         * platform/text/win/LocaleWin.h:
1743         (LocaleWin):
1744
1745 2013-02-15  Keishi Hattori  <keishi@webkit.org>
1746
1747         Add setValue and closePopup methods to PagePopupController
1748         https://bugs.webkit.org/show_bug.cgi?id=109897
1749
1750         Reviewed by Kent Tamura.
1751
1752         The new calendar picker (Bug 109439) needs to set a value without
1753         closing the popup. We can't do that with the existing
1754         setValueAndClosePopup.
1755
1756         No new tests. Existing calendar picker and color suggestion picker tests
1757         that closing and setting values work properly.
1758
1759         * Resources/pagepopups/pickerCommon.js:
1760         (Picker.prototype.submitValue): Stop using setValueAndClosePopup.
1761         (Picker.prototype.handleCancel): Ditto.
1762         * page/PagePopupClient.h:
1763         (PagePopupClient):
1764         * page/PagePopupController.cpp:
1765         (WebCore::PagePopupController::setValue): Sets value to element without closing popup.
1766         (WebCore):
1767         (WebCore::PagePopupController::closePopup): Just closes popup.
1768         * page/PagePopupController.h:
1769         (PagePopupController):
1770         * page/PagePopupController.idl:
1771
1772 2013-02-15  Mihnea Ovidenie  <mihnea@adobe.com>
1773
1774         [CSS Regions] RenderRegion should inherit from RenderBlock
1775         https://bugs.webkit.org/show_bug.cgi?id=74132
1776
1777         Reviewed by Julien Chaffraix.
1778
1779         Change the base class for RenderRegion to be RenderBlock instead of RenderReplaced.
1780         Per spec http://dev.w3.org/csswg/css3-regions/#the-flow-from-property, a region is a non-replaced block container.
1781         This change is covered by the existing regions tests (in fast/region and fast/repaint).
1782
1783         The RenderFlowThread object is a self-painting layer (it requires layer and is positioned).
1784         Because of that, the RenderFlowThread object is responsible for painting its children,
1785         the collected objects. When the RenderRegion::paintObject is called during paint, it delegates painting
1786         of content collected inside the flow thread to the associated RenderFlowThread object.
1787         Since we do not want to paint the flow thread content multiple times (for each paint phase
1788         in which the RenderRegion::paintObject is called), we allow RenderFlowThread painting only for
1789         selection and foreground paint phases.
1790
1791         * rendering/RenderBox.cpp: Clean-up the code from regions specific stuff, now that the regions are render blocks.
1792         (WebCore::RenderBox::computePositionedLogicalWidth):
1793         (WebCore::RenderBox::computePositionedLogicalHeight):
1794         * rendering/RenderLayerBacking.cpp: A region should always render content from its associated flow thread,
1795         even when it does not have children of its own.
1796         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
1797         * rendering/RenderMultiColumnSet.cpp: Make changes to match the new inheritance for RenderRegion.
1798         (WebCore::RenderMultiColumnSet::paint):
1799         (WebCore::RenderMultiColumnSet::paintColumnRules):
1800         * rendering/RenderMultiColumnSet.h:
1801         * rendering/RenderRegion.cpp:
1802         (WebCore::RenderRegion::RenderRegion):
1803         (WebCore::RenderRegion::paintObject):
1804         (WebCore::RenderRegion::styleDidChange):
1805         (WebCore::RenderRegion::layoutBlock):
1806         (WebCore::RenderRegion::insertedIntoTree):
1807         (WebCore::RenderRegion::willBeRemovedFromTree):
1808         (WebCore::RenderRegion::computePreferredLogicalWidths): Use this method instead of min/maxPreferredLogicalWidth.
1809         (WebCore::RenderRegion::updateLogicalHeight):
1810         * rendering/RenderRegion.h: For now, assume the region is not allowed to have children.
1811         When we will implement the processing model for pseudo-elements http://dev.w3.org/csswg/css3-regions/#processing-model,
1812         we will have to remove this function. By having this function return false i was able to leave some tests unchanged.
1813
1814 2013-02-15  Andrey Lushnikov  <lushnikov@chromium.org>
1815
1816         Web Inspector: implement smart braces functionality
1817         https://bugs.webkit.org/show_bug.cgi?id=109200
1818
1819         Reviewed by Pavel Feldman.
1820
1821         - implement SmartBraceController which will handle character insertions
1822         and override them if brace character was inserted. Additionally it
1823         should handle Backspace key and override it if a cursor is located
1824         inside of a bracket pair.
1825         - guard smart brace functionality via experiment checkbox.
1826
1827         New test: inspector/editor/text-editor-smart-braces.html
1828
1829         * inspector/front-end/DefaultTextEditor.js:
1830         (WebInspector.TextEditorMainPanel):
1831         (WebInspector.TextEditorMainPanel.prototype._registerShortcuts):
1832         (WebInspector.TextEditorMainPanel.prototype._handleKeyPress):
1833         (WebInspector.TextEditorMainPanel.SmartBraceController):
1834         (WebInspector.TextEditorMainPanel.SmartBraceController.prototype.registerShortcuts):
1835         (WebInspector.TextEditorMainPanel.SmartBraceController.prototype.registerCharOverrides):
1836         (WebInspector.TextEditorMainPanel.SmartBraceController.prototype._handleBackspace):
1837         (WebInspector.TextEditorMainPanel.SmartBraceController.prototype._handleBracePairInsertion):
1838         (WebInspector.TextEditorMainPanel.SmartBraceController.prototype._handleClosingBraceOverride):
1839         * inspector/front-end/Settings.js:
1840         (WebInspector.ExperimentsSettings):
1841
1842 2013-02-15  Andrei Bucur  <abucur@adobe.com>
1843
1844         [CSS Regions][Mac] fast/regions/full-screen-video-from-region.html hits an assertion in RenderFlowThread::removeRenderBoxRegionInfo
1845         https://bugs.webkit.org/show_bug.cgi?id=106075
1846
1847         Reviewed by Tony Chang.
1848
1849         The crash is caused by two issues.
1850
1851         The first problem is how a block inside a flow thread determines if the children needs relayout or not.
1852         When the region chain is invalidated, the information is lost so we need to return true, even for the
1853         enclosing RenderFlowThread. Because the video renderer is the first child of the flow thread this doesn't
1854         happen.
1855
1856         The patch implements this behaviour by inspecting both if the region chain has changed and
1857         if the block has no range computed yet.
1858
1859         The second problem is RenderMedia not inheriting from RenderBlock. The logic of child relayout doesn't apply
1860         to it. In the test case, when the full screen button is pressed, the region changes width to fill the viewport,
1861         the chain is invalidated and the box info hash map is cleared. When the video is laid out again (after fixing
1862         the first issue) it has the same size so the controls don't do a layout. They remain without box info inside
1863         the flow thread, thus causing the assertion.
1864
1865         The patch forces the controls to relayout if the region chain was invalidated. We can't use the
1866         logicalWidthChangedInRegions method because it is block specific. This will be fixed in a later patch.
1867
1868         Tests: No new tests. fast/regions/full-screen-video-from-region.html no longer crashes.
1869
1870         * rendering/RenderBlock.cpp:
1871         (WebCore::RenderBlock::checkForPaginationLogicalHeightChange):
1872         * rendering/RenderFlowThread.cpp:
1873         (WebCore::RenderFlowThread::RenderFlowThread):
1874         (WebCore::RenderFlowThread::layout):
1875         (WebCore::RenderFlowThread::logicalWidthChangedInRegions):
1876         * rendering/RenderFlowThread.h: Renamed pageLogicalHeightChanged to pageLogicalSizeChanged.
1877         * rendering/RenderMedia.cpp:
1878         (WebCore::RenderMedia::layout):
1879
1880 2013-02-13  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1881
1882         [CoordGfx] Regression from r135212: big layers with transform animations sometime fail to render tiles
1883         https://bugs.webkit.org/show_bug.cgi?id=109179
1884
1885         Reviewed by Jocelyn Turcotte.
1886
1887         Fix adjustForContentsRect logic for AC layers that are higher or wider than the visible rect.
1888
1889         Force updates of the visible rect while it is animating, and until we have done one last update after
1890         it stops animating.
1891
1892         Test: compositing/transitions/transform-on-large-layer.html
1893
1894         * platform/graphics/TiledBackingStore.cpp:
1895         (WebCore::TiledBackingStore::adjustForContentsRect):
1896         (WebCore::TiledBackingStore::computeCoverAndKeepRect):
1897         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
1898         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
1899         (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
1900         (WebCore::CoordinatedGraphicsLayer::computePixelAlignment):
1901         (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
1902         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
1903         (CoordinatedGraphicsLayer):
1904
1905 2013-02-15  Sheriff Bot  <webkit.review.bot@gmail.com>
1906
1907         Unreviewed, rolling out r142876.
1908         http://trac.webkit.org/changeset/142876
1909         https://bugs.webkit.org/show_bug.cgi?id=109920
1910
1911         Broke relative URL linkification in the computed styles pane
1912         (Requested by apavlov on #webkit).
1913
1914         * inspector/front-end/StylesSidebarPane.js:
1915         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
1916
1917 2013-02-15  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1918
1919         Simplify hitTestResultAtPoint and nodesFromRect APIs
1920         https://bugs.webkit.org/show_bug.cgi?id=95720
1921
1922         Reviewed by Julien Chaffraix.
1923
1924         The existing API was overloaded and could be simplified by passing all the bool arguments in 
1925         a HitTestRequest argument. This should also help clarify the call as the enum values explicitely
1926         state what they do.
1927
1928         * WebCore.exp.in:
1929         * WebCore.order:
1930         * dom/Document.cpp:
1931         (WebCore::Document::nodesFromRect):
1932         * dom/Document.h:
1933         (Document):
1934         * page/ContextMenuController.cpp:
1935         (WebCore::ContextMenuController::createContextMenu):
1936         * page/DragController.cpp:
1937         (WebCore::DragController::canProcessDrag):
1938         (WebCore::DragController::startDrag):
1939         * page/EventHandler.cpp:
1940         (WebCore::EventHandler::hitTestResultAtPoint):
1941         (WebCore::EventHandler::handleMousePressEvent):
1942         (WebCore::EventHandler::handleGestureEvent):
1943         (WebCore::EventHandler::handleGestureForTextSelectionOrContextMenu):
1944         (WebCore::EventHandler::bestClickableNodeForTouchPoint):
1945         (WebCore::EventHandler::bestContextMenuNodeForTouchPoint):
1946         (WebCore::EventHandler::bestZoomableAreaForTouchPoint):
1947         (WebCore::EventHandler::handleTouchEvent):
1948         * page/EventHandler.h:
1949         (WebCore):
1950         (EventHandler):
1951         * page/FocusController.cpp:
1952         (WebCore::updateFocusCandidateIfNeeded):
1953         * page/Frame.cpp:
1954         (WebCore::Frame::visiblePositionForPoint):
1955         (WebCore::Frame::documentAtPoint):
1956         * page/TouchDisambiguation.cpp:
1957         (WebCore::findGoodTouchTargets):
1958         * rendering/HitTestRequest.h:
1959         (WebCore::HitTestRequest::allowsFrameScrollbars):
1960         * testing/Internals.cpp:
1961         (WebCore::Internals::nodesFromRect):
1962
1963 2013-02-14  Pavel Feldman  <pfeldman@chromium.org>
1964
1965         Web Inspector: make component-based compile-front-end happy
1966         https://bugs.webkit.org/show_bug.cgi?id=109798
1967
1968         Reviewed by Vsevolod Vlasov.
1969
1970         * inspector/Inspector.json:
1971         * inspector/InspectorDebuggerAgent.cpp:
1972         (WebCore::InspectorDebuggerAgent::setVariableValue):
1973         * inspector/InspectorDebuggerAgent.h:
1974         (InspectorDebuggerAgent):
1975         * inspector/compile-front-end.py:
1976         * inspector/front-end/AuditResultView.js:
1977         * inspector/front-end/CPUProfileView.js:
1978         * inspector/front-end/DataGrid.js:
1979         * inspector/front-end/InspectorFrontendAPI.js:
1980         (InspectorFrontendAPI.loadTimelineFromURL):
1981
1982 2013-02-14  Alexander Pavlov  <apavlov@chromium.org>
1983
1984         Web Inspector: Implement tracking of active stylesheets in the frontend
1985         https://bugs.webkit.org/show_bug.cgi?id=105828
1986
1987         Reviewed by Pavel Feldman.
1988
1989         - This change introduces the CSS.styleSheetAdded() and CSS.styleSheetRemoved() events
1990         that update the frontend with all active stylesheet changes in the inspected page.
1991         As such, fetching stylesheet headers from the backend manually is no longer needed,
1992         and many asynchronous methods have been turned into normal accessors.
1993         - One notable change to the stylesheet binding process is that when a via-inspector stylesheet
1994         is created, it is instantly reported through the instrumentation, and the viaInspectorStyleSheet() method
1995         is [indirectly] called recursively from bindStyleSheet(). Thus, the actual creation and registration
1996         of the respective InspectorStyleSheet have been moved into bindStyleSheet(),
1997         which relies upon the m_creatingViaInspectorStyleSheet flag.
1998
1999         Test: inspector/styles/stylesheet-tracking.html
2000
2001         * dom/DocumentStyleSheetCollection.cpp:
2002         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets): Instrumented.
2003         * inspector/Inspector.json: Add events, update the CSS domain description.
2004         * inspector/InspectorCSSAgent.cpp:
2005         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
2006         (WebCore::InspectorCSSAgent::clearFrontend):
2007         (WebCore::InspectorCSSAgent::enable): Push all existing stylesheet headers into the frontend.
2008         (WebCore::InspectorCSSAgent::activeStyleSheetsUpdated): Push added/removed stylesheet into the frontend.
2009         (WebCore::InspectorCSSAgent::getAllStyleSheets): Slightly refactored to make use of collectAllStyleSheets().
2010         (WebCore::InspectorCSSAgent::collectAllStyleSheets): Added to collect InspectorStyleSheets rather than headers.
2011         (WebCore::InspectorCSSAgent::collectStyleSheets):
2012         (WebCore::InspectorCSSAgent::bindStyleSheet): Binds via-inspector stylesheets, too.
2013         (WebCore::InspectorCSSAgent::unbindStyleSheet): Now we can unbind stylesheets upon their removal from the document.
2014         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet): Modifies m_creatingViaInspectorStyleSheet when necessary.
2015         (WebCore::InspectorCSSAgent::detectOrigin): Modified to make use of m_creatingViaInspectorStyleSheet.
2016         (WebCore::InspectorCSSAgent::buildObjectForRule): Removed extraneous bound InspectorStyleSheet 0-check.
2017         * inspector/InspectorCSSAgent.h:
2018         * inspector/InspectorInstrumentation.cpp: Instrumentation of active stylesheet set updates.
2019         (WebCore::InspectorInstrumentation::activeStyleSheetsUpdatedImpl):
2020         * inspector/InspectorInstrumentation.h: Ditto.
2021         (WebCore::InspectorInstrumentation::activeStyleSheetsUpdated):
2022         * inspector/front-end/CSSStyleModel.js:
2023         (WebInspector.CSSStyleModel.prototype.styleSheetHeaders):
2024         (WebInspector.CSSStyleModel.prototype._styleSheetAdded): Added.
2025         (WebInspector.CSSStyleModel.prototype._styleSheetRemoved): Added.
2026         (WebInspector.CSSStyleModel.prototype.viaInspectorResourceForRule):
2027         (WebInspector.CSSStyleModelResourceBinding.prototype._setHeaderForStyleSheetId):
2028         (WebInspector.CSSStyleModelResourceBinding.prototype.resourceURLForStyleSheetId):
2029         (WebInspector.CSSStyleModelResourceBinding.prototype.styleSheetIdForResource):
2030         (WebInspector.CSSStyleModelResourceBinding.prototype._headerKey): Calculate the (frameID + URL) key for CSSStyleSheetHeader.
2031         (WebInspector.CSSStyleModelResourceBinding.prototype._createInspectorResource):
2032         (WebInspector.CSSStyleModelResourceBinding.prototype._inspectorResource):
2033         (WebInspector.CSSStyleModelResourceBinding.prototype._reset):
2034         (WebInspector.CSSDispatcher.prototype.styleSheetAdded): Added.
2035         (WebInspector.CSSDispatcher.prototype.styleSheetRemoved): Added.
2036         * inspector/front-end/SASSSourceMapping.js: Get rid of async implementations.
2037         (WebInspector.SASSSourceMapping.prototype._styleSheetChanged):
2038         * inspector/front-end/StylesSidebarPane.js: Ditto.
2039         (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode):
2040         * inspector/front-end/StylesSourceMapping.js: Ditto.
2041         (WebInspector.StyleContentBinding.prototype._innerStyleSheetChanged):
2042
2043 2013-02-15  Andrei Bucur  <abucur@adobe.com>
2044
2045         Implement the -webkit-margin-collapse properties correct rendering
2046         https://bugs.webkit.org/show_bug.cgi?id=108168
2047
2048         Reviewed by David Hyatt.
2049
2050         The patch implements the correct behavior for the -webkit-margin-collapse properties:
2051         - a value of "discard" on a margin will truncate all the margins collapsing with it;
2052         - a value of "separate" will prevent the margin to collapse;
2053         - a value of "collapse" is the default collapse behavior.
2054
2055         The implementation is aware of multiple writing-modes:
2056         - if the writing mode of a child is parallel with the writing mode of the container and has the same direction,
2057         the -webkit-margin-collapse properties on the child are left as is;
2058         - if the writing mode of a child is parallel with the writing mode of the container but has a different direction,
2059         the -webkit-margin-collapse properties on the child are reversed;
2060         - if the writing mode of a child is perpendicular on the writing mode of the container,
2061         the -webkit-margin-collapse properties on the child are ignored;
2062
2063         I. The "discard" value implementation
2064         There are two new bits (before and after) added on the RenderBlockRareData structure specifying if the margins
2065         of the block will be discarded or not. We can't rely only on the value from style() because
2066         it's possible a block to discard it's margins because it has collapsed with a children that
2067         specified "discard" for -webkit-margin-collapse. However, the bits are set only if it is
2068         required.
2069         Another bit is added on the MarginInfo structure specifying if the margin has to be discarded or not. When
2070         collapsing at the before side of a block it will hold information if the container block needs to discard
2071         or not. If the collapsing happens between siblings/with after side of the container it will tell if the previous
2072         child discards the margin or not. The self collapsing blocks are a special case. If any of its margins
2073         discards then both its margins discard and all the other margins collapsing with it.
2074         To ensure an optimal behavior it is asserted margin values can't be set on the MarginInfo object if the
2075         discard flag is active. If this happens it may indicate someone ignored the possibility of the margin being
2076         discarded altogether and incorrectly updated the margin values.
2077         Float clearing also needs to change because it may force margins to stop collapsing. If this happens the discard
2078         flags and margins needs to be restored to their values before the collapse.
2079
2080         II. The "separate" value implementation
2081         The implementation for separate was not changed too much. I've added new accessor methods for the property
2082         that take writing mode into consideration and I've removed some code that didn't work correctly in layoutBlockChild.
2083         The problem was the marginInfo structure was cleared if the child was specifying the "separate" value for before.
2084         This is wrong because you lose the margin information of the previous child/before side.
2085
2086         Tests: fast/block/margin-collapse/webkit-margin-collapse-container.html
2087                fast/block/margin-collapse/webkit-margin-collapse-floats.html
2088                fast/block/margin-collapse/webkit-margin-collapse-siblings-bt.html
2089                fast/block/margin-collapse/webkit-margin-collapse-siblings.html
2090
2091         * rendering/RenderBlock.cpp:
2092         (WebCore::RenderBlock::MarginInfo::MarginInfo):
2093         (WebCore::RenderBlock::layoutBlock):
2094         (WebCore::RenderBlock::collapseMargins):
2095         (WebCore::RenderBlock::clearFloatsIfNeeded):
2096         (WebCore::RenderBlock::marginBeforeEstimateForChild):
2097         (WebCore::RenderBlock::estimateLogicalTopPosition):
2098         (WebCore::RenderBlock::setCollapsedBottomMargin):
2099         (WebCore::RenderBlock::handleAfterSideOfBlock):
2100         (WebCore::RenderBlock::layoutBlockChild):
2101         (WebCore::RenderBlock::setMustDiscardMarginBefore):
2102         (WebCore):
2103         (WebCore::RenderBlock::setMustDiscardMarginAfter):
2104         (WebCore::RenderBlock::mustDiscardMarginBefore):
2105         (WebCore::RenderBlock::mustDiscardMarginAfter):
2106         (WebCore::RenderBlock::mustDiscardMarginBeforeForChild):
2107         (WebCore::RenderBlock::mustDiscardMarginAfterForChild):
2108         (WebCore::RenderBlock::mustSeparateMarginBeforeForChild):
2109         (WebCore::RenderBlock::mustSeparateMarginAfterForChild):
2110         * rendering/RenderBlock.h:
2111         (RenderBlock):
2112         (WebCore::RenderBlock::initMaxMarginValues):
2113         (MarginInfo):
2114         (WebCore::RenderBlock::MarginInfo::setPositiveMargin):
2115         (WebCore::RenderBlock::MarginInfo::setNegativeMargin):
2116         (WebCore::RenderBlock::MarginInfo::setPositiveMarginIfLarger):
2117         (WebCore::RenderBlock::MarginInfo::setNegativeMarginIfLarger):
2118         (WebCore::RenderBlock::MarginInfo::setMargin):
2119         (WebCore::RenderBlock::MarginInfo::setCanCollapseMarginAfterWithChildren):
2120         (WebCore::RenderBlock::MarginInfo::setDiscardMargin):
2121         (WebCore::RenderBlock::MarginInfo::discardMargin):
2122         (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
2123         (WebCore::RenderBlock::RenderBlockRareData::positiveMarginBeforeDefault):
2124         (RenderBlockRareData):
2125         * rendering/style/RenderStyle.h:
2126
2127 2013-02-14  Yury Semikhatsky  <yurys@chromium.org>
2128
2129         Web Inspector: always show memory size in Mb on the native memory graph
2130         https://bugs.webkit.org/show_bug.cgi?id=109813
2131
2132         Reviewed by Pavel Feldman.
2133
2134         Memory size vlue is alway shown in Mb on the native memory graph.
2135
2136         * inspector/front-end/NativeMemoryGraph.js:
2137         (WebInspector.NativeMemoryCounterUI.prototype.updateCurrentValue):
2138
2139 2013-02-14  Andrey Adaikin  <aandrey@chromium.org>
2140
2141         Use GL typedefs in WebGLRenderingContext.idl
2142         https://bugs.webkit.org/show_bug.cgi?id=109060
2143
2144         Reviewed by Kenneth Russell.
2145
2146         Use GL typedefs in WebGLRenderingContext.idl according to the specs.
2147         Added a FIXME about inconsistency with the current WebGL spec for getAttribLocation.
2148
2149         Tested manually that generators V8, JS, ObjC, GObject, CPP produce same output.
2150
2151         * html/canvas/WebGLRenderingContext.idl:
2152
2153 2013-02-14  Vsevolod Vlasov  <vsevik@chromium.org>
2154
2155         Web Inspector: Copy-pasting selected text over itself should be an undoable state.
2156         https://bugs.webkit.org/show_bug.cgi?id=109830
2157
2158         Reviewed by Pavel Feldman.
2159
2160         * inspector/front-end/TextEditorModel.js:
2161         (WebInspector.TextEditorModel.endsWithBracketRegex.):
2162
2163 2013-02-14  Sheriff Bot  <webkit.review.bot@gmail.com>
2164
2165         Unreviewed, rolling out r142889.
2166         http://trac.webkit.org/changeset/142889
2167         https://bugs.webkit.org/show_bug.cgi?id=109891
2168
2169         It caused an assertion failure in scrollbars/overflow-
2170         scrollbar-combinations.html (Requested by tkent on #webkit).
2171
2172         * rendering/RenderBox.cpp:
2173         (WebCore::borderWidthChanged):
2174         (WebCore::RenderBox::styleDidChange):
2175
2176 2013-02-14  Arpita Bahuguna  <arpitabahuguna@gmail.com>
2177
2178         Caret positioned at the end of a text line (followed by an empty block) in vertical writing mode disappears when pressing the right/down arrow key.
2179         https://bugs.webkit.org/show_bug.cgi?id=106452
2180
2181         Reviewed by Ryosuke Niwa.
2182
2183         Pressing the down or the right arrow key at the end of a text line in
2184         vertical writing mode would make the caret dissapear. This occurs only
2185         when the text line is followed by an empty block.
2186
2187         When trying to compute the next position for placing the caret (for
2188         down/right key), we try to ascertain whether the renderer (in this
2189         case the empty block) is a valid candidate or not. For blockFlow
2190         elements we check against their height.
2191         In vertical writing mode though we would fail such a check since we
2192         should instead be comparing against the renderer's width and not
2193         it's height. Thus, a valid position for the placement of the caret
2194         was not found in such a case.
2195
2196         Test: editing/selection/caret-at-end-of-text-line-followed-by-empty-block-in-vertical-mode.html
2197
2198         * dom/Position.cpp:
2199         (WebCore::Position::isCandidate):
2200         * dom/PositionIterator.cpp:
2201         (WebCore::PositionIterator::isCandidate):
2202         Instead of checking against the height(), check against the
2203         logicalHeight() of the renderer has been added. logicalHeight()
2204         on blockFlow renderer's returns a value in accordance with
2205         the writing mode.
2206
2207 2013-02-14  Ryosuke Niwa  <rniwa@webkit.org>
2208
2209         Windows build fix after r142957.
2210
2211         * dom/DOMAllInOne.cpp:
2212
2213 2013-02-14  Ryosuke Niwa  <rniwa@webkit.org>
2214
2215         Fix a typo introduced in r142705.
2216
2217         Without this fix, text-input-controller.html can fail when DeleteButtonController is enabled.
2218         e.g. "run-webkit-tests platform/mac/editing/deleting/deletionUI-single-instance.html
2219             platform/mac/editing/input/text-input-controller.html --child-processes=1"
2220
2221         * editing/Editor.cpp:
2222         (WebCore::Editor::avoidIntersectionWithDeleteButtonController):
2223
2224 2013-02-14  Hayato Ito  <hayato@chromium.org>
2225
2226         Factor Event retargeting code.
2227         https://bugs.webkit.org/show_bug.cgi?id=109156
2228
2229         Reviewed by Dimitri Glazkov.
2230
2231         To supoort Touch event retargeting (bug 107800), we have to factor
2232         event retargeting code so that it can support not only MouseEvent,
2233         but also other events.
2234
2235         New class, EventRetargeter, was introduced. From now,
2236         EventDispatchMediator (and its subclasses) should call, if event
2237         retargeting is required, an appropriate function provided in
2238         EventRetargeter rather than calling
2239         EventDispatcher::adjustRelatedTarget(), which was removed in this
2240         patch.
2241
2242         No tests. No change in behavior.
2243
2244         * CMakeLists.txt:
2245         * GNUmakefile.list.am:
2246         * Target.pri:
2247         * WebCore.gypi:
2248         * WebCore.xcodeproj/project.pbxproj:
2249         * dom/EventDispatchMediator.cpp:
2250         * dom/EventDispatcher.cpp:
2251         (WebCore):
2252         (WebCore::EventDispatcher::ensureEventPath): Changed to return an EventPath, which will be used by EventRetargeter.
2253         (WebCore::EventDispatcher::dispatchScopedEvent):
2254         (WebCore::EventDispatcher::dispatchEvent):
2255         (WebCore::EventDispatcher::dispatchEventPostProcess):
2256         * dom/EventDispatcher.h:
2257         (WebCore):
2258         (EventDispatcher):
2259         * dom/EventRetargeter.cpp: Added.
2260         (WebCore):
2261         (WebCore::inTheSameScope):
2262         (WebCore::determineDispatchBehavior):
2263         (WebCore::EventRetargeter::calculateEventPath): Factored out from EventDispatcher::ensureEventPath().
2264         (WebCore::EventRetargeter::adjustForMouseEvent):
2265         (WebCore::EventRetargeter::adjustForFocusEvent):
2266         (WebCore::EventRetargeter::adjustForRelatedTarget):
2267         (WebCore::EventRetargeter::calculateAdjustedNodes): Factored out from EventRelatedTargetAjuster::adjustRelatedTarget().
2268         (WebCore::EventRetargeter::buildRelatedNodeMap): Factored out from EventRelatedTargetAjuster::adjustRelatedTarget().
2269         (WebCore::EventRetargeter::findRelatedNode):
2270         * dom/EventRetargeter.h: Added.
2271         (WebCore):
2272         (EventRetargeter):
2273         (WebCore::EventRetargeter::eventTargetRespectingTargetRules):
2274         * dom/FocusEvent.cpp:
2275         (WebCore::FocusEventDispatchMediator::dispatchEvent): Changed to call EventRetargeter::adjustForFocusEvent().
2276         (WebCore::BlurEventDispatchMediator::dispatchEvent): Ditto.
2277         (WebCore::FocusInEventDispatchMediator::dispatchEvent): Ditto.
2278         (WebCore::FocusOutEventDispatchMediator::dispatchEvent): Ditto.
2279         * dom/MouseEvent.cpp:
2280         (WebCore::MouseEventDispatchMediator::dispatchEvent): Changed to call EventRetargeter::adjustForMouseEvent().
2281
2282 2013-02-14  Simon Fraser  <simon.fraser@apple.com>
2283
2284         Reverting r142861. Hit testing inside of style recalc is fundamentally wrong
2285
2286         * page/EventHandler.cpp:
2287         (WebCore::EventHandler::selectCursor):
2288         (WebCore::EventHandler::handleMouseMoveEvent):
2289         * page/EventHandler.h:
2290         * rendering/RenderObject.cpp:
2291         (WebCore::RenderObject::setStyle):
2292         (WebCore::areNonIdenticalCursorListsEqual):
2293         (WebCore::areCursorsEqual):
2294         (WebCore::RenderObject::styleDidChange):
2295
2296 2013-02-14  Florin Malita  <fmalita@chromium.org>
2297
2298         [SVG] Cached filter results are not invalidated on repaint rect change
2299         https://bugs.webkit.org/show_bug.cgi?id=106221
2300
2301         Reviewed by Dean Jackson.
2302
2303         Since the cached filter results are not invalidated for different repaint rects, we need
2304         to render the content of the whole filter region upfront (otherwise elements not visible
2305         during the initial paint due to scrolling/window size/etc. are never redrawn).
2306
2307         Tests: svg/filters/filter-hidden-content-expected.svg
2308                svg/filters/filter-hidden-content.svg
2309
2310         * rendering/svg/RenderSVGResourceFilter.cpp:
2311         (WebCore::RenderSVGResourceFilter::applyResource):
2312         (WebCore::RenderSVGResourceFilter::drawingRegion):
2313         (WebCore):
2314         * rendering/svg/RenderSVGResourceFilter.h:
2315         (FilterData):
2316         (RenderSVGResourceFilter):
2317         Track the filter drawing region in FilterData.
2318
2319         * rendering/svg/SVGRenderingContext.cpp:
2320         (WebCore::SVGRenderingContext::~SVGRenderingContext):
2321         (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
2322         * rendering/svg/SVGRenderingContext.h:
2323         Update paintInfo.rect to cover the whole drawing region while rendering filter content, and
2324         restore it when done.
2325
2326 2013-02-14  Jinwoo Song  <jinwoo7.song@samsung.com>
2327
2328         [EFL] Correct the mismatched cursor map
2329         https://bugs.webkit.org/show_bug.cgi?id=109655
2330
2331         Reviewed by Laszlo Gombos.
2332
2333         Correct the mismatched ECORE_X_CURSOR values in the cursor map.
2334
2335         * platform/efl/EflScreenUtilities.cpp:
2336         (WebCore::CursorMap::CursorMap):
2337
2338 2013-02-14  Kentaro Hara  <haraken@chromium.org>
2339
2340         Unreviewed. Rebaselined run-bindings-tests.
2341
2342         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
2343         (WebDOMTestObj::anyAttribute):
2344         (WebDOMTestObj::setAnyAttribute):
2345         * bindings/scripts/test/CPP/WebDOMTestObj.h:
2346         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2347         (webkit_dom_test_obj_get_any_attribute):
2348         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2349         (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
2350         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
2351         (WebCore::TestTypedefsV8Internal::funcWithClampCallback):
2352
2353 2013-02-14  Christian Biesinger  <cbiesinger@chromium.org>
2354
2355         Convert media controls from DeprecatedFlexibleBox to FlexibleBox
2356         https://bugs.webkit.org/show_bug.cgi?id=109775
2357
2358         Reviewed by Ojan Vafai.
2359
2360         Covered by existing tests in media/.
2361
2362         * css/mediaControls.css:
2363         * css/mediaControlsBlackBerry.css:
2364         * css/mediaControlsChromium.css:
2365         * css/mediaControlsChromiumAndroid.css:
2366         * css/mediaControlsEfl.css:
2367         * css/mediaControlsGtk.css:
2368         * css/mediaControlsQt.css:
2369         * css/mediaControlsQuickTime.css:
2370         Automated search and replace of old flexbox CSS rules to new ones.
2371         Minor tuning of the chromium rules.
2372
2373         * rendering/RenderMediaControlElements.cpp:
2374         (WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay):
2375         (WebCore::RenderMediaControlTimeDisplay::layout):
2376         * rendering/RenderMediaControlElements.h:
2377         Make media controls inherit from RenderFlexibleBox
2378
2379 2013-02-14  Roger Fong  <roger_fong@apple.com>
2380
2381         Build fix for Windows.
2382
2383         * Modules/webdatabase/SQLTransactionStateMachine.cpp:
2384         (WebCore::nameForSQLTransactionState):
2385
2386 2013-02-14  Dean Jackson  <dino@apple.com>
2387
2388         Inspector doesn't show rules from pluginsStyleSheet
2389         https://bugs.webkit.org/show_bug.cgi?id=109872
2390
2391         Reviewed by Darin Adler.
2392
2393         Make sure getWrapperForRuleInSheets collects the rules
2394         from CSSDefaultStyleSheets::plugInsStyleSheet.
2395
2396         Making a test for this is difficult because the rules in
2397         this sheet only apply to snapshotted plugins at the moment,
2398         which are disabled in DRT, and would require a fairly long
2399         timeout in the test.
2400
2401         * css/InspectorCSSOMWrappers.cpp:
2402         (WebCore::InspectorCSSOMWrappers::getWrapperForRuleInSheets):
2403
2404 2013-02-14  Hayato Ito  <hayato@chromium.org>
2405
2406         Recover edge names used in MemoryInstrumentation for DocumentRuleSets.
2407         https://bugs.webkit.org/show_bug.cgi?id=109800
2408
2409         Reviewed by Hajime Morita.
2410
2411         This is a following patch for r142573.
2412         r142563 accidentally removes edge names for MemoryInstrumentation. We should recover edge names.
2413
2414         No tests. No change in behavior.
2415
2416         * css/DocumentRuleSets.cpp:
2417         (WebCore::DocumentRuleSets::reportMemoryUsage):
2418
2419 2013-02-14  Hajime Morrita  <morrita@google.com>
2420
2421         [V8] Assertion failure on an exception is thrown
2422         https://bugs.webkit.org/show_bug.cgi?id=109129
2423
2424         An assertion in V8AbstractEventListener is wrong. This change turns it into an error check.
2425
2426         Reviewed by Kentaro Hara.
2427
2428         Test: fast/events/onerror-no-constructor.html
2429
2430         * bindings/v8/V8AbstractEventListener.cpp:
2431         (WebCore::V8AbstractEventListener::handleEvent):
2432
2433 2013-02-14  Kentaro Hara  <haraken@chromium.org>
2434
2435         [V8] CodeGeneratorV8.pm can assume that DOMWindow has [CheckSecurity]
2436         https://bugs.webkit.org/show_bug.cgi?id=109788
2437
2438         Reviewed by Adam Barth.
2439
2440         There is code like this:
2441
2442           if ($extendedAttr{"CheckSecurity"} || $interfaceName eq "DOMWindow")
2443
2444         This check is redundant. DOMWindow has [CheckSecurity]. We can remove the
2445         DOMWindow check.
2446
2447         No tests. No change in behavior.
2448
2449         * bindings/scripts/CodeGeneratorV8.pm:
2450         (GenerateReplaceableAttrSetter):
2451         (GenerateFunctionCallback):
2452         (GenerateNonStandardFunction):
2453         (GenerateImplementation):
2454
2455 2013-02-14  Joshua Bell  <jsbell@chromium.org>
2456
2457         [V8] IndexedDB: Remove unused creationContext paramter from idbKeyToV8Value
2458         https://bugs.webkit.org/show_bug.cgi?id=109870
2459
2460         Reviewed by Kentaro Hara.
2461
2462         This parameter was left over from when the function was toV8(IDBKey). Remove it.
2463
2464         No new tests - just removing dead code.
2465
2466         * bindings/v8/IDBBindingUtilities.cpp:
2467         (WebCore::idbKeyToV8Value): Remove unused parameter.
2468         (WebCore::injectIDBKeyIntoScriptValue): No need for dummy handle.
2469         (WebCore::idbKeyToScriptValue): No need for dummy handle.
2470
2471 2013-02-14  Kondapally Kalyan  <kalyan.kondapally@intel.com>
2472
2473         [WebGL][Qt] regression:r142786 Qt Build fix for Arm and Windows.
2474         https://bugs.webkit.org/show_bug.cgi?id=109797
2475
2476         Reviewed by Csaba Osztrogon√°c.
2477
2478         After r142786, we use OpenGLShims to load necessary GL functions
2479         exposed by ARB_vertex_array_object extension. Qt uses OpenGLShims
2480         to load functions with GLES too. This patch adds support for loading the
2481         equivalent functions on GLES exposed by OES_vertex_array_object.
2482         
2483         * platform/graphics/OpenGLShims.cpp:
2484         (WebCore::initializeOpenGLShims):
2485         * platform/graphics/OpenGLShims.h:
2486
2487 2013-02-14  Alexey Proskuryakov  <ap@apple.com>
2488
2489         <rdar://problem/13210723> CORS preflight broken with NetworkProcess
2490         https://bugs.webkit.org/show_bug.cgi?id=109753
2491
2492         Reviewed by Brady Eidson.
2493
2494         * loader/DocumentThreadableLoader.h:
2495         * loader/DocumentThreadableLoader.cpp:
2496         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
2497         (WebCore::DocumentThreadableLoader::cancel):
2498         (WebCore::DocumentThreadableLoader::didReceiveResponse):
2499         (WebCore::DocumentThreadableLoader::dataReceived):
2500         (WebCore::DocumentThreadableLoader::didReceiveData):
2501         (WebCore::DocumentThreadableLoader::notifyFinished):
2502         (WebCore::DocumentThreadableLoader::didFinishLoading):
2503         (WebCore::DocumentThreadableLoader::didFail):
2504         (WebCore::DocumentThreadableLoader::preflightFailure): Notify InspectorInstrumentation
2505         immediately. In addition to keeping up eith other changes, this means that an accurate
2506         error will be passed now, not a cancellation.
2507         (WebCore::DocumentThreadableLoader::loadRequest):
2508         Get rid of m_preflightRequestIdentifier. Every loader has an identifier, and tracking
2509         identifiers twice is wrong.
2510         Pass identifier explicitly to more internal functions, so that they would not have to
2511         second-guess callers.
2512
2513         * loader/ResourceLoader.cpp: (WebCore::ResourceLoader::willSendRequest):
2514         Create an identifier for all loaders, not just those that we expect to have client
2515         callbacks about. Both Inspector and NetworkProcess need identifiers everywhere.
2516
2517         * loader/TextTrackLoader.cpp: (WebCore::TextTrackLoader::deprecatedDidReceiveCachedResource):
2518         * loader/TextTrackLoader.h:
2519         * loader/cache/CachedResourceClient.h:
2520         (WebCore::CachedResourceClient::deprecatedDidReceiveCachedResource):
2521         * loader/cache/CachedTextTrack.cpp: (WebCore::CachedTextTrack::data):
2522         Renamed didReceiveData to avoid conflict with the new DocumentThreadableLoader::didReceiveData.
2523         And we should really get rid of this CachedResourceClient function anyway.
2524
2525 2013-02-14  Kentaro Hara  <haraken@chromium.org>
2526
2527         Replace 'DOMObject' with 'any'
2528         https://bugs.webkit.org/show_bug.cgi?id=109793
2529
2530         Reviewed by Dimitri Glazkov.
2531
2532         In the Web IDL spec, there is no type named 'DOMObject'.
2533         It should be 'any'. We should replace all 'DOMObject's in WebKit IDLs with 'any's.
2534
2535         * Modules/webdatabase/SQLResultSetRowList.idl:
2536         * bindings/scripts/CodeGeneratorCPP.pm:
2537         (GetClassName):
2538         (AddIncludesForType):
2539         * bindings/scripts/CodeGeneratorGObject.pm:
2540         (GenerateFunction):
2541         * bindings/scripts/CodeGeneratorJS.pm:
2542         (AddIncludesForType):
2543         (GenerateImplementation):
2544         (JSValueToNative):
2545         (NativeToJSValue):
2546         * bindings/scripts/CodeGeneratorV8.pm:
2547         (GetNativeType):
2548         (JSValueToNative):
2549         (GetV8HeaderName):
2550         * dom/CustomEvent.idl:
2551         * dom/MessageEvent.idl:
2552         * dom/PopStateEvent.idl:
2553         * fileapi/FileReader.idl:
2554         * html/HTMLCanvasElement.idl:
2555         * html/HTMLElement.idl:
2556         * html/canvas/DataView.idl:
2557         * inspector/InjectedScriptHost.idl:
2558         * inspector/InspectorFrontendHost.idl:
2559         * inspector/JavaScriptCallFrame.idl:
2560         * page/DOMWindow.idl:
2561         * page/Location.idl:
2562
2563 2013-02-14  Kentaro Hara  <haraken@chromium.org>
2564
2565         [V8] Remove GenerateEventListenerCallback() from CodeGeneratorV8.pm
2566         https://bugs.webkit.org/show_bug.cgi?id=109786
2567
2568         Reviewed by Adam Barth.
2569
2570         Some code is duplicated between GenerateEventListenerCallback()
2571         and GenerateFunctionCallback(). By inlining GenerateEventListenerCallback()
2572         into GenerateFunctionCallback(), we can remove the duplication.
2573
2574         No tests. No change in behavior.
2575
2576         * bindings/scripts/CodeGeneratorV8.pm:
2577         (GenerateFunctionCallback):
2578
2579 2013-02-14  Ojan Vafai  <ojan@chromium.org>
2580
2581         Intrinsic and preferred widths on replaced elements are wrong in many cases
2582         https://bugs.webkit.org/show_bug.cgi?id=109859
2583
2584         Reviewed by Levi Weintraub.
2585
2586         Test: fast/replaced/preferred-widths.html
2587
2588         * rendering/RenderReplaced.cpp:
2589         (WebCore::RenderReplaced::computeIntrinsicLogicalWidths):
2590         Separate out computing the intrinsic widths. Eventually,
2591         we should be able to share computePreferredLogicalWidth implementations
2592         for all replaced elements and form controls since only the intrinsic width
2593         changes.
2594
2595         (WebCore::RenderReplaced::computePreferredLogicalWidths):
2596         -Apply min-width and max-width constraints and then add borderAndPaddingLogicalWidth
2597         at the end to make sure it's always applied. This matches all our other
2598         computePreferredLogicalWidths override and makes use match Gecko's/Opera's rendering.
2599         -Only set the minPreferredLogicalWidth to 0 if the width or max-width is a percent value.
2600         Doing it for height values and for min-width doesn't make any sense and doesn't
2601         match other browsers. Doing this for max-width still doesn't match other browsers,
2602         but it sounds like Gecko at least would like to change that.
2603
2604         * rendering/RenderReplaced.h:
2605         (WebCore::RenderReplaced::hasRelativeIntrinsicLogicalWidth):
2606         * rendering/svg/RenderSVGRoot.cpp:
2607         (WebCore::RenderSVGRoot::hasRelativeIntrinsicLogicalWidth):
2608         Add a way to check if the logicalWidth is relative so that we only check
2609         the width in computePreferredLogicalWidths instead of also checking the height.
2610
2611         * rendering/svg/RenderSVGRoot.h:
2612
2613 2013-02-14  Stephen Chenney  <schenney@chromium.org>
2614
2615         Crash when selecting a HarfBuzz text run with SVG fonts included
2616         https://bugs.webkit.org/show_bug.cgi?id=109833
2617
2618         Reviewed by Tony Chang.
2619
2620         There is an assert in SimpleFontData::applyTransforms that should not
2621         be there, as the code is valid for SVG fonts. If we get past this,
2622         then the HarfBuzz text run shaping code assumes that font data has a
2623         SkTypeface member, and SVG fonts do not. So we crash there too.
2624
2625         For now, we fix the crashes. This still leaves incorrect selection
2626         rectangles in this situation, on all platforms, tracked in
2627         https://bugs.webkit.org/show_bug.cgi?id=108133
2628
2629         Test: svg/css/font-face-crash.html
2630
2631         * platform/graphics/SimpleFontData.h:
2632         (WebCore::SimpleFontData::applyTransforms): Remove ASSERT_NOT_REACHED as the code can legally be reached for SVG fonts.
2633         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
2634         (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): Check for SVG fonts in the text run, and abort if we find them.
2635
2636 2013-02-13 Joe Mason <jmason@rim.com>
2637
2638         [BlackBerry] Notify platform layer of failing to get authentication credentials
2639         https://bugs.webkit.org/show_bug.cgi?id=109751
2640
2641         Reviewed by Yong Li.
2642         Reviewed internally by Leo Yang
2643         Internal PR: 181302
2644
2645         The BlackBerry platform network layer needs to know if a stream failed to get authentication credentials.
2646         This patch is using newly added stream API to do it.
2647
2648         No functionality changed no new tests.
2649
2650         * platform/network/blackberry/NetworkJob.cpp:
2651         (WebCore::NetworkJob::notifyAuthReceived):
2652         (WebCore::NetworkJob::sendRequestWithCredentials):
2653         (WebCore::NetworkJob::notifyChallengeResult):
2654         * platform/network/blackberry/NetworkJob.h:
2655         * platform/network/blackberry/NetworkManager.cpp:
2656         (WebCore::protectionSpaceToPlatformAuth):
2657         (WebCore):
2658         (WebCore::setAuthCredentials):
2659         * platform/network/blackberry/NetworkManager.h:
2660         (WebCore):
2661
2662 2013-02-14  Kondapally Kalyan  <kalyan.kondapally@intel.com>
2663
2664         [GTK] Fix indentation in GNUmakefile.list.am.
2665         https://bugs.webkit.org/show_bug.cgi?id=109854
2666
2667         Reviewed by Martin Robinson.
2668
2669         This patch fixes indentation in GNUmakefile.list.am.
2670
2671         * GNUmakefile.list.am:
2672
2673 2013-02-14  Tony Chang  <tony@chromium.org>
2674
2675         Unreviewed, set svn:eol-style native for .sln, .vcproj, and .vsprops files.
2676         https://bugs.webkit.org/show_bug.cgi?id=96934
2677
2678         * WebCore.vcproj/WebCore.sln: Modified property svn:eol-style.
2679         * WebCore.vcproj/WebCore.submit.sln: Modified property svn:eol-style.
2680
2681 2013-02-14  Abhishek Arya  <inferno@chromium.org>
2682
2683         Bad cast in RenderBlock::splitBlocks.
2684         https://bugs.webkit.org/show_bug.cgi?id=108691
2685
2686         Reviewed by Levi Weintraub.
2687
2688         Test: fast/multicol/remove-child-split-flow-crash.html
2689
2690         * rendering/RenderBlock.cpp:
2691         (WebCore):
2692         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): rename gIsInColumnFlowSplit to gColumnFlowSplitEnabled
2693         and use it to decide when to do the column flow split or not.
2694         (WebCore::RenderBlock::removeChild): Do not allow column flow split inside removeChild
2695         since we might be merging anonymous blocks.
2696
2697 2013-02-14  Mark Lam  <mark.lam@apple.com>
2698
2699         Split SQLTransaction work between the frontend and backend.
2700         https://bugs.webkit.org/show_bug.cgi?id=104750.
2701
2702         Reviewed by Sam Weinig.
2703
2704         This is part of the webdatabase refactoring for webkit2.
2705
2706         1. Changed how transactions are created.
2707
2708            - Database::runTransaction() first creates a SQLTransaction frontend
2709              which encapsulates the 3 script callbacks. It then passes the
2710              SQLTransaction to the backend database to create the
2711              SQLTransactionBackend.
2712            - The SQLTransactionBackend manages all SQLiteTransaction work.
2713
2714         2. Introduced SQLTransactionState and SQLTransactionStateMachine.
2715
2716            - Instead of tracking the transaction phases as "steps" in m_nextStep,
2717              we now use m_nextState which is of enum class SQLTransactionState.
2718              Unlike m_nextStep which is a pointer to a "step" function,
2719              m_nextState is a state variable which is used to index into a
2720              state dispatch table.
2721
2722            - Both SQLTransaction and SQLTransactionBackend now extends
2723              SQLTransactionStateMachine, and uses its dispatch mechanism based on
2724              the SQLTransactionState.
2725
2726            - Instead of having 1 state machine instances, there are 2: 1 in the
2727              frontend, and 1 in the backend. The 2 have mirrored states, and
2728              transfers work to the other state machine when needed.
2729
2730            - Previously, state functions can be called inline from other states.
2731              They are now only called from the state machines runStateMachine()
2732              method. This makes it possible to isolate the state transition
2733              mechanism going between the sides (frontend and backend) to 2
2734              functions only: SQLTransaction::sendToBackendState() and
2735              SQLTransactionBackend::sendToFrontendState().
2736
2737         3. Consolidated cleanup work (mostly) to a unified cleanup function.
2738
2739         4. Changed the frontend Database::runTransaction() to use a
2740            ChangeVersionData* (instead of a ChangeVersionWrapper ref ptr).
2741
2742            - This is necessary because ChangeVersionWrapper contains functionality
2743              used in processing a transaction (to be invoked in the backend).
2744              Instead, what we want is to simply pass the 2 old and new version
2745              strings to the backend. The new ChangeVersionData simply packages up
2746              these 2 strings.
2747            - This makes ChangeVersionData easy to serialize for IPC messaging later.
2748
2749         5. Moved some transaction functions back to the frontend SQLTransaction
2750            because they belong there.
2751
2752         6. Moved some Database functions to its DatabaseBackendAsync backend
2753            now that the transaction has been split up.
2754
2755            - This is driven naturally by those functions being used exclusively
2756              in the backend for transaction work.
2757            - SQLTransactionClient, SQLTransactionCoordinator, and
2758              SQLTransactionWrapper are now exclusively backend data structures.
2759              SQLTransactionClient still has some frontend "pollution" that I'll
2760              fix later.
2761
2762         7. Made the few database report functions used only by Chromium conditional
2763            on PLATFORM(chromium).
2764
2765            - The report functions gets re-routed to Chromium's DatabaseObserver
2766              which further routes them elsewhere. It is unclear how Chromium uses
2767              these routed messages, and I am therefore not able to determine how
2768              they should work in a frontend/backend world. So, I'm #ifdef'ing
2769              them out. They still work like in the old way for Chromium.
2770
2771         8. Added new files to the build / project files.
2772
2773         9. Updated / added comments about how the transaction and its states work.
2774
2775         No new tests.
2776
2777         * CMakeLists.txt:
2778         * GNUmakefile.list.am:
2779         * Modules/webdatabase/AbstractDatabaseServer.h:
2780         * Modules/webdatabase/ChangeVersionData.h: Added.
2781         (ChangeVersionData):
2782         (WebCore::ChangeVersionData::ChangeVersionData):
2783         (WebCore::ChangeVersionData::oldVersion):
2784         (WebCore::ChangeVersionData::newVersion):
2785         * Modules/webdatabase/ChangeVersionWrapper.cpp:
2786         (WebCore::ChangeVersionWrapper::performPreflight):
2787         (WebCore::ChangeVersionWrapper::performPostflight):
2788         (WebCore::ChangeVersionWrapper::handleCommitFailedAfterPostflight):
2789         * Modules/webdatabase/ChangeVersionWrapper.h:
2790         (ChangeVersionWrapper):
2791         * Modules/webdatabase/Database.cpp:
2792         (WebCore::Database::Database):
2793         (WebCore::Database::close):
2794         (WebCore::Database::changeVersion):
2795         (WebCore::Database::transaction):
2796         (WebCore::Database::readTransaction):
2797         (WebCore::Database::runTransaction):
2798         (WebCore::Database::reportStartTransactionResult):
2799         (WebCore::Database::reportCommitTransactionResult):
2800         (WebCore::Database::reportExecuteStatementResult):
2801         * Modules/webdatabase/Database.h:
2802         (WebCore::Database::databaseContext):
2803         (Database):
2804         (WebCore::Database::reportStartTransactionResult):
2805         (WebCore::Database::reportCommitTransactionResult):
2806         (WebCore::Database::reportExecuteStatementResult):
2807         * Modules/webdatabase/DatabaseBackend.cpp:
2808         * Modules/webdatabase/DatabaseBackend.h:
2809         (DatabaseBackend):
2810         (WebCore::DatabaseBackend::reportOpenDatabaseResult):
2811         (WebCore::DatabaseBackend::reportChangeVersionResult):
2812         (WebCore::DatabaseBackend::reportStartTransactionResult):
2813         (WebCore::DatabaseBackend::reportCommitTransactionResult):
2814         (WebCore::DatabaseBackend::reportExecuteStatementResult):
2815         (WebCore::DatabaseBackend::reportVacuumDatabaseResult):
2816         * Modules/webdatabase/DatabaseBackendAsync.cpp:
2817         (WebCore::DatabaseBackendAsync::DatabaseBackendAsync):
2818         (WebCore::DatabaseBackendAsync::runTransaction):
2819         (WebCore::DatabaseBackendAsync::inProgressTransactionCompleted): Moved from frontend.
2820         (WebCore::DatabaseBackendAsync::scheduleTransaction): Moved from frontend.
2821         (WebCore::DatabaseBackendAsync::scheduleTransactionStep): Moved from frontend.
2822         (WebCore::DatabaseBackendAsync::transactionClient): Moved from frontend.
2823         (WebCore::DatabaseBackendAsync::transactionCoordinator): Moved from frontend.
2824         * Modules/webdatabase/DatabaseBackendAsync.h:
2825         (DatabaseBackendAsync):
2826         * Modules/webdatabase/DatabaseBackendContext.cpp:
2827         (WebCore::DatabaseBackendContext::frontend):
2828         * Modules/webdatabase/DatabaseBackendContext.h:
2829         (DatabaseBackendContext):
2830         * Modules/webdatabase/DatabaseManager.cpp:
2831         * Modules/webdatabase/DatabaseManager.h:
2832         (DatabaseManager):
2833         * Modules/webdatabase/DatabaseServer.cpp:
2834         * Modules/webdatabase/DatabaseServer.h:
2835         * Modules/webdatabase/DatabaseTask.cpp:
2836         (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::doPerformTask):
2837         * Modules/webdatabase/SQLTransaction.cpp:
2838         (WebCore::SQLTransaction::create):
2839         (WebCore::SQLTransaction::SQLTransaction):
2840         (WebCore::SQLTransaction::setBackend):
2841         (WebCore::SQLTransaction::stateFunctionFor):
2842         (WebCore::SQLTransaction::requestTransitToState):
2843         (WebCore::SQLTransaction::nextStateForTransactionError):
2844             - was handleTransactionError(). There's also a backend version.
2845         (WebCore::SQLTransaction::deliverTransactionCallback): Moved from backend.
2846         (WebCore::SQLTransaction::deliverTransactionErrorCallback): Moved from backend.
2847         (WebCore::SQLTransaction::deliverStatementCallback): Moved from backend.
2848         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): Moved from backend.
2849         (WebCore::SQLTransaction::deliverSuccessCallback): Moved from backend.
2850         (WebCore::SQLTransaction::unreachableState):
2851         (WebCore::SQLTransaction::sendToBackendState):
2852         (WebCore::SQLTransaction::performPendingCallback): Moved from backend.
2853         (WebCore::SQLTransaction::executeSQL): Moved from backend.
2854         (WebCore::SQLTransaction::checkAndHandleClosedOrInterruptedDatabase):
2855         (WebCore::SQLTransaction::clearCallbackWrappers):
2856         * Modules/webdatabase/SQLTransaction.h:
2857         (SQLTransaction):
2858         (WebCore::SQLTransaction::database):
2859         (WebCore::SQLTransaction::hasCallback):
2860         (WebCore::SQLTransaction::hasSuccessCallback):
2861         (WebCore::SQLTransaction::hasErrorCallback):
2862         * Modules/webdatabase/SQLTransactionBackend.cpp:
2863         (WebCore::SQLTransactionBackend::create):
2864         (WebCore::SQLTransactionBackend::SQLTransactionBackend):
2865         (WebCore::SQLTransactionBackend::doCleanup):
2866         (WebCore::SQLTransactionBackend::transactionError):
2867         (WebCore::SQLTransactionBackend::setShouldRetryCurrentStatement):
2868         (WebCore::SQLTransactionBackend::stateFunctionFor):
2869         (WebCore::SQLTransactionBackend::enqueueStatement):
2870         (WebCore::SQLTransactionBackend::checkAndHandleClosedOrInterruptedDatabase):
2871         (WebCore::SQLTransactionBackend::performNextStep):
2872         (WebCore::SQLTransactionBackend::notifyDatabaseThreadIsShuttingDown):
2873         (WebCore::SQLTransactionBackend::acquireLock):
2874         (WebCore::SQLTransactionBackend::lockAcquired):
2875         (WebCore::SQLTransactionBackend::openTransactionAndPreflight):
2876         (WebCore::SQLTransactionBackend::runStatements):
2877         (WebCore::SQLTransactionBackend::runCurrentStatementAndGetNextState):
2878             - was runCurrentStatement().
2879         (WebCore::SQLTransactionBackend::nextStateForCurrentStatementError):
2880             - was handleCurrentStatementError().
2881         (WebCore::SQLTransactionBackend::postflightAndCommit):
2882         (WebCore::SQLTransactionBackend::cleanupAndTerminate):
2883         (WebCore::SQLTransactionBackend::nextStateForTransactionError):
2884             - was handleTransactionError(). There's also a frontend version.
2885         (WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
2886         (WebCore::SQLTransactionBackend::requestTransitToState):
2887         (WebCore::SQLTransactionBackend::unreachableState):
2888         (WebCore::SQLTransactionBackend::sendToFrontendState):
2889         * Modules/webdatabase/SQLTransactionBackend.h:
2890         (SQLTransactionWrapper):
2891         (SQLTransactionBackend):
2892         (WebCore::SQLTransactionBackend::database):
2893         * Modules/webdatabase/SQLTransactionClient.cpp:
2894         (WebCore::SQLTransactionClient::didCommitWriteTransaction):
2895         (WebCore::SQLTransactionClient::didExecuteStatement):
2896         * Modules/webdatabase/SQLTransactionCoordinator.cpp:
2897         (WebCore::getDatabaseIdentifier):
2898         * Modules/webdatabase/SQLTransactionState.h: Added.
2899         * Modules/webdatabase/SQLTransactionStateMachine.cpp: Added.
2900         (WebCore::nameForSQLTransactionState):
2901             - was debugStepName().
2902         * Modules/webdatabase/SQLTransactionStateMachine.h: Added.
2903         (SQLTransactionStateMachine):
2904         (WebCore::SQLTransactionStateMachine::~SQLTransactionStateMachine):
2905         (WebCore::::SQLTransactionStateMachine):
2906         (WebCore::::setStateToRequestedState):
2907         (WebCore::::runStateMachine):
2908         * Target.pri:
2909         * WebCore.gypi:
2910         * WebCore.vcproj/WebCore.vcproj:
2911         * WebCore.vcxproj/WebCore.vcxproj:
2912         * WebCore.vcxproj/WebCore.vcxproj.filters:
2913         * WebCore.xcodeproj/project.pbxproj:
2914         * inspector/InspectorDatabaseAgent.cpp:
2915
2916 2013-02-14  Jer Noble  <jer.noble@apple.com>
2917
2918         EME: replace MediaKeySession.addKey() -> update()
2919         https://bugs.webkit.org/show_bug.cgi?id=109461
2920
2921         Reviewed by Eric Carlson.
2922
2923         No new tests; updated media/encrypted-media/encrypted-media-v2-syntax.html test.
2924
2925         In the latest draft of the Encrypted Media Spec, the addKeys() method has been replaced
2926         with update().
2927
2928         * Modules/encryptedmedia/CDM.h:
2929         * Modules/encryptedmedia/MediaKeySession.cpp:
2930         (WebCore::MediaKeySession::update):
2931         (WebCore::MediaKeySession::addKeyTimerFired):
2932         * Modules/encryptedmedia/MediaKeySession.h:
2933         * Modules/encryptedmedia/MediaKeySession.idl:
2934         * html/HTMLMediaElement.cpp:
2935         (WebCore::HTMLMediaElement::webkitAddKey):
2936         * testing/MockCDM.cpp:
2937         (WebCore::MockCDMSession::update):
2938
2939 2013-02-14  Tony Chang  <tony@chromium.org>
2940
2941         Unreviewed, set svn:eol-style CRLF for .sln files.
2942
2943         * WebCore.vcproj/WebCore.sln: Modified property svn:eol-style.
2944         * WebCore.vcproj/WebCore.submit.sln: Modified property svn:eol-style.
2945
2946 2013-02-14  Eric Carlson  <eric.carlson@apple.com>
2947
2948         [Mac] adjust caption color user preference calculation
2949         https://bugs.webkit.org/show_bug.cgi?id=109840
2950
2951         Reviewed by Dean Jackson.
2952
2953         No new tests, it isn't possible to test this with DRT.
2954
2955         * page/CaptionUserPreferencesMac.mm:
2956         (WebCore::CaptionUserPreferencesMac::captionsWindowCSS): The color is "important" if either the
2957             color or opacity are supposed to override.
2958         (WebCore::CaptionUserPreferencesMac::captionsBackgroundCSS): Ditto.
2959         (WebCore::CaptionUserPreferencesMac::captionsTextColor): Ditto.
2960
2961         * WebCore.vcproj/WebCore.sln: Modified property svn:eol-style.
2962         * WebCore.vcproj/WebCore.submit.sln: Modified property svn:eol-style.
2963
2964 2013-02-14  Cosmin Truta  <ctruta@rim.com>
2965
2966         Numeric identifiers of events are not guaranteed to be unique
2967         https://bugs.webkit.org/show_bug.cgi?id=103259
2968
2969         Reviewed by Alexey Proskuryakov.
2970
2971         The results of setTimeout, setInterval and navigator.geolocation.watchPosition
2972         are positive integer values extracted from a simple circular sequential number
2973         generator, whose uniqueness can be guaranteed for no more than 2^31 calls to
2974         any of these functions. In order to provide this guarantee beyond this limit,
2975         we repeatedly ask for the next sequential id until we get one that's not used
2976         already.
2977
2978         This solution works instantly under normal circumstances, when there are few
2979         live timeout ids or geolocation ids at any given moment. Handling millions of
2980         live ids will require another solution.
2981
2982         No new tests. Brief tests of uniqueness already exist.
2983         Moreover, reproducing this particular issue would require 2^31 set/clear
2984         function calls, which is prohibitively expensive.
2985
2986         * Modules/geolocation/Geolocation.cpp:
2987         (WebCore::Geolocation::Watchers::add): Rename from Watchers::set; return false if watch id already exists.
2988         (WebCore::Geolocation::watchPosition): Repeat until the new watch id is unique.
2989         * Modules/geolocation/Geolocation.h:
2990         (Watchers): Rename Watchers::set to Watchers::add.
2991         * Modules/geolocation/Geolocation.idl: Rename the argument of Geolocation::clearWatch to WatchID.
2992         * dom/ScriptExecutionContext.cpp:
2993         (WebCore::ScriptExecutionContext::ScriptExecutionContext): Update initialization.
2994         (WebCore::ScriptExecutionContext::circularSequentialID): Rename from newUniqueID; remove FIXME note.
2995         * dom/ScriptExecutionContext.h:
2996         (ScriptExecutionContext): Rename ScriptExecutionContext::newUniqueID to ScriptExecutionContext::circularSequentialID.
2997         (WebCore::ScriptExecutionContext::addTimeout): Return false (do not assert) if timeout id already exists.
2998         * page/DOMTimer.cpp:
2999         (WebCore::DOMTimer::DOMTimer): Repeat until the new timeout id is unique.
3000
3001 2013-02-14  Sheriff Bot  <webkit.review.bot@gmail.com>
3002
3003         Unreviewed, rolling out r142825.
3004         http://trac.webkit.org/changeset/142825
3005         https://bugs.webkit.org/show_bug.cgi?id=109856
3006
3007         Causes some inspector tests to time out (Requested by anttik
3008         on #webkit).
3009
3010         * platform/mac/SharedTimerMac.mm:
3011         (WebCore):
3012         (WebCore::PowerObserver::restartSharedTimer):
3013         (WebCore::setSharedTimerFireInterval):
3014         (WebCore::stopSharedTimer):
3015
3016 2013-02-14  Lamarque V. Souza  <Lamarque.Souza@basyskom.com>
3017
3018         Support the ch unit from css3-values
3019         https://bugs.webkit.org/show_bug.cgi?id=85755
3020
3021         Reviewed by David Hyatt.
3022
3023         Original patch by Sumedha Widyadharma <sumedha.widyadharma@basyskom.com>.
3024
3025         Test: fast/css/css3-ch-unit.html
3026
3027         * css/CSSCalculationValue.cpp:
3028         (WebCore::unitCategory):
3029         * css/CSSGrammar.y.in:
3030         * css/CSSParser.cpp:
3031         (WebCore::CSSParser::validUnit):
3032         (WebCore::CSSParser::createPrimitiveNumericValue):
3033         (WebCore::CSSParser::parseValidPrimitive):
3034         (WebCore::CSSParser::detectNumberToken):
3035         * css/CSSParserValues.cpp:
3036         (WebCore::CSSParserValue::createCSSValue):
3037         * css/CSSPrimitiveValue.cpp:
3038         (WebCore::isValidCSSUnitTypeForDoubleConversion):
3039         (WebCore::CSSPrimitiveValue::cleanup):
3040         (WebCore::CSSPrimitiveValue::computeLengthDouble):
3041         (WebCore::CSSPrimitiveValue::customCssText):
3042         (WebCore::CSSPrimitiveValue::cloneForCSSOM):
3043         * css/CSSPrimitiveValue.h:
3044         (WebCore::CSSPrimitiveValue::isFontRelativeLength):
3045         (WebCore::CSSPrimitiveValue::isLength):
3046         * platform/graphics/FontMetrics.h:
3047         (WebCore::FontMetrics::FontMetrics):
3048         (WebCore::FontMetrics::zeroWidth):
3049         (WebCore::FontMetrics::setZeroWidth):
3050         (FontMetrics):
3051         (WebCore::FontMetrics::hasZeroWidth):
3052         (WebCore::FontMetrics::setHasZeroWidth):
3053         * platform/graphics/SimpleFontData.cpp:
3054         (WebCore::SimpleFontData::platformGlyphInit):
3055         * platform/graphics/SimpleFontData.h:
3056         (WebCore::SimpleFontData::zeroGlyph):
3057         (WebCore::SimpleFontData::setZeroGlyph):
3058         (SimpleFontData):
3059         * platform/graphics/qt/SimpleFontDataQt.cpp:
3060         (WebCore::SimpleFontData::platformInit):
3061
3062 2013-02-14  David Kilzer  <ddkilzer@apple.com>
3063
3064         [Mac] Clean up WARNING_CFLAGS
3065         <http://webkit.org/b/109747>
3066         <rdar://problem/13208373>
3067
3068         Reviewed by Mark Rowe.
3069
3070         * Configurations/Base.xcconfig: Use
3071         GCC_WARN_64_TO_32_BIT_CONVERSION to enable and disable
3072         -Wshorten-64-to-32 rather than WARNING_CFLAGS.
3073
3074 2013-02-14  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3075
3076         Add addHTTPHeaderField() method to ResourceResponse
3077         https://bugs.webkit.org/show_bug.cgi?id=109844
3078
3079         Reviewed by Adam Barth.
3080
3081         ResourceRequestBase provides both setHTTPHeaderField() and addHTTPHeaderField(). However,
3082         ResourceResponseBase only provides setHTTPHeaderField(). This is a bit inconsistent. As a
3083         result, the addHTTPHeaderField() functionality's implementation is duplicated in several
3084         ports (at least chromium and soup).
3085
3086         This patch introduces addHTTPHeaderField() to ResourceResponseBase and makes use of it
3087         in Chromium and Soup backends.
3088
3089         No new tests, no behavior change.
3090
3091         * platform/chromium/support/WebURLResponse.cpp:
3092         (WebKit::WebURLResponse::addHTTPHeaderField): Use ResourceResponseBase::addHTTPHeaderField().
3093         * platform/network/ResourceResponseBase.cpp:
3094         (WebCore::ResourceResponseBase::updateHeaderParsedState): Move headers' parsed state update code
3095         from setHTTPHeaderField() to a new updateHeaderParsedState() method to avoid code duplication.
3096         (WebCore):
3097         (WebCore::ResourceResponseBase::setHTTPHeaderField):
3098         (WebCore::ResourceResponseBase::addHTTPHeaderField):
3099         * platform/network/ResourceResponseBase.h:
3100         (ResourceResponseBase):
3101         * platform/network/soup/ResourceResponseSoup.cpp:
3102         (WebCore::ResourceResponse::updateFromSoupMessageHeaders): Use ResourceResponseBase::addHTTPHeaderField().
3103
3104 2013-02-14  Philip Rogers  <pdr@google.com>
3105
3106         Prevent inconsistent firstChild during document destruction
3107         https://bugs.webkit.org/show_bug.cgi?id=106530
3108
3109         Reviewed by Abhishek Arya.
3110
3111         During document destruction, addChildNodesToDeletionQueue can allow a container
3112         node to have an invalid first child, causing a crash. This patch updates
3113         addChildNodesToDeletionQueue to maintain a valid value for firstChild() even
3114         while updating its children.
3115
3116         Test: svg/custom/animateMotion-path-change-crash.svg
3117
3118         * dom/ContainerNodeAlgorithms.h:
3119         (WebCore::Private::addChildNodesToDeletionQueue):
3120             To ensure prevoiusSibling() is also valid, this code was slightly refactored
3121             to call setPreviousSibling(0) on the next node instead of the current node.
3122
3123 2013-02-14  Julien Chaffraix  <jchaffraix@webkit.org>
3124
3125         [CSS Grid Layout] Add an internal 2D grid representation to RenderGrid
3126         https://bugs.webkit.org/show_bug.cgi?id=109714
3127
3128         Reviewed by Ojan Vafai.
3129
3130         This change introduces a 2D grid representation of the grid areas. Our implementation
3131         is a straight Vector of Vectors for the grid areas, each grid area able to hold an
3132         arbitrary number of RenderBox* so they hold a Vector of RenderBoxes. As an optimization,
3133         each grid area has enough inline storage to hold one grid item which should cover
3134         most cases.
3135
3136         In order to keep the code readable, a GridIterator was introduced to hide the new grid.
3137
3138         Refactoring, covered by existing tests.
3139
3140         * rendering/RenderGrid.cpp:
3141         (RenderGrid::GridIterator):
3142         (WebCore::RenderGrid::GridIterator::GridIterator):
3143         (WebCore::RenderGrid::GridIterator::nextGridItem):
3144         Added a mono-directional iterator. In order to be more aligned with the rest of the code,
3145         this iterator actually walks orthogonally to the |direction| (ie fixing the |direction|'s track).
3146
3147         * rendering/RenderGrid.cpp:
3148         (WebCore::RenderGrid::computePreferredLogicalWidths):
3149         (WebCore::RenderGrid::layoutGridItems):
3150         Updated these 2 functions to place the items on the grid and clear it at the end.
3151
3152         (WebCore::RenderGrid::computePreferredTrackWidth):
3153         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
3154         Updated to use the GridIterator to walk over the rows / columns.
3155
3156         (WebCore::RenderGrid::placeItemsOnGrid):
3157         Added this function that inserts the grid items into the right grid area.
3158
3159         * rendering/RenderGrid.h:
3160         (WebCore::RenderGrid::gridColumnCount):
3161         (WebCore::RenderGrid::gridRowCount):
3162         Added these helper functions.
3163
3164 2013-02-14  Sheriff Bot  <webkit.review.bot@gmail.com>
3165
3166         Unreviewed, rolling out r141990.
3167         http://trac.webkit.org/changeset/141990
3168         https://bugs.webkit.org/show_bug.cgi?id=109850
3169
3170         ~5% regression on intl2 page cycler (Requested by kling on
3171         #webkit).
3172
3173         * platform/graphics/GlyphPage.h:
3174         (WebCore::GlyphPage::create):
3175         (WebCore::GlyphPage::glyphDataForCharacter):
3176         (WebCore::GlyphPage::glyphDataForIndex):
3177         (WebCore::GlyphPage::fontDataForCharacter):
3178         (WebCore::GlyphPage::setGlyphDataForIndex):
3179         (GlyphPage):
3180         (WebCore::GlyphPage::copyFrom):
3181         (WebCore::GlyphPage::clear):
3182         (WebCore::GlyphPage::clearForFontData):
3183         (WebCore::GlyphPage::GlyphPage):
3184         * platform/graphics/GlyphPageTreeNode.cpp:
3185         (WebCore::GlyphPageTreeNode::initializePage):
3186         * rendering/svg/SVGTextRunRenderingContext.cpp:
3187         (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):
3188
3189 2013-02-14  Mark Pilgrim  <pilgrim@chromium.org>
3190
3191         [Chromium] Move PlatformMessagePortChannel to WebCore
3192         https://bugs.webkit.org/show_bug.cgi?id=109845
3193
3194         Reviewed by Adam Barth.
3195
3196         Part of a larger refactoring series; see tracking bug 106829.
3197
3198         * WebCore.gyp/WebCore.gyp:
3199         * WebCore.gypi:
3200         * dom/default/chromium: Added.
3201         * dom/default/chromium/PlatformMessagePortChannelChromium.cpp: Added.
3202         (WebCore):
3203         (WebCore::MessagePortChannel::create):
3204         (WebCore::MessagePortChannel::createChannel):
3205         (WebCore::MessagePortChannel::MessagePortChannel):
3206         (WebCore::MessagePortChannel::~MessagePortChannel):
3207         (WebCore::MessagePortChannel::entangleIfOpen):
3208         (WebCore::MessagePortChannel::disentangle):
3209         (WebCore::MessagePortChannel::postMessageToRemote):
3210         (WebCore::MessagePortChannel::tryGetMessageFromRemote):
3211         (WebCore::MessagePortChannel::close):
3212         (WebCore::MessagePortChannel::isConnectedTo):
3213         (WebCore::MessagePortChannel::hasPendingActivity):
3214         (WebCore::MessagePortChannel::locallyEntangledPort):
3215         (WebCore::PlatformMessagePortChannel::create):
3216         (WebCore::PlatformMessagePortChannel::PlatformMessagePortChannel):
3217         (WebCore::PlatformMessagePortChannel::~PlatformMessagePortChannel):
3218         (WebCore::PlatformMessagePortChannel::createChannel):
3219         (WebCore::PlatformMessagePortChannel::messageAvailable):
3220         (WebCore::PlatformMessagePortChannel::entangleIfOpen):
3221         (WebCore::PlatformMessagePortChannel::disentangle):
3222         (WebCore::PlatformMessagePortChannel::postMessageToRemote):
3223         (WebCore::PlatformMessagePortChannel::tryGetMessageFromRemote):
3224         (WebCore::PlatformMessagePortChannel::close):
3225         (WebCore::PlatformMessagePortChannel::isConnectedTo):
3226         (WebCore::PlatformMessagePortChannel::hasPendingActivity):
3227         (WebCore::PlatformMessagePortChannel::setEntangledChannel):
3228         (WebCore::PlatformMessagePortChannel::webChannelRelease):
3229         * dom/default/chromium/PlatformMessagePortChannelChromium.h: Added.
3230         (WebKit):
3231         (WebCore):
3232         (PlatformMessagePortChannel):
3233
3234 2013-02-14  Chris Fleizach  <cfleizach@apple.com>
3235
3236         Remove Leopard Accessibility support from WebCore (now that no port builds on Leopard)
3237         https://bugs.webkit.org/show_bug.cgi?id=90250
3238
3239         Reviewed by Eric Seidel.
3240
3241         The Leopard era checks for accessibility lists and accessibility tables can be removed now.
3242
3243         * accessibility/AccessibilityARIAGrid.cpp:
3244         (WebCore):
3245         * accessibility/AccessibilityARIAGrid.h:
3246         (AccessibilityARIAGrid):
3247         (WebCore::AccessibilityARIAGrid::isTableExposableThroughAccessibility):
3248         * accessibility/AccessibilityList.cpp:
3249         (WebCore::AccessibilityList::computeAccessibilityIsIgnored):
3250         * accessibility/AccessibilityList.h:
3251         * accessibility/AccessibilityTable.cpp:
3252         (WebCore::AccessibilityTable::AccessibilityTable):
3253         (WebCore::AccessibilityTable::init):
3254         * accessibility/AccessibilityTable.h:
3255         (AccessibilityTable):
3256         * accessibility/mac/AXObjectCacheMac.mm:
3257         (WebCore::AXObjectCache::postPlatformNotification):
3258         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
3259         (createAccessibilityRoleMap):
3260
3261 2013-02-14  Bear Travis  <betravis@adobe.com>
3262
3263         Make outside-shape the default value for shape-inside
3264         https://bugs.webkit.org/show_bug.cgi?id=109605
3265
3266         Reviewed by Levi Weintraub.
3267
3268         Creating a single reference outside-shape value and setting it as the default
3269         for shape-inside.
3270
3271         Existing tests cover the default value, just updating them to use outside-shape.
3272
3273         * rendering/style/RenderStyle.cpp:
3274         (WebCore::RenderStyle::initialShapeInside): Define a local static outside-shape
3275         value.
3276         (WebCore):
3277         * rendering/style/RenderStyle.h: Move the initialShapeInside method to the .cpp
3278         file.
3279
3280 2013-02-14  Min Qin  <qinmin@chromium.org>
3281
3282         Passing alpha to DeferredImageDecoder once decoding completes
3283         https://bugs.webkit.org/show_bug.cgi?id=108892
3284
3285         Reviewed by Stephen White.
3286
3287         We should pass hasAlpha value back to the DeferredImageDecoder once decoding is completed
3288         Added unit tests in ImageFrameGeneratorTest.
3289
3290         * platform/graphics/chromium/DeferredImageDecoder.cpp:
3291         (WebCore::DeferredImageDecoder::frameHasAlphaAtIndex):
3292         * platform/graphics/chromium/ImageFrameGenerator.cpp:
3293         (WebCore::ImageFrameGenerator::tryToScale):
3294         (WebCore::ImageFrameGenerator::decode):
3295         * platform/graphics/chromium/LazyDecodingPixelRef.cpp:
3296         (WebCore::LazyDecodingPixelRef::LazyDecodingPixelRef):
3297         (WebCore::LazyDecodingPixelRef::onUnlockPixels):
3298         * platform/graphics/chromium/LazyDecodingPixelRef.h:
3299         (WebCore::LazyDecodingPixelRef::hasAlpha):
3300         (LazyDecodingPixelRef):
3301         * platform/graphics/chromium/ScaledImageFragment.cpp:
3302         (WebCore::ScaledImageFragment::ScaledImageFragment):
3303         * platform/graphics/chromium/ScaledImageFragment.h:
3304         (WebCore::ScaledImageFragment::create):
3305         (ScaledImageFragment):
3306         (WebCore::ScaledImageFragment::hasAlpha):
3307
3308 2013-02-14  David Grogan  <dgrogan@chromium.org>
3309
3310         IndexedDB: Add a few more histogram calls
3311         https://bugs.webkit.org/show_bug.cgi?id=109762
3312
3313         Reviewed by Tony Chang.
3314
3315         A few places where commits could fail weren't being logged.
3316
3317         * Modules/indexeddb/IDBBackingStore.cpp:
3318         (WebCore::IDBBackingStore::deleteDatabase):
3319         (WebCore::IDBBackingStore::Transaction::commit):
3320
3321 2013-02-14  Tony Chang  <tony@chromium.org>
3322
3323         Padding and border changes doesn't trigger relayout of children
3324         https://bugs.webkit.org/show_bug.cgi?id=109639
3325
3326         Reviewed by Kent Tamura.
3327
3328         In RenderBlock::layoutBlock, we only relayout our children if our logical width
3329         changes. This misses cases where our logical width doesn't change (i.e., padding
3330         or border changes), but our content width does change.
3331
3332         This is a more general case of bug 104997.
3333
3334         Test: fast/block/dynamic-padding-border.html
3335
3336         * rendering/RenderBox.cpp:
3337         (WebCore::borderOrPaddingLogicalWidthChanged): Only check if the logical width changed.
3338         (WebCore::RenderBox::styleDidChange): Drop the border-box condition since this can happen
3339         even without border-box box sizing.
3340
3341 2013-02-14  Peter Rybin  <prybin@chromium.org>
3342
3343         Web Inspector: fix closure compilation warnings caused by setVariableValue change
3344         https://bugs.webkit.org/show_bug.cgi?id=109488
3345
3346         Reviewed by Pavel Feldman.
3347
3348         Annotations are fixed as required by closure compiler.
3349         Parameters in Inspector.json are reordered as required.
3350
3351         * inspector/InjectedScriptExterns.js:
3352         (InjectedScriptHost.prototype.setFunctionVariableValue):
3353         (JavaScriptCallFrame.prototype.setVariableValue):
3354         * inspector/InjectedScriptSource.js:
3355         (.):
3356         * inspector/Inspector.json:
3357         * inspector/InspectorDebuggerAgent.cpp:
3358         (WebCore::InspectorDebuggerAgent::setVariableValue):
3359         * inspector/InspectorDebuggerAgent.h:
3360         (InspectorDebuggerAgent):
3361
3362 2013-02-14  Tommy Widenflycht  <tommyw@google.com>
3363
3364         MediaStream API: RTCDataChannel triggers a use-after-free
3365         https://bugs.webkit.org/show_bug.cgi?id=109806
3366
3367         Reviewed by Adam Barth.
3368
3369         Making sure RTCPeerConnection::stop() is always called at least once.
3370         Also making sure that RTCDataChannels state gets set to Closed correctly.
3371
3372         Hard to test in WebKit but covered by Chromium tests.
3373
3374         * Modules/mediastream/RTCDataChannel.cpp:
3375         (WebCore::RTCDataChannel::stop):
3376         * Modules/mediastream/RTCPeerConnection.cpp:
3377         (WebCore::RTCPeerConnection::~RTCPeerConnection):
3378         (WebCore::RTCPeerConnection::stop):
3379
3380 2013-02-14  Vsevolod Vlasov  <vsevik@chromium.org>
3381
3382         Web Inspector: [Regression] When several consecutive characters are typed each of them is marked as undoable state.
3383         https://bugs.webkit.org/show_bug.cgi?id=109823
3384
3385         Reviewed by Pavel Feldman.
3386
3387         * inspector/front-end/TextEditorModel.js:
3388         (WebInspector.TextEditorModel.endsWithBracketRegex.):
3389
3390 2013-02-14  Sheriff Bot  <webkit.review.bot@gmail.com>
3391
3392         Unreviewed, rolling out r142820.
3393         http://trac.webkit.org/changeset/142820
3394         https://bugs.webkit.org/show_bug.cgi?id=109839
3395
3396         Causing crashes on chromium canaries (Requested by atwilson_
3397         on #webkit).
3398
3399         * dom/Document.cpp:
3400         (WebCore::Document::updateLayout):
3401         (WebCore::Document::implicitClose):
3402         * rendering/RenderQuote.h:
3403         (RenderQuote):
3404         * rendering/RenderView.cpp:
3405         * rendering/RenderView.h:
3406
3407 2013-02-14  Mario Sanchez Prada  <mario.prada@samsung.com>
3408
3409         [GTK] Missing call to g_object_ref while retrieving accessible table cells
3410         https://bugs.webkit.org/show_bug.cgi?id=106903
3411
3412         Reviewed by Martin Robinson.
3413
3414         Add missing extra ref to implementation of atk_table_ref_at().
3415
3416         Test: accessibility/table-cell-for-column-and-row-crash.html
3417
3418         * accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
3419         (webkitAccessibleTableRefAt): This method transfers full ownership
3420         over the returned AtkObject, so an extra reference is needed here.
3421
3422 2013-02-14  Mike Fenton  <mifenton@rim.com>
3423
3424         [BlackBerry] Update keyboard event details to match platform details.
3425         https://bugs.webkit.org/show_bug.cgi?id=109693
3426
3427         Reviewed by Yong Li.
3428
3429         PR 220170.
3430
3431         Update the keyboard event details to match the
3432         platform details available.
3433
3434         Rename helper function to better describe the conversion.
3435
3436         Reviewed Internally by Nima Ghanavatian and Gen Mak.
3437
3438         * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
3439         (WebCore::windowsKeyCodeForBlackBerryKeycode):
3440         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3441
3442 2013-02-08  Andrey Kosyakov  <caseq@chromium.org>
3443
3444         Web Inspector: expose did{Begin,Cancel}Frame() and {will,did}Composite() on WebDebToolsAgent
3445         https://bugs.webkit.org/show_bug.cgi?id=109192
3446
3447         Reviewed by Pavel Feldman.
3448
3449         - remove frame and compositing instrumentation methods from InspectorInstrumentation;
3450         - expose those methods on InspectorController instead.
3451
3452         * WebCore.exp.in:
3453         * inspector/InspectorController.cpp:
3454         (WebCore::InspectorController::didBeginFrame):
3455         (WebCore):
3456         (WebCore::InspectorController::didCancelFrame):
3457         (WebCore::InspectorController::willComposite):
3458         (WebCore::InspectorController::didComposite):
3459         * inspector/InspectorController.h:
3460         (InspectorController):
3461         * inspector/InspectorInstrumentation.cpp:
3462         (WebCore):
3463         * inspector/InspectorInstrumentation.h:
3464         (InspectorInstrumentation):
3465         * testing/Internals.cpp:
3466         (WebCore::Internals::emitInspectorDidBeginFrame):
3467         (WebCore::Internals::emitInspectorDidCancelFrame):
3468
3469 2013-02-14  Vladislav Kaznacheev  <kaznacheev@chromium.org>
3470
3471         Web Inspector: Fixed a layout regression in CanvasProfileView.
3472         https://bugs.webkit.org/show_bug.cgi?id=109835
3473
3474         Reviewed by Pavel Feldman.
3475
3476         Changed splitView.css to supported nested SplitView instances.
3477
3478         * inspector/front-end/splitView.css:
3479         (.split-view-vertical > .split-view-contents):
3480         (.split-view-vertical > .split-view-contents-first):
3481         (.split-view-vertical > .split-view-contents-first.maximized):
3482         (.split-view-vertical > .split-view-contents-second):
3483         (.split-view-vertical > .split-view-contents-second.maximized):
3484         (.split-view-horizontal > .split-view-contents):
3485         (.split-view-horizontal > .split-view-contents-first):
3486         (.split-view-horizontal > .split-view-contents-first.maximized):
3487         (.split-view-horizontal > .split-view-contents-second):
3488         (.split-view-horizontal > .split-view-contents-second.maximized):
3489         (.split-view-vertical > .split-view-sidebar.split-view-contents-first:not(.maximized)):
3490         (.split-view-vertical > .split-view-sidebar.split-view-contents-second:not(.maximized)):
3491         (.split-view-horizontal > .split-view-sidebar.split-view-contents-first:not(.maximized)):
3492         (.split-view-horizontal > .split-view-sidebar.split-view-contents-second:not(.maximized)):
3493         (.split-view-vertical > .split-view-resizer):
3494         (.split-view-horizontal > .split-view-resizer):
3495
3496 2013-02-14  Vladislav Kaznacheev  <kaznacheev@chromium.org>
3497
3498         Web Inspector: Color picker should not be available in Computed Styles pane.
3499         https://bugs.webkit.org/show_bug.cgi?id=109697
3500
3501         Reviewed by Alexander Pavlov.
3502
3503         Changed the parentPane parameter of WebInspector.ComputedStylePropertiesSection to the correct value
3504         (the ComputedStyleSidebarPane instance).
3505
3506         * inspector/front-end/StylesSidebarPane.js:
3507         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
3508
3509 2013-02-14  Yury Semikhatsky  <yurys@chromium.org>
3510
3511         Web Inspector: don't create static local string for program literal in InspectorTimelineAgent
3512         https://bugs.webkit.org/show_bug.cgi?id=109811
3513
3514         Reviewed by Pavel Feldman.
3515
3516         Use const char* constant value instead of creating String from it in thread-unsafe
3517         static local variable.
3518
3519         * inspector/InspectorTimelineAgent.cpp:
3520         (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
3521
3522 2013-02-14  Pan Deng  <pan.deng@intel.com>
3523
3524         [Web Inspector] Fix initiator name issue in reload scenario for Network Panel.
3525         https://bugs.webkit.org/show_bug.cgi?id=108746.
3526
3527         Reviewed by Vsevolod Vlasov.
3528
3529         WebInspector.displayNameForURL() does not work as expected in the reload scenario,
3530         for example, "http://www.yahoo.com/" was trimed to "/" at one time, but at another,
3531         the full host name will be displayed.
3532         This fix return host + "/" in the issue scenario, and keep with get displayName() in ParsedURL.
3533
3534         No new tests.
3535
3536         * inspector/front-end/ParsedURL.js:
3537         (WebInspector.ParsedURL.prototype.get displayName): append "/" in the display host scenario.
3538         * inspector/front-end/ResourceUtils.js:
3539         (WebInspector.displayNameForURL): add host in the head if url trimed as a "/".
3540
3541 2013-02-14  Alexei Filippov  <alph@chromium.org>
3542
3543         Web Inspector: fix to record button remaining red after heap snapshot is taken
3544         https://bugs.webkit.org/show_bug.cgi?id=109804
3545
3546         Reviewed by Yury Semikhatsky.
3547
3548         Revert part of r142243 fix. Namely heap snapshot taking button made
3549         stateless as it was before.
3550
3551         * inspector/front-end/HeapSnapshotView.js:
3552         (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
3553         * inspector/front-end/ProfilesPanel.js:
3554         (WebInspector.ProfilesPanel.prototype.toggleRecordButton):
3555
3556 2013-02-14  Alexander Pavlov  <apavlov@chromium.org>
3557
3558         Web Inspector: Consistently use SecurityOrigin::toRawString() for serialization across the backend code
3559         https://bugs.webkit.org/show_bug.cgi?id=109801
3560
3561         Reviewed by Yury Semikhatsky.
3562
3563         No new tests, as existing tests cover the change.
3564
3565         * inspector/InspectorAgent.cpp:
3566         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
3567         * inspector/InspectorIndexedDBAgent.cpp:
3568         (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
3569         * inspector/InspectorPageAgent.cpp:
3570         (WebCore::InspectorPageAgent::buildObjectForFrame):
3571         * inspector/PageRuntimeAgent.cpp:
3572         (WebCore::PageRuntimeAgent::notifyContextCreated):
3573
3574 2013-02-14  Sergio Villar Senin  <svillar@igalia.com>
3575
3576         Add logging support to IndexedDB for non-Chromium platforms
3577         https://bugs.webkit.org/show_bug.cgi?id=109809
3578
3579         Reviewed by Kentaro Hara.
3580
3581         Enable logging of IndexedDB through the StorageAPI log channel for
3582         non-Chromium architectures.
3583
3584         No new tests required, we're just enabling logging for IndexedDB
3585         using the currently available logging framework.
3586
3587         * Modules/indexeddb/IDBTracing.h:
3588
3589 2013-02-14  Vsevolod Vlasov  <vsevik@chromium.org>
3590
3591         Web Inspector: Remove uriForFile and fileForURI methods from FileSystemMapping.
3592         https://bugs.webkit.org/show_bug.cgi?id=109704
3593
3594         Reviewed by Alexander Pavlov.
3595
3596         Replaced this methods with one line implementation on the only call site.
3597
3598         * inspector/front-end/FileSystemMapping.js:
3599         * inspector/front-end/FileSystemProjectDelegate.js:
3600         (WebInspector.FileSystemProjectDelegate.prototype._filePathForURI):
3601         (WebInspector.FileSystemProjectDelegate.prototype.setFileContent):
3602         (WebInspector.FileSystemProjectDelegate.prototype._populate.filesLoaded):
3603         (WebInspector.FileSystemProjectDelegate.prototype._populate):
3604
3605 2013-02-14  Anton Vayvod  <avayvod@chromium.org>
3606
3607         [Text Autosizing] Process narrow descendants with the same multiplier for the font size.
3608         https://bugs.webkit.org/show_bug.cgi?id=109573
3609
3610         Reviewed by Julien Chaffraix.
3611
3612         Combine narrow descendants of the same autosizing cluster into a group that is autosized
3613         with the same multiplier.
3614
3615         For example, on sites with a sidebar, sometimes the paragraphs next to the sidebar will have
3616         a large margin individually applied (via a CSS selector), causing them all to individually
3617         appear narrower than their enclosing blockContainingAllText. Rather than making each of
3618         these paragraphs into a separate cluster, we want them all to share the same multiplier, as
3619         if they were a single cluster.
3620
3621         Test: fast/text-autosizing/narrow-descendants-combined.html
3622
3623         * rendering/TextAutosizer.cpp:
3624         (WebCore::TextAutosizer::processClusterInternal):
3625
3626             Common implementation for processCluster() and processCompositeCluster that accepts the
3627             text width and whether the cluster should be autosized as parameters instead of
3628             calculating it inline.
3629
3630         (WebCore::TextAutosizer::processCluster):
3631
3632             Calculates the text width for a single cluster and whether it should be autosized, then
3633             calls processClusterInternal() to apply the multiplier and process the cluster's
3634             descendants.
3635
3636         (WebCore::TextAutosizer::processCompositeCluster):
3637
3638             Calculates the text width for a group of renderers and if the group should be autosized,
3639             then calls processClusterInternal() repeatedly with the same multiplier to apply it and
3640             process all the descendants of the group.
3641
3642         (WebCore::TextAutosizer::clusterShouldBeAutosized):
3643
3644             Calls the multiple renderers version to avoid code duplication.
3645
3646         (WebCore::TextAutosizer::compositeClusterShouldBeAutosized):
3647
3648             The multiple renderers version of clusterShouldBeAutosized.
3649
3650         * rendering/TextAutosizer.h:
3651
3652             Updated method declarations.
3653
3654 2013-02-14  Andrey Adaikin  <aandrey@chromium.org>
3655
3656         Look into possibilities of typedef in webkit idl files
3657         https://bugs.webkit.org/show_bug.cgi?id=52340
3658
3659         Reviewed by Kentaro Hara.
3660
3661         Add typedef support for WebKit IDL parser.
3662         Drive by: fixed a bug of generating "unrestrictedfloat" without a space.
3663
3664         Added a new IDL test TestTypedefs.idl. The results were generated without typedefs.
3665
3666         * bindings/scripts/IDLParser.pm:
3667         (assertNoExtendedAttributesInTypedef):
3668         (parseDefinitions):
3669         (applyTypedefs):
3670         (applyTypedefsForSignature):
3671         (parseTypedef):
3672         (parseUnrestrictedFloatType):
3673         * bindings/scripts/test/CPP/WebDOMTestTypedefs.cpp: Added.
3674         (WebDOMTestTypedefs::WebDOMTestTypedefsPrivate::WebDOMTestTypedefsPrivate):
3675         (WebDOMTestTypedefs::WebDOMTestTypedefsPrivate):
3676         (WebDOMTestTypedefs::WebDOMTestTypedefs):
3677         (WebDOMTestTypedefs::operator=):
3678         (WebDOMTestTypedefs::impl):
3679         (WebDOMTestTypedefs::~WebDOMTestTypedefs):
3680         (WebDOMTestTypedefs::unsignedLongLongAttr):
3681         (WebDOMTestTypedefs::setUnsignedLongLongAttr):
3682         (WebDOMTestTypedefs::immutableSerializedScriptValue):
3683         (WebDOMTestTypedefs::setImmutableSerializedScriptValue):
3684         (WebDOMTestTypedefs::func):
3685         (WebDOMTestTypedefs::multiTransferList):
3686         (WebDOMTestTypedefs::setShadow):
3687         (WebDOMTestTypedefs::nullableArrayArg):
3688         (WebDOMTestTypedefs::immutablePointFunction):
3689         (toWebCore):
3690         (toWebKit):
3691         * bindings/scripts/test/CPP/WebDOMTestTypedefs.h: Added.
3692         (WebCore):
3693         (WebDOMTestTypedefs):
3694         * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp: Added.
3695         (_WebKitDOMTestTypedefsPrivate):
3696         (WebKit):
3697         (WebKit::kit):
3698         (WebKit::core):
3699         (WebKit::wrapTestTypedefs):
3700         (webkit_dom_test_typedefs_finalize):
3701         (webkit_dom_test_typedefs_set_property):
3702         (webkit_dom_test_typedefs_get_property):
3703         (webkit_dom_test_typedefs_constructor):
3704         (webkit_dom_test_typedefs_class_init):
3705         (webkit_dom_test_typedefs_init):
3706         (webkit_dom_test_typedefs_func):
3707         (webkit_dom_test_typedefs_multi_transfer_list):
3708         (webkit_dom_test_typedefs_set_shadow):
3709         (webkit_dom_test_typedefs_nullable_array_arg):
3710         (webkit_dom_test_typedefs_immutable_point_function):
3711         (webkit_dom_test_typedefs_string_array_function):
3712         (webkit_dom_test_typedefs_get_unsigned_long_long_attr):
3713         (webkit_dom_test_typedefs_set_unsigned_long_long_attr):
3714         (webkit_dom_test_typedefs_get_immutable_serialized_script_value):
3715         (webkit_dom_test_typedefs_set_immutable_serialized_script_value):
3716         * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h: Added.
3717         (_WebKitDOMTestTypedefs):
3718         (_WebKitDOMTestTypedefsClass):
3719         * bindings/scripts/test/GObject/WebKitDOMTestTypedefsPrivate.h: Added.
3720         (WebKit):
3721         * bindings/scripts/test/JS/JSTestTypedefs.cpp: Added.
3722         (WebCore):
3723         (WebCore::JSTestTypedefsConstructor::constructJSTestTypedefs):
3724         (WebCore::JSTestTypedefsConstructor::JSTestTypedefsConstructor):
3725         (WebCore::JSTestTypedefsConstructor::finishCreation):
3726         (WebCore::JSTestTypedefsConstructor::getOwnPropertySlot):
3727         (WebCore::JSTestTypedefsConstructor::getOwnPropertyDescriptor):
3728         (WebCore::JSTestTypedefsConstructor::getConstructData):
3729         (WebCore::JSTestTypedefsPrototype::self):
3730         (WebCore::JSTestTypedefsPrototype::getOwnPropertySlot):
3731         (WebCore::JSTestTypedefsPrototype::getOwnPropertyDescriptor):
3732         (WebCore::JSTestTypedefs::JSTestTypedefs):
3733         (WebCore::JSTestTypedefs::finishCreation):
3734         (WebCore::JSTestTypedefs::createPrototype):
3735         (WebCore::JSTestTypedefs::destroy):
3736         (WebCore::JSTestTypedefs::~JSTestTypedefs):
3737         (WebCore::JSTestTypedefs::getOwnPropertySlot):
3738         (WebCore::JSTestTypedefs::getOwnPropertyDescriptor):
3739         (WebCore::jsTestTypedefsUnsignedLongLongAttr):
3740         (WebCore::jsTestTypedefsImmutableSerializedScriptValue):
3741         (WebCore::jsTestTypedefsConstructorTestSubObj):
3742         (WebCore::jsTestTypedefsConstructor):
3743         (WebCore::JSTestTypedefs::put):
3744         (WebCore::setJSTestTypedefsUnsignedLongLongAttr):
3745         (WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
3746         (WebCore::JSTestTypedefs::getConstructor):
3747         (WebCore::jsTestTypedefsPrototypeFunctionFunc):
3748         (WebCore::jsTestTypedefsPrototypeFunctionMultiTransferList):
3749         (WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
3750         (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
3751         (WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
3752         (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
3753         (WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
3754         (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
3755         (WebCore::isObservable):
3756         (WebCore::JSTestTypedefsOwner::isReachableFromOpaqueRoots):
3757         (WebCore::JSTestTypedefsOwner::finalize):
3758         (WebCore::toJS):
3759         (WebCore::toTestTypedefs):
3760         * bindings/scripts/test/JS/JSTestTypedefs.h: Added.
3761         (WebCore):
3762         (JSTestTypedefs):
3763         (WebCore::JSTestTypedefs::create):
3764         (WebCore::JSTestTypedefs::createStructure):
3765         (WebCore::JSTestTypedefs::impl):
3766         (WebCore::JSTestTypedefs::releaseImpl):
3767         (WebCore::JSTestTypedefs::releaseImplIfNotNull):
3768         (JSTestTypedefsOwner):
3769         (WebCore::wrapperOwner):
3770         (WebCore::wrapperContext):
3771         (JSTestTypedefsPrototype):
3772         (WebCore::JSTestTypedefsPrototype::create):
3773         (WebCore::JSTestTypedefsPrototype::createStructure):
3774         (WebCore::JSTestTypedefsPrototype::JSTestTypedefsPrototype):
3775         (JSTestTypedefsConstructor):
3776         (WebCore::JSTestTypedefsConstructor::create):
3777         (WebCore::JSTestTypedefsConstructor::createStructure):
3778         * bindings/scripts/test/ObjC/DOMTestTypedefs.h: Added.
3779         * bindings/scripts/test/ObjC/DOMTestTypedefs.mm: Added.
3780         (-[DOMTestTypedefs dealloc]):
3781         (-[DOMTestTypedefs finalize]):
3782         (-[DOMTestTypedefs unsignedLongLongAttr]):
3783         (-[DOMTestTypedefs setUnsignedLongLongAttr:]):
3784         (-[DOMTestTypedefs immutableSerializedScriptValue]):
3785         (-[DOMTestTypedefs setImmutableSerializedScriptValue:]):
3786         (-[DOMTestTypedefs multiTransferList:tx:second:txx:]):
3787         (-[DOMTestTypedefs setShadow:height:blur:color:alpha:]):
3788         (-[DOMTestTypedefs immutablePointFunction]):
3789         (core):
3790         (kit):
3791         * bindings/scripts/test/ObjC/DOMTestTypedefsInternal.h: Added.
3792         (WebCore):
3793         * bindings/scripts/test/TestTypedefs.idl: Added.
3794         * bindings/scripts/test/V8/V8TestTypedefs.cpp: Added.
3795         (WebCore):
3796         (WebCore::checkTypeOrDieTrying):
3797         (TestTypedefsV8Internal):
3798         (WebCore::TestTypedefsV8Internal::V8_USE):
3799         (WebCore::TestTypedefsV8Internal::unsignedLongLongAttrAttrGetter):
3800         (WebCore::TestTypedefsV8Internal::unsignedLongLongAttrAttrSetter):
3801         (WebCore::TestTypedefsV8Internal::immutableSerializedScriptValueAttrGetter):
3802         (WebCore::TestTypedefsV8Internal::immutableSerializedScriptValueAttrSetter):
3803         (WebCore::TestTypedefsV8Internal::TestTypedefsConstructorGetter):
3804         (WebCore::TestTypedefsV8Internal::TestTypedefsReplaceableAttrSetter):
3805         (WebCore::TestTypedefsV8Internal::funcCallback):
3806         (WebCore::TestTypedefsV8Internal::multiTransferListCallback):
3807         (WebCore::TestTypedefsV8Internal::setShadowCallback):
3808         (WebCore::TestTypedefsV8Internal::methodWithSequenceArgCallback):
3809         (WebCore::TestTypedefsV8Internal::nullableArrayArgCallback):
3810         (WebCore::TestTypedefsV8Internal::funcWithClampCallback):
3811         (WebCore::TestTypedefsV8Internal::immutablePointFunctionCallback):
3812         (WebCore::TestTypedefsV8Internal::stringArrayFunctionCallback):
3813         (WebCore::V8TestTypedefs::constructorCallback):
3814         (WebCore::ConfigureV8TestTypedefsTemplate):
3815         (WebCore::V8TestTypedefs::GetRawTemplate):
3816         (WebCore::V8TestTypedefs::GetTemplate):
3817         (WebCore::V8TestTypedefs::HasInstance):
3818         (WebCore::V8TestTypedefs::createWrapper):
3819         (WebCore::V8TestTypedefs::derefObject):
3820         * bindings/scripts/test/V8/V8TestTypedefs.h: Added.
3821         (WebCore):
3822         (V8TestTypedefs):
3823         (WebCore::V8TestTypedefs::toNative):
3824         (WebCore::V8TestTypedefs::installPerContextProperties):
3825         (WebCore::V8TestTypedefs::installPerContextPrototypeProperties):
3826         (WebCore::wrap):
3827         (WebCore::toV8):
3828         (WebCore::toV8Fast):
3829
3830 2013-02-13  Kentaro Hara  <haraken@chromium.org>
3831
3832         [V8] Rename XXXAccessorGetter() to XXXAttrGetterCustom(),
3833         and XXXAccessorSetter() to XXXAttrSetterCustom()
3834         https://bugs.webkit.org/show_bug.cgi?id=109679
3835
3836         Reviewed by Adam Barth.
3837
3838         For naming consistency and clarification.
3839
3840         No tests. No change in behavior.
3841
3842         * bindings/scripts/CodeGeneratorV8.pm:
3843         (GenerateHeader):
3844         (GenerateHeaderCustomCall):
3845         (GenerateNormalAttrGetter):
3846         (GenerateNormalAttrSetter):
3847         (GenerateImplementation):
3848         * bindings/scripts/test/V8/V8TestInterface.cpp:
3849         (WebCore::TestInterfaceV8Internal::supplementalStr3AttrGetter):
3850         (WebCore::TestInterfaceV8Internal::supplementalStr3AttrSetter):
3851         * bindings/scripts/test/V8/V8TestObj.cpp:
3852         (WebCore::TestObjV8Internal::customAttrAttrGetter):
3853         (WebCore::TestObjV8Internal::customAttrAttrSetter):
3854         * bindings/scripts/test/V8/V8TestObj.h:
3855         (V8TestObj):
3856         * bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp:
3857         (WebCore::V8AudioBufferSourceNode::bufferAttrSetterCustom):
3858         * bindings/v8/custom/V8BiquadFilterNodeCustom.cpp:
3859         (WebCore::V8BiquadFilterNode::typeAttrSetterCustom):
3860         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
3861         (WebCore::V8CanvasRenderingContext2D::strokeStyleAttrGetterCustom):
3862         (WebCore::V8CanvasRenderingContext2D::strokeStyleAttrSetterCustom):
3863         (WebCore::V8CanvasRenderingContext2D::fillStyleAttrGetterCustom):
3864         (WebCore::V8CanvasRenderingContext2D::fillStyleAttrSetterCustom):
3865         * bindings/v8/custom/V8ClipboardCustom.cpp:
3866         (WebCore::V8Clipboard::typesAttrGetterCustom):
3867         * bindings/v8/custom/V8CoordinatesCustom.cpp:
3868         (WebCore::V8Coordinates::altitudeAttrGetterCustom):
3869         (WebCore::V8Coordinates::altitudeAccuracyAttrGetterCustom):
3870         (WebCore::V8Coordinates::headingAttrGetterCustom):
3871         (WebCore::V8Coordinates::speedAttrGetterCustom):
3872         * bindings/v8/custom/V8CustomEventCustom.cpp:
3873         (WebCore::V8CustomEvent::detailAttrGetterCustom):
3874         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3875         (WebCore::V8DOMWindow::eventAttrGetterCustom):
3876         (WebCore::V8DOMWindow::eventAttrSetterCustom):
3877         (WebCore::V8DOMWindow::locationAttrSetterCustom):
3878         (WebCore::V8DOMWindow::openerAttrSetterCustom):
3879         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
3880         (WebCore::V8DeviceMotionEvent::accelerationAttrGetterCustom):
3881         (WebCore::V8DeviceMotionEvent::accelerationIncludingGravityAttrGetterCustom):
3882         (WebCore::V8DeviceMotionEvent::rotationRateAttrGetterCustom):
3883         (WebCore::V8DeviceMotionEvent::intervalAttrGetterCustom):
3884         * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
3885         (WebCore::V8DeviceOrientationEvent::alphaAttrGetterCustom):
3886         (WebCore::V8DeviceOrientationEvent::betaAttrGetterCustom):
3887         (WebCore::V8DeviceOrientationEvent::gammaAttrGetterCustom):
3888         (WebCore::V8DeviceOrientationEvent::absoluteAttrGetterCustom):
3889         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
3890         (WebCore::V8Document::locationAttrGetterCustom):
3891         (WebCore::V8Document::locationAttrSetterCustom):
3892         * bindings/v8/custom/V8EventCustom.cpp:
3893         (WebCore::V8Event::dataTransferAttrGetterCustom):
3894         (WebCore::V8Event::clipboardDataAttrGetterCustom):
3895         * bindings/v8/custom/V8FileReaderCustom.cpp:
3896         (WebCore::V8FileReader::resultAttrGetterCustom):
3897         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
3898         (WebCore::V8HTMLDocument::allAttrSetterCustom):
3899         * bindings/v8/custom/V8HTMLElementCustom.cpp:
3900         (WebCore::V8HTMLElement::itemValueAttrGetterCustom):
3901         (WebCore::V8HTMLElement::itemValueAttrSetterCustom):
3902         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
3903         (WebCore::V8HTMLFrameElement::locationAttrSetterCustom):
3904         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
3905         (WebCore::V8HTMLInputElement::selectionStartAttrGetterCustom):
3906         (WebCore::V8HTMLInputElement::selectionStartAttrSetterCustom):
3907         (WebCore::V8HTMLInputElement::selectionEndAttrGetterCustom):
3908         (WebCore::V8HTMLInputElement::selectionEndAttrSetterCustom):
3909         (WebCore::V8HTMLInputElement::selectionDirectionAttrGetterCustom):
3910         (WebCore::V8HTMLInputElement::selectionDirectionAttrSetterCustom):
3911         * bindings/v8/custom/V8HTMLLinkElementCustom.cpp:
3912         (WebCore::V8HTMLLinkElement::sizesAttrGetterCustom):
3913         (WebCore::V8HTMLLinkElement::sizesAttrSetterCustom):
3914         * bindings/v8/custom/V8HTMLMediaElementCustom.cpp:
3915         (WebCore::V8HTMLMediaElement::controllerAttrSetterCustom):
3916         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
3917         (WebCore::V8HTMLOptionsCollection::lengthAttrSetterCustom):
3918         * bindings/v8/custom/V8HistoryCustom.cpp:
3919         (WebCore::V8History::stateAttrGetterCustom):
3920         * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp:
3921         (WebCore::V8JavaScriptCallFrame::scopeChainAttrGetterCustom):
3922         (WebCore::V8JavaScriptCallFrame::thisObjectAttrGetterCustom):
3923         (WebCore::V8JavaScriptCallFrame::typeAttrGetterCustom):
3924         * bindings/v8/custom/V8LocationCustom.cpp:
3925         (WebCore::V8Location::hashAttrSetterCustom):
3926         (WebCore::V8Location::hostAttrSetterCustom):
3927         (WebCore::V8Location::hostnameAttrSetterCustom):
3928         (WebCore::V8Location::hrefAttrSetterCustom):
3929         (WebCore::V8Location::pathnameAttrSetterCustom):
3930         (WebCore::V8Location::portAttrSetterCustom):
3931         (WebCore::V8Location::protocolAttrSetterCustom):
3932         (WebCore::V8Location::searchAttrSetterCustom):
3933         (WebCore::V8Location::reloadAttrGetterCustom):
3934         (WebCore::V8Location::replaceAttrGetterCustom):
3935         (WebCore::V8Location::assignAttrGetterCustom):
3936         * bindings/v8/custom/V8MessageEventCustom.cpp:
3937         (WebCore::V8MessageEvent::dataAttrGetterCustom):
3938         (WebCore::V8MessageEvent::portsAttrGetterCustom):
3939         * bindings/v8/custom/V8OscillatorNodeCustom.cpp:
3940         (WebCore::V8OscillatorNode::typeAttrSetterCustom):
3941         * bindings/v8/custom/V8PannerNodeCustom.cpp:
3942         (WebCore::V8PannerNode::panningModelAttrSetterCustom):
3943         (WebCore::V8PannerNode::distanceModelAttrSetterCustom):
3944         * bindings/v8/custom/V8PopStateEventCustom.cpp:
3945         (WebCore::V8PopStateEvent::stateAttrGetterCustom):
3946         * bindings/v8/custom/V8SVGLengthCustom.cpp:
3947         (WebCore::V8SVGLength::valueAttrGetterCustom):
3948         (WebCore::V8SVGLength::valueAttrSetterCustom):
3949         * bindings/v8/custom/V8TrackEventCustom.cpp:
3950         (WebCore::V8TrackEvent::trackAttrGetterCustom):
3951         * bindings/v8/custom/V8WebKitAnimationCustom.cpp:
3952         (WebCore::V8WebKitAnimation::iterationCountAttrGetterCustom):
3953         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3954         (WebCore::V8XMLHttpRequest::responseTextAttrGetterCustom):
3955         (WebCore::V8XMLHttpRequest::responseAttrGetterCustom):
3956
3957 2013-02-14  Yury Semikhatsky  <yurys@chromium.org>
3958
3959         Web Inspector: extract DOM counters graph implementation into its own class
3960         https://bugs.webkit.org/show_bug.cgi?id=109796
3961
3962         Reviewed by Alexander Pavlov.
3963
3964         Extracted DOM counters graph implementation into DOMCountersGraph.js leaving
3965         in MemoryStatistics.js only common parts shared with NativeMemoryGraph.js
3966         Added some closure annotations and converted object literals into classes
3967         with named constructors.
3968
3969         * WebCore.gypi:
3970         * WebCore.vcproj/WebCore.vcproj:
3971         * inspector/compile-front-end.py:
3972         * inspector/front-end/DOMCountersGraph.js: Added.
3973         (WebInspector.DOMCountersGraph):
3974         (WebInspector.DOMCounterUI):
3975         (WebInspector.DOMCountersGraph.Counter):
3976         (WebInspector.DOMCounterUI.prototype.setRange):
3977         (WebInspector.DOMCounterUI.prototype.updateCurrentValue):
3978         (WebInspector.DOMCounterUI.prototype.clearCurrentValueAndMarker):
3979         (WebInspector.DOMCounterUI.prototype.saveImageUnderMarker):
3980         (WebInspector.DOMCounterUI.prototype.restoreImageUnderMarker):
3981         (WebInspector.DOMCounterUI.prototype.discardImageUnderMarker):
3982         (WebInspector.DOMCountersGraph.prototype._createCurrentValuesBar):
3983         (WebInspector.DOMCountersGraph.prototype._createCounterUIList):
3984         (WebInspector.DOMCountersGraph.prototype._createCounterUIList.getNodeCount):
3985         (WebInspector.DOMCountersGraph.prototype._createCounterUIList.getListenerCount):
3986         (WebInspector.DOMCountersGraph.prototype._canvasHeight):
3987         (WebInspector.DOMCountersGraph.prototype._onRecordAdded):
3988         (WebInspector.DOMCountersGraph.prototype._draw):
3989         (WebInspector.DOMCountersGraph.prototype._restoreImageUnderMarker):
3990         (WebInspector.DOMCountersGraph.prototype._saveImageUnderMarker):
3991         (WebInspector.DOMCountersGraph.prototype._drawMarker):
3992         (WebInspector.DOMCountersGraph.prototype._drawGraph):
3993         (WebInspector.DOMCountersGraph.prototype._discardImageUnderMarker):
3994         * inspector/front-end/MemoryStatistics.js:
3995         (WebInspector.MemoryStatistics):
3996         (WebInspector.MemoryStatistics.Counter):
3997         (WebInspector.MemoryStatistics.prototype._createCurrentValuesBar):
3998         (WebInspector.MemoryStatistics.prototype._createCounterUIList):
3999         (WebInspector.MemoryStatistics.prototype.setTopPosition):
4000         (WebInspector.MemoryStatistics.prototype._canvasHeight):
4001         (WebInspector.MemoryStatistics.prototype._onRecordAdded):
4002         (WebInspector.MemoryStatistics.prototype._draw):
4003         (WebInspector.MemoryStatistics.prototype._onClick):
4004         (WebInspector.MemoryStatistics.prototype._onMouseOut):