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