05a25341dbbb2f9f1df625652407f2003ef50399
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-03-04  Andrey Kosyakov  <caseq@chromium.org>
2
3         Web Inspector: [refactoring] set frame identifiers in timeline records early, do not keep them in event stack
4         https://bugs.webkit.org/show_bug.cgi?id=111345
5
6         Reviewed by Pavel Feldman.
7
8         * inspector/InspectorTimelineAgent.cpp:
9         (WebCore::InspectorTimelineAgent::pushGCEventRecords):
10         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
11         (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
12         (WebCore::InspectorTimelineAgent::setFrameIdentifier):
13         (WebCore):
14         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
15         (WebCore::InspectorTimelineAgent::appendRecord):
16         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
17         (WebCore::InspectorTimelineAgent::commitFrameRecord):
18         * inspector/InspectorTimelineAgent.h:
19         (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
20         (TimelineRecordEntry):
21         (InspectorTimelineAgent):
22
23 2013-03-05  Tommy Widenflycht  <tommyw@google.com>
24
25         MediaStream API: Add the getStreamById method on RTCPeerConnection
26         https://bugs.webkit.org/show_bug.cgi?id=111311
27
28         Reviewed by Adam Barth.
29
30         Adding the missing method on RTCPeerConnection defined here:
31         http://dev.w3.org/2011/webrtc/editor/webrtc.html#widl-RTCPeerConnection-getStreamById-MediaStream-DOMString-streamId
32
33         Existing tests have been extended to cover patch.
34
35         * Modules/mediastream/RTCPeerConnection.cpp:
36         (WebCore::RTCPeerConnection::getStreamById):
37         (WebCore):
38         * Modules/mediastream/RTCPeerConnection.h:
39         (RTCPeerConnection):
40         * Modules/mediastream/RTCPeerConnection.idl:
41         * platform/chromium/support/WebMediaStream.cpp:
42         (WebKit::WebMediaStream::initialize):
43         (WebKit):
44         * platform/mediastream/MediaStreamSource.cpp:
45         (WebCore::MediaStreamSource::setReadyState):
46
47 2013-03-05  Antoine Quint  <graouts@apple.com>
48
49         Web Inspector: allow retrieval of composited layers in a given DOM subtree
50         https://bugs.webkit.org/show_bug.cgi?id=111312
51
52         Introduce the LayerTreeAgent.layersForNode(node) method allowing the front-end
53         to gather all composited layers associated with nodes in the subtree of which
54         the provided node is the root.
55
56         In order to gather the layers in the subtree, we first traverse the node's
57         renderer's RenderObject hierarchy and whenever we encounter a RenderObject
58         that has a RenderLayer, we then traverse that renderLayer's RenderLayer
59         hierarchy. This allows for a quick path through the relevant objects we're
60         gathering.
61
62         Layers gathered will push the node to which they're associated, allowing a
63         nodeId for this layer to be listed in the Layer object sent to the front-end.
64         It is crucial to be able to provide a nodeId as well as a layerId for a Layer
65         object in order to be able to correctly assess mutations in the layer tree.
66         For instance, it is expected that a node's layer be replaced by a new layer
67         to represent a slightly different rendering of its content, but the front-end
68         should be able to represent this layer as an object for which only certain
69         attributes have changed (like the "paintCount" property).
70
71         Layer objects also indicate whether they're associated to a node hosted in a
72         shadow tree (the optional "isInShadowTree" property) in order for the front-end
73         to be able to only show this layer if the option to show nodes hosted in shadow
74         tree is enabled.
75
76         Finally, since we're only gathering composited layers, we're removing the
77         "isLayerComposited" property and removing the optional flag on the "paintCount",
78         "memory" and "compositedBounds" properties.
79
80         Reviewed by Simon Fraser.
81
82         Test: inspector-protocol/layers/layers-for-node.html
83
84         * inspector/Inspector.json:
85         * inspector/InspectorLayerTreeAgent.cpp:
86         (WebCore::InspectorLayerTreeAgent::layersForNode):
87         (WebCore):
88         (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
89         (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
90         (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
91         (WebCore::InspectorLayerTreeAgent::idForNode):
92         * inspector/InspectorLayerTreeAgent.h:
93         (InspectorLayerTreeAgent):
94
95 2013-03-04  Andrey Kosyakov  <caseq@chromium.org>
96
97         Web Inspector: use timestamps consistent with rest of Timeline in WebSocket events.
98         https://bugs.webkit.org/show_bug.cgi?id=111344
99
100         - create web socket related records in a manner consistent with the rest of timeline.
101
102         Reviewed by Pavel Feldman.
103
104         * inspector/InspectorTimelineAgent.cpp:
105         (WebCore::InspectorTimelineAgent::didCreateWebSocket):
106         (WebCore::InspectorTimelineAgent::willSendWebSocketHandshakeRequest):
107         (WebCore::InspectorTimelineAgent::didReceiveWebSocketHandshakeResponse):
108         (WebCore::InspectorTimelineAgent::didDestroyWebSocket):
109         * inspector/InspectorTimelineAgent.h:
110         (InspectorTimelineAgent):
111
112 2013-03-05  Andrei Bucur  <abucur@adobe.com>
113
114         [CSS Regions] Crash when MathML used in CSS Regions
115         https://bugs.webkit.org/show_bug.cgi?id=110686
116
117         Reviewed by David Hyatt.
118
119         The MathML blocks trigger a children layout when computing the preferred widths. This happens to determine the preferred
120         logical heights of the children. When the layout reaches the line boxes computation the preferred width of the containing block
121         is requested. Because it wasn't computed, the layout of the children is started again to determine the preferred logical heights.
122         This causes an infinite recursion and triggers a stack overflow.
123
124         The patch introduces a new RAII utility class that disables fragmentation when the constructor is called and restores it
125         on the destructor. This class is used when computing the preferred height for the children of a MathML block.
126
127         Test: fast/regions/mathml-crash.html
128
129         * rendering/RenderObject.cpp:
130         (WebCore::RenderObject::setFlowThreadStateIncludingDescendants): Do not cross RenderFlowThread boundaries when updating the flow thread
131         state flag. The innermost flow threads need to manage their descendants flag values.
132         * rendering/RenderView.cpp:
133         (WebCore::FragmentationDisabler::FragmentationDisabler):
134         (WebCore):
135         (WebCore::FragmentationDisabler::~FragmentationDisabler):
136         * rendering/RenderView.h:
137         (FragmentationDisabler):
138         (WebCore):
139         * rendering/mathml/RenderMathMLBlock.cpp:
140         (WebCore::RenderMathMLBlock::computeChildrenPreferredLogicalHeights):
141
142 2013-03-05  Mike West  <mkwst@chromium.org>
143
144         Cleanup: Move HitTestLocation and HitTestResult into separate files.
145         https://bugs.webkit.org/show_bug.cgi?id=111294
146
147         Reviewed by Allan Sandfeld Jensen.
148
149         HitTestLocation and HitTestResult currently both live in
150         HitTestResult.h. That makes things more difficult to understand than
151         they should be, and violates the one-class-one-file principle that
152         WebKit generally follows. Happily, it's fairly trivial to fix.
153
154         This should have no visible change; it's strictly an internal
155         refactoring. It doesn't even touch any implementation code: we're
156         just moving bits from one place to another.
157
158         * CMakeLists.txt:
159         * GNUmakefile.list.am:
160         * Target.pri:
161         * WebCore.gypi:
162         * WebCore.vcproj/WebCore.vcproj:
163         * WebCore.xcodeproj/project.pbxproj:
164             Hey, look: a new file! Let's add it to six different build systems! :)
165         * rendering/HitTestLocation.cpp: Added.
166         (WebCore):
167         (WebCore::HitTestLocation::HitTestLocation):
168         (WebCore::HitTestLocation::~HitTestLocation):
169         (WebCore::HitTestLocation::operator=):
170         (WebCore::HitTestLocation::move):
171         (WebCore::HitTestLocation::intersectsRect):
172         (WebCore::HitTestLocation::intersects):
173         (WebCore::HitTestLocation::rectForPoint):
174         * rendering/HitTestLocation.h: Added.
175         (WebCore):
176         (HitTestLocation):
177         (WebCore::HitTestLocation::point):
178         (WebCore::HitTestLocation::roundedPoint):
179         (WebCore::HitTestLocation::region):
180         (WebCore::HitTestLocation::isRectBasedTest):
181         (WebCore::HitTestLocation::isRectilinear):
182         (WebCore::HitTestLocation::boundingBox):
183         (WebCore::HitTestLocation::topPadding):
184         (WebCore::HitTestLocation::rightPadding):
185         (WebCore::HitTestLocation::bottomPadding):
186         (WebCore::HitTestLocation::leftPadding):
187         (WebCore::HitTestLocation::transformedPoint):
188         (WebCore::HitTestLocation::transformedRect):
189         * rendering/HitTestResult.cpp:
190         * rendering/HitTestResult.h:
191             Move all this code from HitTestResult.* to HitTestLocation.*.
192         * rendering/RenderBlock.cpp:
193             Include HitTestLocation.h.
194
195 2013-03-05  Jochen Eisinger  <jochen@chromium.org>
196
197         Refactor UserGestureIndicator::Token to be a top-level class
198         https://bugs.webkit.org/show_bug.cgi?id=111412
199
200         Reviewed by Nico Weber.
201
202         This will allow for forward declaring the class in a public WebKit
203         API header. The goal is to enable the embedder to hold on to a
204         UserGestureToken.
205
206         * dom/UserGestureIndicator.cpp:
207         (WebCore::UserGestureIndicator::UserGestureIndicator):
208         (WebCore::UserGestureIndicator::currentToken):
209         * dom/UserGestureIndicator.h:
210         (UserGestureToken):
211         (WebCore::UserGestureToken::~UserGestureToken):
212         (WebCore):
213         (UserGestureIndicator):
214         * page/DOMTimer.h:
215         (DOMTimer):
216         * page/EventHandler.h:
217
218 2013-03-05  Mike West  <mkwst@chromium.org>
219
220         Remove redundant code in Document::updateHoverActiveState.
221         https://bugs.webkit.org/show_bug.cgi?id=111303
222
223         Reviewed by Darin Adler.
224
225         Document::updateHoverActiveState currently looks for touchrelease events
226         and explictly clears out the hover state for all nodes between the
227         currently hovered node and the top of the hover chain. This is actually
228         redundant with the logic in the rest of the function; we can simplify by
229         setting the Element* we're working with to 0, which causes the later
230         loops to do the necessary work.
231
232         There should be no web-visible effect from this change; it should simply
233         make this function less complex.
234
235         Extracted from Allan Sandfeld Jensen's original patch to wkbug.com/98168
236
237         * dom/Document.cpp:
238         (WebCore::Document::updateHoverActiveState):
239             Set innerElementInDocument to 0 rather than walking the hover chain
240             and clearing it when we see a touchrelease event. The rest of the
241             code in this function will have the same effect.
242
243 2013-03-05  Koji Hara  <kojih@chromium.org>
244
245         [V8] Remove unused custom indexedPropertyGetter
246         https://bugs.webkit.org/show_bug.cgi?id=111409
247
248         Reviewed by Kentaro Hara.
249
250         Remove unused custom indexedPropertyGetter.
251         There are 9 custom indexedPropertyGetter, including an unused one(NamedNodeMap).
252         This commit assures all existing custom indexedPropertyGetter(for V8) are used.
253
254         No new tests. Simple refactoring.
255
256         * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Remove indexedPropertyGetter
257
258 2013-03-05  Hajime Morrita  <morrita@google.com>
259
260         ShadowRoot needs guardRef() and guardDeref()
261         https://bugs.webkit.org/show_bug.cgi?id=109777
262
263         Reviewed by Dimitri Glazkov.
264
265         This change moves m_guardRefCount from Document to TreeScope,
266         which allows ShadowRoot to be guarded by guardRef() mechanism as
267         Document. After r137524, Node referes TreeScope instead of
268         Document. This is natural consequence of the change: It no longer
269         makes sense to guardRef() Document pointer from Node.
270
271         Detail:
272
273         - Document::m_guardRefCount and related funcdtions are moved to TreeScope
274         - Document::removedLastRef is factored out into TreeScope::removedLastRefToScope(),
275           TreeScope::dispose() and Docuent::dispose(). ShadowRoot also got its own dispose() implementation.
276         - Moved guardRef() and guardDeref() calls to TreeScope and Node.
277           Note that there are two "guarded" TreeScope references. One is
278           Node::m_treeScope and another is TreeScope::m_parentTreeScope.
279           The guarded-ref management is now encapsulated in these two classes.
280
281         No new tests. Covered by existing tests.
282
283         * WebCore.exp.in:
284         * dom/Document.cpp:
285         (WebCore::Document::Document):
286         (WebCore::Document::~Document):
287         (WebCore::Document::dispose): Extracted from removedLastRef()
288         * dom/Document.h:
289         (WebCore::Node::isTreeScope):
290         (WebCore::Node::Node):
291         * dom/DocumentFragment.cpp:
292         (WebCore::DocumentFragment::DocumentFragment): Remove ASSERT() and move it to ...
293         (WebCore::DocumentFragment::create): ... here, to allow NULL document from ShadowRoot.
294         * dom/Node.cpp:
295         (WebCore::Node::~Node):
296         (WebCore::Node::removedLastRef):
297         * dom/Node.h:
298         (WebCore::Node::setTreeScope):
299         * dom/Element.cpp:
300         (WebCore::Element::ensureAttr): This has been wrong and is fixed in this revision since the incorrectness is unveiled by this change.
301         * dom/ShadowRoot.cpp:
302         (WebCore::ShadowRoot::ShadowRoot): Passed NULL document to superclass. This aligns what Document is doing.
303         (WebCore::ShadowRoot::dispose): Added.
304         * dom/ShadowRoot.h:
305         (ShadowRoot):
306         * dom/TreeScope.cpp:
307         (SameSizeAsTreeScope):
308         (WebCore::TreeScope::TreeScope):
309         (WebCore::TreeScope::~TreeScope):
310         (WebCore::TreeScope::dispose): Added.
311         (WebCore::TreeScope::setParentTreeScope):
312         (WebCore::TreeScope::deletionHasBegun):
313         (WebCore::TreeScope::beginDeletion):
314         (WebCore::TreeScope::refCount): Added.
315         * dom/TreeScope.h: Turned m_rootNode to Node* from ContainerNode* for Node::isTreeScope to be inlined.
316         (WebCore::TreeScope::guardRef): Pulled up from Document.
317         (WebCore::TreeScope::guardDeref): Ditto.
318         (WebCore::TreeScope::hasGuardRefCount): Added to hide m_guardRefCount.
319         (WebCore::TreeScope::deletionHasBegun): Added.
320         (WebCore::TreeScope::beginDeletion): Added.
321         (WebCore::TreeScope::removedLastRefToScope): Pulled up from Document.
322         * dom/TreeScopeAdopter.cpp:
323         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
324         (WebCore::TreeScopeAdopter::moveNodeToNewDocument):
325
326 2013-03-04  Uday Kiran  <udaykiran@motorola.com>
327
328         getPropertyValue for -webkit-text-stroke returns null, should compute the shorthand value
329         https://bugs.webkit.org/show_bug.cgi?id=111018
330
331         Reviewed by Alexander Pavlov.
332
333         Test: fast/css/getPropertyValue-webkit-text-stroke.html
334
335         * css/StylePropertySet.cpp:
336         (WebCore::StylePropertySet::getPropertyValue):
337
338 2013-03-04  Uday Kiran  <udaykiran@motorola.com>
339
340         getPropertyValue for -webkit-columns returns null, should compute the shorthand value
341         https://bugs.webkit.org/show_bug.cgi?id=111011
342
343         Reviewed by Alexander Pavlov.
344
345         Test: fast/css/getPropertyValue-columns.html
346
347         * css/StylePropertySet.cpp:
348         (WebCore::StylePropertySet::getPropertyValue):
349
350 2013-03-04  Vsevolod Vlasov  <vsevik@chromium.org>
351
352         Web Inspector: Do not accumulate file system files, add them to workspace immediately
353         https://bugs.webkit.org/show_bug.cgi?id=111325
354
355         Reviewed by Pavel Feldman.
356
357         * inspector/front-end/FileSystemProjectDelegate.js:
358         (WebInspector.FileSystemProjectDelegate.prototype.populate.fileLoaded):
359         (WebInspector.FileSystemProjectDelegate.prototype.populate):
360         * inspector/front-end/IsolatedFileSystem.js:
361         (WebInspector.IsolatedFileSystem.prototype.innerCallback):
362         (WebInspector.IsolatedFileSystem.prototype.requestFilesRecursive):
363
364 2013-03-04  Kinuko Yasuda  <kinuko@chromium.org>
365
366         Unreviewed Windows build fix attempt.
367
368         floor method is ambigious so explicitly specify the type.
369
370         * html/canvas/WebGLRenderingContext.cpp:
371         (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
372
373 2013-03-04  Chris Fleizach  <cfleizach@apple.com>
374
375         AX: cellForColumnAndRow fails for tables with hidden table cells
376         https://bugs.webkit.org/show_bug.cgi?id=110050
377
378         Reviewed by Tim Horton.
379
380         If a table had hidden cells, then accessibility code was being confused in a few ways.
381         1) The cellForColumnAndRow method would return the wrong information since that was
382            using the RenderTableSection to retrieve a cell, which did not have the same data as the AXTable
383         2) The way we were adding children made it impossible to determine column and row range because we 
384            would skip rows that had hidden children
385         3) AccessibilityARIAGrid and AccessibilityTable were using different methods for cellForColumnAndRow
386
387         The fix does a few things to make things right:
388         1) Always add an accessibility row, even if there are no visible cells in that row.
389         2) Have one method for AXTable and AXARIAGrid for cellForColumnAndRow.
390         3) Change cellForColumnAndRow to query the accessibility children rather than the RenderTableSection in determining the row, col info.
391         4) cellForColumnAndRow should use unsigned values instead of int values.
392
393         Test: accessibility/table-with-hidden-head-section.html
394
395         * accessibility/AccessibilityARIAGrid.cpp:
396         (WebCore):
397         * accessibility/AccessibilityARIAGrid.h:
398         (AccessibilityARIAGrid):
399         * accessibility/AccessibilityARIAGridCell.cpp:
400         (WebCore::AccessibilityARIAGridCell::rowIndexRange):
401         (WebCore::AccessibilityARIAGridCell::columnIndexRange):
402         * accessibility/AccessibilityARIAGridCell.h:
403         (AccessibilityARIAGridCell):
404         * accessibility/AccessibilityTable.cpp:
405         (WebCore::AccessibilityTable::addChildren):
406         (WebCore::AccessibilityTable::cellForColumnAndRow):
407         * accessibility/AccessibilityTable.h:
408         (WebCore):
409         (AccessibilityTable):
410         * accessibility/AccessibilityTableCell.cpp:
411         (WebCore::AccessibilityTableCell::rowIndexRange):
412         (WebCore::AccessibilityTableCell::columnIndexRange):
413         * accessibility/AccessibilityTableCell.h:
414         (AccessibilityTableCell):
415         * accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
416         (webkitAccessibleTableGetColumnAtIndex):
417         (webkitAccessibleTableGetRowAtIndex):
418         (webkitAccessibleTableGetColumnExtentAt):
419         (webkitAccessibleTableGetRowExtentAt):
420         (webkitAccessibleTableGetColumnHeader):
421         (webkitAccessibleTableGetRowHeader):
422         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
423         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
424         * rendering/RenderTableSection.h:
425         (RenderTableSection):
426         (WebCore::RenderTableSection::rowRendererAt):
427
428 2013-03-04  Arpita Bahuguna  <a.bah@samsung.com>
429
430         getAttribute does not behave correctly for mixed-case attributes on HTML elements
431         https://bugs.webkit.org/show_bug.cgi?id=105713
432
433         Reviewed by Andreas Kling.
434
435         getAttribute() and getAttributeNode() APIs do not convert the
436         passed attribute name to lowercase before comparing against the
437         existing attributes.
438         The specification however states that the passed name should
439         be converted to ASCII lowercase before checking for the existence
440         of the given attribute. [www.w3.org/TR/domcore/#dom-element-getattribute]
441
442         Test: fast/dom/Element/getAttribute-case-insensitivity.html
443
444         * dom/Element.h:
445         (WebCore::ElementData::getAttributeItemIndex):
446         getAttributeItemIndex() accepts a bool param 'shouldIgnoreAttributeCase'
447         which specifies whether the attribute's case should be ignored
448         before comparison. But inspite of this param's value we still carry
449         out a case sensitive search.
450         Have modified the same to convert the passed attribute's name to
451         lowercase if 'shouldIgnoreAttributeCase' is true.
452
453 2013-03-04  Kunihiko Sakamoto  <ksakamoto@chromium.org>
454
455         [Chromium] Add runtime flag for font load events
456         https://bugs.webkit.org/show_bug.cgi?id=111296
457
458         Reviewed by Kent Tamura.
459
460         Add a runtime feature flag for FontLoader interface (disabled by default),
461         and enable ENABLE_FONT_LOAD_EVENTS build flag for chromium.
462
463         * bindings/generic/RuntimeEnabledFeatures.cpp:
464         (WebCore):
465         * bindings/generic/RuntimeEnabledFeatures.h:
466         (RuntimeEnabledFeatures):
467         (WebCore::RuntimeEnabledFeatures::setFontLoadEventsEnabled):
468         (WebCore::RuntimeEnabledFeatures::fontLoadEventsEnabled):
469
470 2013-03-04  Brandon Jones  <bajones@google.com>
471
472         WEBGL_compressed_texture_atc implementation
473         https://bugs.webkit.org/show_bug.cgi?id=110496
474
475         Reviewed by Kenneth Russell.
476
477         Test: webgl/conformance/extensions/webgl-compressed-texture-atc.html
478
479         Exposes the WEBGL_compressed_texture_atc extension, but is unverified since no desktop hardware supports
480         the format that I am aware of. Should enable mobile ports to expose the format, however.
481
482         * CMakeLists.txt:
483         * DerivedSources.make:
484         * DerivedSources.pri:
485         * GNUmakefile.list.am:
486         * Target.pri:
487         * WebCore.gypi:
488         * WebCore.xcodeproj/project.pbxproj:
489         * bindings/js/JSWebGLRenderingContextCustom.cpp:
490         (WebCore::toJS):
491         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
492         (WebCore::toV8Object):
493         * html/canvas/WebGLCompressedTextureATC.cpp: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
494         (WebCore):
495         (WebCore::WebGLCompressedTextureATC::WebGLCompressedTextureATC):
496         (WebCore::WebGLCompressedTextureATC::~WebGLCompressedTextureATC):
497         (WebCore::WebGLCompressedTextureATC::getName):
498         (WebCore::WebGLCompressedTextureATC::create):
499         (WebCore::WebGLCompressedTextureATC::supported):
500         * html/canvas/WebGLCompressedTextureATC.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
501         (WebCore):
502         (WebGLCompressedTextureATC):
503         * html/canvas/WebGLCompressedTextureATC.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
504         * html/canvas/WebGLExtension.h:
505         * html/canvas/WebGLRenderingContext.cpp:
506         (WebCore):
507         (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
508         (WebCore::WebGLRenderingContext::getExtension):
509         (WebCore::WebGLRenderingContext::getSupportedExtensions):
510         (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
511         * html/canvas/WebGLRenderingContext.h:
512         (WebCore):
513         (WebGLRenderingContext):
514         * platform/graphics/Extensions3D.h:
515
516
517 2013-03-04  Eugene Klyuchnikov  <eustas@chromium.org>
518
519         Web Inspector: Exceptions when WebInspector run in hosted mode.
520         https://bugs.webkit.org/show_bug.cgi?id=111326
521
522         Reviewed by Pavel Feldman.
523
524         There is bug in commands code generation in InspectorBackend.js
525         As a consequence all protocol enums have wrong names and cause
526         exception when refererenced.
527
528         Currently protocol enums are referenced only from NetworkManager.
529
530         Test: inspector/inspector-backend-commands-generation.html
531
532         * inspector/front-end/InspectorBackend.js:
533         (InspectorBackendClass.prototype.loadFromJSONIfNeeded):
534         Use static method to generate code.
535         (InspectorBackendClass._generateCommands):
536         Extracted from loadFromJSONIfNeeded. Typo fixed.
537
538 2013-03-04  Chris Rogers  <crogers@google.com>
539
540         Add audio hardware support for multi-channel output by implementing AudioDestinationNode.maxChannelCount
541         https://bugs.webkit.org/show_bug.cgi?id=111385
542
543         Reviewed by James Robinson.
544         
545         See specification details for .maxChannelCount:
546         https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioDestinationNode
547         
548         * Modules/webaudio/AudioDestinationNode.h:
549         (WebCore::AudioDestinationNode::maxChannelCount):
550         * Modules/webaudio/AudioDestinationNode.idl:
551         * Modules/webaudio/AudioNode.h:
552         Implement .maxChannelCount attribute.
553         
554         (AudioNode):
555         * Modules/webaudio/DefaultAudioDestinationNode.h:
556         * Modules/webaudio/DefaultAudioDestinationNode.cpp:
557         (WebCore::DefaultAudioDestinationNode::initialize):
558         (WebCore::DefaultAudioDestinationNode::createDestination):
559         (WebCore::DefaultAudioDestinationNode::enableInput):
560         Call to createDestination() now takes no argument.
561         Instead we maintain a member variable for the input device ID.
562         (WebCore::DefaultAudioDestinationNode::maxChannelCount):
563         (WebCore::DefaultAudioDestinationNode::setChannelCount):
564         Check port-specific hardware support for maxChannelCount(),
565         and allow setting the channel count based on what the hardware
566         supports.
567         
568         * platform/audio/AudioDestination.h:
569         (AudioDestination):
570         * platform/audio/chromium/AudioDestinationChromium.cpp:
571         (WebCore::AudioDestination::maxChannelCount):
572         (WebCore::AudioDestinationChromium::render):
573         Call into chromium WebKit API: audioHardwareOutputChannels().
574
575         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
576         (WebCore::AudioDestination::maxChannelCount):
577         Add basic implementation for maxChannelCount() only supporting stereo output.
578
579         * platform/audio/mac/AudioDestinationMac.cpp:
580         (WebCore::AudioDestination::maxChannelCount):
581         Add basic implementation for maxChannelCount() only supporting stereo output.
582         Later, the mac port can support more than this with some small improvements to AudioDestinationMac.
583
584 2013-03-04  Adam Barth  <abarth@webkit.org>
585
586         Background HTML parser can rewind the tokenizer after end-of-file
587         https://bugs.webkit.org/show_bug.cgi?id=111365
588
589         Reviewed by Eric Seidel.
590
591         Prior to this patch, it was possible to call didFailSpeculation after
592         processing the end-of-file token because checkForSpeculationFailure
593         didn't zero out m_tokenizer in some control paths.
594
595         This patch renames checkForSpeculationFailure to validateSpeculations
596         and ensures that it always takes ownership of the main thread's
597         HTMLTokenizer.
598
599         This patch also adds a number of ASSERTs to make sure the parser state
600         machine stays in the correct configuration (e.g., that we don't have a
601         main thread tokenizer while we're supposed to be tokenizing on the
602         background thread).
603
604         Test: fast/parser/document-write-fighting-eof.html
605
606         * html/parser/BackgroundHTMLInputStream.cpp:
607         (WebCore::BackgroundHTMLInputStream::rewindTo):
608         * html/parser/BackgroundHTMLParser.cpp:
609         (WebCore::BackgroundHTMLParser::append):
610         * html/parser/HTMLDocumentParser.cpp:
611         (WebCore::HTMLDocumentParser::validateSpeculations):
612         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
613         (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
614         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
615         * html/parser/HTMLDocumentParser.h:
616         (HTMLDocumentParser):
617
618 2013-03-04  Tim 'mithro' Ansell  <mithro@mithis.com>
619
620         Make sure that clearOwnerNode also clears StyleResolver references (via didMutate).
621         https://bugs.webkit.org/show_bug.cgi?id=109446
622
623         Reviewed by Eric Seidel.
624
625         Test: fast/css/stylesheet.innerHTML-calls-didmutate.html
626
627         * css/CSSStyleSheet.h:
628
629 2013-03-04  Kentaro Hara  <haraken@chromium.org>
630
631         Unreviewd build fix after r144701.
632
633         * platform/EventTracer.cpp:
634         (WebCore::EventTracer::initialize):
635
636 2013-03-04  Min Qin  <qinmin@chromium.org>
637
638         Fix some style issues in RenderLayerCompositor
639         https://bugs.webkit.org/show_bug.cgi?id=111369
640
641         Reviewed by Simon Fraser.
642
643         Just style fix, no test needed
644
645         * rendering/RenderLayerCompositor.cpp:
646         (WebCore::RenderLayerCompositor::frameViewDidScroll):
647         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
648
649 2013-03-04  Terry Anderson  <tdanderson@chromium.org>
650
651         Revert changes to RenderLayer::scrollByRecursively() that were added for gesture-scrolling
652         https://bugs.webkit.org/show_bug.cgi?id=111007
653
654         Reviewed by Simon Fraser.
655
656         Due to http://trac.webkit.org/changeset/144519 landing, the changes made to RenderLayer in
657         http://trac.webkit.org/changeset/142057,
658         http://trac.webkit.org/changeset/140177, and  
659         http://trac.webkit.org/changeset/142195
660         are no longer necessary (as RenderLayer::scrollByRecursively() is not used for
661         gesture-scrolling) and should be reverted.
662
663         No change in behavior, so no new tests needed.
664
665         * rendering/RenderLayer.cpp:
666         (WebCore::RenderLayer::scrollByRecursively):
667         * rendering/RenderLayer.h:
668
669 2013-03-04  Kentaro Hara  <haraken@chromium.org>
670
671         Unreviewed build fix after r144701.
672
673         * platform/EventTracer.cpp:
674         (WebCore::EventTracer::initialize):
675
676 2013-03-04  Christian Biesinger  <cbiesinger@chromium.org>
677
678         REGRESSION (r143643): Buttons containing floats render differently
679         https://bugs.webkit.org/show_bug.cgi?id=110933
680
681         Reviewed by Ojan Vafai.
682
683         Test: fast/forms/button-with-float.html
684
685         * rendering/RenderBlock.cpp:
686         (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
687         Also include new flexbox as a renderer that needs to enclose
688         overhanging floats. Flex boxes establish a block formatting context,
689         so they need to contain floats:
690         http://dev.w3.org/csswg/css3-flexbox/#flex-items
691
692 2013-03-04  Chris Fleizach  <cfleizach@apple.com>
693
694         Support WebSpeech - Speech Synthesis
695         https://bugs.webkit.org/show_bug.cgi?id=106742
696
697         Build fix.
698
699         * Modules/speech/SpeechSynthesis.cpp:
700
701 2013-03-04  Rafael Weinstein  <rafaelw@chromium.org>
702
703         Unreviewed, rolling out r144595.
704         http://trac.webkit.org/changeset/144595
705         https://bugs.webkit.org/show_bug.cgi?id=90341
706
707         Causing multiple crashes in fast/dom/Element/* tests (hits
708         assert in Attr.cp:215)
709
710         * dom/Element.cpp:
711         (WebCore::Element::setAttributeNode):
712
713 2013-02-26  Kentaro Hara  <haraken@chromium.org>
714
715         [chromium] Implement TRACE_EVENT macros for sampling profiling
716         https://bugs.webkit.org/show_bug.cgi?id=110932
717
718         Reviewed by Adam Barth.
719
720         We are implementing TRACE_EVENT macros for sampling profiling.
721         It works in the following mechanism:
722
723         - Chromium defines global state variables for sampling profiling.
724         (i.e. g_trace_state0, g_trace_state1, g_trace_state2 in trace_event.h)
725
726         - WebKit gets the addresses of the global state variables at the
727         initialization step. (i.e. EventTracer::initialize())
728
729         - WebKit updates the global states by using TRACE_EVENT_SAMPLING_STATE()
730         macros every time WebKit changes its state. (e.g. DOM attribute
731         getters/setters/methods)
732
733         - A sampling thread running in Chrome reads the global states
734         periodically and visualizes the profiling results into about://tracing.
735
736         This patch implements (1) a WebKit API to get the addresses of
737         the global states and (2) the TRACE_EVENT_SAMPLING_STATE() macro.
738
739         No tests. The sampling profiler is not enabled in Chrome by default.
740         I manually inserted TRACE_EVENT_SAMPLING_STATE() macros and
741         confirmed that the sampling profiling is working as expected.
742
743         * platform/EventTracer.cpp:
744         (WebCore::EventTracer::initialize):
745         (WebCore::EventTracer::getTraceCategoryEnabledFlag):
746         (WebCore):
747         * platform/EventTracer.h:
748         (WebCore):
749         (EventTracer):
750         * platform/chromium/EventTracerChromium.cpp:
751         (WebCore):
752         (WebCore::EventTracer::initialize):
753         * platform/chromium/TraceEvent.h:
754
755 2013-03-04  Chris Fleizach  <cfleizach@apple.com>
756
757         Support WebSpeech - Speech Synthesis
758         https://bugs.webkit.org/show_bug.cgi?id=106742
759
760         Reviewed by Simon Fraser.
761
762         Enable speech synthesis for the Mac.
763
764         * Configurations/FeatureDefines.xcconfig:
765
766 2013-03-04  Ruslan Abdikeev  <aruslan@chromium.org>
767
768         <link rel="apple-touch-icon"> tag is not honored on CNN.com, workflowy.com etc
769         https://bugs.webkit.org/show_bug.cgi?id=109061
770
771         Reviewed by Adam Barth.
772
773         Test: fast/dom/icon-url-list-apple-touch.html
774
775         Added iconTypes parameter to Document::iconURLs().
776         Added Document::shortcutIconURLs() with original semantics of iconURLs().
777         Fixed IconController.cpp to provide iconTypesMask to iconURLs().
778         Renamed iconTypes to iconTypesMask to make the meaning clearer.
779
780         * WebCore.exp.in:
781         * dom/Document.cpp:
782         (WebCore::Document::shortcutIconURLs):
783         (WebCore):
784         (WebCore::Document::iconURLs):
785         * dom/Document.h:
786         (Document):
787         * loader/icon/IconController.cpp:
788         (WebCore::IconController::iconURL):
789         (WebCore::IconController::urlsForTypes):
790         * testing/Internals.cpp:
791         (WebCore::Internals::iconURLs):
792         (WebCore::Internals::shortcutIconURLs):
793         (WebCore):
794         (WebCore::Internals::allIconURLs):
795         * testing/Internals.h:
796         * testing/Internals.idl:
797
798 2013-02-27  Jeffrey Pfau  <jpfau@apple.com>
799
800         Cache partitioning does not affect iframe MainResources
801         https://bugs.webkit.org/show_bug.cgi?id=111022
802
803         Reviewed by David Kilzer.
804
805         Set the partition of a main resource request if in a subframe.
806
807         Test: http/tests/cache/partitioned-cache-iframe.html
808
809         * loader/FrameLoader.cpp:
810         (WebCore::FrameLoader::loadURL):
811
812 2013-03-04  Chris Fleizach  <cfleizach@apple.com>
813
814         AX: user agent shadow roots for plugins should be 'accessible'
815         https://bugs.webkit.org/show_bug.cgi?id=111339
816
817         Reviewed by Tim Horton.
818
819         If a plugin element uses a user agent shadow element, we should make that shadow element
820         into a button with the title and subtitle put together, and use that as the label. This 
821         will probably be the best accessibility experience.
822
823         * html/HTMLPlugInImageElement.cpp:
824         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
825
826 2013-03-04  Alok Priyadarshi  <alokp@chromium.org>
827
828         [chromium] Form controls on composited layers are not painted properly
829         https://bugs.webkit.org/show_bug.cgi?id=111366
830
831         Reviewed by James Robinson.
832
833         Set PlatformContextSkia::m_drawingToImageBuffer which is used as a hint to properly blend GDI-painted bitmap.
834
835         * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp:
836         (WebCore::OpaqueRectTrackingContentLayerDelegate::paintContents):
837
838 2013-03-04  Simon Fraser  <simon.fraser@apple.com>
839
840         Give ViewportConstraints classes copy constructors
841         https://bugs.webkit.org/show_bug.cgi?id=111367
842
843         Reviewed by Beth Dakin.
844         
845         Downstream code requires that ViewportConstraints objects have
846         copy constructors, so add them.
847         
848         Also clean up some redundant initialization of stack objects
849         in RenderLayerCompositor.
850
851         No behavior change.
852
853         * page/scrolling/ScrollingConstraints.h:
854         (WebCore::ViewportConstraints::ViewportConstraints):
855         (ViewportConstraints):
856         (WebCore::FixedPositionViewportConstraints::FixedPositionViewportConstraints):
857         (FixedPositionViewportConstraints):
858         (WebCore::StickyPositionViewportConstraints::StickyPositionViewportConstraints):
859         (StickyPositionViewportConstraints):
860         * rendering/RenderLayerCompositor.cpp:
861         (WebCore::RenderLayerCompositor::computeFixedViewportConstraints):
862         (WebCore::RenderLayerCompositor::computeStickyViewportConstraints):
863
864 2013-03-04  Roger Fong  <roger_fong@apple.com>
865
866         Unreviewed. AppleWin build fix.
867
868         * html/parser/XSSAuditor.cpp:
869         (WebCore::isSemicolonSeparatedAttribute):
870
871 2013-03-04  Andreas Kling  <akling@apple.com>
872
873         CSSParser: Avoid temporary String when parsing hex colors.
874         <http://webkit.org/b/111341>
875
876         Reviewed by Anders Carlsson.
877
878         Templatize CSSParser::fastParseColor() so we can pass a CSSParserString as the color name.
879         This avoids creating a temporary WTF::String from the parser string.
880
881         * css/CSSParser.cpp:
882         (WebCore::CSSParser::fastParseColor):
883         * css/CSSParser.h:
884         * css/CSSParserValues.h:
885         (CSSParserString):
886
887 2013-03-04  Julien Chaffraix  <jchaffraix@webkit.org>
888
889         [CSS Grid Layout] Add parsing for grid-{start|before}
890         https://bugs.webkit.org/show_bug.cgi?id=110988
891
892         Reviewed by Tony Chang.
893
894         Test: fast/css-grid-layout/grid-item-start-before-get-set.html
895
896         Refactored how we store internally grid-{row|column} to be based on grid-{before|start}.
897         This is required as grid-{row|column} are shorthands for resp. grid-{before|after} and grid-{start|end}
898         in the specification and will also be in the code. That means a lot of methods were renamed to be more
899         aligned with the new design.
900
901         * css/CSSComputedStyleDeclaration.cpp:
902         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
903         * css/CSSParser.cpp:
904         (WebCore::CSSParser::parseValue):
905         * css/CSSProperty.cpp:
906         (WebCore::CSSProperty::isInheritedProperty):
907         * css/CSSPropertyNames.in:
908         * css/StyleResolver.cpp:
909         (WebCore::StyleResolver::applyProperty):
910         Added the code to parse, apply and get back the new properties. Also
911         some renaming after the internal naming change below.
912
913         * rendering/RenderGrid.cpp:
914         (WebCore::RenderGrid::maximumIndexInDirection):
915         (WebCore::RenderGrid::placeItemsOnGrid):
916         (WebCore::RenderGrid::autoPlacementMajorAxisPositionForChild):
917         (WebCore::RenderGrid::autoPlacementMinorAxisPositionForChild):
918         * rendering/style/RenderStyle.h:
919         * rendering/style/StyleGridItemData.cpp:
920         (WebCore::StyleGridItemData::StyleGridItemData):
921         * rendering/style/StyleGridItemData.h:
922         (WebCore::StyleGridItemData::operator==):
923         Updated the naming now that we manipulate grid-{before|start} instead of grid-{row|column}.
924
925 2013-03-04  Chris Fleizach  <cfleizach@apple.com>
926
927         WebSpeech: change voiceURI to voice
928         https://bugs.webkit.org/show_bug.cgi?id=110773
929
930         Reviewed by Tim Horton.
931
932         Change the voiceURI property to a voice property that takes a SpeechSynthesisVoice.
933         This was recently added to the errata of the WebSpeech spec.
934
935         Test: platform/mac/fast/speechsynthesis/speech-synthesis-utterance-uses-voice.html
936
937         * Modules/speech/SpeechSynthesisUtterance.cpp:
938         (WebCore):
939         (WebCore::SpeechSynthesisUtterance::voice):
940         (WebCore::SpeechSynthesisUtterance::setVoice):
941         * Modules/speech/SpeechSynthesisUtterance.h:
942         (SpeechSynthesisUtterance):
943         * Modules/speech/SpeechSynthesisUtterance.idl:
944         * Modules/speech/SpeechSynthesisVoice.h:
945         (WebCore::SpeechSynthesisVoice::platformVoice):
946         (SpeechSynthesisVoice):
947         * platform/PlatformSpeechSynthesisUtterance.cpp:
948         (WebCore::PlatformSpeechSynthesisUtterance::PlatformSpeechSynthesisUtterance):
949         * platform/PlatformSpeechSynthesisUtterance.h:
950         (WebCore::PlatformSpeechSynthesisUtterance::voice):
951         (WebCore::PlatformSpeechSynthesisUtterance::setVoice):
952         (PlatformSpeechSynthesisUtterance):
953         * platform/mac/PlatformSpeechSynthesizerMac.mm:
954         (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
955
956 2013-03-04  Victor Costan <costan@gmail.com>
957
958         Filename passed to FormData.append() takes precedence over filename in
959         File.
960         https://bugs.webkit.org/show_bug.cgi?id=111255
961
962         Reviewed by Alexey Proskuryakov.
963
964         Test: http/tests/local/formdata/send-form-data-with-filename.html
965
966         * platform/network/FormData.cpp:
967         (WebCore::FormData::appendKeyValuePairItems): changed to implement the
968         behavior in the XMLHttpRequest W3C spec.
969
970 2013-03-04  Alexis Hetu  <sugoi@chromium.org>
971
972         Canvas and DOM go out of sync
973         https://bugs.webkit.org/show_bug.cgi?id=107701
974
975         Reviewed by Simon Fraser.
976
977         Test: fast/canvas/canvas-overflow-hidden-animation.html
978
979         Added an update of the current compositor from the layer's stacking
980         container when the layer itself isn't a stacking container.
981
982         * rendering/RenderLayerBacking.cpp:
983         (WebCore::RenderLayerBacking::updateAfterLayout):
984         Added an update of the stacking container of the owning layer of the
985         layer backing when the owning layer isn't a stacking container itself.
986
987 2013-03-04  Alexey Proskuryakov  <ap@apple.com>
988
989         Small BlobResourceHandle cleanup
990         https://bugs.webkit.org/show_bug.cgi?id=111352
991
992         Reviewed by Sam Weinig.
993
994         1. Don't use PassRefPtr<BlobStorageData> when ownership is not being passed.
995         2. Added OVERRIDE to some functions.
996         3. Added const to ResourceHandle::firstRequest().
997
998         * platform/network/BlobRegistryImpl.cpp:
999         (WebCore::loadResourceSynchronously):
1000         (WebCore::BlobRegistryImpl::createResourceHandle):
1001         (WebCore::BlobRegistryImpl::getBlobDataFromURL):
1002         * platform/network/BlobRegistryImpl.h:
1003         (BlobRegistryImpl):
1004         * platform/network/BlobResourceHandle.cpp:
1005         (WebCore::BlobResourceHandle::createAsync):
1006         (WebCore::BlobResourceHandle::loadResourceSynchronously):
1007         * platform/network/BlobResourceHandle.h:
1008         (BlobResourceHandle):
1009         * platform/network/FormData.cpp:
1010         (WebCore::appendBlobResolved):
1011         * platform/network/ResourceHandle.cpp:
1012         (WebCore::ResourceHandle::firstRequest):
1013         * platform/network/ResourceHandle.h:
1014         (ResourceHandle):
1015
1016 2013-03-04  Vsevolod Vlasov  <vsevik@chromium.org>
1017
1018         Web Inspector: Introduce WebInspector.EventTarget interface for interfaces that dispatch events.
1019         https://bugs.webkit.org/show_bug.cgi?id=111320
1020
1021         Reviewed by Pavel Feldman.
1022
1023         * inspector/front-end/Object.js:
1024         (WebInspector.EventTarget):
1025         (WebInspector.EventTarget.prototype.addEventListener):
1026         (WebInspector.EventTarget.prototype.removeEventListener):
1027         (WebInspector.EventTarget.prototype.removeAllListeners):
1028         (WebInspector.EventTarget.prototype.hasEventListeners):
1029         (WebInspector.EventTarget.prototype.dispatchEventToListeners):
1030         * inspector/front-end/ResourceScriptMapping.js:
1031         * inspector/front-end/UISourceCode.js:
1032         * inspector/front-end/Workspace.js:
1033         (WebInspector.ProjectDelegate.prototype.searchInFileContent):
1034
1035 2013-03-04  Tom Sepez  <tsepez@chromium.org>
1036
1037         XSSAuditor bypass with --> comment syntax.
1038         https://bugs.webkit.org/show_bug.cgi?id=111349
1039
1040         Reviewed by Adam Barth.
1041
1042         Test: http/tests/security/xssAuditor/open-iframe-src-03.html
1043
1044         * html/parser/XSSAuditor.cpp:
1045         (WebCore::isTerminatingCharacter):
1046         Adds ">" to the list of terminating characters, so that comments of
1047         the form --> end the snippet we seek to match.
1048
1049 2013-03-04  Vsevolod Vlasov  <vsevik@chromium.org>
1050
1051         Web Inspector: Modal dialogs sometimes lose focus.
1052         https://bugs.webkit.org/show_bug.cgi?id=111317
1053
1054         Reviewed by Pavel Feldman.
1055
1056         setCurrentFocusElement doesn't give focus to an element anymore
1057         if modal glass pane is shown and element is not inside it.
1058
1059         * inspector/front-end/Dialog.js:
1060         (WebInspector.Dialog):
1061         (WebInspector.Dialog.prototype._hide):
1062         * inspector/front-end/InspectorView.js:
1063         (WebInspector.InspectorView.prototype.defaultFocusedElement):
1064         * inspector/front-end/ScriptsPanel.js:
1065         (WebInspector.ScriptsPanel.prototype.defaultFocusedElement):
1066         * inspector/front-end/UIUtils.js:
1067         (WebInspector.GlassPane):
1068         (WebInspector.GlassPane.prototype.dispose):
1069         (WebInspector.setCurrentFocusElement):
1070         * inspector/front-end/dialog.css:
1071
1072 2013-03-04  Roger Fong  <roger_fong@apple.com>
1073
1074         Unreviewed. AppleWin build fix.
1075
1076         * WebCore.vcxproj/WebCore.vcxproj:
1077
1078 2013-03-04  Dan Carney  <dcarney@google.com>
1079
1080         [v8] add isolate parameter to heap statistics calls
1081         https://bugs.webkit.org/show_bug.cgi?id=111308
1082
1083         Reviewed by Jochen Eisinger.
1084
1085         No new tests.
1086
1087         * bindings/v8/ScriptGCEvent.cpp:
1088         (WebCore::ScriptGCEvent::getHeapSize):
1089         (WebCore::ScriptGCEvent::getUsedHeapSize):
1090         * bindings/v8/V8AdaptorFunction.cpp:
1091         (WebCore::V8AdaptorFunction::getTemplate):
1092         * bindings/v8/V8GCController.cpp:
1093         (WebCore::V8GCController::checkMemoryUsage):
1094
1095 2013-03-04  Jochen Eisinger  <jochen@chromium.org>
1096
1097         [chromium] remove deprecated hyphenation methods from Platform
1098         https://bugs.webkit.org/show_bug.cgi?id=111101
1099
1100         Reviewed by Adam Barth.
1101
1102         * platform/text/chromium/Hyphenation.cpp:
1103         (WebCore::canHyphenate):
1104         (WebCore::lastHyphenLocation):
1105
1106 2013-03-04  Benjamin Poulain  <benjamin@webkit.org>
1107
1108         Use initialization from literal for MediaFeatureNames
1109         https://bugs.webkit.org/show_bug.cgi?id=111283
1110
1111         Reviewed by Andreas Kling.
1112
1113         * css/MediaFeatureNames.cpp:
1114         (WebCore::MediaFeatureNames::init):
1115         Initialization from literal is faster and use less memory. The names are
1116         defined statically in MediaFeatureNames.h.
1117
1118         Also use the NotNull placement new to avoid a branch on silly allocators.
1119
1120 2013-03-04  Joshua Bell  <jsbell@chromium.org>
1121
1122         [V8] Unreviewed. Rebaselined run-bindings-tests following r144617
1123
1124         * bindings/scripts/test/V8/V8Float64Array.cpp:
1125         (WebCore::ConfigureV8Float64ArrayTemplate):
1126         (WebCore::V8Float64Array::GetTemplate):
1127         * bindings/scripts/test/V8/V8Float64Array.h:
1128         (V8Float64Array):
1129         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1130         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
1131         (WebCore::TestActiveDOMObjectV8Internal::TestActiveDOMObjectDomainSafeFunctionSetter):
1132         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
1133         (WebCore::V8TestActiveDOMObject::GetTemplate):
1134         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
1135         (V8TestActiveDOMObject):
1136         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1137         (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
1138         (WebCore::V8TestCustomNamedGetter::GetTemplate):
1139         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
1140         (V8TestCustomNamedGetter):
1141         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1142         (WebCore::ConfigureV8TestEventConstructorTemplate):
1143         (WebCore::V8TestEventConstructor::GetTemplate):
1144         * bindings/scripts/test/V8/V8TestEventConstructor.h:
1145         (V8TestEventConstructor):
1146         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1147         (WebCore::ConfigureV8TestEventTargetTemplate):
1148         (WebCore::V8TestEventTarget::GetTemplate):
1149         * bindings/scripts/test/V8/V8TestEventTarget.h:
1150         (V8TestEventTarget):
1151         * bindings/scripts/test/V8/V8TestException.cpp:
1152         (WebCore::ConfigureV8TestExceptionTemplate):
1153         (WebCore::V8TestException::GetTemplate):
1154         * bindings/scripts/test/V8/V8TestException.h:
1155         (V8TestException):
1156         * bindings/scripts/test/V8/V8TestInterface.cpp:
1157         (WebCore::ConfigureV8TestInterfaceTemplate):
1158         (WebCore::V8TestInterface::GetTemplate):
1159         * bindings/scripts/test/V8/V8TestInterface.h:
1160         (V8TestInterface):
1161         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1162         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
1163         (WebCore::V8TestMediaQueryListListener::GetTemplate):
1164         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
1165         (V8TestMediaQueryListListener):
1166         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1167         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
1168         (WebCore::ConfigureV8TestNamedConstructorTemplate):
1169         (WebCore::V8TestNamedConstructor::GetTemplate):
1170         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
1171         (V8TestNamedConstructorConstructor):
1172         (V8TestNamedConstructor):
1173         * bindings/scripts/test/V8/V8TestNode.cpp:
1174         (WebCore::ConfigureV8TestNodeTemplate):
1175         (WebCore::V8TestNode::GetTemplate):
1176         * bindings/scripts/test/V8/V8TestNode.h:
1177         (V8TestNode):
1178         * bindings/scripts/test/V8/V8TestObj.cpp:
1179         (WebCore::ConfigureV8TestObjTemplate):
1180         (WebCore::V8TestObj::GetTemplate):
1181         (WebCore::V8TestObj::installPerContextPrototypeProperties):
1182         * bindings/scripts/test/V8/V8TestObj.h:
1183         (V8TestObj):
1184         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
1185         (WebCore::ConfigureV8TestOverloadedConstructorsTemplate):
1186         (WebCore::V8TestOverloadedConstructors::GetTemplate):
1187         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
1188         (V8TestOverloadedConstructors):
1189         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1190         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
1191         (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
1192         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
1193         (V8TestSerializedScriptValueInterface):
1194         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
1195         (WebCore::ConfigureV8TestTypedefsTemplate):
1196         (WebCore::V8TestTypedefs::GetTemplate):
1197         * bindings/scripts/test/V8/V8TestTypedefs.h:
1198         (V8TestTypedefs):
1199
1200 2013-03-04  Tony Chang  <tony@chromium.org>
1201
1202         Unreviewed, rolling out r144562.
1203         http://trac.webkit.org/changeset/144562
1204         https://bugs.webkit.org/show_bug.cgi?id=85642
1205
1206         Caused KeyPadInsert faluires in webkit_unittests
1207
1208         * platform/chromium/KeyCodeConversionGtk.cpp:
1209         (WebCore::windowsKeyCodeForKeyEvent):
1210
1211 2013-03-04  Uday Kiran  <udaykiran@motorola.com>
1212
1213         getComputedStyle not implemented for -webkit-columns shorthand
1214         https://bugs.webkit.org/show_bug.cgi?id=111236
1215
1216         Reviewed by Alexis Menard.
1217
1218         Implement getComputedStyle for -webkit-columns shorthand.
1219
1220         Test: fast/css/getComputedStyle/getComputedStyle-webkit-columns-shorthand.html
1221
1222         * css/CSSComputedStyleDeclaration.cpp:
1223         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1224
1225 2013-03-04  Levi Weintraub  <leviw@chromium.org>
1226
1227         Add support for 8 bit TextRuns on Chromium Linux & Mac
1228         https://bugs.webkit.org/show_bug.cgi?id=99393
1229
1230         Reviewed by Eric Seidel.
1231
1232         Adding support for 8 bit TextRuns for Mac and Linux Chromium. To accomplish this,
1233         8 bit text runs are upconverted to 16 bit in the complex text path during string
1234         normalization, as HarfBuzz operates on UChars.
1235
1236         Windows has platfom assumptions that TextRuns are 16 bit that need to be addressed
1237         before enabling this optimization.
1238
1239         No new tests. No change in behavior.
1240
1241         (WebCore::HarfBuzzShaperBase::setNormalizedBuffer):
1242         * platform/graphics/harfbuzz/HarfBuzzShaperBase.h:
1243         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
1244         (WebCore::normalizeCharacters):
1245         (WebCore::HarfBuzzShaper::HarfBuzzShaper):
1246
1247 2013-03-04  Alexis Menard  <alexis@webkit.org>
1248
1249         transition-property property and transition shorthand property doesn't accept "all, all".
1250         https://bugs.webkit.org/show_bug.cgi?id=111201
1251
1252         Reviewed by Simon Fraser.
1253
1254         Relax the parsing of transition-property to allow all, all as a value.
1255         It is not very useful per say but it is possible by the spec and we
1256         align with Firefox, IE and Opera.
1257
1258         Test: LayoutTests/transitions/transitions-parsing.html
1259
1260         * css/CSSParser.cpp:
1261         (WebCore::CSSParser::parseAnimationProperty):
1262
1263 2013-03-04  Min Qin  <qinmin@chromium.org>
1264
1265         Don't apply page scale to clipRect if applyPageScaleFactorInCompositor is set to true
1266         https://bugs.webkit.org/show_bug.cgi?id=111229
1267
1268         Reviewed by Simon Fraser.
1269
1270         If applyPageScaleFactorInCompositor is set to true, webcore should use css coordinates.
1271         As a result, we shouldn't apply page scale to clipRect in RenderLayerCompositor.
1272         Layout tests set the flag to false, so we don't have anything to test against.
1273
1274         * rendering/RenderLayerCompositor.cpp:
1275         (WebCore::RenderLayerCompositor::addToOverlapMap):
1276
1277 2013-03-04  Ian Vollick  <vollick@chromium.org>
1278
1279         ASSERTION FAILED: m_clipRectsCache->m_respectingOverflowClip[clipRectsType] == (clipRectsContext.respectOverflowClip == RespectOverflowClip) in RenderLayer.
1280         https://bugs.webkit.org/show_bug.cgi?id=108257
1281
1282         Reviewed by David Hyatt.
1283
1284         With composited scrolling we paint both with and without respecting
1285         overflow clip. To prevent collisions in the clip cache, and to prevent
1286         throwing away cached clips unnecessarily, we keep two copies of the
1287         clip cache -- one for when overflow clip is respected, and one for
1288         when it isn't.
1289
1290         No new tests. Covered by existing tests (in debug):
1291           compositing/overflow/automatically-opt-into-composited-scrolling.html
1292           compositing/overflow/composited-scrolling-creates-a-stacking-container.html
1293
1294         * rendering/RenderLayer.cpp:
1295         (WebCore::RenderLayer::updateClipRects):
1296           No longer asserts that our 'respect overflow clip' status is
1297           consistent. It also gets and sets the clip cache using the clip rect
1298           context rather than just the clip rect type.
1299         (WebCore::RenderLayer::calculateClipRects):
1300         (WebCore::RenderLayer::parentClipRects):
1301         (WebCore::RenderLayer::clearClipRects):
1302         (WebCore::ClipRectsCache::ClipRectsCache):
1303         (WebCore::ClipRectsCache::getClipRects):
1304         (WebCore::ClipRectsCache::setClipRects):
1305         (WebCore::ClipRectsCache::getIndex):
1306           Get and set the cached clip rects using the context rather than
1307           type.
1308         (WebCore::RenderLayer::clipRects):
1309           We now cache twice as many clip rects.
1310         * rendering/RenderLayerBacking.cpp:
1311         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1312           ShouldRespectOverflowClip was moved out of RenderLayer.
1313
1314         * rendering/RenderLayer.cpp:
1315         (WebCore::RenderLayer::updateClipRects):
1316         (WebCore::RenderLayer::calculateClipRects):
1317         (WebCore::RenderLayer::parentClipRects):
1318         (WebCore::RenderLayer::clearClipRects):
1319         * rendering/RenderLayer.h:
1320         (WebCore::ClipRectsCache::ClipRectsCache):
1321         (WebCore::ClipRectsCache::getClipRects):
1322         (WebCore::ClipRectsCache::setClipRects):
1323         (ClipRectsCache):
1324         (WebCore::ClipRectsCache::getIndex):
1325         (WebCore::RenderLayer::clipRects):
1326         * rendering/RenderLayerBacking.cpp:
1327         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1328
1329 2013-03-04  Aaron Colwell  <acolwell@chromium.org>
1330
1331         Remove unused return value from SourceBufferPrivate::abort() and WebSourceBuffer::abort().
1332         https://bugs.webkit.org/show_bug.cgi?id=111195
1333
1334         Reviewed by Adam Barth.
1335
1336         No new tests. No user visible behavior changed.
1337
1338         * platform/graphics/SourceBufferPrivate.h:
1339         (SourceBufferPrivate):
1340
1341 2013-03-04  David Hyatt  <hyatt@apple.com>
1342
1343         [New Multicolumn] Eliminate the unique multicolumn flow thread style creation function
1344         https://bugs.webkit.org/show_bug.cgi?id=111338
1345
1346         Reviewed by Allan Jensen.
1347
1348         There is nothing special about a multi-column flow thread style now, so we can just
1349         use the existing anonymous style creation function.
1350
1351         * rendering/RenderMultiColumnBlock.cpp:
1352         (WebCore):
1353         (WebCore::RenderMultiColumnBlock::addChild):
1354
1355 2013-03-04  Mario Sanchez Prada  <mario.prada@samsung.com>
1356
1357         [GTK] WebCore::returnString is unsafe and should be removed!
1358         https://bugs.webkit.org/show_bug.cgi?id=110423
1359
1360         Reviewed by Martin Robinson.
1361
1362         Remove returnString() and replace it in callers with a new
1363         function that will cache and return the values of string
1364         properties for ATK interfaces in the private section of the
1365         wrapper AtkObject WebKitAccessible.
1366
1367         * accessibility/atk/WebKitAccessibleUtil.cpp: Remove returnString().
1368         * accessibility/atk/WebKitAccessibleUtil.h: Ditto.
1369
1370         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1371         (_WebKitAccessiblePrivate): New private structure to store cached
1372         values of string property for the different ATK interfaces.
1373         (cacheAndReturnAtkProperty): New helper function to make sure the
1374         returned const gchar* value is previously cached in the private
1375         section of the wrapper AtkObject.
1376         (webkitAccessibleGetName): Use the new helper function.
1377         (webkitAccessibleGetDescription): Ditto.
1378         (webkitAccessibleInit): Initialize pointer to private structure.
1379         (webkitAccessibleFinalize): Remove unneeded code.
1380         (webkitAccessibleClassInit): Add private struct to class type/
1381         * accessibility/atk/WebKitAccessibleWrapperAtk.h:
1382         (_WebKitAccessible): New member pointing to the private structure,
1383         made the new helper function cacheAndReturnAtkProperty() available
1384         to external callers (implementation files for ATK interfaces).
1385         (AtkCachedProperty): New enum to allow reusing code when calling
1386         cacheAndReturnAtkProperty() to cache and return different properties.
1387
1388         * accessibility/atk/WebKitAccessibleInterfaceAction.cpp:
1389         (webkitAccessibleActionGetKeybinding): Replace calls to returnString()
1390         with calls to the new helper function cacheAndReturnAtkProperty().
1391         (webkitAccessibleActionGetName): Ditto.
1392         * accessibility/atk/WebKitAccessibleInterfaceDocument.cpp:
1393         (documentAttributeValue): Ditto.
1394         (webkitAccessibleDocumentGetLocale): Ditto.
1395         * accessibility/atk/WebKitAccessibleInterfaceImage.cpp:
1396         (webkitAccessibleImageGetImageDescription): Ditto.
1397
1398         Remove returnString() from WebKitAccessibleHyperlink (which is not
1399         an AtkObject, but a GObject) as well, replacing it in callers with
1400         simple code that will cache and return the required values in the
1401         private section of these kind of objects.
1402
1403         * accessibility/atk/WebKitAccessibleHyperlink.cpp:
1404         (_WebKitAccessibleHyperlinkPrivate): Added two new fields to cache
1405         string values for the key binding and name properties from the
1406         AtkAction interface, which is implemented by AtkHyperlink.
1407         (webkitAccessibleHyperlinkActionGetKeybinding): Cache the string
1408         value for the key binding before returning a const gchar* pointer.
1409         (webkitAccessibleHyperlinkActionGetName): Ditto.
1410         (webkitAccessibleHyperlinkGetURI): Do not cache the URI here, as
1411         this function returns a gchar* that will be owned by the caller.
1412
1413 2013-03-04  peavo@outlook.com  <peavo@outlook.com>
1414
1415         [Curl] Compile fix after r144216
1416         https://bugs.webkit.org/show_bug.cgi?id=111305
1417
1418         Reviewed by Brent Fulgham.
1419
1420         * platform/network/curl/ResourceRequest.h:
1421         (WebCore::ResourceRequest::cfURLRequest): Added new parameter.
1422
1423 2013-03-03  David Hyatt  <hyatt@apple.com>
1424
1425         [New Multicolumn] Make sure region styling works for columns inside regions.
1426         https://bugs.webkit.org/show_bug.cgi?id=111276
1427
1428         Reviewed by Sam Weinig.
1429
1430         Test: fast/regions/region-styling-in-columns.html
1431
1432         * rendering/RenderFlowThread.cpp:
1433         (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
1434         (WebCore::CurrentRenderFlowThreadMaintainer::~CurrentRenderFlowThreadMaintainer):
1435         * rendering/RenderFlowThread.h:
1436         (CurrentRenderFlowThreadMaintainer):
1437         Fix the CurrentRenderFlowThreadMaintainer so that it saves off the old render flow thread
1438         and restores it when done. This effectively makes flow thread layout a push/pop stack,
1439         since with in-flow threads, this is allowed. We assert that a nested flow thread is
1440         in-flow to preserve the invariant that you can't nest CSS Regions flow thread.
1441
1442         * rendering/RenderRegion.cpp:
1443         (WebCore::RenderRegion::computeChildrenStyleInRegion):
1444         Add isInFlowRenderFlowThread() to the anonymous check to make sure a style gets made
1445         for the nested flow thread.
1446
1447 2013-03-04  Andrey Lushnikov  <lushnikov@chromium.org>
1448
1449         Web Inspector: WebInspector.AceTextEditor throws a warning
1450         https://bugs.webkit.org/show_bug.cgi?id=111315
1451
1452         Reviewed by Pavel Feldman.
1453
1454         Add WebInspector.AceTextEditor to externs.js to suppress closure
1455         compilation warning.
1456
1457         No new tests: no change in behaviour.
1458
1459         * inspector/front-end/externs.js:
1460         (WebInspector.AceTextEditor):
1461
1462 2013-03-04  Antoine Quint  <graouts@apple.com>
1463
1464         Fix debug build under certain configurations, cause was
1465         http://trac.webkit.org/changeset/144624.
1466
1467         * inspector/InspectorController.cpp:
1468         (WebCore::InspectorController::InspectorController):
1469         * inspector/InspectorLayerTreeAgent.cpp:
1470         (WebCore::InspectorLayerTreeAgent::InspectorLayerTreeAgent):
1471         * inspector/InspectorLayerTreeAgent.h:
1472         (WebCore):
1473         (WebCore::InspectorLayerTreeAgent::create):
1474         (InspectorLayerTreeAgent):
1475
1476 2013-03-04  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1477
1478         [Qt] REGRESSION(r141240) Crash in PluginPackage::fetchInfo
1479         https://bugs.webkit.org/show_bug.cgi?id=111322
1480
1481         Reviewed by Simon Hausmann.
1482
1483         Do not try to load blacklisted plugins.
1484
1485         * plugins/qt/PluginPackageQt.cpp:
1486         (WebCore::PluginPackage::fetchInfo):
1487
1488 2013-03-04  Alexis Menard  <alexis@webkit.org>
1489
1490         transition properties can't be found in CSSStyleDeclaration
1491         https://bugs.webkit.org/show_bug.cgi?id=110011
1492
1493         Reviewed by Antti Koivisto.
1494
1495         The previous approach for handling the unprefixing was to alias the
1496         unprefixed properties with the prefixed ones in CSSPropertyNames.in.
1497         Unfortunately it will alias the properties in the parsing code which will just
1498         identically parse the two versions. This means that when we populate StylePropertySet
1499         we do not have information whether we just parsed the prefixed, the
1500         unprefixed properties or we parsed both. The patch takes another
1501         approach by creating two distinct sets of properties (unprefixed and
1502         prefixed). Each properties have their own id and we now handle them in
1503         the parsing code as disctints properties and add both versions to the
1504         declared style. In order to avoid properties getting out of sync, 
1505         this patch adds few facilities to StylePropertySet to update the
1506         prefixed and the unprefixed entries. Finally the style resolution
1507         happens only for the prefixed version (to limit the size of this patch)
1508         and the unprefixed versions are not resolved. This is to avoid creating
1509         the animation objects twice for the resolved style.
1510
1511         Test : transitions/transitions-parsing.html
1512
1513         * css/CSSComputedStyleDeclaration.cpp:
1514         (WebCore):
1515         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1516         * css/CSSParser.cpp:
1517         (WebCore::CSSParser::addPropertyWithPrefixingVariant): Always add the
1518         prefixed and the unprefixed property even if only one is specified.
1519         (WebCore):
1520         (WebCore::CSSParser::parseValue):
1521         (WebCore::CSSParser::parseTransitionShorthand): Add both prefixed and
1522         unprefixed longhands to the declarated style.
1523         (WebCore::CSSParser::parseAnimationProperty):
1524         * css/CSSParser.h:
1525         (CSSParser):
1526         * css/CSSProperty.cpp:
1527         (WebCore::CSSProperty::isInheritedProperty):
1528         * css/CSSProperty.h:
1529         (WebCore:: prefixingVariantForPropertyId): This function takes a given
1530         property id and returns its prefixed or unprefixed id if it exists. If
1531         not it returns the same id.
1532         (WebCore):
1533         * css/CSSPropertyNames.in:
1534         * css/StylePropertySet.cpp:
1535         (WebCore::StylePropertySet::getPropertyValue):
1536         (WebCore::StylePropertySet::removeShorthandProperty):
1537         (WebCore::StylePropertySet::removeProperty):
1538         (WebCore::StylePropertySet::removeProperty): Remove
1539         also the prefixed or unprefixed shorthand if it exists.
1540         (WebCore):
1541         (WebCore::StylePropertySet::setProperty):
1542         (WebCore::StylePropertySet:: appendPrefixingVariantProperty):
1543         (WebCore::StylePropertySet::setPrefixingVariantProperty): If it
1544         exists a unprefixed or prefixed counterpart of the property we're
1545         trying to set, then we update the other one.
1546         (WebCore::StylePropertySet::asText):
1547         (WebCore::StylePropertySet::mergeAndOverrideOnConflict):
1548         * css/StylePropertySet.h:
1549         (StylePropertySet):
1550         * css/StylePropertyShorthand.cpp:
1551         (WebCore::transitionShorthand):
1552         (WebCore):
1553         (WebCore::shorthandForProperty): Define the transitions unprefixed
1554         longhands.
1555         * css/StylePropertyShorthand.h:
1556         (WebCore):
1557         * css/StyleResolver.cpp:
1558         (WebCore::StyleResolver::applyProperty): StyleBuilder will handle the
1559         resolution and the creation of the animations for the style. As the
1560         declarated style now contains declarations for the prefixed and
1561         unprefixed property we do not want to resolve two times and create duplicate animations.
1562         Therefore when we try to resolve the unprefixed version we just bail out.
1563
1564 2013-03-04  Ilya Tikhonovsky  <loislo@chromium.org>
1565
1566         Web Inspector: CPU Flame Chart: reveal profiler DataGrid node when user clicks on a FlameChart item.
1567         https://bugs.webkit.org/show_bug.cgi?id=111309
1568
1569         Reviewed by Yury Semikhatsky.
1570
1571         * inspector/front-end/CPUProfileView.js:
1572         (WebInspector.CPUProfileView.prototype._revealProfilerNode):
1573         * inspector/front-end/FlameChart.js:
1574         (WebInspector.FlameChart):
1575         (WebInspector.FlameChart.prototype._onClick):
1576
1577 2013-03-04  Antoine Quint  <graouts@apple.com>
1578
1579         Web Inspector: remove existing LayerTreeAgent protocol APIs
1580         https://bugs.webkit.org/show_bug.cgi?id=111251
1581
1582         In order to eventually provide a more useful API for the LayerTreeAgent
1583         that will be done in followup bugs, we remove the current API exposed by
1584         the agent providing a clean slate that will make future patches easier
1585         to read. Additionally, we remove the "childLayers" property on the Layer
1586         object since we will no longer be providing a hierarchy of layers, but
1587         rather a flat list of layers attached to a node and its descendants.
1588
1589         No new tests since we're removing the APIs exposed by the LayerTreeAgent.
1590         Subsequent patches will add tests as new APIs are added.
1591
1592         Reviewed by Timothy Hatcher.
1593
1594         * inspector/Inspector.json:
1595         * inspector/InspectorDOMAgent.cpp:
1596         * inspector/InspectorDOMAgent.h:
1597         * inspector/InspectorLayerTreeAgent.cpp:
1598         (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
1599         * inspector/InspectorLayerTreeAgent.h:
1600         (InspectorLayerTreeAgent):
1601
1602 2013-03-04  Li Yin  <li.yin@intel.com>
1603
1604         MediaStream.ended must return true when it is created with ended tracks.
1605         https://bugs.webkit.org/show_bug.cgi?id=111293
1606
1607         Reviewed by Kentaro Hara.
1608
1609         Spec: http://dev.w3.org/2011/webrtc/editor/getusermedia.html#MediaStream-ended
1610         When a MediaStream object is created, its ended attribute must be set to false,
1611         unless it is being created using the MediaStream() constructor whose arguments
1612         are lists of MediaStreamTrack objects that are all ended, in which case the
1613         MediaStream object must be created with its ended attribute set to true.
1614
1615         Test: fast/mediastream/MediaStreamConstructor.html
1616
1617         * platform/mediastream/MediaStreamDescriptor.h:
1618         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
1619
1620 2013-03-04  Alexander Pavlov  <apavlov@chromium.org>
1621
1622         Web Inspector: Adding new rules broken if a <style> tag is added to document dynamically
1623         https://bugs.webkit.org/show_bug.cgi?id=111299
1624
1625         Reviewed by Pavel Feldman.
1626
1627         The CSSStyleSheet instance should be retrieved directly from the HTMLStyleElement just created,
1628         not from the document.styleSheets list.
1629
1630         Test: inspector/styles/add-new-rule-with-style-after-body.html
1631
1632         * inspector/InspectorCSSAgent.cpp:
1633         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
1634
1635 2013-03-04  Ilya Tikhonovsky  <loislo@chromium.org>
1636
1637         Web Inspector: Unreviewed. Fix for closure type annotations.
1638
1639         * inspector/front-end/FlameChart.js:
1640
1641 2013-03-04  Kondapally Kalyan  <kalyan.kondapally@intel.com>
1642
1643         [EFL] Build fix when compiling with GLES2 support enabled.
1644         https://bugs.webkit.org/show_bug.cgi?id=111291
1645
1646         Reviewed by Kenneth Rohde Christiansen.
1647
1648         This patch fixes build issues when compiling with GLES2
1649         support. As part of the fix the patch removes Evas specific
1650         workaround of using GLX with EGL in PlatformContext as GLES2 
1651         is the main target with EGL.
1652
1653         * platform/graphics/OpenGLESShims.h:
1654         * platform/graphics/opengl/GLPlatformContext.cpp:
1655         (WebCore::GLCurrentContextWrapper::GLCurrentContextWrapper):
1656         * platform/graphics/texmap/TextureMapper.h:
1657
1658 2013-03-04  Ilya Tikhonovsky  <loislo@chromium.org>
1659
1660         Web Inspector: implement Flame Chart for CPU profiler.
1661         https://bugs.webkit.org/show_bug.cgi?id=111162
1662
1663         Reviewed by Yury Semikhatsky.
1664
1665         It is an initial implementation. The next step is to provide
1666         function names and other stats about the hovered item.
1667
1668         * WebCore.gypi:
1669         * WebCore.vcproj/WebCore.vcproj:
1670         * WebCore.vcxproj/WebCore.vcxproj:
1671         * WebCore.vcxproj/WebCore.vcxproj.filters:
1672         * inspector/compile-front-end.py:
1673         * inspector/front-end/CPUProfileView.js:
1674         (WebInspector.CPUProfileView.prototype._getCPUProfileCallback):
1675         * inspector/front-end/FlameChart.js: Added.
1676         (WebInspector.FlameChart):
1677         (WebInspector.FlameChart.prototype._onMouseMove):
1678         (WebInspector.FlameChart.prototype.findNodeCallback):
1679         (WebInspector.FlameChart.prototype._coordinatesToNode):
1680         (WebInspector.FlameChart.prototype.onResize):
1681         (WebInspector.FlameChart.prototype._rootNodes):
1682         (WebInspector.FlameChart.prototype.draw):
1683         (WebInspector.FlameChart.prototype._drawNode):
1684         (WebInspector.FlameChart.prototype._forEachNode):
1685         (WebInspector.FlameChart.prototype._drawBar):
1686         (WebInspector.FlameChart.prototype.update):
1687         * inspector/front-end/Settings.js:
1688         (WebInspector.ExperimentsSettings):
1689         * inspector/front-end/WebKit.qrc:
1690         * inspector/front-end/flameChart.css: Added.
1691         (.flame-chart):
1692
1693 2013-03-04  Marja Hölttä  <marja@chromium.org>
1694
1695         [V8] Add a "context type" parameter to GetTemplate and ConfigureV8SomethingTemplate functions
1696         https://bugs.webkit.org/show_bug.cgi?id=110875
1697
1698         The parameter will later be used for generating specialized V8
1699         bindings for the 3 different world types (main world, isolated
1700         work, worker).
1701
1702         Reviewed by Kentaro Hara.
1703
1704         No new tests (no changes in behavior yet).
1705
1706         * bindings/scripts/CodeGeneratorV8.pm:
1707         (GenerateHeader):
1708         (GenerateDomainSafeFunctionGetter):
1709         (GenerateDomainSafeFunctionSetter):
1710         (GenerateNormalAttrGetter):
1711         (GenerateNamedConstructor):
1712         (GenerateImplementation):
1713         * bindings/v8/DOMDataStore.cpp:
1714         (WebCore::DOMDataStore::DOMDataStore):
1715         * bindings/v8/DOMDataStore.h:
1716         (DOMDataStore):
1717         * bindings/v8/DOMWrapperWorld.cpp:
1718         (WebCore):
1719         (WebCore::DOMWrapperWorld::setInitializingWindow):
1720         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
1721         (WebCore::DOMWrapperWorld::contextHasCorrectPrototype):
1722         * bindings/v8/DOMWrapperWorld.h:
1723         (DOMWrapperWorld):
1724         (WebCore::DOMWrapperWorld::getWorld):
1725         * bindings/v8/Dictionary.cpp:
1726         (WebCore::Dictionary::get):
1727         * bindings/v8/PageScriptDebugServer.cpp:
1728         (WebCore::retrieveFrameWithGlobalObjectCheck):
1729         * bindings/v8/V8AdaptorFunction.cpp:
1730         (WebCore::V8AdaptorFunction::getTemplate):
1731         (WebCore::V8AdaptorFunction::wrap):
1732         * bindings/v8/V8AdaptorFunction.h:
1733         (V8AdaptorFunction):
1734         * bindings/v8/V8Binding.cpp:
1735         (WebCore::toDOMWindow):
1736         (WebCore::toScriptExecutionContext):
1737         (WebCore::worldType):
1738         (WebCore):
1739         (WebCore::worldTypeInMainThread):
1740         * bindings/v8/V8Binding.h:
1741         (WebCore):
1742         * bindings/v8/V8DOMWindowShell.cpp:
1743         (WebCore::V8DOMWindowShell::clearForNavigation):
1744         (WebCore::V8DOMWindowShell::installDOMWindow):
1745         * bindings/v8/V8DOMWrapper.cpp:
1746         (WebCore::V8DOMWrapper::createWrapper):
1747         * bindings/v8/V8Initializer.cpp:
1748         (WebCore::findFrame):
1749         * bindings/v8/V8PerContextData.cpp:
1750         (WebCore::V8PerContextData::constructorForTypeSlowCase):
1751         * bindings/v8/WorkerScriptController.cpp:
1752         (WebCore::WorkerScriptController::WorkerScriptController):
1753         (WebCore::WorkerScriptController::controllerForContext):
1754         * bindings/v8/WrapperTypeInfo.h:
1755         (WebCore::WrapperTypeInfo::getTemplate):
1756         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1757         (WebCore::V8DOMWindow::eventAttrGetterCustom):
1758         (WebCore::V8DOMWindow::eventAttrSetterCustom):
1759         (WebCore::V8DOMWindow::toStringMethodCustom):
1760         (WebCore::V8DOMWindow::namedSecurityCheck):
1761         (WebCore::V8DOMWindow::indexedSecurityCheck):
1762         (WebCore::toV8):
1763         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1764         (WebCore::V8HTMLDocument::wrapInShadowObject):
1765         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1766         (WebCore::V8HTMLImageElementConstructor::GetTemplate):
1767         * bindings/v8/custom/V8HTMLImageElementConstructor.h:
1768         (V8HTMLImageElementConstructor):
1769         * bindings/v8/custom/V8InjectedScriptManager.cpp:
1770         (WebCore::createInjectedScriptHostV8Wrapper):
1771         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
1772         * bindings/v8/custom/V8LocationCustom.cpp:
1773         (WebCore::V8Location::reloadAttrGetterCustom):
1774         (WebCore::V8Location::replaceAttrGetterCustom):
1775         (WebCore::V8Location::assignAttrGetterCustom):
1776         * bindings/v8/custom/V8MessageEventCustom.cpp:
1777         (WebCore::V8MessageEvent::initMessageEventMethodCustom):
1778
1779 2013-03-04  Andrey Lushnikov  <lushnikov@chromium.org>
1780
1781         Web Inspector: add Ace editor experiment
1782         https://bugs.webkit.org/show_bug.cgi?id=111191
1783
1784         Reviewed by Pavel Feldman.
1785
1786         No new tests.
1787
1788         Add Ace text editor experiment.
1789
1790         * WebCore.gypi:
1791         * inspector/front-end/AceTextEditor.js: Added.
1792         * inspector/front-end/Settings.js:
1793         (WebInspector.ExperimentsSettings):
1794         * inspector/front-end/SourceFrame.js:
1795         (WebInspector.SourceFrame):
1796         * inspector/front-end/ace/ace.js: Added.
1797         * inspector/front-end/ace/acedevtools.css: Added.
1798         * inspector/front-end/ace/mode_css.js: Added.
1799         * inspector/front-end/ace/mode_html.js: Added.
1800         * inspector/front-end/ace/mode_javascript.js: Added.
1801         * inspector/front-end/ace/theme_textmate.js: Added.
1802         * inspector/front-end/ace/LICENSE.txt: Added.
1803
1804 2013-03-04  Kunihiko Sakamoto  <ksakamoto@chromium.org>
1805
1806         Add build flag for FontLoader
1807         https://bugs.webkit.org/show_bug.cgi?id=111289
1808
1809         Reviewed by Benjamin Poulain.
1810
1811         Add ENABLE_FONT_LOAD_EVENTS build flag (disabled by default).
1812
1813         * Configurations/FeatureDefines.xcconfig:
1814
1815 2013-03-04  Mike West  <mkwst@chromium.org>
1816
1817         XSSAuditor should strip dangerous attributes from SMIL animation elements.
1818         https://bugs.webkit.org/show_bug.cgi?id=111071
1819
1820         Reviewed by Adam Barth.
1821
1822         SMIL animation elements can, amusingly enough, animate the 'href' of a
1823         link. This patch teaches XSSAuditor how to deal with the
1824         semicolon-separated 'animation[values]' attribute in order to ensure
1825         that it doesn't contain JavaScript URLs that could be animated into
1826         place for an unsuspecting user to click on.
1827
1828         Test: http/tests/security/xssAuditor/svg-animate.html
1829
1830         * html/parser/XSSAuditor.cpp:
1831         (WebCore::isSemicolonSeparatedAttribute): Added.
1832             This returns true if the given attribute is SVGNames::valuesAttr,
1833             but makes it possible to easily extend the list with additional
1834             attributes with this strange property.
1835         (WebCore::semicolonSeparatedValueContainsJavaScriptURL): Added.
1836             Given a semicolon-separated string, determine if it contains any
1837             JavaScript URLs.
1838         (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
1839             When looking for dangerousness, determine whether or not we should
1840             be comparing against each member of a semicolon-separated list.
1841
1842 2013-03-04  Arvid Nilsson  <anilsson@rim.com>
1843
1844         [BlackBerry] New files for BlackBerry::Platform::Graphics::GraphicsContext integration
1845         https://bugs.webkit.org/show_bug.cgi?id=111153
1846
1847         Reviewed by Rob Buis.
1848
1849         BlackBerry PR 293208
1850
1851         This patch contains contributions from many members of the BlackBerry
1852         WebKit team:
1853
1854         Rob Buis
1855         Robin Cao
1856         Eli Fidler
1857         Mike Lattanzio
1858         Yong Li
1859         Maxim Mogilnitsky
1860         Joshua Netterfield
1861         Arvid Nilsson
1862         Jakob Petsovits
1863         Konrad Piascik
1864         Jeff Rogers
1865         Artem Simonov
1866         Filip Spacek
1867         George Staikos
1868
1869         Covered by existing tests.
1870
1871         * platform/graphics/blackberry/FontBlackBerry.cpp: Added.
1872         (FSFixedToFloat):
1873         (FloatToFSFixed):
1874         (WebCore):
1875         (WebCore::Font::drawComplexText):
1876         (WebCore::Font::floatWidthForComplexText):
1877         (WebCore::Font::offsetForPositionForComplexText):
1878         (WebCore::Font::selectionRectForComplexText):
1879         (WebCore::Font::drawGlyphs):
1880         (WebCore::Font::canReturnFallbackFontsForComplexText):
1881         (WebCore::Font::drawEmphasisMarksForComplexText):
1882         (WebCore::Font::canExpandAroundIdeographsInComplexText):
1883         * platform/graphics/blackberry/FontCacheBlackBerry.cpp: Added.
1884         (WebCore):
1885         (WebCore::FontCache::platformInit):
1886         (WebCore::FontCache::getFontDataForCharacters):
1887         (WebCore::FontCache::getSimilarFontPlatformData):
1888         (WebCore::FontCache::getLastResortFallbackFont):
1889         (WebCore::FontCache::getTraitsInFamily):
1890         (WebCore::getFamilyNameStringFromFontDescriptionAndFamily):
1891         (WebCore::fontWeightToFontconfigWeight):
1892         (WebCore::FontCache::createFontPlatformData):
1893         * platform/graphics/blackberry/FontCustomPlatformData.h: Added.
1894         (WebCore):
1895         (FontCustomPlatformData):
1896         * platform/graphics/blackberry/FontCustomPlatformDataBlackBerry.cpp: Added.
1897         (WebCore):
1898         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
1899         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
1900         (WebCore::FontCustomPlatformData::fontPlatformData):
1901         (WebCore::FontCustomPlatformData::supportsFormat):
1902         (WebCore::createFontCustomPlatformData):
1903         * platform/graphics/blackberry/FontPlatformDataBlackBerry.cpp: Added.
1904         (WebCore):
1905         (WebCore::FontPlatformData::FontPlatformData):
1906         (WebCore::FontPlatformData::~FontPlatformData):
1907         (WebCore::FontPlatformData::name):
1908         (WebCore::FontPlatformData::applyState):
1909         (WebCore::FontPlatformData::platformDataInit):
1910         (WebCore::FontPlatformData::platformDataAssign):
1911         (WebCore::FontPlatformData::platformIsEqual):
1912         (WebCore::FontPlatformData::description):
1913         (WebCore::FontPlatformData::harfbuzzFace):
1914         (WebCore::FontPlatformData::scaledFont):
1915         (WebCore::FontPlatformData::setFakeBold):
1916         (WebCore::FontPlatformData::setFakeItalic):
1917         (WebCore::FontPlatformData::platformFontHandle):
1918         (WebCore::FontPlatformData::isFixedPitch):
1919         * platform/graphics/blackberry/GlyphPageTreeNodeBlackBerry.cpp: Added.
1920         (WebCore):
1921         (WorldTypeScopedPtr):
1922         (WebCore::WorldTypeScopedPtr::WorldTypeScopedPtr):
1923         (WebCore::WorldTypeScopedPtr::~WorldTypeScopedPtr):
1924         (WebCore::WorldTypeScopedPtr::get):
1925         (WebCore::GlyphPage::fill):
1926         * platform/graphics/blackberry/GradientBlackBerry.cpp: Added.
1927         (WebCore):
1928         (WebCore::totalStopsNeeded):
1929         (WebCore::fillStops):
1930         (WebCore::Gradient::platformGradient):
1931         (WebCore::Gradient::platformDestroy):
1932         (WebCore::Gradient::fill):
1933         (WebCore::Gradient::setPlatformGradientSpaceTransform):
1934         * platform/graphics/blackberry/GraphicsContextBlackBerry.cpp: Added.
1935         (WebCore):
1936         (GraphicsContextPlatformPrivate):
1937         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1938         (WebCore::GraphicsContext::platformInit):
1939         (WebCore::GraphicsContext::platformDestroy):
1940         (WebCore::GraphicsContext::platformContext):
1941         (WebCore::GraphicsContext::savePlatformState):
1942         (WebCore::GraphicsContext::restorePlatformState):
1943         (WebCore::GraphicsContext::setIsAcceleratedContext):
1944         (WebCore::GraphicsContext::isAcceleratedContext):
1945         (WebCore::GraphicsContext::getCTM):
1946         (WebCore::GraphicsContext::concatCTM):
1947         (WebCore::GraphicsContext::setCTM):
1948         (WebCore::GraphicsContext::scale):
1949         (WebCore::GraphicsContext::rotate):
1950         (WebCore::GraphicsContext::translate):
1951         (WebCore::GraphicsContext::drawEllipse):
1952         (WebCore::GraphicsContext::strokeArc):
1953         (WebCore::GraphicsContext::drawConvexPolygon):
1954         (WebCore::GraphicsContext::drawRect):
1955         (WebCore::GraphicsContext::fillRect):
1956         (WebCore::GraphicsContext::clearRect):
1957         (WebCore::GraphicsContext::strokeRect):
1958         (WebCore::GraphicsContext::fillRoundedRect):
1959         (WebCore::GraphicsContext::roundToDevicePixels):
1960         (WebCore::GraphicsContext::setPlatformShadow):
1961         (WebCore::GraphicsContext::clearPlatformShadow):
1962         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
1963         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
1964         (WebCore::GraphicsContext::supportsTransparencyLayers):
1965         (WebCore::GraphicsContext::setLineCap):
1966         (WebCore::GraphicsContext::setLineDash):
1967         (WebCore::GraphicsContext::setLineJoin):
1968         (WebCore::GraphicsContext::setMiterLimit):
1969         (WebCore::GraphicsContext::setAlpha):
1970         (WebCore::GraphicsContext::clip):
1971         (WebCore::GraphicsContext::clipOut):
1972         (WebCore::GraphicsContext::clipConvexPolygon):
1973         (WebCore::GraphicsContext::addRoundedRectClip):
1974         (WebCore::GraphicsContext::clipOutRoundedRect):
1975         (WebCore::GraphicsContext::clipBounds):
1976         (WebCore::GraphicsContext::addInnerRoundedRectClip):
1977         (WebCore::GraphicsContext::setURLForRect):
1978         (WebCore::GraphicsContext::setPlatformTextDrawingMode):
1979         (WebCore::GraphicsContext::setPlatformStrokeColor):
1980         (WebCore::GraphicsContext::setPlatformStrokeStyle):
1981         (WebCore::GraphicsContext::setPlatformStrokeThickness):
1982         (WebCore::GraphicsContext::setPlatformFillColor):
1983         (WebCore::GraphicsContext::setPlatformCompositeOperation):
1984         (WebCore::GraphicsContext::setPlatformShouldAntialias):
1985         (WebCore::GraphicsContext::setImageInterpolationQuality):
1986         (WebCore::GraphicsContext::imageInterpolationQuality):
1987         * platform/graphics/blackberry/ITypeUtils.h: Added.
1988         (floatToITypeFixed):
1989         (intToITypeFixed):
1990         (iTypeFixedToFloat):
1991         * platform/graphics/blackberry/ImageBufferBlackBerry.cpp: Added.
1992         (WebCore):
1993         (WebCore::makeBufferCurrent):
1994         (WebCore::getImageDataInternal):
1995         (WebCore::ImageBufferData::getImageData):
1996         (WebCore::flushAndDraw):
1997         (WebCore::ImageBufferData::draw):
1998         (WebCore::ImageBuffer::ImageBuffer):
1999         (WebCore::ImageBuffer::~ImageBuffer):
2000         (WebCore::ImageBuffer::context):
2001         (WebCore::ImageBuffer::platformLayer):
2002         (WebCore::ImageBuffer::copyImage):
2003         (WebCore::ImageBuffer::clip):
2004         (WebCore::ImageBuffer::draw):
2005         (WebCore::ImageBuffer::drawPattern):
2006         (WebCore::ImageBuffer::platformTransformColorSpace):
2007         (WebCore::ImageBuffer::getUnmultipliedImageData):
2008         (WebCore::ImageBuffer::getPremultipliedImageData):
2009         (WebCore::ImageBuffer::putByteArray):
2010         (WebCore::ImageBuffer::toDataURL):
2011         * platform/graphics/blackberry/ImageBufferDataBlackBerry.h: Added.
2012         (WebCore):
2013         (ImageBufferData):
2014         * platform/graphics/blackberry/PathBlackBerry.cpp: Added.
2015         (WebCore):
2016         (WebCore::scratchContext):
2017         (WebCore::Path::Path):
2018         (WebCore::Path::~Path):
2019         (WebCore::Path::operator=):
2020         (WebCore::Path::currentPoint):
2021         (WebCore::Path::contains):
2022         (WebCore::Path::strokeContains):
2023         (WebCore::Path::translate):
2024         (WebCore::Path::boundingRect):
2025         (WebCore::Path::strokeBoundingRect):
2026         (WebCore::Path::moveTo):
2027         (WebCore::Path::addLineTo):
2028         (WebCore::Path::addQuadCurveTo):
2029         (WebCore::Path::addBezierCurveTo):
2030         (WebCore::Path::addArcTo):
2031         (WebCore::Path::closeSubpath):
2032         (WebCore::Path::addArc):
2033         (WebCore::Path::addRect):
2034         (WebCore::Path::addEllipse):
2035         (WebCore::Path::platformAddPathForRoundedRect):
2036         (WebCore::Path::clear):
2037         (WebCore::Path::isEmpty):
2038         (WebCore::Path::hasCurrentPoint):
2039         (WebCore::Path::apply):
2040         (WebCore::Path::transform):
2041         (WebCore::GraphicsContext::fillPath):
2042         (WebCore::GraphicsContext::strokePath):
2043         (WebCore::GraphicsContext::drawFocusRing):
2044         (WebCore::GraphicsContext::drawLine):
2045         (WebCore::GraphicsContext::drawLineForDocumentMarker):
2046         (WebCore::GraphicsContext::drawLineForText):
2047         (WebCore::GraphicsContext::clip):
2048         (WebCore::GraphicsContext::clipPath):
2049         (WebCore::GraphicsContext::canvasClip):
2050         (WebCore::GraphicsContext::clipOut):
2051         * platform/graphics/blackberry/PatternBlackBerry.cpp: Added.
2052         (WebCore):
2053         (WebCore::Pattern::platformDestroy):
2054         (WebCore::Pattern::platformPattern):
2055         (WebCore::Pattern::setPlatformPatternSpaceTransform):
2056         * platform/graphics/blackberry/PlatformSupport.cpp: Added.
2057         (WebCore):
2058         (WebCore::PlatformSupport::getFontFamilyForCharacters):
2059         * platform/graphics/blackberry/PlatformSupport.h: Added.
2060         (WebCore):
2061         (PlatformSupport):
2062         (FontFamily):
2063         * platform/graphics/blackberry/SimpleFontDataBlackBerry.cpp: Added.
2064         (WebCore):
2065         (WebCore::FSFixedToFloat):
2066         (WebCore::SimpleFontData::platformInit):
2067         (WebCore::SimpleFontData::platformCharWidthInit):
2068         (WebCore::SimpleFontData::platformDestroy):
2069         (WebCore::SimpleFontData::createScaledFontData):
2070         (WebCore::SimpleFontData::smallCapsFontData):
2071         (WebCore::SimpleFontData::emphasisMarkFontData):
2072         (WebCore::SimpleFontData::containsCharacters):
2073         (WebCore::SimpleFontData::determinePitch):
2074         (WebCore::SimpleFontData::platformBoundsForGlyph):
2075         (WebCore::SimpleFontData::platformWidthForGlyph):
2076         (WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
2077
2078 2013-03-04  Adam Bergkvist  <adam.bergkvist@ericsson.com>
2079
2080         MediaStream API: local addTrack() and removeTrack() operations should not fire events.
2081         https://bugs.webkit.org/show_bug.cgi?id=111079
2082
2083         Reviewed by Adam Barth.
2084
2085         Removed the scheduling of "addtrack" and "removetrack" events by
2086         addTrack and removeTrack(). Replaced the test since the old test was
2087         driven by the event firing removed by this patch.
2088
2089         Test: fast/mediastream/MediaStream-add-remove-tracks.html
2090
2091         * Modules/mediastream/MediaStream.cpp:
2092         (WebCore::MediaStream::addTrack):
2093         (WebCore::MediaStream::removeTrack):
2094
2095 2013-03-04  Alexander Pavlov  <apavlov@chromium.org>
2096
2097         Web Inspector: touchmove not emulated inside iframe
2098         https://bugs.webkit.org/show_bug.cgi?id=111292
2099
2100         Reviewed by Vsevolod Vlasov.
2101
2102         Move fake touch event dispatching from mouseMoved() into handleMouseMoveEvent()
2103         and bail out earlier from dispatchSyntheticTouchEventIfEnabled() when the event
2104         should be dispatched on a subframe.
2105
2106         * page/EventHandler.cpp:
2107         (WebCore::EventHandler::mouseMoved):
2108         (WebCore::EventHandler::handleMouseMoveEvent):
2109         (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
2110
2111 2013-03-04  Mike West  <mkwst@chromium.org>
2112
2113         Long URLs in error messages should be shortened
2114         https://bugs.webkit.org/show_bug.cgi?id=111133
2115
2116         Reviewed by Jochen Eisinger.
2117
2118         When generating console messages, we're often copying the page's URL
2119         in order to add detail about where the error occurred. Generally, this
2120         is fine, but in edge cases (multi-meg 'data:' URLs), we're using far
2121         more memory than we should, and impacting performance.
2122
2123         This patch adds an 'elidedString()' method to KURL for use in this
2124         sort of case; when generating console messages, we should insert the
2125         elided URL rather than the full URL.
2126
2127         This shouldn't change any visible behavior; we're already visually
2128         eliding URLs in console messages for URLs above 150 characters. This
2129         patch simply changes the underlying string to ensure that no URL is
2130         over 1k in length to begin with.
2131
2132         * platform/KURL.cpp:
2133         (WebCore::KURL::elidedString): Added.
2134         * platform/KURL.h:
2135             An exciting new method that gives you the same result as string()
2136             for URLs less than 1k long, and elides the middle of URLs longer
2137             than 1k by replacing everything but the first and last 0.5k with
2138             "...".
2139         * bindings/ScriptControllerBase.cpp:
2140         (WebCore::ScriptController::canExecuteScripts):
2141         * Modules/websockets/WebSocket.cpp:
2142         (WebCore::WebSocket::connect):
2143         (WebCore::WebSocket::send):
2144         * Modules/websockets/WebSocketChannel.cpp:
2145         (WebCore::WebSocketChannel::send):
2146         (WebCore::WebSocketChannel::fail):
2147         * bindings/ScriptControllerBase.cpp:
2148         (WebCore::ScriptController::canExecuteScripts):
2149         * dom/Document.cpp:
2150         (WebCore::Document::processHttpEquiv):
2151         * dom/ScriptElement.cpp:
2152         (WebCore::ScriptElement::executeScript):
2153         * html/HTMLMediaElement.cpp:
2154         (WebCore::HTMLMediaElement::canPlayType):
2155         (WebCore::HTMLMediaElement::isSafeToLoadURL):
2156         * loader/FrameLoader.cpp:
2157         (WebCore::FrameLoader::submitForm):
2158         (WebCore::FrameLoader::loadFrameRequest):
2159         (WebCore::FrameLoader::commitProvisionalLoad):
2160         (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
2161         (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
2162         (WebCore::createWindow):
2163         * loader/MainResourceLoader.cpp:
2164         (WebCore::MainResourceLoader::willSendRequest):
2165         (WebCore::MainResourceLoader::responseReceived):
2166         * loader/appcache/ApplicationCacheGroup.cpp:
2167         (WebCore::ApplicationCacheGroup::didReceiveResponse):
2168         (WebCore::ApplicationCacheGroup::didFail):
2169         * loader/cache/CachedResourceLoader.cpp:
2170         (WebCore::CachedResourceLoader::canRequest):
2171         (WebCore::CachedResourceLoader::requestResource):
2172         (WebCore::CachedResourceLoader::loadResource):
2173         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
2174         * page/ContentSecurityPolicy.cpp:
2175         (WebCore::CSPDirectiveList::checkSourceAndReportViolation):
2176         (WebCore::CSPDirectiveList::allowScriptNonce):
2177         (WebCore::CSPDirectiveList::allowPluginType):
2178             Use 'KURL::elidedString()' rather than 'KURL::string()'
2179         * loader/MixedContentChecker.cpp:
2180         (WebCore::MixedContentChecker::logWarning):
2181             Here, we're doing the same as above, but it enables us to throw
2182             away the asUTF8() function entirely by switching to makeString
2183             rather than String::format.
2184
2185 2013-03-04  Andrey Lushnikov  <lushnikov@chromium.org>
2186
2187         Web Inspector: add runtime flag to determine if inspector's source files were flattened.
2188         https://bugs.webkit.org/show_bug.cgi?id=111184
2189
2190         Reviewed by Pavel Feldman.
2191
2192         - Add a file "buildSystemOnly.js" which will be included into
2193         devtools.html only by GYP build system. This script sets a single flag
2194         which essentially means that inspector source files were run
2195         through a build system and flattened.
2196         - Update "importScript" and "registerRequiredCSS" functions to correct
2197         paths according to the "flattenImports" flag.
2198
2199         No new tests: no change in behaviour.
2200
2201         * WebCore.gypi:
2202         * inspector/front-end/CodeMirrorTextEditor.js:
2203         (WebInspector.CodeMirrorTextEditor):
2204         * inspector/front-end/View.js:
2205         (WebInspector.View.prototype.registerRequiredCSS):
2206         * inspector/front-end/buildSystemOnly.js: Added.
2207         * inspector/front-end/utilities.js:
2208
2209 2013-03-04  Vsevolod Vlasov  <vsevik@chromium.org>
2210
2211         Web Inspector: Fix front-end compilation
2212         https://bugs.webkit.org/show_bug.cgi?id=111286
2213
2214         Reviewed by Alexander Pavlov.
2215
2216         * inspector/InjectedScriptSource.js:
2217         * inspector/front-end/FileSystemProjectDelegate.js:
2218         * inspector/front-end/NavigatorView.js:
2219         (WebInspector.NavigatorView.prototype.removeUISourceCode):
2220         (WebInspector.NavigatorTreeNode.prototype.reset):
2221         (WebInspector.NavigatorFolderTreeNode.prototype.didAddChild):
2222
2223 2013-03-03  Kondapally Kalyan  <kalyan.kondapally@intel.com>
2224
2225         [EFL][WebGL] Add proper checks to enable GraphicsSurface usage on EGL without XCompositeWindow.
2226         https://bugs.webkit.org/show_bug.cgi?id=108034
2227
2228         Reviewed by Laszlo Gombos.
2229
2230         Covered by existing WebGL tests.
2231
2232         Currently, we set GRAPHICS_SURFACE to true if support for XCompositeWindow
2233         is identified during compile time. This is ok, when using GLX. We might not
2234         have support for XCompositeWindow when using EGL and GLES2.0. This patch
2235         makes changes so that GRAPHICS_SURFACE is always enabled with EGL and adds
2236         GLX guard to the parts of code dependent on XCompositeWindow support.
2237
2238         * platform/graphics/opengl/GLPlatformSurface.cpp:
2239         * platform/graphics/surfaces/glx/GLXConfigSelector.h:
2240         (WebCore::GLXConfigSelector::findMatchingConfig):
2241         * platform/graphics/surfaces/glx/X11Helper.cpp:
2242         (WebCore::X11Helper::createOffScreenWindow):
2243         (WebCore::X11Helper::isXRenderExtensionSupported):
2244         * platform/graphics/surfaces/glx/X11Helper.h:
2245
2246 2013-03-03  Alexander Pavlov  <apavlov@chromium.org>
2247
2248         Web Inspector: [PageAgent] can't find frame by security origin.
2249         https://bugs.webkit.org/show_bug.cgi?id=110849
2250
2251         Use toRawString() in order to compare Frames' SecurityOrigins for storage-related goals.
2252
2253         Reviewed by Vsevolod Vlasov.
2254
2255         * inspector/InspectorPageAgent.cpp:
2256         (WebCore::InspectorPageAgent::findFrameWithSecurityOrigin):
2257
2258 2013-03-03  Alexander Pavlov  <apavlov@chromium.org>
2259
2260         Unreviewed, rolling out r144455.
2261         http://trac.webkit.org/changeset/144455
2262         https://bugs.webkit.org/show_bug.cgi?id=111165
2263
2264         A simpler solution to the SecurityOrigin -> localStorage
2265         lookup exists
2266
2267         * inspector/front-end/DOMStorage.js:
2268         (WebInspector.DOMStorage.storageId):
2269         (WebInspector.DOMStorage.prototype.get id):
2270         (WebInspector.DOMStorage.prototype.getItems):
2271         (WebInspector.DOMStorage.prototype.setItem):
2272         (WebInspector.DOMStorage.prototype.removeItem):
2273         (WebInspector.DOMStorageModel.prototype._securityOriginAdded):
2274         (WebInspector.DOMStorageModel.prototype._securityOriginRemoved):
2275         (WebInspector.DOMStorageModel.prototype._storageKey):
2276         * inspector/front-end/ExtensionAuditCategory.js:
2277         * inspector/front-end/FileSystemModel.js:
2278         (WebInspector.FileSystemModel.prototype._reset):
2279         (WebInspector.FileSystemModel.prototype._securityOriginAdded):
2280         (WebInspector.FileSystemModel.prototype._securityOriginRemoved):
2281         (WebInspector.FileSystemModel.prototype._addOrigin):
2282         (WebInspector.FileSystemModel.prototype._removeOrigin):
2283         (WebInspector.FileSystemModel.prototype._requestFileSystemRoot):
2284         (WebInspector.FileSystemModel.prototype._fileSystemRootReceived):
2285         (WebInspector.FileSystemModel.prototype._removeFileSystem):
2286         (WebInspector.FileSystemModel.FileSystem.prototype.get name):
2287         * inspector/front-end/IndexedDBModel.js:
2288         (WebInspector.IndexedDBModel.prototype._reset):
2289         (WebInspector.IndexedDBModel.prototype.refreshDatabaseNames):
2290         (WebInspector.IndexedDBModel.prototype._securityOriginAdded):
2291         (WebInspector.IndexedDBModel.prototype._securityOriginRemoved):
2292         (WebInspector.IndexedDBModel.prototype._addOrigin):
2293         (WebInspector.IndexedDBModel.prototype._removeOrigin):
2294         (WebInspector.IndexedDBModel.prototype._updateOriginDatabaseNames):
2295         (WebInspector.IndexedDBModel.prototype._loadDatabaseNames):
2296         (WebInspector.IndexedDBModel.prototype._loadDatabase):
2297         (WebInspector.IndexedDBModel.prototype.):
2298         (WebInspector.IndexedDBModel.prototype._requestData):
2299         (WebInspector.IndexedDBModel.DatabaseId.prototype.equals):
2300         * inspector/front-end/IndexedDBViews.js:
2301         (WebInspector.IDBDatabaseView.prototype._refreshDatabase):
2302         * inspector/front-end/ResourceTreeModel.js:
2303         (WebInspector.ResourceTreeModel):
2304         (WebInspector.ResourceTreeModel.prototype._addFrame):
2305         (WebInspector.ResourceTreeModel.prototype._addSecurityOrigin):
2306         (WebInspector.ResourceTreeModel.prototype._removeSecurityOrigin):
2307         (WebInspector.ResourceTreeModel.prototype.securityOrigins):
2308         (WebInspector.ResourceTreeModel.prototype._handleMainFrameDetached):
2309         (WebInspector.ResourceTreeModel.prototype._frameNavigated):
2310         (WebInspector.ResourceTreeModel.prototype._frameDetached):
2311         (WebInspector.ResourceTreeFrame):
2312         (WebInspector.ResourceTreeFrame.prototype._navigate):
2313         * inspector/front-end/ResourcesPanel.js:
2314         (WebInspector.IDBDatabaseTreeElement):
2315         (WebInspector.IDBDatabaseTreeElement.prototype.get itemURL):
2316         (WebInspector.IDBObjectStoreTreeElement.prototype.get itemURL):
2317         (WebInspector.IDBIndexTreeElement.prototype.get itemURL):
2318         (WebInspector.DOMStorageTreeElement):
2319         (WebInspector.DOMStorageTreeElement.prototype.get itemURL):
2320         (WebInspector.FileSystemTreeElement):
2321
2322 2013-03-01  Vsevolod Vlasov  <vsevik@chromium.org>
2323
2324         Web Inspector: Let user know when file system based uiSourceCode was changed on disk.
2325         https://bugs.webkit.org/show_bug.cgi?id=110133
2326
2327         Reviewed by Pavel Feldman.
2328
2329         We now check if file system based uiSourceCode content was updated externally when 
2330         UISourceCodeFrame is shown or inspector window is focused.
2331         If there is no working copy being edited right now we replace old content with the new one silently.
2332         Otherwise ask user if he wants to replace his working copy with the new content.
2333
2334         * English.lproj/localizedStrings.js:
2335         * WebCore.vcproj/WebCore.vcproj:
2336         * inspector/front-end/DefaultTextEditor.js:
2337         (WebInspector.DefaultTextEditor.prototype.editRange):
2338         * inspector/front-end/FileSystemProjectDelegate.js:
2339         (WebInspector.FileSystemProjectDelegate.prototype.innerCallback):
2340         (WebInspector.FileSystemProjectDelegate.prototype.requestFileContent):
2341         (WebInspector.FileSystemProjectDelegate.prototype._contentRequestFinished):
2342         (WebInspector.FileSystemProjectDelegate.prototype.requestUpdatedFileContent):
2343         (WebInspector.FileSystemProjectDelegate.prototype.contentCallback):
2344         (WebInspector.FileSystemProjectDelegate.prototype.searchInFileContent):
2345         * inspector/front-end/JavaScriptSourceFrame.js:
2346         (WebInspector.JavaScriptSourceFrame.prototype.wasShown):
2347         (WebInspector.JavaScriptSourceFrame.prototype.willHide):
2348         * inspector/front-end/SimpleWorkspaceProvider.js:
2349         (WebInspector.SimpleProjectDelegate.prototype.requestUpdatedFileContent):
2350         * inspector/front-end/SourceFrame.js:
2351         (WebInspector.SourceFrame.prototype.setContent):
2352         * inspector/front-end/UISourceCode.js:
2353         (WebInspector.UISourceCode.prototype.checkContentUpdated.updatedContentLoaded):
2354         (WebInspector.UISourceCode.prototype.checkContentUpdated):
2355         * inspector/front-end/UISourceCodeFrame.js:
2356         (WebInspector.UISourceCodeFrame.prototype.wasShown):
2357         (WebInspector.UISourceCodeFrame.prototype.willHide):
2358         (WebInspector.UISourceCodeFrame.prototype._windowFocused):
2359         (WebInspector.UISourceCodeFrame.prototype._checkContentUpdated):
2360         * inspector/front-end/Workspace.js:
2361         (WebInspector.ProjectDelegate.prototype.requestUpdatedFileContent):
2362         (WebInspector.Project.prototype.requestUpdatedFileContent):
2363
2364 2013-03-03  Arpita Bahuguna  <a.bah@samsung.com>
2365
2366         createAttribute/setAttributeNode does not properly normalize case
2367         https://bugs.webkit.org/show_bug.cgi?id=90341
2368
2369         Reviewed by Darin Adler.
2370
2371         setAttributeNode() verifies for existing attributes in a case sensitive
2372         manner. Thus, it would add another attribute if specified in a case
2373         different from the existing one. Instead, like setAttribute(), it too
2374         should modify the existing attribute's value.
2375
2376         Test: fast/dom/Element/setAttributeNode-case-insensitivity.html
2377
2378         * dom/Element.cpp:
2379         (WebCore::Element::setAttributeNode):
2380         Made changes to check for an existing attribute by converting the
2381         specified attribute's localName to lowercase.
2382
2383 2013-03-03  Kentaro Hara  <haraken@chromium.org>
2384
2385         Unreviewed. Rebaselined run-bindings-tests.
2386
2387         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2388         (WebCore::TestActiveDOMObjectV8Internal::indexedSecurityCheck):
2389         (TestActiveDOMObjectV8Internal):
2390         (WebCore::TestActiveDOMObjectV8Internal::namedSecurityCheck):
2391         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
2392         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
2393         (V8TestActiveDOMObject):
2394
2395 2013-03-03  Kentaro Hara  <haraken@chromium.org>
2396
2397         Unreviewed build fix after r144590.
2398
2399         * bindings/scripts/CodeGeneratorV8.pm:
2400         (GenerateSecurityCheckFunctions):
2401
2402 2013-03-03  Kentaro Hara  <haraken@chromium.org>
2403
2404         Unreviewed build fix after r144587.
2405
2406         * bindings/v8/V8Binding.cpp:
2407         (WebCore::toV8Context):
2408         * bindings/v8/V8MutationCallback.cpp:
2409         (WebCore::V8MutationCallback::V8MutationCallback):
2410
2411 2013-03-01  Kentaro Hara  <haraken@chromium.org>
2412
2413         [V8] HTMLDocument.all should have [Replaceable]
2414         https://bugs.webkit.org/show_bug.cgi?id=111230
2415
2416         Reviewed by Adam Barth.
2417
2418         (Although HTMLDocument.all is already removed from the spec,)
2419         it is expected to behave as a [Replaceable] attribute. By adding
2420         a [Replaceable] IDL attribute, we can remove custom implementation
2421         of HTMLDocument.all.
2422
2423         I confimed that exactly the same code is generated for .all getter
2424         and setter.
2425
2426         No tests. No change in behavior.
2427
2428         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2429         * html/HTMLDocument.idl:
2430
2431 2013-03-01  Kentaro Hara  <haraken@chromium.org>
2432
2433         [V8] indexedSecurityCheck() and namedSecurityCheck() should be auto-generated
2434         https://bugs.webkit.org/show_bug.cgi?id=111225
2435
2436         Reviewed by Adam Barth.
2437
2438         indexedSecurityCheck() and namedSecurityCheck() should be auto-generated,
2439         except for DOMWindow's ones.
2440
2441         No tests. No change in behavior.
2442
2443         * bindings/scripts/CodeGeneratorV8.pm:
2444         (GenerateHeader):
2445         (GenerateImplementation):
2446         (GenerateSecurityCheckFunctions):
2447         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2448         (WebCore::V8DOMWindow::namedSecurityCheckCustom):
2449         (WebCore::V8DOMWindow::indexedSecurityCheckCustom):
2450         * bindings/v8/custom/V8HistoryCustom.cpp:
2451         * bindings/v8/custom/V8LocationCustom.cpp:
2452
2453 2013-03-01  Kentaro Hara  <haraken@chromium.org>
2454
2455         [V8] Rename $implContentDecls to $implContentInternals in CodeGeneratorV8.pm
2456         https://bugs.webkit.org/show_bug.cgi?id=111214
2457
2458         Reviewed by Adam Barth.
2459
2460         $implContentDecls stores generated code that is put in a namespace 'XXXV8Internal'.
2461         For clarification, it should be renamed to $implContentInternals.
2462
2463         No tests. No change in behavior.
2464
2465         * bindings/scripts/CodeGeneratorV8.pm:
2466         (GenerateDomainSafeFunctionGetter):
2467         (GenerateDomainSafeFunctionSetter):
2468         (GenerateConstructorGetter):
2469         (GenerateNormalAttrGetterCallback):
2470         (GenerateNormalAttrGetter):
2471         (GenerateReplaceableAttrSetterCallback):
2472         (GenerateReplaceableAttrSetter):
2473         (GenerateNormalAttrSetterCallback):
2474         (GenerateNormalAttrSetter):
2475         (GenerateOverloadedFunction):
2476         (GenerateFunctionCallback):
2477         (GenerateFunction):
2478         (GenerateOverloadedConstructorCallback):
2479         (GenerateSingleConstructorCallback):
2480         (GenerateEventConstructor):
2481         (GenerateTypedArrayConstructor):
2482         (GenerateImplementation):
2483         (WriteData):
2484
2485 2013-03-01  Kentaro Hara  <haraken@chromium.org>
2486
2487         [V8] Rename getWorld() to isolatedWorld(), and getWorldForEnteredContext() to isolatedWorldForEnteredContext()
2488         https://bugs.webkit.org/show_bug.cgi?id=111212
2489
2490         Reviewed by Adam Barth.
2491
2492         The rename I did in r142424 was wrong. Given that getWorld() returns 0
2493         for the main world, it should be named isolatedWorld(). Similarly,
2494         given that getWorldForEnteredContext() returns 0 for the main world,
2495         it should be named isolatedWorldForEnteredContext().
2496
2497         No tests. No change in behavior.
2498
2499         * bindings/v8/CustomElementHelpers.cpp:
2500         (WebCore::CustomElementHelpers::isFeatureAllowed):
2501         * bindings/v8/DOMDataStore.cpp:
2502         (WebCore::DOMDataStore::current):
2503         * bindings/v8/DOMWrapperWorld.cpp:
2504         (WebCore::DOMWrapperWorld::makeContextWeak):
2505         * bindings/v8/DOMWrapperWorld.h:
2506         (WebCore::DOMWrapperWorld::isolatedWorld):
2507         * bindings/v8/ScriptController.cpp:
2508         (WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
2509         (WebCore::ScriptController::currentWorldContext):
2510         * bindings/v8/V8Binding.h:
2511         (WebCore::isolatedWorldForEnteredContext):
2512         * bindings/v8/WorldContextHandle.cpp:
2513         (WebCore::WorldContextHandle::WorldContextHandle):
2514         * bindings/v8/custom/V8DocumentCustom.cpp:
2515         (WebCore::wrap):
2516         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2517         (WebCore::wrap):
2518         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
2519         (WebCore::wrap):
2520         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2521         (WebCore::V8XMLHttpRequest::constructorCustom):
2522
2523 2013-03-01  Kentaro Hara  <haraken@chromium.org>
2524
2525         [V8] Move HTMLDocument::getNamedProperty() to DOMWindowShell
2526         https://bugs.webkit.org/show_bug.cgi?id=111223
2527
2528         Reviewed by Adam Barth.
2529
2530         HTMLDocument::getNamedProperty() is used by DOMWindowShell.
2531         It can be a static method in DOMWindowShell.
2532
2533         No tests. No change in behavior.
2534
2535         * bindings/scripts/CodeGeneratorV8.pm:
2536         (GenerateHeader):
2537         * bindings/v8/V8DOMWindowShell.cpp:
2538         (WebCore::getNamedProperty):
2539         (WebCore):
2540         (WebCore::getter):
2541         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2542
2543 2013-03-03  Dan Bernstein  <mitz@apple.com>
2544
2545         Build fix after r144565. Reverted r144533.
2546
2547         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
2548
2549 2013-03-03  Adam Barth  <abarth@webkit.org>
2550
2551         Attempt to fix the Qt build after r144498
2552         https://bugs.webkit.org/show_bug.cgi?id=111272
2553
2554         Reviewed by Eric Seidel.
2555
2556         Update the Qt version of the XML parser to call the new API.
2557
2558         * xml/parser/XMLDocumentParserQt.cpp:
2559         (WebCore::XMLDocumentParser::resumeParsing):
2560         (WebCore::XMLDocumentParser::appendFragmentSource):
2561
2562 2013-03-03  Dean Jackson  <dino@apple.com>
2563
2564         Plug-ins that are appropriately large w.r.t page size should autostart
2565         https://bugs.webkit.org/show_bug.cgi?id=111242
2566
2567         Reviewed by Brady Eidson.
2568
2569         A "full-page" plug-in site should never snapshot. The trick is
2570         how to determine what is full-page. This change implements the
2571         following algorithm.
2572
2573         - The plug-in is in the main frame (not an iframe).
2574         - The plug-in is sized with width and height 100%.
2575         - The displayed area of the plug-in is more than 96% of the viewport area.
2576
2577         This is definitely not foolproof. For example, zombo.com has a slight
2578         border around its plug-in. As the window size gets smaller, the body margin
2579         takes up more than 5% of the width or height, and the plug-in doesn't pass
2580         the tests above.
2581
2582         * html/HTMLPlugInImageElement.cpp:
2583         (WebCore): New static constant: sizingFullPageThresholdPercentage
2584         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Implements
2585             the rules described above.
2586
2587 2013-03-03  Ryosuke Niwa  <rniwa@webkit.org>
2588
2589         [Win] IDLParser.pm fails to parse OESTextureHalfFloat and causes a build failure
2590         https://bugs.webkit.org/show_bug.cgi?id=111267
2591
2592         Reviewed by Kentaro Hara.
2593
2594         Allow empty definitions.
2595
2596         * bindings/scripts/IDLParser.pm:
2597         (Parse):
2598
2599 2013-03-03  David Kilzer  <ddkilzer@apple.com>
2600
2601         BUILD FIX: RenderLayerFilterInfo.h needs to include Element.h with ENABLE(SVG)
2602
2603         Fixes the following build failures:
2604
2605             In file included from Source/WebCore/rendering/RenderLayerFilterInfo.cpp:33:
2606             Source/WebCore/rendering/RenderLayerFilterInfo.h:118:19: error: use of undeclared identifier 'Element'
2607                 Vector<RefPtr<Element> > m_internalSVGReferences;
2608                               ^
2609             Source/WebCore/rendering/RenderLayerFilterInfo.h:118:28: error: expected a type
2610                 Vector<RefPtr<Element> > m_internalSVGReferences;
2611                                        ^
2612             Source/WebCore/rendering/RenderLayerFilterInfo.h:118:30: error: private field 'm_internalSVGReferences' is not used [-Werror,-Wunused-private-field]
2613                 Vector<RefPtr<Element> > m_internalSVGReferences;
2614                                          ^
2615             3 errors generated.
2616
2617         * rendering/RenderLayerFilterInfo.h: Include Element.h within
2618         ENABLE(SVG).  Move ENABLE(SVG) block below unconditional
2619         headers.
2620
2621 2013-03-03  Sheriff Bot  <webkit.review.bot@gmail.com>
2622
2623         Unreviewed, rolling out r144567.
2624         http://trac.webkit.org/changeset/144567
2625         https://bugs.webkit.org/show_bug.cgi?id=111266
2626
2627         Does not compile on apple-win (Requested by abarth on
2628         #webkit).
2629
2630         * WebCore.exp.in:
2631         * dom/Document.cpp:
2632         (WebCore::Document::iconURLs):
2633         * dom/Document.h:
2634         (Document):
2635         * loader/icon/IconController.cpp:
2636         (WebCore::IconController::iconURL):
2637         (WebCore::IconController::urlsForTypes):
2638         * loader/icon/IconController.h:
2639         (IconController):
2640         * testing/Internals.cpp:
2641         (WebCore::Internals::iconURLs):
2642         * testing/Internals.h:
2643         * testing/Internals.idl:
2644
2645 2013-03-03  Mike West  <mkwst@chromium.org>
2646
2647         CSP 1.1: Support CSP 1.1 directives on the unprefixed header.
2648         https://bugs.webkit.org/show_bug.cgi?id=111254
2649
2650         Reviewed by Adam Barth.
2651
2652         We'd like to ensure that early adopters don't get stuck on a prefixed
2653         header; when CSP 1.1 is baked enough to be supported in multiple
2654         browsers, everything should Just Work™.
2655
2656         This patch changes WebKit's behavior regarding CSP_NEXT features.
2657         Currently, they're only exposed on the prefixed header ('X-WebKit-CSP').
2658         This patch exposes those features on the canonical header, assuming
2659         that the runtime flag is set. This shouldn't have any effect at all on
2660         ports that haven't yet enabled CSP_NEXT, and will simply clear the way
2661         for a clean deployment to a wider audience once the specification
2662         process is further along.
2663
2664         This change shouldn't have any effect on the existing tests: they
2665         should run just as they did before. The next step will be to adjust
2666         the LayoutTests for 1.1 to prefer the canonical header, but I'll do
2667         that in another patch to reduce churn.
2668
2669         Related, the enum names no longer made sense: the difference between the
2670         canonical 'Content-Security-Policy' header and 'X-WebKit-CSP' is the
2671         prefix, not the functionality. This patch renames them for clarity.
2672
2673         * dom/Document.cpp:
2674         (WebCore::Document::processHttpEquiv):
2675         * loader/FrameLoader.cpp:
2676         (WebCore::FrameLoader::didBeginDocument):
2677             Use the new enum names.
2678         * page/ContentSecurityPolicy.cpp:
2679         (CSPDirectiveList):
2680         (WebCore::CSPDirectiveList::CSPDirectiveList):
2681         (WebCore::CSPDirectiveList::addDirective):
2682             Drop the 'm_experimental' property from CSPDirectiveList; we'll
2683             control the behavior via the runtime flag from now on.
2684
2685             Also, this fixes a small bug in 'addDirective()': we never threw
2686             unrecognized directive errors for users who were sending the
2687             prefixed header. Oops!
2688         (WebCore::ContentSecurityPolicy::deprecatedHeaderType):
2689             Use the new enum names.
2690         * page/ContentSecurityPolicy.h:
2691             Redefine the enum for clarity: 'PrefixedReport' and 'Report'
2692             rather than 'ReportAllDirectives' and 'ReportStableDirectives'.
2693
2694 2013-03-03  Ryosuke Niwa  <rniwa@webkit.org>
2695
2696         Another Windows build fix attempt after r144567.
2697         Try touching the IDL file in a hope it'll regenerate JSInternals.cpp.
2698
2699         * testing/Internals.idl:
2700
2701 2013-03-03  Adam Barth  <abarth@webkit.org>
2702
2703         Unreviewed attempted build fix. Adds back some includes removed in
2704         http://trac.webkit.org/changeset/144565.
2705
2706         * Modules/mediastream/RTCPeerConnection.cpp:
2707         * bindings/ScriptControllerBase.cpp:
2708         * bindings/objc/DOM.mm:
2709         * bindings/v8/ScriptController.cpp:
2710         * bindings/v8/V8DOMWindowShell.cpp:
2711         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2712         * css/CSSFontSelector.cpp:
2713         * css/WebKitCSSSVGDocumentValue.cpp:
2714         * dom/DOMImplementation.cpp:
2715         * dom/PendingScript.h:
2716         * dom/ScriptElement.cpp:
2717         * dom/ScriptElement.h:
2718         * history/CachedFrame.cpp:
2719         * html/DOMURL.cpp:
2720         * html/HTMLAnchorElement.cpp:
2721         * html/HTMLAppletElement.cpp:
2722         * html/HTMLElement.cpp:
2723         * html/HTMLEmbedElement.cpp:
2724         * html/HTMLFrameSetElement.cpp:
2725         * html/HTMLHtmlElement.cpp:
2726         * html/HTMLImageElement.cpp:
2727         * html/HTMLObjectElement.cpp:
2728         * html/HTMLPlugInElement.cpp:
2729         * html/ImageDocument.cpp:
2730         * html/ImageInputType.cpp:
2731         * html/MediaDocument.cpp:
2732         * html/PluginDocument.cpp:
2733         * html/canvas/WebGLRenderingContext.cpp:
2734         (WebCore):
2735         * html/parser/HTMLConstructionSite.cpp:
2736         * html/parser/HTMLParserOptions.cpp:
2737         * html/parser/XSSAuditorDelegate.cpp:
2738         * inspector/InspectorDebuggerAgent.cpp:
2739         * inspector/InspectorFileSystemAgent.cpp:
2740         * inspector/InspectorFrontendHost.cpp:
2741         * inspector/InspectorInstrumentation.h:
2742         * inspector/InspectorPageAgent.cpp:
2743         * inspector/NetworkResourcesData.cpp:
2744         * inspector/NetworkResourcesData.h:
2745         (WebCore):
2746         * loader/CookieJar.cpp:
2747         * loader/CrossOriginAccessControl.cpp:
2748         * loader/FrameLoader.cpp:
2749         * loader/MainResourceLoader.cpp:
2750         * loader/MixedContentChecker.cpp:
2751         * loader/PingLoader.cpp:
2752         * loader/SubframeLoader.cpp:
2753         * loader/SubresourceLoader.cpp:
2754         * loader/appcache/ApplicationCacheGroup.cpp:
2755         * loader/appcache/ApplicationCacheHost.cpp:
2756         * loader/cache/CachedResource.cpp:
2757         * loader/icon/IconController.cpp:
2758         * page/DOMWindowExtension.cpp:
2759         * page/Frame.cpp:
2760         * page/PerformanceTiming.cpp:
2761         * page/PointerLockController.cpp:
2762         * page/animation/CSSPropertyAnimation.cpp:
2763         * platform/chromium/PasteboardChromium.cpp:
2764         * platform/efl/ErrorsEfl.cpp:
2765         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2766         * platform/gtk/ErrorsGtk.cpp:
2767         * platform/gtk/PasteboardGtk.cpp:
2768         * platform/gtk/PasteboardHelper.h:
2769         * platform/mac/ClipboardMac.mm:
2770         * platform/mac/HTMLConverter.mm:
2771         * platform/qt/PasteboardQt.cpp:
2772         * plugins/DOMMimeType.cpp:
2773         * plugins/PluginView.cpp:
2774         * rendering/HitTestResult.cpp:
2775         * rendering/RenderImage.cpp:
2776         * rendering/RenderImageResource.cpp:
2777         * rendering/RenderImageResourceStyleImage.cpp:
2778         * rendering/RenderLayer.cpp:
2779         * rendering/RenderLayerBacking.cpp:
2780         * svg/SVGImageLoader.cpp:
2781         * svg/SVGUseElement.cpp:
2782         * testing/MockPagePopupDriver.cpp:
2783         * xml/XSLStyleSheet.h:
2784         (WebCore):
2785
2786 2013-03-03  Ruslan Abdikeev  <aruslan@chromium.org>
2787
2788         <link rel="apple-touch-icon"> tag is not honored on CNN.com, workflowy.com etc
2789         https://bugs.webkit.org/show_bug.cgi?id=109061
2790
2791         Reviewed by Adam Barth.
2792
2793         Test: fast/dom/icon-url-list-apple-touch.html
2794
2795         Added iconTypes parameter to Document::iconURLs().
2796         Added Document::shortcutIconURLs() with original semantics of iconURLs().
2797         Fixed IconController.cpp to provide iconTypesMask to iconURLs().
2798         Renamed iconTypes to iconTypesMask to make the meaning clearer.
2799
2800         * WebCore.exp.in:
2801         * dom/Document.cpp:
2802         (WebCore::Document::shortcutIconURLs):
2803         (WebCore):
2804         (WebCore::Document::iconURLs):
2805         * dom/Document.h:
2806         (Document):
2807         * loader/icon/IconController.cpp:
2808         (WebCore::IconController::iconURL):
2809         (WebCore::IconController::urlsForTypes):
2810         * testing/Internals.cpp:
2811         (WebCore::Internals::iconURLs):
2812         (WebCore::Internals::shortcutIconURLs):
2813         (WebCore):
2814         (WebCore::Internals::allIconURLs):
2815         * testing/Internals.h:
2816         * testing/Internals.idl:
2817
2818 2013-03-03  Mike West  <mkwst@chromium.org>
2819
2820         CSP: Throw a warning when a '*-report-only' header doesn't contain a 'report-uri' directive.
2821         https://bugs.webkit.org/show_bug.cgi?id=111208
2822
2823         Reviewed by Adam Barth.
2824
2825         Developers in the wild have been observed to serve a report-only CSP
2826         header with a policy that doesn't contain a 'report-uri' directive.
2827         This has zero effect, of course, and we should help them understand
2828         that by throwing a warning up on the console.
2829
2830         Test: http/tests/security/contentSecurityPolicy/report-only-report-uri-missing.html
2831
2832         * page/ContentSecurityPolicy.cpp:
2833         (WebCore::CSPDirectiveList::isReportOnly): Added.
2834         (WebCore::CSPDirectiveList::reportURIs): Added.
2835         (WebCore::CSPDirectiveList::create):
2836             After creating a CSPDirectiveList, check whether it's in
2837             report-only mode without a report-uri. If so, warn the developer.
2838         (WebCore::ContentSecurityPolicy::reportMissingReportURI): Added.
2839             Write an exciting message to the console, warning the developer
2840             about her expensive no-op machine.
2841
2842 2013-03-03  Adam Barth  <abarth@webkit.org>
2843
2844         Unreviewed rollout of http://trac.webkit.org/r144530
2845         As described in https://bugs.webkit.org/show_bug.cgi?id=111167 and
2846         https://bugs.webkit.org/show_bug.cgi?id=111035, this patch caused a
2847         large number of ASSERTs in chromium-win.
2848
2849         * CMakeLists.txt:
2850         * GNUmakefile.list.am:
2851         * Modules/mediastream/RTCPeerConnection.cpp:
2852         * Modules/notifications/Notification.cpp:
2853         * Target.pri:
2854         * WebCore.exp.in:
2855         * WebCore.gypi:
2856         * WebCore.vcproj/WebCore.vcproj:
2857         * WebCore.vcxproj/WebCore.vcxproj:
2858         * WebCore.vcxproj/WebCore.vcxproj.filters:
2859         * WebCore.xcodeproj/project.pbxproj:
2860         * bindings/ScriptControllerBase.cpp:
2861         * bindings/js/JSNodeCustom.cpp:
2862         * bindings/js/ScriptController.cpp:
2863         * bindings/js/ScriptSourceCode.h:
2864         (WebCore):
2865         * bindings/objc/DOM.mm:
2866         * bindings/v8/ScriptController.cpp:
2867         * bindings/v8/V8DOMWindowShell.cpp:
2868         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2869         * css/CSSCrossfadeValue.h:
2870         (WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
2871         (WebCore::CSSCrossfadeValue::CrossfadeSubimageObserverProxy::CrossfadeSubimageObserverProxy):
2872         * css/CSSFontFaceSource.h:
2873         * css/CSSFontSelector.cpp:
2874         * css/WebKitCSSSVGDocumentValue.cpp:
2875         * css/WebKitCSSSVGDocumentValue.h:
2876         (WebCore):
2877         * dom/Clipboard.cpp:
2878         (WebCore::Clipboard::Clipboard):
2879         * dom/ContainerNode.cpp:
2880         * dom/DOMImplementation.cpp:
2881         * dom/PendingScript.h:
2882         * dom/ScriptElement.cpp:
2883         * dom/ScriptElement.h:
2884         * history/CachedFrame.cpp:
2885         * html/DOMURL.cpp:
2886         * html/HTMLAnchorElement.cpp:
2887         * html/HTMLAppletElement.cpp:
2888         * html/HTMLElement.cpp:
2889         * html/HTMLEmbedElement.cpp:
2890         * html/HTMLFrameSetElement.cpp:
2891         * html/HTMLHtmlElement.cpp:
2892         * html/HTMLImageElement.cpp:
2893         * html/HTMLObjectElement.cpp:
2894         * html/HTMLPlugInElement.cpp:
2895         * html/ImageDocument.cpp:
2896         * html/ImageInputType.cpp:
2897         * html/MediaDocument.cpp:
2898         * html/PluginDocument.cpp:
2899         * html/canvas/WebGLRenderingContext.cpp:
2900         (WebCore):
2901         * html/parser/HTMLConstructionSite.cpp:
2902         * html/parser/HTMLParserOptions.cpp:
2903         * html/parser/HTMLScriptRunner.h:
2904         * html/parser/XSSAuditor.cpp:
2905         * html/parser/XSSAuditorDelegate.cpp:
2906         * inspector/InspectorDebuggerAgent.cpp:
2907         * inspector/InspectorFileSystemAgent.cpp:
2908         * inspector/InspectorFrontendHost.cpp:
2909         * inspector/InspectorInstrumentation.h:
2910         (WebCore):
2911         * inspector/InspectorPageAgent.cpp:
2912         * inspector/NetworkResourcesData.cpp:
2913         * inspector/NetworkResourcesData.h:
2914         (WebCore):
2915         * loader/CookieJar.cpp:
2916         * loader/CrossOriginAccessControl.cpp:
2917         * loader/CrossOriginAccessControl.h:
2918         (WebCore):
2919         * loader/CrossOriginPreflightResultCache.h:
2920         * loader/DocumentThreadableLoader.h:
2921         * loader/FrameLoader.cpp:
2922         (WebCore::FrameLoader::FrameLoader):
2923         * loader/FrameLoader.h:
2924         (WebCore):
2925         (WebCore::FrameLoader::policyChecker):
2926         * loader/ImageLoader.cpp:
2927         * loader/ImageLoader.h:
2928         * loader/LinkLoader.h:
2929         (WebCore):
2930         * loader/MainResourceLoader.cpp:
2931         * loader/MainResourceLoader.h:
2932         (WebCore):
2933         * loader/MixedContentChecker.cpp:
2934         * loader/PingLoader.cpp:
2935         * loader/PolicyChecker.h:
2936         (WebCore):
2937         * loader/ProgressTracker.cpp:
2938         * loader/SubframeLoader.cpp:
2939         * loader/SubresourceLoader.cpp:
2940         * loader/TextTrackLoader.cpp:
2941         * loader/TextTrackLoader.h:
2942         (WebCore):
2943         * loader/ThreadableLoader.h:
2944         * loader/appcache/ApplicationCacheGroup.cpp:
2945         * loader/appcache/ApplicationCacheGroup.h:
2946         (WebCore):
2947         * loader/appcache/ApplicationCacheHost.cpp:
2948         * loader/archive/cf/LegacyWebArchive.cpp:
2949         * loader/cache/CachedFont.cpp:
2950         * loader/cache/CachedFont.h:
2951         (CachedFontClient):
2952         (WebCore::CachedFontClient::~CachedFontClient):
2953         (WebCore::CachedFontClient::expectedType):
2954         (WebCore::CachedFontClient::resourceClientType):
2955         (WebCore::CachedFontClient::fontLoaded):
2956         (WebCore):
2957         * loader/cache/CachedFontClient.h: Removed.
2958         * loader/cache/CachedImage.cpp:
2959         * loader/cache/CachedRawResource.cpp:
2960         * loader/cache/CachedRawResource.h:
2961         (WebCore):
2962         (CachedRawResourceClient):
2963         (WebCore::CachedRawResourceClient::~CachedRawResourceClient):
2964         (WebCore::CachedRawResourceClient::expectedType):
2965         (WebCore::CachedRawResourceClient::resourceClientType):
2966         (WebCore::CachedRawResourceClient::dataSent):
2967         (WebCore::CachedRawResourceClient::responseReceived):
2968         (WebCore::CachedRawResourceClient::dataReceived):
2969         (WebCore::CachedRawResourceClient::redirectReceived):
2970         (WebCore::CachedRawResourceClient::dataDownloaded):
2971         * loader/cache/CachedRawResourceClient.h: Removed.
2972         * loader/cache/CachedResource.cpp:
2973         * loader/cache/CachedResourceHandle.cpp:
2974         (WebCore):
2975         * loader/cache/CachedResourceHandle.h:
2976         (WebCore):
2977         (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
2978         (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
2979         * loader/cache/CachedSVGDocument.h:
2980         (CachedSVGDocumentClient):
2981         (WebCore::CachedSVGDocumentClient::~CachedSVGDocumentClient):
2982         (WebCore::CachedSVGDocumentClient::expectedType):
2983         (WebCore::CachedSVGDocumentClient::resourceClientType):
2984         (WebCore):
2985         * loader/cache/CachedSVGDocumentClient.h: Removed.
2986         * loader/cache/CachedSVGDocumentReference.cpp: Removed.
2987         * loader/cache/CachedSVGDocumentReference.h:
2988         (WebCore):
2989         (WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference):
2990         (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
2991         * loader/cache/CachedStyleSheetClient.h:
2992         (WebCore):
2993         * loader/cache/MemoryCache.h:
2994         (WebCore):
2995         (MemoryCache):
2996         * loader/chromium/CachedRawResourceChromium.cpp:
2997         * loader/icon/IconController.cpp:
2998         * loader/icon/IconLoader.h:
2999         * loader/mac/ResourceLoaderMac.mm:
3000         * page/DOMWindowExtension.cpp:
3001         * page/Frame.cpp:
3002         (WebCore::Frame::Frame):
3003         (WebCore):
3004         (WebCore::Frame::reportMemoryUsage):
3005         * page/Frame.h:
3006         (WebCore):
3007         (Frame):
3008         (WebCore::Frame::init):
3009         (WebCore::Frame::loader):
3010         * page/PerformanceNavigation.cpp:
3011         * page/PerformanceTiming.cpp:
3012         * page/PointerLockController.cpp:
3013         * page/Settings.cpp:
3014         * page/animation/CSSPropertyAnimation.cpp:
3015         * platform/chromium/PasteboardChromium.cpp:
3016         * platform/efl/ErrorsEfl.cpp:
3017         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3018         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
3019         * platform/graphics/filters/FilterOperation.cpp:
3020         (WebCore):
3021         * platform/graphics/filters/FilterOperation.h:
3022         (WebCore):
3023         (WebCore::FilterOperation::ReferenceFilterOperation::setCachedSVGDocumentReference):
3024         (WebCore::FilterOperation::ReferenceFilterOperation::ReferenceFilterOperation):
3025         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3026         * platform/gtk/ErrorsGtk.cpp:
3027         * platform/gtk/PasteboardGtk.cpp:
3028         * platform/gtk/PasteboardHelper.h:
3029         * platform/mac/ClipboardMac.h:
3030         * platform/mac/ClipboardMac.mm:
3031         * platform/mac/HTMLConverter.mm:
3032         * platform/mac/PasteboardMac.mm:
3033         * platform/network/AuthenticationChallengeBase.cpp:
3034         * platform/network/cf/CookieJarCFNet.cpp:
3035         * platform/network/cf/ResourceRequestCFNet.cpp:
3036         * platform/network/mac/CookieStorageMac.mm:
3037         * platform/qt/PasteboardQt.cpp:
3038         * plugins/DOMMimeType.cpp:
3039         * plugins/PluginRequest.h: Removed.
3040         * plugins/PluginStream.h:
3041         (PluginStreamClient):
3042         (WebCore::PluginStreamClient::~PluginStreamClient):
3043         (WebCore::PluginStreamClient::streamDidFinishLoading):
3044         (WebCore):
3045         * plugins/PluginStreamClient.h: Removed.
3046         * plugins/PluginView.cpp:
3047         * plugins/PluginView.h:
3048         (WebCore):
3049         (PluginRequest):
3050         (WebCore::PluginRequest::PluginRequest):
3051         (WebCore::PluginRequest::frameLoadRequest):
3052         (WebCore::PluginRequest::notifyData):
3053         (WebCore::PluginRequest::sendNotification):
3054         (WebCore::PluginRequest::shouldAllowPopups):
3055         * rendering/HitTestResult.cpp:
3056         * rendering/InlineFlowBox.cpp:
3057         * rendering/RenderBox.cpp:
3058         * rendering/RenderEmbeddedObject.cpp:
3059         * rendering/RenderImage.cpp:
3060         * rendering/RenderImageResource.cpp:
3061         (WebCore::RenderImageResource::RenderImageResource):
3062         (WebCore):
3063         * rendering/RenderImageResource.h:
3064         (WebCore::RenderImageResource::image):
3065         (WebCore::RenderImageResource::errorOccurred):
3066         (WebCore::RenderImageResource::usesImageContainerSize):
3067         (WebCore::RenderImageResource::imageHasRelativeWidth):
3068         (WebCore::RenderImageResource::imageHasRelativeHeight):
3069         (WebCore::RenderImageResource::imageSize):
3070         * rendering/RenderImageResourceStyleImage.cpp:
3071         * rendering/RenderLayer.cpp:
3072         * rendering/RenderLayerBacking.cpp:
3073         * rendering/RenderLayerFilterInfo.h:
3074         (WebCore):
3075         * rendering/RenderListItem.cpp:
3076         * rendering/RenderListMarker.cpp:
3077         * rendering/RenderSnapshottedPlugIn.cpp:
3078         * rendering/RenderTableCol.cpp:
3079         * rendering/RenderTableRow.cpp:
3080         * rendering/RenderTableSection.cpp:
3081         * rendering/style/StyleCachedShader.h:
3082         * rendering/style/StyleCustomFilterProgram.cpp: Removed.
3083         * rendering/style/StyleCustomFilterProgram.h:
3084         (WebCore):
3085         (WebCore::StyleCustomFilterProgram::vertexShaderString):
3086         (StyleCustomFilterProgram):
3087         (WebCore::StyleCustomFilterProgram::fragmentShaderString):
3088         (WebCore::StyleCustomFilterProgram::isLoaded):
3089         (WebCore::StyleCustomFilterProgram::willHaveClients):
3090         (WebCore::StyleCustomFilterProgram::didRemoveLastClient):
3091         (WebCore::StyleCustomFilterProgram::notifyFinished):
3092         * svg/SVGFEImageElement.h:
3093         * svg/SVGFontFaceUriElement.h:
3094         (SVGFontFaceUriElement):
3095         * svg/SVGImageLoader.cpp:
3096         * svg/SVGUseElement.cpp:
3097         * svg/SVGUseElement.h:
3098         * svg/graphics/SVGImageCache.cpp:
3099         * testing/MockPagePopupDriver.cpp:
3100         * xml/XSLStyleSheet.h:
3101         (WebCore):
3102         * xml/XSLTProcessorLibxslt.cpp:
3103         * xml/parser/XMLDocumentParser.cpp:
3104         * xml/parser/XMLDocumentParser.h:
3105         * xml/parser/XMLDocumentParserLibxml2.cpp:
3106
3107 2013-03-03  Kentaro Hara  <haraken@chromium.org>
3108
3109         [V8] Remove TranslateParameter() from CodeGeneratorV8.pm
3110         https://bugs.webkit.org/show_bug.cgi?id=111218
3111
3112         Reviewed by Adam Barth.
3113
3114         TranslateParameter() does nothing. It tries to convert TimeoutHandler to DOMString,
3115         but there is no non-custom method that uses TimeoutHandler.
3116
3117         The only place where TimeoutHandler is used in the WebKit IDL is setTimeout() and setInterval().
3118         However, the latest spec uses 'any' instead of TimeoutHandler.
3119         http://dev.w3.org/html5/spec-LC/timers.html
3120         Thus, this patch updates the IDL declarations of setTimeout() and setInterval()
3121         according to the spec. By this change, TimeoutHandler is gone away from the WebKit IDL.
3122         (Anyway this IDL change has no effect, because setTimeout() and setInterval() are written
3123         in custom bindings.)
3124
3125         No tests. No change in behavior.
3126
3127         * bindings/scripts/CodeGeneratorV8.pm:
3128         (GenerateParametersCheck):
3129         * page/DOMWindow.idl:
3130         * workers/WorkerContext.idl:
3131
3132 2013-03-03  James Weatherall  <wez@chromium.org>
3133
3134         keydown and keyup events have zero keycode for some numeric pad keys under Chromium on Linux
3135         https://bugs.webkit.org/show_bug.cgi?id=85642
3136
3137         Add missing key mappings for GDK_KP_Begin, GDK_KP_Insert, GDK_KP_Delete and GDK_ISO_Level3_Shift.
3138
3139         Reviewed by Adam Barth.
3140
3141         * platform/chromium/KeyCodeConversionGtk.cpp:
3142         (WebCore::windowsKeyCodeForKeyEvent):
3143
3144 2013-03-03  Adam Barth  <abarth@webkit.org>
3145
3146         REGRESSION(144520): Does not compile on chromium-win
3147         https://bugs.webkit.org/show_bug.cgi?id=111261
3148
3149         Unreviewed rollout of http://trac.webkit.org/changeset/144520. This
3150         patch does not compile for chromium-win. See the bug for the compile
3151         error.
3152
3153         * rendering/ExclusionShapeInsideInfo.cpp:
3154         * rendering/ExclusionShapeInsideInfo.h:
3155         (WebCore):
3156         (LineSegmentRange):
3157         (WebCore::LineSegmentRange::LineSegmentRange):
3158         (WebCore::ExclusionShapeInsideInfo::isEnabledFor):
3159         * rendering/RenderBlock.cpp:
3160         (WebCore::RenderBlock::willBeDestroyed):
3161         (WebCore::RenderBlock::exclusionShapeInsideInfo):
3162         (WebCore):
3163         (WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange):
3164         * rendering/RenderBlock.h:
3165         (WebCore):
3166         (RenderBlock):
3167         (RenderBlockRareData):
3168         * rendering/RenderBlockLineLayout.cpp:
3169         (WebCore::constructBidiRunsForLine):
3170
3171 2013-03-02  Zan Dobersek  <zdobersek@igalia.com>
3172
3173         REGRESSION (r144517): IndexedDB layout test failures on GTK
3174         https://bugs.webkit.org/show_bug.cgi?id=111243
3175
3176         Reviewed by Martin Robinson.
3177
3178         Changes to the custom JSC bindings for IDBAny are required after r144517,
3179         specifically the case of IDBAny object having the KeyPathType type has to be covered.
3180         These changes are analogous to those made to the V8 bindings in the mentioned commit.
3181
3182         No new tests - already covered by existing tests.
3183
3184         * bindings/js/JSIDBAnyCustom.cpp:
3185         (WebCore::toJS): A helper function that wraps an IDBKeyPath into a JSValue.
3186         (WebCore): Shuffle the order inside the switch statement a bit to match the V8 custom bindings.
3187         Cover the case where the IDBAny object has the KeyPathType, calling the new helper method.
3188
3189 2013-03-02  Darin Adler  <darin@apple.com>
3190
3191         Another try at fixing the build.
3192
3193         * loader/cache/MemoryCache.cpp: Added an include of CachedResourceHandle.h.
3194
3195 2013-03-02  Darin Adler  <darin@apple.com>
3196
3197         Try to fix build.
3198
3199         * inspector/InspectorInstrumentation.h: Add missing forward declaration
3200         of CachedResource.
3201
3202 2013-02-18  Darin Adler  <darin@apple.com>
3203
3204         Cut down the number of source files that depend on Clipboard.h
3205         https://bugs.webkit.org/show_bug.cgi?id=110030
3206
3207         Reviewed by Ryosuke Niwa.
3208
3209         I am doing some work on Clipboard and it's better to recompile 50 files
3210         each time we touch the header instead of 700. Also cut down on includes
3211         of DragState.h.
3212
3213         * WebCore.exp.in: Updated for new MouseEvent::create function.
3214
3215         * dom/ClipboardEvent.cpp: Added include of Clipboard.h since we use it
3216         here and the world no longer includes it everywhere.
3217
3218         * dom/ClipboardEvent.h: Forward declared Clipboard instead of including
3219         Clipboard.h. Also made some overrides private because they can be.
3220
3221         * dom/DataTransferItem.h: Removed unneeded include of Clipboard.h.
3222
3223         * dom/MouseEvent.cpp: Added include of Clipboard.h since we use it
3224         here and the world no longer includes it everywhere.
3225         (WebCore::MouseEvent::create): Made the create function non-inline
3226         since we can't compile it without including Clipboard.h and we don't
3227         want to include Clipboard.h in the header. This is not so commonly
3228         used or so hot that this needs to be inlined.
3229
3230         * dom/MouseEvent.h: Forward declared Clipboard instead of including
3231         Clipboard.h. Made MouseEvent::create a non-inline function and also
3232         used overloading instead of default arguments, since we can't compile
3233         a default argument of type PassRefPtr<Clipboard> without including
3234         Clipboard.h.
3235
3236         * dom/WheelEvent.cpp: Added include of Clipboard.h since we use it
3237         here and the world no longer includes it everywhere.
3238
3239         * dom/WheelEvent.h: Forward declare PlatformWheelEvent since it is used
3240         in this header. Previously we'd get it indirectly from including a header
3241         that included Clipboard.h.
3242
3243         * editing/Editor.cpp: Added include of Clipboard.h since we use it here
3244         and the world no longer includes it everywhere.
3245
3246         * inspector/InspectorDebuggerAgent.cpp: Added include of CachedResource.h.
3247         We used to get this indirectly through Clipboard.h.
3248
3249         * inspector/InspectorFrontendHost.cpp: Added includes of ResourceError.h
3250         and ResourceResponse.h. We used to get these indirectly through Clipboard.h.
3251         Also removed unneeded include of <wtf/RefPtr.h>.
3252
3253         * inspector/NetworkResourcesData.cpp: Added include of CachedResource.h.
3254         We used to get this indirectly through Clipboard.h.
3255
3256         * loader/PingLoader.cpp: Added include of ResourceResponse.h.
3257         We used to get this indirectly through Clipboard.h.
3258
3259         * page/DragController.cpp: Added include of DragState.h.
3260         We used to get this indirectly through EventHandler.h
3261
3262         * page/EventHandler.h: Forward declared DragState and Element instead of
3263         including DragState.h. Also added an include of LayoutPoint.h, which we
3264         used to get indirectly through DragState.h.
3265
3266 2013-02-27  Darin Adler  <darin@apple.com>
3267
3268         StringHasher functions require alignment that call sites do not all guarantee
3269         https://bugs.webkit.org/show_bug.cgi?id=110171
3270
3271         Reviewed by Benjamin Poulain.
3272
3273         * platform/graphics/WidthCache.h:
3274         (WebCore::WidthCache::SmallStringKey::SmallStringKey): Use the newly added
3275         addCharactersAssumingAligned to make sure we don't slow this call site down.
3276         It's safe since this code always adds characters two at a time.
3277
3278 2013-03-02  Adam Barth  <abarth@webkit.org>
3279
3280         XSSAuditor has a subtle race condition when used with the threaded HTML parser
3281         https://bugs.webkit.org/show_bug.cgi?id=111253
3282
3283         Reviewed by Eric Seidel.
3284
3285         We were refing and derefing a StringImpl for a main-thread
3286         AtomicString. Using QualifiedNames on the background thread is very
3287         fragile and we should figure out a more robust solution.
3288
3289         * html/parser/XSSAuditor.cpp:
3290         (WebCore::findAttributeWithName):
3291
3292 2013-03-02  Benjamin Poulain  <bpoulain@apple.com>
3293
3294         Move computedStyleIncludingVisitedInfo from TestRunner to Internals
3295         https://bugs.webkit.org/show_bug.cgi?id=109772
3296
3297         Reviewed by Andreas Kling.
3298
3299         The function computedStyleIncludingVisitedInfo() is purely internal to WebCore,
3300         it is better defined on Internals than on TestRunner.
3301
3302         * testing/Internals.cpp:
3303         (WebCore::Internals::computedStyleIncludingVisitedInfo):
3304         * testing/Internals.h:
3305         * testing/Internals.idl:
3306
3307 2013-03-02  David Kilzer  <ddkilzer@apple.com>
3308
3309         BUILD FIX (r143637): Export ScriptController::javaScriptContext() on iOS
3310         <http://webkit.org/b/106059>
3311
3312         Fixes the following build failure:
3313
3314             Undefined symbols for architecture armv7:
3315               "__ZN7WebCore16ScriptController17javaScriptContextEv", referenced from:
3316                   -[WebFrame javaScriptContext] in WebFrame.o
3317                   __ZN20WebFrameLoaderClient35dispatchDidClearWindowObjectInWorldEPN7WebCore15DOMWrapperWorldE in WebFrameLoaderClient.o
3318             ld: symbol(s) not found for architecture armv7
3319
3320         * WebCore.exp.in: Export ScriptController::javaScriptContext()
3321         even more unconditionally.
3322
3323 2013-03-02  Eric Seidel  <eric@webkit.org>
3324
3325         Remove two unnecessary mallocs from the main-thread-parser code path
3326         https://bugs.webkit.org/show_bug.cgi?id=111249
3327
3328         Reviewed by Adam Barth.
3329
3330         I noticed these while fixing up our Vector -> String conversions
3331         but never went back to fix the FIXME.
3332
3333         AtomicString(Vector<UChar, capacity>) is smart enough to avoid mallocing
3334         if the represented string is already in the AtomicString table.  It
3335         also handles 8bit vs. 16bit and empty() just like nameString() does.
3336
3337         I also removed a 3rd caller to nameString() in the XSSAuditor which
3338         was causing an unnecessary malloc in both the main and background
3339         thread parser paths.
3340
3341         * html/parser/AtomicHTMLToken.h:
3342         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
3343         * html/parser/HTMLToken.h:
3344         * html/parser/XSSAuditor.cpp:
3345         (WebCore):
3346         (WebCore::threadSafeMatch):
3347         (WebCore::hasName):
3348
3349 2013-03-02  Eric Seidel  <eric@webkit.org>
3350
3351         constructTreeFromCompactHTMLToken should call clearExternalCharacters
3352         https://bugs.webkit.org/show_bug.cgi?id=111248
3353
3354         Reviewed by Adam Barth.
3355
3356         I don't know how to write a test for this.  It's possible characters()
3357         is never accessed from HTMLStackItem::token(), but it's better to be
3358         safe than sorry here.
3359
3360         * html/parser/HTMLDocumentParser.cpp:
3361         (WebCore::HTMLDocumentParser::constructTreeFromCompactHTMLToken):
3362
3363 2013-03-02  Rob Buis  <rbuis@rim.com>
3364
3365         Text overflow ellipsis wrong color when using webkit-text-fill-color
3366         https://bugs.webkit.org/show_bug.cgi?id=54841
3367
3368         Reviewed by David Hyatt.
3369
3370         Take -webkit-text-fill-color into account for ellipsis painting.
3371
3372         Test: fast/css/text-overflow-ellipsis-color.html
3373
3374         * rendering/EllipsisBox.cpp:
3375         (WebCore::EllipsisBox::paint):
3376
3377 2013-03-02  Ryosuke Niwa  <rniwa@webkit.org>
3378
3379         Fix a typo in my previous commit (r144534).
3380
3381         * platform/win/PasteboardWin.cpp:
3382
3383 2013-03-02  Nayan Kumar K  <nayankk@motorola.com>
3384
3385         [WebGL] Support for texImage2D of type HALF_FLOAT_OES with ArrayBufferView.
3386         https://bugs.webkit.org/show_bug.cgi?id=110818
3387
3388         Reviewed by Kenneth Russell.
3389
3390         As per OES_texture_half_float specification texImage2D and texSubImage2D entry
3391         points taking ArrayBufferView should extended to accept null with the pixel type
3392         HALF_FLOAT_OES.
3393
3394         Tests: fast/canvas/webgl/oes-texture-half-float-not-supported.html
3395                fast/canvas/webgl/oes-texture-half-float.html
3396
3397         * CMakeLists.txt:
3398         * DerivedSources.make:
3399         * DerivedSources.pri:
3400         * GNUmakefile.list.am:
3401         * Target.pri:
3402         * WebCore.gypi:
3403         * WebCore.xcodeproj/project.pbxproj:
3404         * bindings/js/JSWebGLRenderingContextCustom.cpp:
3405         (WebCore::toJS):
3406         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
3407         (WebCore::toV8Object):
3408         * html/canvas/OESTextureHalfFloat.cpp: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
3409         (WebCore):
3410         (WebCore::OESTextureHalfFloat::OESTextureHalfFloat):
3411         (WebCore::OESTextureHalfFloat::~OESTextureHalfFloat):
3412         (WebCore::OESTextureHalfFloat::getName):
3413         (WebCore::OESTextureHalfFloat::create):
3414         * html/canvas/OESTextureHalfFloat.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
3415         (WebCore):
3416         (OESTextureHalfFloat):
3417         * html/canvas/OESTextureHalfFloat.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
3418         * html/canvas/WebGLExtension.h:
3419         * html/canvas/WebGLRenderingContext.cpp:
3420         (WebCore):
3421         (WebCore::WebGLRenderingContext::getExtension):
3422         (WebCore::WebGLRenderingContext::texImage2D):
3423         (WebCore::WebGLRenderingContext::texSubImage2D):
3424         (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
3425         (WebCore::WebGLRenderingContext::validateTexFuncData):
3426         * html/canvas/WebGLRenderingContext.h:
3427         (WebCore):
3428         (WebGLRenderingContext):
3429         * html/canvas/WebGLRenderingContext.idl:
3430         * platform/graphics/Extensions3D.h:
3431         (Extensions3D):
3432         * platform/graphics/GraphicsContext3D.cpp:
3433         (WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
3434         * platform/graphics/GraphicsContext3D.h:
3435         * platform/graphics/GraphicsTypes3D.h:
3436         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
3437         (WebCore::GraphicsContext3D::texImage2D):
3438
3439 2013-03-02  Ryosuke Niwa  <rniwa@webkit.org>
3440
3441         Windows build fix attempt after r144530.
3442
3443         * platform/win/PasteboardWin.cpp:
3444
3445 2013-03-01  Dan Bernstein  <mitz@apple.com>
3446
3447         Tried to fix the build after r144530.
3448
3449         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h: Include the header for the
3450         base class.
3451
3452 2013-03-01  Terry Anderson  <tdanderson@chromium.org>
3453
3454         Remove unused member variable m_useLatchedEventNode from PlatformWheelEvent.h
3455         https://bugs.webkit.org/show_bug.cgi?id=107314
3456
3457         Reviewed by Darin Adler.
3458
3459         EventHandler::handleGestureScrollCore() was removed in http://trac.webkit.org/changeset/140177,
3460         and this was the only place where the member variable |m_useLatchedEventNode| in
3461         PlatformWheelEvent was mutated. This variable is no longer needed and so it should be removed.
3462
3463         No change in behavior, so no new tests needed.
3464
3465         * platform/PlatformWheelEvent.h:
3466         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3467         (WebCore::PlatformWheelEvent::useLatchedEventNode):
3468         (PlatformWheelEvent):
3469
3470 2013-02-28  Alexey Proskuryakov  <ap@apple.com>
3471
3472         Reduce amount of rebuilding when touching networking headers
3473         https://bugs.webkit.org/show_bug.cgi?id=111035
3474
3475         Reviewed by Eric Seidel.
3476
3477         This uses a number of common unsurprising techniques. One interesting observation
3478         is that including CachedResource related headers is very expensive. We can usually
3479         get away with their Client counterparts, and with CachedResourceHandle.
3480
3481         * page/Frame.cpp:
3482         * page/Frame.h:
3483         Don't include FrameLoader, greatly reducing include graph for most non-loader files.
3484         This required making Frame::init() non-inline - I'm not sure why it ever was.
3485
3486         * loader/FrameLoader.cpp:
3487         * loader/FrameLoader.h:
3488         Even though FrameLoader is logically on loading side of WebCore, it's included in
3489         too many places. Not including PolicyChecker.h and ResourceHandle.h was among the
3490         largest wins. As a future improvement, we should probably convert other members
3491         to OwnPtrs.
3492
3493         * css/CSSCrossfadeValue.h: Initializing CachedResourceHandle with 0 requires a
3494         definition of a class it holds, but default construction does not.
3495
3496         * loader/CrossOriginAccessControl.h: This file among others only needs ResourceHandleTypes.h,
3497         not ResourceHandle.h. This header is semi-recent, so not all include sites were updated.
3498
3499         * loader/cache/CachedFont.h:
3500         * loader/cache/CachedFontClient.h: Added.
3501         * loader/cache/CachedRawResource.h:
3502         * loader/cache/CachedRawResourceClient.h: Added.
3503         * loader/cache/CachedSVGDocument.h:
3504         * loader/cache/CachedSVGDocumentClient.h: Added.
3505         These types were defining client types in the same headers, making it impossible
3506         to avoid including networking headers through CachedResource. Moved clients into
3507         separate files.
3508
3509         * plugins/PluginStream.h:
3510         * plugins/PluginStreamClient.h: Added.
3511         Similar situation here.
3512
3513         * loader/cache/CachedResourceHandle.cpp:
3514         * loader/cache/CachedResourceHandle.h:
3515         Moved functions that need to know about CachedResource to .cpp file. This is another
3516         huge win. Added a destructor, so that CachedResource woudn't be needed in all files
3517         that include CachedResourceHandle.
3518
3519         * loader/cache/CachedSVGDocumentReference.cpp: Added.
3520         * loader/cache/CachedSVGDocumentReference.h:
3521         Moved constructor and virtual function implementations to a .cpp file - they need
3522         not inlining, and this lets us avoid including CachedSVGDocument.h in the header.
3523
3524         * platform/graphics/filters/FilterOperation.cpp:
3525         * platform/graphics/filters/FilterOperation.h:
3526         Avoid including CachedSVGDocumentReference.h. This is not such a big win now that
3527         CachedSVGDocumentReference.h itself is smaller, but FilterOperation is so clearly
3528         rendering code that it seems best to cut any ties with resources and loading.
3529         Added a virtual destrutor in .cpp file, because inline destructors in polymorphic
3530         classes are generally harmful (due to code bloat).
3531
3532         * plugins/PluginRequest.h: Added.
3533         * plugins/PluginView.h:
3534         Moved PluginRequest into a separate file, it was out of place in a view hierarchy
3535         class file.
3536
3537         * rendering/RenderImageResource.cpp:
3538         * rendering/RenderImageResource.h:
3539         Moved definitions of virtual functions to a .cpp file. Thre is no win from having
3540         them inline, and now we don't need CachedImage.h in the header.
3541
3542         * rendering/style/StyleCustomFilterProgram.cpp: Added.
3543         * rendering/style/StyleCustomFilterProgram.h:
3544         Ditto.
3545
3546         * CMakeLists.txt:
3547         * GNUmakefile.list.am:
3548         * Modules/mediastream/RTCPeerConnection.cpp:
3549         * Modules/notifications/Notification.cpp:
3550         * Target.pri:
3551         * WebCore.exp.in:
3552         * WebCore.gypi:
3553         * WebCore.vcproj/WebCore.vcproj:
3554         * WebCore.vcxproj/WebCore.vcxproj:
3555         * WebCore.vcxproj/WebCore.vcxproj.filters:
3556         * WebCore.xcodeproj/project.pbxproj:
3557         * bindings/ScriptControllerBase.cpp:
3558         * bindings/js/JSNodeCustom.cpp:
3559         * bindings/js/ScriptController.cpp:
3560         * bindings/js/ScriptSourceCode.h:
3561         * bindings/objc/DOM.mm:
3562         * bindings/v8/ScriptController.cpp:
3563         * bindings/v8/V8DOMWindowShell.cpp:
3564         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3565         * css/CSSFontFaceSource.h:
3566         * css/CSSFontSelector.cpp:
3567         * css/WebKitCSSSVGDocumentValue.cpp:
3568         * css/WebKitCSSSVGDocumentValue.h:
3569         * dom/Clipboard.cpp:
3570         * dom/ContainerNode.cpp:
3571         * dom/DOMImplementation.cpp:
3572         * dom/PendingScript.h:
3573         * dom/ScriptElement.cpp:
3574         * dom/ScriptElement.h:
3575         * history/CachedFrame.cpp:
3576         * html/DOMURL.cpp:
3577         * html/HTMLAnchorElement.cpp:
3578         * html/HTMLAppletElement.cpp:
3579         * html/HTMLElement.cpp:
3580         * html/HTMLEmbedElement.cpp:
3581         * html/HTMLFrameSetElement.cpp:
3582         * html/HTMLHtmlElement.cpp:
3583         * html/HTMLImageElement.cpp:
3584         * html/HTMLObjectElement.cpp:
3585         * html/HTMLPlugInElement.cpp:
3586         * html/ImageDocument.cpp:
3587         * html/ImageInputType.cpp:
3588         * html/MediaDocument.cpp:
3589         * html/PluginDocument.cpp:
3590         * html/canvas/WebGLRenderingContext.cpp:
3591         * html/parser/HTMLConstructionSite.cpp:
3592         * html/parser/HTMLParserOptions.cpp:
3593         * html/parser/HTMLScriptRunner.h:
3594         * html/parser/XSSAuditor.cpp:
3595         * html/parser/XSSAuditorDelegate.cpp:
3596         * inspector/InspectorDebuggerAgent.cpp:
3597         * inspector/InspectorFileSystemAgent.cpp:
3598         * inspector/InspectorFrontendHost.cpp:
3599         * inspector/InspectorInstrumentation.h:
3600         * inspector/InspectorPageAgent.cpp:
3601         * inspector/NetworkResourcesData.cpp:
3602         * inspector/NetworkResourcesData.h:
3603         * loader/CookieJar.cpp:
3604         * loader/CrossOriginAccessControl.cpp:
3605         * loader/CrossOriginPreflightResultCache.h:
3606         * loader/DocumentThreadableLoader.h:
3607         * loader/ImageLoader.cpp:
3608         * loader/ImageLoader.h:
3609         * loader/LinkLoader.h:
3610         * loader/MainResourceLoader.cpp:
3611         * loader/MainResourceLoader.h:
3612         * loader/MixedContentChecker.cpp:
3613         * loader/PingLoader.cpp:
3614         * loader/PolicyChecker.h:
3615         * loader/ProgressTracker.cpp:
3616         * loader/SubframeLoader.cpp:
3617         * loader/SubresourceLoader.cpp:
3618         * loader/TextTrackLoader.cpp:
3619         * loader/TextTrackLoader.h:
3620         * loader/ThreadableLoader.h:
3621         * loader/appcache/ApplicationCacheGroup.cpp:
3622         * loader/appcache/ApplicationCacheGroup.h:
3623         * loader/appcache/ApplicationCacheHost.cpp:
3624         * loader/archive/cf/LegacyWebArchive.cpp:
3625         * loader/cache/CachedFont.cpp:
3626         * loader/cache/CachedImage.cpp:
3627         * loader/cache/CachedRawResource.cpp:
3628         * loader/cache/CachedResource.cpp:
3629         * loader/cache/CachedStyleSheetClient.h:
3630         * loader/cache/MemoryCache.cpp:
3631         * loader/cache/MemoryCache.h:
3632         * loader/chromium/CachedRawResourceChromium.cpp:
3633         * loader/icon/IconController.cpp:
3634         * loader/icon/IconLoader.h:
3635         * loader/mac/ResourceLoaderMac.mm:
3636         * page/DOMWindowExtension.cpp:
3637         * page/DragController.cpp:
3638         * page/PerformanceNavigation.cpp:
3639         * page/PerformanceTiming.cpp:
3640         * page/PointerLockController.cpp:
3641         * page/Settings.cpp:
3642         * page/animation/CSSPropertyAnimation.cpp:
3643         * platform/chromium/PasteboardChromium.cpp:
3644         * platform/efl/ErrorsEfl.cpp:
3645         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3646         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
3647         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3648         * platform/gtk/ErrorsGtk.cpp:
3649         * platform/gtk/PasteboardGtk.cpp:
3650         * platform/gtk/PasteboardHelper.h:
3651         * platform/mac/ClipboardMac.h:
3652         * platform/mac/ClipboardMac.mm:
3653         * platform/mac/HTMLConverter.mm:
3654         * platform/mac/PasteboardMac.mm:
3655         * platform/network/AuthenticationChallengeBase.cpp:
3656         * platform/network/cf/CookieJarCFNet.cpp:
3657         * platform/network/cf/ResourceRequestCFNet.cpp:
3658         * platform/network/mac/CookieStorageMac.mm:
3659         * platform/qt/PasteboardQt.cpp:
3660         * plugins/DOMMimeType.cpp:
3661         * plugins/PluginView.cpp:
3662         * rendering/HitTestResult.cpp:
3663         * rendering/InlineFlowBox.cpp:
3664         * rendering/RenderBox.cpp:
3665         * rendering/RenderEmbeddedObject.cpp:
3666         * rendering/RenderImage.cpp:
3667         * rendering/RenderImageResourceStyleImage.cpp:
3668         * rendering/RenderLayer.cpp:
3669         * rendering/RenderLayerBacking.cpp:
3670         * rendering/RenderLayerFilterInfo.h:
3671         * rendering/RenderListItem.cpp:
3672         * rendering/RenderListMarker.cpp:
3673         * rendering/RenderSnapshottedPlugIn.cpp:
3674         * rendering/RenderTableCol.cpp:
3675         * rendering/RenderTableRow.cpp:
3676         * rendering/RenderTableSection.cpp:
3677         * rendering/style/StyleCachedShader.h:
3678         * svg/SVGFEImageElement.h:
3679         * svg/SVGFontFaceUriElement.h:
3680         * svg/SVGImageLoader.cpp:
3681         * svg/SVGUseElement.cpp:
3682         * svg/SVGUseElement.h:
3683         * svg/graphics/SVGImageCache.cpp:
3684         * testing/MockPagePopupDriver.cpp:
3685         * xml/XSLStyleSheet.h:
3686         * xml/XSLTProcessorLibxslt.cpp:
3687         * xml/parser/XMLDocumentParser.cpp:
3688         * xml/parser/XMLDocumentParser.h:
3689         * xml/parser/XMLDocumentParserLibxml2.cpp:
3690         Many self-evident changes - removing unnecessary header includes, adding smaller
3691         more local ones that are now necessary.
3692
3693 2013-03-01  David Hyatt  <hyatt@apple.com>
3694
3695         [New Multicolumn] Transformed objects inside fragmented transparent objects don't render
3696         https://bugs.webkit.org/show_bug.cgi?id=111221.
3697
3698         Reviewed by Simon Fraser.
3699
3700         Improve transparencyClipBox so that it understands when moving into descendants
3701         that it does in fact have to break up the transformed clip rect across the
3702         fragments.
3703         
3704         Make sure when handling fragmented transforms using multiple paints that
3705         the test that determines the extent of the transform within the fragments
3706         uses transparencyClipBox. This gives us an accurate set of columns that the
3707         final transformed result will paint across.
3708
3709         Tests: fast/multicol/mixed-opacity-fixed-test.html
3710                fast/multicol/mixed-opacity-test.html
3711                fast/multicol/transform-inside-opacity.html
3712
3713         * rendering/RenderLayer.cpp:
3714         (WebCore::transparencyClipBox):
3715         (WebCore::expandClipRectForDescendantsAndReflection):
3716         Break transformed boxes up into fragments when they are
3717         being requested by an ancestor.
3718
3719         (WebCore::RenderLayer::collectFragments):
3720         (WebCore::RenderLayer::paintTransformedLayerIntoFragments):
3721         (WebCore::RenderLayer::hitTestTransformedLayerInFragments):
3722         * rendering/RenderLayer.h:
3723         (RenderLayer):
3724         Modify collectFragments so that we pass in the correct range
3725         within the columns that can possibly cover the fragmented
3726         transformed box.
3727
3728 2013-03-01  Ilya Tikhonovsky  <loislo@chromium.org>
3729
3730         Web Inspector: Native Memory Instrumentation: do not visit raw pointers by default.
3731         https://bugs.webkit.org/show_bug.cgi?id=110943
3732
3733         Reviewed by Yury Semikhatsky.
3734
3735         Unfortunately in many cases raw pointer may point to an object that has been deleted.
3736         There is no working solution to solve this problem in general.
3737         It could be solved only on case by case basis.
3738
3739         * inspector/HeapGraphSerializer.cpp:
3740         (WebCore::HeapGraphSerializer::HeapGraphSerializer):
3741         (WebCore::HeapGraphSerializer::reportLeaf):
3742         * loader/cache/MemoryCache.cpp:
3743         (WebCore::MemoryCache::reportMemoryUsage):
3744         * platform/graphics/BitmapImage.cpp:
3745         (WebCore::FrameData::reportMemoryUsage):
3746         * platform/graphics/skia/MemoryInstrumentationSkia.cpp:
3747         (reportMemoryUsage):
3748
3749 2013-03-01  Kentaro Hara  <haraken@chromium.org>
3750
3751         Style recalculation takes too long when adding whitespace text nodes
3752         https://bugs.webkit.org/show_bug.cgi?id=110786
3753
3754         Reviewed by Darin Adler.
3755
3756         // This takes 216 msec.
3757         for (var i = 0; i < 1500; ++i) {
3758           document.body.appendChild(document.createTextNode('x'));
3759           document.body.appendChild(document.createElement('div'));
3760           document.body.appendChild(document.createTextNode('x'));
3761         }
3762
3763         // But this takes 25.3 seconds.
3764         for (var i = 0; i < 1500; ++i) {
3765           document.body.appendChild(document.createTextNode(' '));
3766           document.body.appendChild(document.createElement('div'));
3767           document.body.appendChild(document.createTextNode(' '));
3768         }
3769
3770         The reason is that we do not create renderers for empty text
3771         nodes and thus we are hitting the worst O(N^2) case in Node::attach().
3772         (See FIXME in Node::attach().)
3773
3774         This patch adds a logic to bail out the loop to avoid the O(N^2) case.
3775         Specifically, the patch bails out the loop if we encounter a text node
3776         for which we again decided not to create a renderer. This bail out is
3777         reasonable because the fact that we again decided not to create a renderer
3778         for the text node indicates that there will be no affect of the result
3779         of Text::textRendererIsNeeded() of the rest of the sibling nodes.
3780
3781         Performance test: https://bugs.webkit.org/attachment.cgi?id=190545
3782         Performance result in Chromium/Linux: 25.3 sec => 48 msec !
3783
3784         Test: perf/append-text-nodes-without-renderers.html (for performance)
3785               fast/dynamic/create-renderer-for-whitespace-only-text.html (for correctness)
3786
3787         The loop was introduced in r29054. We have to make sure that
3788         all layout tests that were updated in r29054 pass with this patch.
3789         See http://trac.webkit.org/changeset/29054.
3790
3791         * dom/Node.cpp:
3792         (WebCore::Node::attach):
3793
3794 2013-03-01  Jason Anderssen  <janderssen@gmail.com>
3795
3796         Moved markerTextForListItem from TestRunner to Internals
3797         https://bugs.webkit.org/show_bug.cgi?id=110939
3798
3799         Reviewed by Benjamin Poulain.
3800
3801         TestRunner framework is an old way of testing webkit, it would be
3802         better to incorporate the testing frame directly into the WebCore itself
3803         as to make it more compatible with WK2.
3804
3805         * testing/Internals.cpp:
3806         (WebCore::Internals::markerTextForListItem):
3807         (WebCore):
3808         * testing/Internals.h:
3809         * testing/Internals.idl:
3810
3811 2013-03-01  Elliott Sprehn  <esprehn@gmail.com>
3812
3813         Don't leak Documents when using MutationObserver from extensions
3814         https://bugs.webkit.org/show_bug.cgi?id=111234
3815
3816         Reviewed by Adam Barth.
3817
3818         MutationObserverCallback holds a WorldContextHandle which secretly isn't
3819         a handle to anything when it's for the main world. When it's for a non-main
3820         world though, like those used in extensions, it becomes a strong reference
3821         to the v8::Context which results in leaks by creating cycles:
3822
3823         MutationObserver -> Callback -> World -> Document -> Node -> MutationObserver.
3824
3825         Instead we should keep a RefPtr to a DOMWrapperWorld in the callback and then
3826         get the v8::Context from that inside handleEvent.
3827
3828         Tests: ManualTests/leak-observer-nonmain-world.html
3829
3830         * bindings/v8/V8Binding.cpp:
3831         (WebCore::toV8Context): Added overload that takes a DOMWrapperWorld.
3832         * bindings/v8/V8Binding.h:
3833         * bindings/v8/V8MutationCallback.cpp:
3834         (WebCore::V8MutationCallback::V8MutationCallback):
3835         (WebCore::V8MutationCallback::handleEvent):
3836         * bindings/v8/V8MutationCallback.h:
3837         (V8MutationCallback):
3838
3839 2013-03-01  Bear Travis  <betravis@adobe.com>
3840
3841         [css exclusions] Move ExclusionShapeInsideInfo into RenderBlockRareData
3842         https://bugs.webkit.org/show_bug.cgi?id=110995
3843
3844         Reviewed by Julien Chaffraix.
3845
3846         This patch moves ExclusionShapeInsideInfo into the RenderBlockRareData struct,
3847         which enables us to move away from the global ExclusionShapeInsideInfo map.
3848         Some additional refactoring was done to remove ExclusionShapeInsideInfo's
3849         dependency on InlineIterator, which depended on RenderBlock. This work required
3850         adding a new LineSegmentIterator struct.
3851
3852         Refactoring, no new tests.
3853
3854         * rendering/ExclusionShapeInsideInfo.cpp:
3855         (WebCore):
3856         (WebCore::LineSegmentRange::LineSegmentRange): Moving the InlineIterator
3857         constructor to the .cpp file, as InlineIterator is now forward declared in
3858         the .h file.
3859         (WebCore::ExclusionShapeInsideInfo::isEnabledFor): Moving isEnabledFor to
3860         the .cpp file, as RenderBlock is now forward declared in the .h file.
3861         * rendering/ExclusionShapeInsideInfo.h:
3862         (WebCore):
3863         (LineSegmentIterator): A simple struct for containing segment positions for
3864         layout.
3865         (WebCore::LineSegmentIterator::LineSegmentIterator): Constructor.
3866         (LineSegmentRange): Transitioning to store LineSegmentIterator.
3867         (WebCore::LineSegmentRange::LineSegmentRange): Ditto.
3868         (ExclusionShapeInsideInfo):
3869         * rendering/RenderBlock.cpp:
3870         (WebCore::RenderBlock::willBeDestroyed): Destroying a block will now destroy
3871         its ExclusionShapeInsideInfo, so there is no need to remove it from the map.
3872         (WebCore):
3873         (WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange): Use
3874         the RenderBlockRareData struct rather than the global map.
3875         * rendering/RenderBlock.h:
3876         (WebCore):
3877         (WebCore::RenderBlock::ensureExclusionShapeInsideInfo): Ensure an info struct
3878         is present if the shape-inside style is set.
3879         (WebCore::RenderBlock::exclusionShapeInsideInfo): Look up the info struct for
3880         the current block.
3881         (WebCore::RenderBlock::setExclusionShapeInsideInfo): Update the info struct
3882         for the current block.
3883         (RenderBlockRareData): Add the ExclusionShapeInsideInfo member.
3884         * rendering/RenderBlockLineLayout.cpp:
3885         (WebCore::constructBidiRunsForLine): Construct the appropriate offsets during
3886         layout based on the stored LineSegmentIterators.
3887
3888 2013-03-01  Terry Anderson  <tdanderson@chromium.org>
3889
3890         EventHandler::handleGestureScrollUpdate() should invoke the user-generated scroll routines 
3891         so its behavior matches other user-initiated scrolls
3892         https://bugs.webkit.org/show_bug.cgi?id=109769
3893
3894         Reviewed by James Robinson.
3895
3896         To ensure that the scrolling behavior of GestureScrollUpdate events are consistent with
3897         the scrolling behavior of mousewheel events, use the existing user-generated scroll logic
3898         instead of calling into RenderLayer::scrollByRecursively(). This patch fixes the bug
3899         reported in https://bugs.webkit.org/show_bug.cgi?id=109316, where the example page can
3900         be scrolled using touch but cannot be scrolled using mousewheels.
3901
3902         Note that this patch does not use any of the mousewheel event-handling code.
3903
3904         Tests: fast/events/touch/gesture/touch-gesture-noscroll-body-propagated.html
3905                fast/events/touch/gesture/touch-gesture-noscroll-body-xhidden.html
3906                fast/events/touch/gesture/touch-gesture-noscroll-body-yhidden.html
3907                fast/events/touch/gesture/touch-gesture-noscroll-body.html
3908
3909         * page/EventHandler.cpp:
3910         (WebCore::EventHandler::clear):
3911         (WebCore::EventHandler::handleGestureEvent):
3912         (WebCore::EventHandler::handleGestureScrollBegin):
3913         (WebCore::EventHandler::handleGestureScrollUpdate):
3914         (WebCore::EventHandler::sendScrollEventToView):
3915             By calling this function at the start of handleGestureScrollUpdate() in the case
3916             where |m_scrollGestureHandlingNode| is null, we ensure that the scroll updates
3917             can still scroll the page itself, if possible.
3918         (WebCore):
3919         (WebCore::EventHandler::clearGestureScrollNodes):
3920         * page/EventHandler.h:
3921         (EventHandler):
3922         * platform/PlatformWheelEvent.h:
3923         (WebCore::PlatformWheelEvent::setHasPreciseScrollingDeltas):
3924
3925 2013-03-01  Alec Flett  <alecflett@chromium.org>
3926
3927         IndexedDB: Avoid ScriptValue copies in IDBAny
3928         https://bugs.webkit.org/show_bug.cgi?id=111002
3929
3930         Reviewed by Adam Barth.
3931
3932         This avoids some v8 handle thrashing in the long term,
3933         and protects us against some crashes in the short term.
3934
3935         The crashes will be fixed in 
3936         https://bugs.webkit.org/show_bug.cgi?id=110206.
3937
3938         * Modules/indexeddb/IDBAny.cpp:
3939         (WebCore::IDBAny::createNull):
3940         (WebCore::IDBAny::createString):
3941         (WebCore::IDBAny::IDBAny):
3942         (WebCore::IDBAny::scriptValue):
3943         * Modules/indexeddb/IDBAny.h:
3944         (WebCore::IDBAny::create):
3945         (IDBAny):
3946         (WebCore::IDBAny::keyPath):
3947         * bindings/v8/custom/V8IDBAnyCustom.cpp:
3948         (WebCore::toV8):
3949         (WebCore):
3950
3951 2013-03-01  Victor Carbune  <vcarbune@chromium.org>
3952
3953         Support padding, margin and border for internal UA cue styling
3954         https://bugs.webkit.org/show_bug.cgi?id=110703
3955
3956         Reviewed by Eric Carlson.
3957
3958         For some particular user agent styling this allows the possibility
3959         of making the window around the cue text bigger to match some user
3960         styles (see CaptionUserPreferencesMac::captionsStyleSheetOverride).
3961
3962         These properties *cannot* be set through by using the ::cue
3963         pseudo-element and, as specified, are used only internally.
3964
3965         Note: This patch is identical to the previously commited one,
3966         as it was rolled back without related tests failing.
3967
3968         Test: media/track/track-cue-rendering-with-padding.html
3969
3970         * css/mediaControls.css:
3971         (video::-webkit-media-text-track-display): Set the CSS box model
3972         to include in the specified width or height the values of
3973         padding / margin / border by using -webkit-box-sizing and avoid
3974         overflow over 100% width because of having these properties set.
3975         * rendering/RenderTextTrackCue.cpp:
3976         (WebCore::RenderTextTrackCue::isOutside): To not interfere with
3977         the regular WebVTT positioning algorithm, the check is done for
3978         the absolute content box.
3979         (WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet): Added
3980         an extra adjustment step to accomodate vertical padding (and not
3981         overflow the cue container)
3982
3983 2013-03-01  Andy Estes  <aestes@apple.com>
3984
3985         REGRESSION (r125809): CFStrings created via StringImpl::createCFString()  might reference freed memory when Objective-C garbage collection is enabled
3986         https://bugs.webkit.org/show_bug.cgi?id=111219
3987
3988         Reviewed by Benjamin Poulain.
3989
3990         StringImpl::createCFString() uses CFStringCreateWithBytesNoCopy() in
3991         order to create CFString without making an unnecessary copy. In order
3992         to ensure that the the StringImpl's backing buffer isn't deallocated
3993         while the CFString is still alive, we use a custom CFAllocator to
3994         ref/deref the StringImpl at the appropriate times.
3995
3996         However, custom allocators aren't supported when Objective-C garbage
3997         collection is enabled, so in this case we use the default CF allocator.
3998         Since we can't guarantee the lifetime of the StringImpl in this case,
3999         we should just fall back to copying the string, as we did prior to r125809.
4000
4001         * platform/text/cf/StringImplCF.cpp:
4002         (garbageCollectionEnabled): Moved the check for whether garbage
4003         collection is enabled from StringWrapperCFAllocator::create() to here.
4004         (WTF::StringWrapperCFAllocator::create): Call garbageCollectionEnabled().
4005         (WTF::StringImpl::createCFString): If garbage collection is enabled,
4006         call the variants of CFStringCreate that copy the string.
4007
4008 2013-03-01  Roger Fong  <roger_fong@apple.com>
4009
4010         Unreviewed AppleWin build fix.
4011
4012         * platform/network/cf/ResourceHandleCFNet.cpp:
4013         (WebCore::ResourceHandle::createCFURLConnection):
4014
4015 2013-03-01  Martin Robinson  <mrobinson@igalia.com>
4016
4017         [GTK] Allow sharing the WebCore include list with the Chromium build
4018         https://bugs.webkit.org/show_bug.cgi?id=110241
4019
4020         Reviewed by Dirk Pranke.
4021
4022         * WebCore.gyp/WebCoreGTK.gyp: Added. A skeleton gyp file for WebCoreGTK+.
4023         * WebCore.gypi: Added shared include directories.
4024
4025 2013-03-01  Alexey Proskuryakov  <ap@apple.com>
4026
4027         Make in-memory blobs work in NetworkProcess
4028         https://bugs.webkit.org/show_bug.cgi?id=111132
4029
4030         Reviewed by Sam Weinig.
4031
4032         * WebCore.exp.in:
4033         * WebCore.xcodeproj/project.pbxproj:
4034         Exported functions now needed by WebKit2, and made some headers Private instead
4035         of Project.
4036
4037 2013-03-01  Eric Seidel  <eric@webkit.org>
4038
4039         Threaded HTML Parser has an extra copy of every byte from the network
4040         https://bugs.webkit.org/show_bug.cgi?id=111135
4041
4042         Reviewed by Adam Barth.
4043
4044         Every LayoutTest executes this code in threaded parsing mode.
4045
4046         * dom/DecodedDataDocumentParser.cpp:
4047         (WebCore::DecodedDataDocumentParser::appendBytes):
4048          - Pass ownership of the decoded string to the parser.
4049         (WebCore::DecodedDataDocumentParser::flush):
4050          - Same.
4051         * dom/DecodedDataDocumentParser.h:
4052         (DecodedDataDocumentParser):
4053         * dom/Document.cpp:
4054         (WebCore::Document::setContent):
4055         * dom/DocumentParser.h:
4056         (DocumentParser):
4057         * dom/RawDataDocumentParser.h:
4058         (WebCore::RawDataDocumentParser::append):
4059         * html/FTPDirectoryDocument.cpp:
4060         (FTPDirectoryDocumentParser):
4061         (WebCore::FTPDirectoryDocumentParser::append):
4062         * html/parser/HTMLDocumentParser.cpp: