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