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