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