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