1 2013-03-03 Alexander Pavlov <apavlov@chromium.org>
3 Web Inspector: [PageAgent] can't find frame by security origin.
4 https://bugs.webkit.org/show_bug.cgi?id=110849
6 Use toRawString() in order to compare Frames' SecurityOrigins for storage-related goals.
8 Reviewed by Vsevolod Vlasov.
10 * inspector/InspectorPageAgent.cpp:
11 (WebCore::InspectorPageAgent::findFrameWithSecurityOrigin):
13 2013-03-03 Alexander Pavlov <apavlov@chromium.org>
15 Unreviewed, rolling out r144455.
16 http://trac.webkit.org/changeset/144455
17 https://bugs.webkit.org/show_bug.cgi?id=111165
19 A simpler solution to the SecurityOrigin -> localStorage
22 * inspector/front-end/DOMStorage.js:
23 (WebInspector.DOMStorage.storageId):
24 (WebInspector.DOMStorage.prototype.get id):
25 (WebInspector.DOMStorage.prototype.getItems):
26 (WebInspector.DOMStorage.prototype.setItem):
27 (WebInspector.DOMStorage.prototype.removeItem):
28 (WebInspector.DOMStorageModel.prototype._securityOriginAdded):
29 (WebInspector.DOMStorageModel.prototype._securityOriginRemoved):
30 (WebInspector.DOMStorageModel.prototype._storageKey):
31 * inspector/front-end/ExtensionAuditCategory.js:
32 * inspector/front-end/FileSystemModel.js:
33 (WebInspector.FileSystemModel.prototype._reset):
34 (WebInspector.FileSystemModel.prototype._securityOriginAdded):
35 (WebInspector.FileSystemModel.prototype._securityOriginRemoved):
36 (WebInspector.FileSystemModel.prototype._addOrigin):
37 (WebInspector.FileSystemModel.prototype._removeOrigin):
38 (WebInspector.FileSystemModel.prototype._requestFileSystemRoot):
39 (WebInspector.FileSystemModel.prototype._fileSystemRootReceived):
40 (WebInspector.FileSystemModel.prototype._removeFileSystem):
41 (WebInspector.FileSystemModel.FileSystem.prototype.get name):
42 * inspector/front-end/IndexedDBModel.js:
43 (WebInspector.IndexedDBModel.prototype._reset):
44 (WebInspector.IndexedDBModel.prototype.refreshDatabaseNames):
45 (WebInspector.IndexedDBModel.prototype._securityOriginAdded):
46 (WebInspector.IndexedDBModel.prototype._securityOriginRemoved):
47 (WebInspector.IndexedDBModel.prototype._addOrigin):
48 (WebInspector.IndexedDBModel.prototype._removeOrigin):
49 (WebInspector.IndexedDBModel.prototype._updateOriginDatabaseNames):
50 (WebInspector.IndexedDBModel.prototype._loadDatabaseNames):
51 (WebInspector.IndexedDBModel.prototype._loadDatabase):
52 (WebInspector.IndexedDBModel.prototype.):
53 (WebInspector.IndexedDBModel.prototype._requestData):
54 (WebInspector.IndexedDBModel.DatabaseId.prototype.equals):
55 * inspector/front-end/IndexedDBViews.js:
56 (WebInspector.IDBDatabaseView.prototype._refreshDatabase):
57 * inspector/front-end/ResourceTreeModel.js:
58 (WebInspector.ResourceTreeModel):
59 (WebInspector.ResourceTreeModel.prototype._addFrame):
60 (WebInspector.ResourceTreeModel.prototype._addSecurityOrigin):
61 (WebInspector.ResourceTreeModel.prototype._removeSecurityOrigin):
62 (WebInspector.ResourceTreeModel.prototype.securityOrigins):
63 (WebInspector.ResourceTreeModel.prototype._handleMainFrameDetached):
64 (WebInspector.ResourceTreeModel.prototype._frameNavigated):
65 (WebInspector.ResourceTreeModel.prototype._frameDetached):
66 (WebInspector.ResourceTreeFrame):
67 (WebInspector.ResourceTreeFrame.prototype._navigate):
68 * inspector/front-end/ResourcesPanel.js:
69 (WebInspector.IDBDatabaseTreeElement):
70 (WebInspector.IDBDatabaseTreeElement.prototype.get itemURL):
71 (WebInspector.IDBObjectStoreTreeElement.prototype.get itemURL):
72 (WebInspector.IDBIndexTreeElement.prototype.get itemURL):
73 (WebInspector.DOMStorageTreeElement):
74 (WebInspector.DOMStorageTreeElement.prototype.get itemURL):
75 (WebInspector.FileSystemTreeElement):
77 2013-03-01 Vsevolod Vlasov <vsevik@chromium.org>
79 Web Inspector: Let user know when file system based uiSourceCode was changed on disk.
80 https://bugs.webkit.org/show_bug.cgi?id=110133
82 Reviewed by Pavel Feldman.
84 We now check if file system based uiSourceCode content was updated externally when
85 UISourceCodeFrame is shown or inspector window is focused.
86 If there is no working copy being edited right now we replace old content with the new one silently.
87 Otherwise ask user if he wants to replace his working copy with the new content.
89 * English.lproj/localizedStrings.js:
90 * WebCore.vcproj/WebCore.vcproj:
91 * inspector/front-end/DefaultTextEditor.js:
92 (WebInspector.DefaultTextEditor.prototype.editRange):
93 * inspector/front-end/FileSystemProjectDelegate.js:
94 (WebInspector.FileSystemProjectDelegate.prototype.innerCallback):
95 (WebInspector.FileSystemProjectDelegate.prototype.requestFileContent):
96 (WebInspector.FileSystemProjectDelegate.prototype._contentRequestFinished):
97 (WebInspector.FileSystemProjectDelegate.prototype.requestUpdatedFileContent):
98 (WebInspector.FileSystemProjectDelegate.prototype.contentCallback):
99 (WebInspector.FileSystemProjectDelegate.prototype.searchInFileContent):
100 * inspector/front-end/JavaScriptSourceFrame.js:
101 (WebInspector.JavaScriptSourceFrame.prototype.wasShown):
102 (WebInspector.JavaScriptSourceFrame.prototype.willHide):
103 * inspector/front-end/SimpleWorkspaceProvider.js:
104 (WebInspector.SimpleProjectDelegate.prototype.requestUpdatedFileContent):
105 * inspector/front-end/SourceFrame.js:
106 (WebInspector.SourceFrame.prototype.setContent):
107 * inspector/front-end/UISourceCode.js:
108 (WebInspector.UISourceCode.prototype.checkContentUpdated.updatedContentLoaded):
109 (WebInspector.UISourceCode.prototype.checkContentUpdated):
110 * inspector/front-end/UISourceCodeFrame.js:
111 (WebInspector.UISourceCodeFrame.prototype.wasShown):
112 (WebInspector.UISourceCodeFrame.prototype.willHide):
113 (WebInspector.UISourceCodeFrame.prototype._windowFocused):
114 (WebInspector.UISourceCodeFrame.prototype._checkContentUpdated):
115 * inspector/front-end/Workspace.js:
116 (WebInspector.ProjectDelegate.prototype.requestUpdatedFileContent):
117 (WebInspector.Project.prototype.requestUpdatedFileContent):
119 2013-03-03 Arpita Bahuguna <a.bah@samsung.com>
121 createAttribute/setAttributeNode does not properly normalize case
122 https://bugs.webkit.org/show_bug.cgi?id=90341
124 Reviewed by Darin Adler.
126 setAttributeNode() verifies for existing attributes in a case sensitive
127 manner. Thus, it would add another attribute if specified in a case
128 different from the existing one. Instead, like setAttribute(), it too
129 should modify the existing attribute's value.
131 Test: fast/dom/Element/setAttributeNode-case-insensitivity.html
134 (WebCore::Element::setAttributeNode):
135 Made changes to check for an existing attribute by converting the
136 specified attribute's localName to lowercase.
138 2013-03-03 Kentaro Hara <haraken@chromium.org>
140 Unreviewed. Rebaselined run-bindings-tests.
142 * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
143 (WebCore::TestActiveDOMObjectV8Internal::indexedSecurityCheck):
144 (TestActiveDOMObjectV8Internal):
145 (WebCore::TestActiveDOMObjectV8Internal::namedSecurityCheck):
146 (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
147 * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
148 (V8TestActiveDOMObject):
150 2013-03-03 Kentaro Hara <haraken@chromium.org>
152 Unreviewed build fix after r144590.
154 * bindings/scripts/CodeGeneratorV8.pm:
155 (GenerateSecurityCheckFunctions):
157 2013-03-03 Kentaro Hara <haraken@chromium.org>
159 Unreviewed build fix after r144587.
161 * bindings/v8/V8Binding.cpp:
162 (WebCore::toV8Context):
163 * bindings/v8/V8MutationCallback.cpp:
164 (WebCore::V8MutationCallback::V8MutationCallback):
166 2013-03-01 Kentaro Hara <haraken@chromium.org>
168 [V8] HTMLDocument.all should have [Replaceable]
169 https://bugs.webkit.org/show_bug.cgi?id=111230
171 Reviewed by Adam Barth.
173 (Although HTMLDocument.all is already removed from the spec,)
174 it is expected to behave as a [Replaceable] attribute. By adding
175 a [Replaceable] IDL attribute, we can remove custom implementation
178 I confimed that exactly the same code is generated for .all getter
181 No tests. No change in behavior.
183 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
184 * html/HTMLDocument.idl:
186 2013-03-01 Kentaro Hara <haraken@chromium.org>
188 [V8] indexedSecurityCheck() and namedSecurityCheck() should be auto-generated
189 https://bugs.webkit.org/show_bug.cgi?id=111225
191 Reviewed by Adam Barth.
193 indexedSecurityCheck() and namedSecurityCheck() should be auto-generated,
194 except for DOMWindow's ones.
196 No tests. No change in behavior.
198 * bindings/scripts/CodeGeneratorV8.pm:
200 (GenerateImplementation):
201 (GenerateSecurityCheckFunctions):
202 * bindings/v8/custom/V8DOMWindowCustom.cpp:
203 (WebCore::V8DOMWindow::namedSecurityCheckCustom):
204 (WebCore::V8DOMWindow::indexedSecurityCheckCustom):
205 * bindings/v8/custom/V8HistoryCustom.cpp:
206 * bindings/v8/custom/V8LocationCustom.cpp:
208 2013-03-01 Kentaro Hara <haraken@chromium.org>
210 [V8] Rename $implContentDecls to $implContentInternals in CodeGeneratorV8.pm
211 https://bugs.webkit.org/show_bug.cgi?id=111214
213 Reviewed by Adam Barth.
215 $implContentDecls stores generated code that is put in a namespace 'XXXV8Internal'.
216 For clarification, it should be renamed to $implContentInternals.
218 No tests. No change in behavior.
220 * bindings/scripts/CodeGeneratorV8.pm:
221 (GenerateDomainSafeFunctionGetter):
222 (GenerateDomainSafeFunctionSetter):
223 (GenerateConstructorGetter):
224 (GenerateNormalAttrGetterCallback):
225 (GenerateNormalAttrGetter):
226 (GenerateReplaceableAttrSetterCallback):
227 (GenerateReplaceableAttrSetter):
228 (GenerateNormalAttrSetterCallback):
229 (GenerateNormalAttrSetter):
230 (GenerateOverloadedFunction):
231 (GenerateFunctionCallback):
233 (GenerateOverloadedConstructorCallback):
234 (GenerateSingleConstructorCallback):
235 (GenerateEventConstructor):
236 (GenerateTypedArrayConstructor):
237 (GenerateImplementation):
240 2013-03-01 Kentaro Hara <haraken@chromium.org>
242 [V8] Rename getWorld() to isolatedWorld(), and getWorldForEnteredContext() to isolatedWorldForEnteredContext()
243 https://bugs.webkit.org/show_bug.cgi?id=111212
245 Reviewed by Adam Barth.
247 The rename I did in r142424 was wrong. Given that getWorld() returns 0
248 for the main world, it should be named isolatedWorld(). Similarly,
249 given that getWorldForEnteredContext() returns 0 for the main world,
250 it should be named isolatedWorldForEnteredContext().
252 No tests. No change in behavior.
254 * bindings/v8/CustomElementHelpers.cpp:
255 (WebCore::CustomElementHelpers::isFeatureAllowed):
256 * bindings/v8/DOMDataStore.cpp:
257 (WebCore::DOMDataStore::current):
258 * bindings/v8/DOMWrapperWorld.cpp:
259 (WebCore::DOMWrapperWorld::makeContextWeak):
260 * bindings/v8/DOMWrapperWorld.h:
261 (WebCore::DOMWrapperWorld::isolatedWorld):
262 * bindings/v8/ScriptController.cpp:
263 (WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
264 (WebCore::ScriptController::currentWorldContext):
265 * bindings/v8/V8Binding.h:
266 (WebCore::isolatedWorldForEnteredContext):
267 * bindings/v8/WorldContextHandle.cpp:
268 (WebCore::WorldContextHandle::WorldContextHandle):
269 * bindings/v8/custom/V8DocumentCustom.cpp:
271 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
273 * bindings/v8/custom/V8SVGDocumentCustom.cpp:
275 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
276 (WebCore::V8XMLHttpRequest::constructorCustom):
278 2013-03-01 Kentaro Hara <haraken@chromium.org>
280 [V8] Move HTMLDocument::getNamedProperty() to DOMWindowShell
281 https://bugs.webkit.org/show_bug.cgi?id=111223
283 Reviewed by Adam Barth.
285 HTMLDocument::getNamedProperty() is used by DOMWindowShell.
286 It can be a static method in DOMWindowShell.
288 No tests. No change in behavior.
290 * bindings/scripts/CodeGeneratorV8.pm:
292 * bindings/v8/V8DOMWindowShell.cpp:
293 (WebCore::getNamedProperty):
296 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
298 2013-03-03 Dan Bernstein <mitz@apple.com>
300 Build fix after r144565. Reverted r144533.
302 * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
304 2013-03-03 Adam Barth <abarth@webkit.org>
306 Attempt to fix the Qt build after r144498
307 https://bugs.webkit.org/show_bug.cgi?id=111272
309 Reviewed by Eric Seidel.
311 Update the Qt version of the XML parser to call the new API.
313 * xml/parser/XMLDocumentParserQt.cpp:
314 (WebCore::XMLDocumentParser::resumeParsing):
315 (WebCore::XMLDocumentParser::appendFragmentSource):
317 2013-03-03 Dean Jackson <dino@apple.com>
319 Plug-ins that are appropriately large w.r.t page size should autostart
320 https://bugs.webkit.org/show_bug.cgi?id=111242
322 Reviewed by Brady Eidson.
324 A "full-page" plug-in site should never snapshot. The trick is
325 how to determine what is full-page. This change implements the
328 - The plug-in is in the main frame (not an iframe).
329 - The plug-in is sized with width and height 100%.
330 - The displayed area of the plug-in is more than 96% of the viewport area.
332 This is definitely not foolproof. For example, zombo.com has a slight
333 border around its plug-in. As the window size gets smaller, the body margin
334 takes up more than 5% of the width or height, and the plug-in doesn't pass
337 * html/HTMLPlugInImageElement.cpp:
338 (WebCore): New static constant: sizingFullPageThresholdPercentage
339 (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Implements
340 the rules described above.
342 2013-03-03 Ryosuke Niwa <rniwa@webkit.org>
344 [Win] IDLParser.pm fails to parse OESTextureHalfFloat and causes a build failure
345 https://bugs.webkit.org/show_bug.cgi?id=111267
347 Reviewed by Kentaro Hara.
349 Allow empty definitions.
351 * bindings/scripts/IDLParser.pm:
354 2013-03-03 David Kilzer <ddkilzer@apple.com>
356 BUILD FIX: RenderLayerFilterInfo.h needs to include Element.h with ENABLE(SVG)
358 Fixes the following build failures:
360 In file included from Source/WebCore/rendering/RenderLayerFilterInfo.cpp:33:
361 Source/WebCore/rendering/RenderLayerFilterInfo.h:118:19: error: use of undeclared identifier 'Element'
362 Vector<RefPtr<Element> > m_internalSVGReferences;
364 Source/WebCore/rendering/RenderLayerFilterInfo.h:118:28: error: expected a type
365 Vector<RefPtr<Element> > m_internalSVGReferences;
367 Source/WebCore/rendering/RenderLayerFilterInfo.h:118:30: error: private field 'm_internalSVGReferences' is not used [-Werror,-Wunused-private-field]
368 Vector<RefPtr<Element> > m_internalSVGReferences;
372 * rendering/RenderLayerFilterInfo.h: Include Element.h within
373 ENABLE(SVG). Move ENABLE(SVG) block below unconditional
376 2013-03-03 Sheriff Bot <webkit.review.bot@gmail.com>
378 Unreviewed, rolling out r144567.
379 http://trac.webkit.org/changeset/144567
380 https://bugs.webkit.org/show_bug.cgi?id=111266
382 Does not compile on apple-win (Requested by abarth on
387 (WebCore::Document::iconURLs):
390 * loader/icon/IconController.cpp:
391 (WebCore::IconController::iconURL):
392 (WebCore::IconController::urlsForTypes):
393 * loader/icon/IconController.h:
395 * testing/Internals.cpp:
396 (WebCore::Internals::iconURLs):
397 * testing/Internals.h:
398 * testing/Internals.idl:
400 2013-03-03 Mike West <mkwst@chromium.org>
402 CSP 1.1: Support CSP 1.1 directives on the unprefixed header.
403 https://bugs.webkit.org/show_bug.cgi?id=111254
405 Reviewed by Adam Barth.
407 We'd like to ensure that early adopters don't get stuck on a prefixed
408 header; when CSP 1.1 is baked enough to be supported in multiple
409 browsers, everything should Just Workâ„¢.
411 This patch changes WebKit's behavior regarding CSP_NEXT features.
412 Currently, they're only exposed on the prefixed header ('X-WebKit-CSP').
413 This patch exposes those features on the canonical header, assuming
414 that the runtime flag is set. This shouldn't have any effect at all on
415 ports that haven't yet enabled CSP_NEXT, and will simply clear the way
416 for a clean deployment to a wider audience once the specification
417 process is further along.
419 This change shouldn't have any effect on the existing tests: they
420 should run just as they did before. The next step will be to adjust
421 the LayoutTests for 1.1 to prefer the canonical header, but I'll do
422 that in another patch to reduce churn.
424 Related, the enum names no longer made sense: the difference between the
425 canonical 'Content-Security-Policy' header and 'X-WebKit-CSP' is the
426 prefix, not the functionality. This patch renames them for clarity.
429 (WebCore::Document::processHttpEquiv):
430 * loader/FrameLoader.cpp:
431 (WebCore::FrameLoader::didBeginDocument):
432 Use the new enum names.
433 * page/ContentSecurityPolicy.cpp:
435 (WebCore::CSPDirectiveList::CSPDirectiveList):
436 (WebCore::CSPDirectiveList::addDirective):
437 Drop the 'm_experimental' property from CSPDirectiveList; we'll
438 control the behavior via the runtime flag from now on.
440 Also, this fixes a small bug in 'addDirective()': we never threw
441 unrecognized directive errors for users who were sending the
442 prefixed header. Oops!
443 (WebCore::ContentSecurityPolicy::deprecatedHeaderType):
444 Use the new enum names.
445 * page/ContentSecurityPolicy.h:
446 Redefine the enum for clarity: 'PrefixedReport' and 'Report'
447 rather than 'ReportAllDirectives' and 'ReportStableDirectives'.
449 2013-03-03 Ryosuke Niwa <rniwa@webkit.org>
451 Another Windows build fix attempt after r144567.
452 Try touching the IDL file in a hope it'll regenerate JSInternals.cpp.
454 * testing/Internals.idl:
456 2013-03-03 Adam Barth <abarth@webkit.org>
458 Unreviewed attempted build fix. Adds back some includes removed in
459 http://trac.webkit.org/changeset/144565.
461 * Modules/mediastream/RTCPeerConnection.cpp:
462 * bindings/ScriptControllerBase.cpp:
463 * bindings/objc/DOM.mm:
464 * bindings/v8/ScriptController.cpp:
465 * bindings/v8/V8DOMWindowShell.cpp:
466 * bindings/v8/custom/V8DOMWindowCustom.cpp:
467 * css/CSSFontSelector.cpp:
468 * css/WebKitCSSSVGDocumentValue.cpp:
469 * dom/DOMImplementation.cpp:
470 * dom/PendingScript.h:
471 * dom/ScriptElement.cpp:
472 * dom/ScriptElement.h:
473 * history/CachedFrame.cpp:
475 * html/HTMLAnchorElement.cpp:
476 * html/HTMLAppletElement.cpp:
477 * html/HTMLElement.cpp:
478 * html/HTMLEmbedElement.cpp:
479 * html/HTMLFrameSetElement.cpp:
480 * html/HTMLHtmlElement.cpp:
481 * html/HTMLImageElement.cpp:
482 * html/HTMLObjectElement.cpp:
483 * html/HTMLPlugInElement.cpp:
484 * html/ImageDocument.cpp:
485 * html/ImageInputType.cpp:
486 * html/MediaDocument.cpp:
487 * html/PluginDocument.cpp:
488 * html/canvas/WebGLRenderingContext.cpp:
490 * html/parser/HTMLConstructionSite.cpp:
491 * html/parser/HTMLParserOptions.cpp:
492 * html/parser/XSSAuditorDelegate.cpp:
493 * inspector/InspectorDebuggerAgent.cpp:
494 * inspector/InspectorFileSystemAgent.cpp:
495 * inspector/InspectorFrontendHost.cpp:
496 * inspector/InspectorInstrumentation.h:
497 * inspector/InspectorPageAgent.cpp:
498 * inspector/NetworkResourcesData.cpp:
499 * inspector/NetworkResourcesData.h:
501 * loader/CookieJar.cpp:
502 * loader/CrossOriginAccessControl.cpp:
503 * loader/FrameLoader.cpp:
504 * loader/MainResourceLoader.cpp:
505 * loader/MixedContentChecker.cpp:
506 * loader/PingLoader.cpp:
507 * loader/SubframeLoader.cpp:
508 * loader/SubresourceLoader.cpp:
509 * loader/appcache/ApplicationCacheGroup.cpp:
510 * loader/appcache/ApplicationCacheHost.cpp:
511 * loader/cache/CachedResource.cpp:
512 * loader/icon/IconController.cpp:
513 * page/DOMWindowExtension.cpp:
515 * page/PerformanceTiming.cpp:
516 * page/PointerLockController.cpp:
517 * page/animation/CSSPropertyAnimation.cpp:
518 * platform/chromium/PasteboardChromium.cpp:
519 * platform/efl/ErrorsEfl.cpp:
520 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
521 * platform/gtk/ErrorsGtk.cpp:
522 * platform/gtk/PasteboardGtk.cpp:
523 * platform/gtk/PasteboardHelper.h:
524 * platform/mac/ClipboardMac.mm:
525 * platform/mac/HTMLConverter.mm:
526 * platform/qt/PasteboardQt.cpp:
527 * plugins/DOMMimeType.cpp:
528 * plugins/PluginView.cpp:
529 * rendering/HitTestResult.cpp:
530 * rendering/RenderImage.cpp:
531 * rendering/RenderImageResource.cpp:
532 * rendering/RenderImageResourceStyleImage.cpp:
533 * rendering/RenderLayer.cpp:
534 * rendering/RenderLayerBacking.cpp:
535 * svg/SVGImageLoader.cpp:
536 * svg/SVGUseElement.cpp:
537 * testing/MockPagePopupDriver.cpp:
538 * xml/XSLStyleSheet.h:
541 2013-03-03 Ruslan Abdikeev <aruslan@chromium.org>
543 <link rel="apple-touch-icon"> tag is not honored on CNN.com, workflowy.com etc
544 https://bugs.webkit.org/show_bug.cgi?id=109061
546 Reviewed by Adam Barth.
548 Test: fast/dom/icon-url-list-apple-touch.html
550 Added iconTypes parameter to Document::iconURLs().
551 Added Document::shortcutIconURLs() with original semantics of iconURLs().
552 Fixed IconController.cpp to provide iconTypesMask to iconURLs().
553 Renamed iconTypes to iconTypesMask to make the meaning clearer.
557 (WebCore::Document::shortcutIconURLs):
559 (WebCore::Document::iconURLs):
562 * loader/icon/IconController.cpp:
563 (WebCore::IconController::iconURL):
564 (WebCore::IconController::urlsForTypes):
565 * testing/Internals.cpp:
566 (WebCore::Internals::iconURLs):
567 (WebCore::Internals::shortcutIconURLs):
569 (WebCore::Internals::allIconURLs):
570 * testing/Internals.h:
571 * testing/Internals.idl:
573 2013-03-03 Mike West <mkwst@chromium.org>
575 CSP: Throw a warning when a '*-report-only' header doesn't contain a 'report-uri' directive.
576 https://bugs.webkit.org/show_bug.cgi?id=111208
578 Reviewed by Adam Barth.
580 Developers in the wild have been observed to serve a report-only CSP
581 header with a policy that doesn't contain a 'report-uri' directive.
582 This has zero effect, of course, and we should help them understand
583 that by throwing a warning up on the console.
585 Test: http/tests/security/contentSecurityPolicy/report-only-report-uri-missing.html
587 * page/ContentSecurityPolicy.cpp:
588 (WebCore::CSPDirectiveList::isReportOnly): Added.
589 (WebCore::CSPDirectiveList::reportURIs): Added.
590 (WebCore::CSPDirectiveList::create):
591 After creating a CSPDirectiveList, check whether it's in
592 report-only mode without a report-uri. If so, warn the developer.
593 (WebCore::ContentSecurityPolicy::reportMissingReportURI): Added.
594 Write an exciting message to the console, warning the developer
595 about her expensive no-op machine.
597 2013-03-03 Adam Barth <abarth@webkit.org>
599 Unreviewed rollout of http://trac.webkit.org/r144530
600 As described in https://bugs.webkit.org/show_bug.cgi?id=111167 and
601 https://bugs.webkit.org/show_bug.cgi?id=111035, this patch caused a
602 large number of ASSERTs in chromium-win.
605 * GNUmakefile.list.am:
606 * Modules/mediastream/RTCPeerConnection.cpp:
607 * Modules/notifications/Notification.cpp:
611 * WebCore.vcproj/WebCore.vcproj:
612 * WebCore.vcxproj/WebCore.vcxproj:
613 * WebCore.vcxproj/WebCore.vcxproj.filters:
614 * WebCore.xcodeproj/project.pbxproj:
615 * bindings/ScriptControllerBase.cpp:
616 * bindings/js/JSNodeCustom.cpp:
617 * bindings/js/ScriptController.cpp:
618 * bindings/js/ScriptSourceCode.h:
620 * bindings/objc/DOM.mm:
621 * bindings/v8/ScriptController.cpp:
622 * bindings/v8/V8DOMWindowShell.cpp:
623 * bindings/v8/custom/V8DOMWindowCustom.cpp:
624 * css/CSSCrossfadeValue.h:
625 (WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
626 (WebCore::CSSCrossfadeValue::CrossfadeSubimageObserverProxy::CrossfadeSubimageObserverProxy):
627 * css/CSSFontFaceSource.h:
628 * css/CSSFontSelector.cpp:
629 * css/WebKitCSSSVGDocumentValue.cpp:
630 * css/WebKitCSSSVGDocumentValue.h:
633 (WebCore::Clipboard::Clipboard):
634 * dom/ContainerNode.cpp:
635 * dom/DOMImplementation.cpp:
636 * dom/PendingScript.h:
637 * dom/ScriptElement.cpp:
638 * dom/ScriptElement.h:
639 * history/CachedFrame.cpp:
641 * html/HTMLAnchorElement.cpp:
642 * html/HTMLAppletElement.cpp:
643 * html/HTMLElement.cpp:
644 * html/HTMLEmbedElement.cpp:
645 * html/HTMLFrameSetElement.cpp:
646 * html/HTMLHtmlElement.cpp:
647 * html/HTMLImageElement.cpp:
648 * html/HTMLObjectElement.cpp:
649 * html/HTMLPlugInElement.cpp:
650 * html/ImageDocument.cpp:
651 * html/ImageInputType.cpp:
652 * html/MediaDocument.cpp:
653 * html/PluginDocument.cpp:
654 * html/canvas/WebGLRenderingContext.cpp:
656 * html/parser/HTMLConstructionSite.cpp:
657 * html/parser/HTMLParserOptions.cpp:
658 * html/parser/HTMLScriptRunner.h:
659 * html/parser/XSSAuditor.cpp:
660 * html/parser/XSSAuditorDelegate.cpp:
661 * inspector/InspectorDebuggerAgent.cpp:
662 * inspector/InspectorFileSystemAgent.cpp:
663 * inspector/InspectorFrontendHost.cpp:
664 * inspector/InspectorInstrumentation.h:
666 * inspector/InspectorPageAgent.cpp:
667 * inspector/NetworkResourcesData.cpp:
668 * inspector/NetworkResourcesData.h:
670 * loader/CookieJar.cpp:
671 * loader/CrossOriginAccessControl.cpp:
672 * loader/CrossOriginAccessControl.h:
674 * loader/CrossOriginPreflightResultCache.h:
675 * loader/DocumentThreadableLoader.h:
676 * loader/FrameLoader.cpp:
677 (WebCore::FrameLoader::FrameLoader):
678 * loader/FrameLoader.h:
680 (WebCore::FrameLoader::policyChecker):
681 * loader/ImageLoader.cpp:
682 * loader/ImageLoader.h:
683 * loader/LinkLoader.h:
685 * loader/MainResourceLoader.cpp:
686 * loader/MainResourceLoader.h:
688 * loader/MixedContentChecker.cpp:
689 * loader/PingLoader.cpp:
690 * loader/PolicyChecker.h:
692 * loader/ProgressTracker.cpp:
693 * loader/SubframeLoader.cpp:
694 * loader/SubresourceLoader.cpp:
695 * loader/TextTrackLoader.cpp:
696 * loader/TextTrackLoader.h:
698 * loader/ThreadableLoader.h:
699 * loader/appcache/ApplicationCacheGroup.cpp:
700 * loader/appcache/ApplicationCacheGroup.h:
702 * loader/appcache/ApplicationCacheHost.cpp:
703 * loader/archive/cf/LegacyWebArchive.cpp:
704 * loader/cache/CachedFont.cpp:
705 * loader/cache/CachedFont.h:
707 (WebCore::CachedFontClient::~CachedFontClient):
708 (WebCore::CachedFontClient::expectedType):
709 (WebCore::CachedFontClient::resourceClientType):
710 (WebCore::CachedFontClient::fontLoaded):
712 * loader/cache/CachedFontClient.h: Removed.
713 * loader/cache/CachedImage.cpp:
714 * loader/cache/CachedRawResource.cpp:
715 * loader/cache/CachedRawResource.h:
717 (CachedRawResourceClient):
718 (WebCore::CachedRawResourceClient::~CachedRawResourceClient):
719 (WebCore::CachedRawResourceClient::expectedType):
720 (WebCore::CachedRawResourceClient::resourceClientType):
721 (WebCore::CachedRawResourceClient::dataSent):
722 (WebCore::CachedRawResourceClient::responseReceived):
723 (WebCore::CachedRawResourceClient::dataReceived):
724 (WebCore::CachedRawResourceClient::redirectReceived):
725 (WebCore::CachedRawResourceClient::dataDownloaded):
726 * loader/cache/CachedRawResourceClient.h: Removed.
727 * loader/cache/CachedResource.cpp:
728 * loader/cache/CachedResourceHandle.cpp:
730 * loader/cache/CachedResourceHandle.h:
732 (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
733 (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
734 * loader/cache/CachedSVGDocument.h:
735 (CachedSVGDocumentClient):
736 (WebCore::CachedSVGDocumentClient::~CachedSVGDocumentClient):
737 (WebCore::CachedSVGDocumentClient::expectedType):
738 (WebCore::CachedSVGDocumentClient::resourceClientType):
740 * loader/cache/CachedSVGDocumentClient.h: Removed.
741 * loader/cache/CachedSVGDocumentReference.cpp: Removed.
742 * loader/cache/CachedSVGDocumentReference.h:
744 (WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference):
745 (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
746 * loader/cache/CachedStyleSheetClient.h:
748 * loader/cache/MemoryCache.h:
751 * loader/chromium/CachedRawResourceChromium.cpp:
752 * loader/icon/IconController.cpp:
753 * loader/icon/IconLoader.h:
754 * loader/mac/ResourceLoaderMac.mm:
755 * page/DOMWindowExtension.cpp:
757 (WebCore::Frame::Frame):
759 (WebCore::Frame::reportMemoryUsage):
763 (WebCore::Frame::init):
764 (WebCore::Frame::loader):
765 * page/PerformanceNavigation.cpp:
766 * page/PerformanceTiming.cpp:
767 * page/PointerLockController.cpp:
769 * page/animation/CSSPropertyAnimation.cpp:
770 * platform/chromium/PasteboardChromium.cpp:
771 * platform/efl/ErrorsEfl.cpp:
772 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
773 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
774 * platform/graphics/filters/FilterOperation.cpp:
776 * platform/graphics/filters/FilterOperation.h:
778 (WebCore::FilterOperation::ReferenceFilterOperation::setCachedSVGDocumentReference):
779 (WebCore::FilterOperation::ReferenceFilterOperation::ReferenceFilterOperation):
780 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
781 * platform/gtk/ErrorsGtk.cpp:
782 * platform/gtk/PasteboardGtk.cpp:
783 * platform/gtk/PasteboardHelper.h:
784 * platform/mac/ClipboardMac.h:
785 * platform/mac/ClipboardMac.mm:
786 * platform/mac/HTMLConverter.mm:
787 * platform/mac/PasteboardMac.mm:
788 * platform/network/AuthenticationChallengeBase.cpp:
789 * platform/network/cf/CookieJarCFNet.cpp:
790 * platform/network/cf/ResourceRequestCFNet.cpp:
791 * platform/network/mac/CookieStorageMac.mm:
792 * platform/qt/PasteboardQt.cpp:
793 * plugins/DOMMimeType.cpp:
794 * plugins/PluginRequest.h: Removed.
795 * plugins/PluginStream.h:
796 (PluginStreamClient):
797 (WebCore::PluginStreamClient::~PluginStreamClient):
798 (WebCore::PluginStreamClient::streamDidFinishLoading):
800 * plugins/PluginStreamClient.h: Removed.
801 * plugins/PluginView.cpp:
802 * plugins/PluginView.h:
805 (WebCore::PluginRequest::PluginRequest):
806 (WebCore::PluginRequest::frameLoadRequest):
807 (WebCore::PluginRequest::notifyData):
808 (WebCore::PluginRequest::sendNotification):
809 (WebCore::PluginRequest::shouldAllowPopups):
810 * rendering/HitTestResult.cpp:
811 * rendering/InlineFlowBox.cpp:
812 * rendering/RenderBox.cpp:
813 * rendering/RenderEmbeddedObject.cpp:
814 * rendering/RenderImage.cpp:
815 * rendering/RenderImageResource.cpp:
816 (WebCore::RenderImageResource::RenderImageResource):
818 * rendering/RenderImageResource.h:
819 (WebCore::RenderImageResource::image):
820 (WebCore::RenderImageResource::errorOccurred):
821 (WebCore::RenderImageResource::usesImageContainerSize):
822 (WebCore::RenderImageResource::imageHasRelativeWidth):
823 (WebCore::RenderImageResource::imageHasRelativeHeight):
824 (WebCore::RenderImageResource::imageSize):
825 * rendering/RenderImageResourceStyleImage.cpp:
826 * rendering/RenderLayer.cpp:
827 * rendering/RenderLayerBacking.cpp:
828 * rendering/RenderLayerFilterInfo.h:
830 * rendering/RenderListItem.cpp:
831 * rendering/RenderListMarker.cpp:
832 * rendering/RenderSnapshottedPlugIn.cpp:
833 * rendering/RenderTableCol.cpp:
834 * rendering/RenderTableRow.cpp:
835 * rendering/RenderTableSection.cpp:
836 * rendering/style/StyleCachedShader.h:
837 * rendering/style/StyleCustomFilterProgram.cpp: Removed.
838 * rendering/style/StyleCustomFilterProgram.h:
840 (WebCore::StyleCustomFilterProgram::vertexShaderString):
841 (StyleCustomFilterProgram):
842 (WebCore::StyleCustomFilterProgram::fragmentShaderString):
843 (WebCore::StyleCustomFilterProgram::isLoaded):
844 (WebCore::StyleCustomFilterProgram::willHaveClients):
845 (WebCore::StyleCustomFilterProgram::didRemoveLastClient):
846 (WebCore::StyleCustomFilterProgram::notifyFinished):
847 * svg/SVGFEImageElement.h:
848 * svg/SVGFontFaceUriElement.h:
849 (SVGFontFaceUriElement):
850 * svg/SVGImageLoader.cpp:
851 * svg/SVGUseElement.cpp:
852 * svg/SVGUseElement.h:
853 * svg/graphics/SVGImageCache.cpp:
854 * testing/MockPagePopupDriver.cpp:
855 * xml/XSLStyleSheet.h:
857 * xml/XSLTProcessorLibxslt.cpp:
858 * xml/parser/XMLDocumentParser.cpp:
859 * xml/parser/XMLDocumentParser.h:
860 * xml/parser/XMLDocumentParserLibxml2.cpp:
862 2013-03-03 Kentaro Hara <haraken@chromium.org>
864 [V8] Remove TranslateParameter() from CodeGeneratorV8.pm
865 https://bugs.webkit.org/show_bug.cgi?id=111218
867 Reviewed by Adam Barth.
869 TranslateParameter() does nothing. It tries to convert TimeoutHandler to DOMString,
870 but there is no non-custom method that uses TimeoutHandler.
872 The only place where TimeoutHandler is used in the WebKit IDL is setTimeout() and setInterval().
873 However, the latest spec uses 'any' instead of TimeoutHandler.
874 http://dev.w3.org/html5/spec-LC/timers.html
875 Thus, this patch updates the IDL declarations of setTimeout() and setInterval()
876 according to the spec. By this change, TimeoutHandler is gone away from the WebKit IDL.
877 (Anyway this IDL change has no effect, because setTimeout() and setInterval() are written
880 No tests. No change in behavior.
882 * bindings/scripts/CodeGeneratorV8.pm:
883 (GenerateParametersCheck):
884 * page/DOMWindow.idl:
885 * workers/WorkerContext.idl:
887 2013-03-03 James Weatherall <wez@chromium.org>
889 keydown and keyup events have zero keycode for some numeric pad keys under Chromium on Linux
890 https://bugs.webkit.org/show_bug.cgi?id=85642
892 Add missing key mappings for GDK_KP_Begin, GDK_KP_Insert, GDK_KP_Delete and GDK_ISO_Level3_Shift.
894 Reviewed by Adam Barth.
896 * platform/chromium/KeyCodeConversionGtk.cpp:
897 (WebCore::windowsKeyCodeForKeyEvent):
899 2013-03-03 Adam Barth <abarth@webkit.org>
901 REGRESSION(144520): Does not compile on chromium-win
902 https://bugs.webkit.org/show_bug.cgi?id=111261
904 Unreviewed rollout of http://trac.webkit.org/changeset/144520. This
905 patch does not compile for chromium-win. See the bug for the compile
908 * rendering/ExclusionShapeInsideInfo.cpp:
909 * rendering/ExclusionShapeInsideInfo.h:
912 (WebCore::LineSegmentRange::LineSegmentRange):
913 (WebCore::ExclusionShapeInsideInfo::isEnabledFor):
914 * rendering/RenderBlock.cpp:
915 (WebCore::RenderBlock::willBeDestroyed):
916 (WebCore::RenderBlock::exclusionShapeInsideInfo):
918 (WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange):
919 * rendering/RenderBlock.h:
922 (RenderBlockRareData):
923 * rendering/RenderBlockLineLayout.cpp:
924 (WebCore::constructBidiRunsForLine):
926 2013-03-02 Zan Dobersek <zdobersek@igalia.com>
928 REGRESSION (r144517): IndexedDB layout test failures on GTK
929 https://bugs.webkit.org/show_bug.cgi?id=111243
931 Reviewed by Martin Robinson.
933 Changes to the custom JSC bindings for IDBAny are required after r144517,
934 specifically the case of IDBAny object having the KeyPathType type has to be covered.
935 These changes are analogous to those made to the V8 bindings in the mentioned commit.
937 No new tests - already covered by existing tests.
939 * bindings/js/JSIDBAnyCustom.cpp:
940 (WebCore::toJS): A helper function that wraps an IDBKeyPath into a JSValue.
941 (WebCore): Shuffle the order inside the switch statement a bit to match the V8 custom bindings.
942 Cover the case where the IDBAny object has the KeyPathType, calling the new helper method.
944 2013-03-02 Darin Adler <darin@apple.com>
946 Another try at fixing the build.
948 * loader/cache/MemoryCache.cpp: Added an include of CachedResourceHandle.h.
950 2013-03-02 Darin Adler <darin@apple.com>
954 * inspector/InspectorInstrumentation.h: Add missing forward declaration
957 2013-02-18 Darin Adler <darin@apple.com>
959 Cut down the number of source files that depend on Clipboard.h
960 https://bugs.webkit.org/show_bug.cgi?id=110030
962 Reviewed by Ryosuke Niwa.
964 I am doing some work on Clipboard and it's better to recompile 50 files
965 each time we touch the header instead of 700. Also cut down on includes
968 * WebCore.exp.in: Updated for new MouseEvent::create function.
970 * dom/ClipboardEvent.cpp: Added include of Clipboard.h since we use it
971 here and the world no longer includes it everywhere.
973 * dom/ClipboardEvent.h: Forward declared Clipboard instead of including
974 Clipboard.h. Also made some overrides private because they can be.
976 * dom/DataTransferItem.h: Removed unneeded include of Clipboard.h.
978 * dom/MouseEvent.cpp: Added include of Clipboard.h since we use it
979 here and the world no longer includes it everywhere.
980 (WebCore::MouseEvent::create): Made the create function non-inline
981 since we can't compile it without including Clipboard.h and we don't
982 want to include Clipboard.h in the header. This is not so commonly
983 used or so hot that this needs to be inlined.
985 * dom/MouseEvent.h: Forward declared Clipboard instead of including
986 Clipboard.h. Made MouseEvent::create a non-inline function and also
987 used overloading instead of default arguments, since we can't compile
988 a default argument of type PassRefPtr<Clipboard> without including
991 * dom/WheelEvent.cpp: Added include of Clipboard.h since we use it
992 here and the world no longer includes it everywhere.
994 * dom/WheelEvent.h: Forward declare PlatformWheelEvent since it is used
995 in this header. Previously we'd get it indirectly from including a header
996 that included Clipboard.h.
998 * editing/Editor.cpp: Added include of Clipboard.h since we use it here
999 and the world no longer includes it everywhere.
1001 * inspector/InspectorDebuggerAgent.cpp: Added include of CachedResource.h.
1002 We used to get this indirectly through Clipboard.h.
1004 * inspector/InspectorFrontendHost.cpp: Added includes of ResourceError.h
1005 and ResourceResponse.h. We used to get these indirectly through Clipboard.h.
1006 Also removed unneeded include of <wtf/RefPtr.h>.
1008 * inspector/NetworkResourcesData.cpp: Added include of CachedResource.h.
1009 We used to get this indirectly through Clipboard.h.
1011 * loader/PingLoader.cpp: Added include of ResourceResponse.h.
1012 We used to get this indirectly through Clipboard.h.
1014 * page/DragController.cpp: Added include of DragState.h.
1015 We used to get this indirectly through EventHandler.h
1017 * page/EventHandler.h: Forward declared DragState and Element instead of
1018 including DragState.h. Also added an include of LayoutPoint.h, which we
1019 used to get indirectly through DragState.h.
1021 2013-02-27 Darin Adler <darin@apple.com>
1023 StringHasher functions require alignment that call sites do not all guarantee
1024 https://bugs.webkit.org/show_bug.cgi?id=110171
1026 Reviewed by Benjamin Poulain.
1028 * platform/graphics/WidthCache.h:
1029 (WebCore::WidthCache::SmallStringKey::SmallStringKey): Use the newly added
1030 addCharactersAssumingAligned to make sure we don't slow this call site down.
1031 It's safe since this code always adds characters two at a time.
1033 2013-03-02 Adam Barth <abarth@webkit.org>
1035 XSSAuditor has a subtle race condition when used with the threaded HTML parser
1036 https://bugs.webkit.org/show_bug.cgi?id=111253
1038 Reviewed by Eric Seidel.
1040 We were refing and derefing a StringImpl for a main-thread
1041 AtomicString. Using QualifiedNames on the background thread is very
1042 fragile and we should figure out a more robust solution.
1044 * html/parser/XSSAuditor.cpp:
1045 (WebCore::findAttributeWithName):
1047 2013-03-02 Benjamin Poulain <bpoulain@apple.com>
1049 Move computedStyleIncludingVisitedInfo from TestRunner to Internals
1050 https://bugs.webkit.org/show_bug.cgi?id=109772
1052 Reviewed by Andreas Kling.
1054 The function computedStyleIncludingVisitedInfo() is purely internal to WebCore,
1055 it is better defined on Internals than on TestRunner.
1057 * testing/Internals.cpp:
1058 (WebCore::Internals::computedStyleIncludingVisitedInfo):
1059 * testing/Internals.h:
1060 * testing/Internals.idl:
1062 2013-03-02 David Kilzer <ddkilzer@apple.com>
1064 BUILD FIX (r143637): Export ScriptController::javaScriptContext() on iOS
1065 <http://webkit.org/b/106059>
1067 Fixes the following build failure:
1069 Undefined symbols for architecture armv7:
1070 "__ZN7WebCore16ScriptController17javaScriptContextEv", referenced from:
1071 -[WebFrame javaScriptContext] in WebFrame.o
1072 __ZN20WebFrameLoaderClient35dispatchDidClearWindowObjectInWorldEPN7WebCore15DOMWrapperWorldE in WebFrameLoaderClient.o
1073 ld: symbol(s) not found for architecture armv7
1075 * WebCore.exp.in: Export ScriptController::javaScriptContext()
1076 even more unconditionally.
1078 2013-03-02 Eric Seidel <eric@webkit.org>
1080 Remove two unnecessary mallocs from the main-thread-parser code path
1081 https://bugs.webkit.org/show_bug.cgi?id=111249
1083 Reviewed by Adam Barth.
1085 I noticed these while fixing up our Vector -> String conversions
1086 but never went back to fix the FIXME.
1088 AtomicString(Vector<UChar, capacity>) is smart enough to avoid mallocing
1089 if the represented string is already in the AtomicString table. It
1090 also handles 8bit vs. 16bit and empty() just like nameString() does.
1092 I also removed a 3rd caller to nameString() in the XSSAuditor which
1093 was causing an unnecessary malloc in both the main and background
1094 thread parser paths.
1096 * html/parser/AtomicHTMLToken.h:
1097 (WebCore::AtomicHTMLToken::AtomicHTMLToken):
1098 * html/parser/HTMLToken.h:
1099 * html/parser/XSSAuditor.cpp:
1101 (WebCore::threadSafeMatch):
1104 2013-03-02 Eric Seidel <eric@webkit.org>
1106 constructTreeFromCompactHTMLToken should call clearExternalCharacters
1107 https://bugs.webkit.org/show_bug.cgi?id=111248
1109 Reviewed by Adam Barth.
1111 I don't know how to write a test for this. It's possible characters()
1112 is never accessed from HTMLStackItem::token(), but it's better to be
1113 safe than sorry here.
1115 * html/parser/HTMLDocumentParser.cpp:
1116 (WebCore::HTMLDocumentParser::constructTreeFromCompactHTMLToken):
1118 2013-03-02 Rob Buis <rbuis@rim.com>
1120 Text overflow ellipsis wrong color when using webkit-text-fill-color
1121 https://bugs.webkit.org/show_bug.cgi?id=54841
1123 Reviewed by David Hyatt.
1125 Take -webkit-text-fill-color into account for ellipsis painting.
1127 Test: fast/css/text-overflow-ellipsis-color.html
1129 * rendering/EllipsisBox.cpp:
1130 (WebCore::EllipsisBox::paint):
1132 2013-03-02 Ryosuke Niwa <rniwa@webkit.org>
1134 Fix a typo in my previous commit (r144534).
1136 * platform/win/PasteboardWin.cpp:
1138 2013-03-02 Nayan Kumar K <nayankk@motorola.com>
1140 [WebGL] Support for texImage2D of type HALF_FLOAT_OES with ArrayBufferView.
1141 https://bugs.webkit.org/show_bug.cgi?id=110818
1143 Reviewed by Kenneth Russell.
1145 As per OES_texture_half_float specification texImage2D and texSubImage2D entry
1146 points taking ArrayBufferView should extended to accept null with the pixel type
1149 Tests: fast/canvas/webgl/oes-texture-half-float-not-supported.html
1150 fast/canvas/webgl/oes-texture-half-float.html
1153 * DerivedSources.make:
1154 * DerivedSources.pri:
1155 * GNUmakefile.list.am:
1158 * WebCore.xcodeproj/project.pbxproj:
1159 * bindings/js/JSWebGLRenderingContextCustom.cpp:
1161 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1162 (WebCore::toV8Object):
1163 * html/canvas/OESTextureHalfFloat.cpp: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
1165 (WebCore::OESTextureHalfFloat::OESTextureHalfFloat):
1166 (WebCore::OESTextureHalfFloat::~OESTextureHalfFloat):
1167 (WebCore::OESTextureHalfFloat::getName):
1168 (WebCore::OESTextureHalfFloat::create):
1169 * html/canvas/OESTextureHalfFloat.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
1171 (OESTextureHalfFloat):
1172 * html/canvas/OESTextureHalfFloat.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
1173 * html/canvas/WebGLExtension.h:
1174 * html/canvas/WebGLRenderingContext.cpp:
1176 (WebCore::WebGLRenderingContext::getExtension):
1177 (WebCore::WebGLRenderingContext::texImage2D):
1178 (WebCore::WebGLRenderingContext::texSubImage2D):
1179 (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
1180 (WebCore::WebGLRenderingContext::validateTexFuncData):
1181 * html/canvas/WebGLRenderingContext.h:
1183 (WebGLRenderingContext):
1184 * html/canvas/WebGLRenderingContext.idl:
1185 * platform/graphics/Extensions3D.h:
1187 * platform/graphics/GraphicsContext3D.cpp:
1188 (WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
1189 * platform/graphics/GraphicsContext3D.h:
1190 * platform/graphics/GraphicsTypes3D.h:
1191 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1192 (WebCore::GraphicsContext3D::texImage2D):
1194 2013-03-02 Ryosuke Niwa <rniwa@webkit.org>
1196 Windows build fix attempt after r144530.
1198 * platform/win/PasteboardWin.cpp:
1200 2013-03-01 Dan Bernstein <mitz@apple.com>
1202 Tried to fix the build after r144530.
1204 * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h: Include the header for the
1207 2013-03-01 Terry Anderson <tdanderson@chromium.org>
1209 Remove unused member variable m_useLatchedEventNode from PlatformWheelEvent.h
1210 https://bugs.webkit.org/show_bug.cgi?id=107314
1212 Reviewed by Darin Adler.
1214 EventHandler::handleGestureScrollCore() was removed in http://trac.webkit.org/changeset/140177,
1215 and this was the only place where the member variable |m_useLatchedEventNode| in
1216 PlatformWheelEvent was mutated. This variable is no longer needed and so it should be removed.
1218 No change in behavior, so no new tests needed.
1220 * platform/PlatformWheelEvent.h:
1221 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1222 (WebCore::PlatformWheelEvent::useLatchedEventNode):
1223 (PlatformWheelEvent):
1225 2013-02-28 Alexey Proskuryakov <ap@apple.com>
1227 Reduce amount of rebuilding when touching networking headers
1228 https://bugs.webkit.org/show_bug.cgi?id=111035
1230 Reviewed by Eric Seidel.
1232 This uses a number of common unsurprising techniques. One interesting observation
1233 is that including CachedResource related headers is very expensive. We can usually
1234 get away with their Client counterparts, and with CachedResourceHandle.
1238 Don't include FrameLoader, greatly reducing include graph for most non-loader files.
1239 This required making Frame::init() non-inline - I'm not sure why it ever was.
1241 * loader/FrameLoader.cpp:
1242 * loader/FrameLoader.h:
1243 Even though FrameLoader is logically on loading side of WebCore, it's included in
1244 too many places. Not including PolicyChecker.h and ResourceHandle.h was among the
1245 largest wins. As a future improvement, we should probably convert other members
1248 * css/CSSCrossfadeValue.h: Initializing CachedResourceHandle with 0 requires a
1249 definition of a class it holds, but default construction does not.
1251 * loader/CrossOriginAccessControl.h: This file among others only needs ResourceHandleTypes.h,
1252 not ResourceHandle.h. This header is semi-recent, so not all include sites were updated.
1254 * loader/cache/CachedFont.h:
1255 * loader/cache/CachedFontClient.h: Added.
1256 * loader/cache/CachedRawResource.h:
1257 * loader/cache/CachedRawResourceClient.h: Added.
1258 * loader/cache/CachedSVGDocument.h:
1259 * loader/cache/CachedSVGDocumentClient.h: Added.
1260 These types were defining client types in the same headers, making it impossible
1261 to avoid including networking headers through CachedResource. Moved clients into
1264 * plugins/PluginStream.h:
1265 * plugins/PluginStreamClient.h: Added.
1266 Similar situation here.
1268 * loader/cache/CachedResourceHandle.cpp:
1269 * loader/cache/CachedResourceHandle.h:
1270 Moved functions that need to know about CachedResource to .cpp file. This is another
1271 huge win. Added a destructor, so that CachedResource woudn't be needed in all files
1272 that include CachedResourceHandle.
1274 * loader/cache/CachedSVGDocumentReference.cpp: Added.
1275 * loader/cache/CachedSVGDocumentReference.h:
1276 Moved constructor and virtual function implementations to a .cpp file - they need
1277 not inlining, and this lets us avoid including CachedSVGDocument.h in the header.
1279 * platform/graphics/filters/FilterOperation.cpp:
1280 * platform/graphics/filters/FilterOperation.h:
1281 Avoid including CachedSVGDocumentReference.h. This is not such a big win now that
1282 CachedSVGDocumentReference.h itself is smaller, but FilterOperation is so clearly
1283 rendering code that it seems best to cut any ties with resources and loading.
1284 Added a virtual destrutor in .cpp file, because inline destructors in polymorphic
1285 classes are generally harmful (due to code bloat).
1287 * plugins/PluginRequest.h: Added.
1288 * plugins/PluginView.h:
1289 Moved PluginRequest into a separate file, it was out of place in a view hierarchy
1292 * rendering/RenderImageResource.cpp:
1293 * rendering/RenderImageResource.h:
1294 Moved definitions of virtual functions to a .cpp file. Thre is no win from having
1295 them inline, and now we don't need CachedImage.h in the header.
1297 * rendering/style/StyleCustomFilterProgram.cpp: Added.
1298 * rendering/style/StyleCustomFilterProgram.h:
1302 * GNUmakefile.list.am:
1303 * Modules/mediastream/RTCPeerConnection.cpp:
1304 * Modules/notifications/Notification.cpp:
1308 * WebCore.vcproj/WebCore.vcproj:
1309 * WebCore.vcxproj/WebCore.vcxproj:
1310 * WebCore.vcxproj/WebCore.vcxproj.filters:
1311 * WebCore.xcodeproj/project.pbxproj:
1312 * bindings/ScriptControllerBase.cpp:
1313 * bindings/js/JSNodeCustom.cpp:
1314 * bindings/js/ScriptController.cpp:
1315 * bindings/js/ScriptSourceCode.h:
1316 * bindings/objc/DOM.mm:
1317 * bindings/v8/ScriptController.cpp:
1318 * bindings/v8/V8DOMWindowShell.cpp:
1319 * bindings/v8/custom/V8DOMWindowCustom.cpp:
1320 * css/CSSFontFaceSource.h:
1321 * css/CSSFontSelector.cpp:
1322 * css/WebKitCSSSVGDocumentValue.cpp:
1323 * css/WebKitCSSSVGDocumentValue.h:
1324 * dom/Clipboard.cpp:
1325 * dom/ContainerNode.cpp:
1326 * dom/DOMImplementation.cpp:
1327 * dom/PendingScript.h:
1328 * dom/ScriptElement.cpp:
1329 * dom/ScriptElement.h:
1330 * history/CachedFrame.cpp:
1332 * html/HTMLAnchorElement.cpp:
1333 * html/HTMLAppletElement.cpp:
1334 * html/HTMLElement.cpp:
1335 * html/HTMLEmbedElement.cpp:
1336 * html/HTMLFrameSetElement.cpp:
1337 * html/HTMLHtmlElement.cpp:
1338 * html/HTMLImageElement.cpp:
1339 * html/HTMLObjectElement.cpp:
1340 * html/HTMLPlugInElement.cpp:
1341 * html/ImageDocument.cpp:
1342 * html/ImageInputType.cpp:
1343 * html/MediaDocument.cpp:
1344 * html/PluginDocument.cpp:
1345 * html/canvas/WebGLRenderingContext.cpp:
1346 * html/parser/HTMLConstructionSite.cpp:
1347 * html/parser/HTMLParserOptions.cpp:
1348 * html/parser/HTMLScriptRunner.h:
1349 * html/parser/XSSAuditor.cpp:
1350 * html/parser/XSSAuditorDelegate.cpp:
1351 * inspector/InspectorDebuggerAgent.cpp:
1352 * inspector/InspectorFileSystemAgent.cpp:
1353 * inspector/InspectorFrontendHost.cpp:
1354 * inspector/InspectorInstrumentation.h:
1355 * inspector/InspectorPageAgent.cpp:
1356 * inspector/NetworkResourcesData.cpp:
1357 * inspector/NetworkResourcesData.h:
1358 * loader/CookieJar.cpp:
1359 * loader/CrossOriginAccessControl.cpp:
1360 * loader/CrossOriginPreflightResultCache.h:
1361 * loader/DocumentThreadableLoader.h:
1362 * loader/ImageLoader.cpp:
1363 * loader/ImageLoader.h:
1364 * loader/LinkLoader.h:
1365 * loader/MainResourceLoader.cpp:
1366 * loader/MainResourceLoader.h:
1367 * loader/MixedContentChecker.cpp:
1368 * loader/PingLoader.cpp:
1369 * loader/PolicyChecker.h:
1370 * loader/ProgressTracker.cpp:
1371 * loader/SubframeLoader.cpp:
1372 * loader/SubresourceLoader.cpp:
1373 * loader/TextTrackLoader.cpp:
1374 * loader/TextTrackLoader.h:
1375 * loader/ThreadableLoader.h:
1376 * loader/appcache/ApplicationCacheGroup.cpp:
1377 * loader/appcache/ApplicationCacheGroup.h:
1378 * loader/appcache/ApplicationCacheHost.cpp:
1379 * loader/archive/cf/LegacyWebArchive.cpp:
1380 * loader/cache/CachedFont.cpp:
1381 * loader/cache/CachedImage.cpp:
1382 * loader/cache/CachedRawResource.cpp:
1383 * loader/cache/CachedResource.cpp:
1384 * loader/cache/CachedStyleSheetClient.h:
1385 * loader/cache/MemoryCache.cpp:
1386 * loader/cache/MemoryCache.h:
1387 * loader/chromium/CachedRawResourceChromium.cpp:
1388 * loader/icon/IconController.cpp:
1389 * loader/icon/IconLoader.h:
1390 * loader/mac/ResourceLoaderMac.mm:
1391 * page/DOMWindowExtension.cpp:
1392 * page/DragController.cpp:
1393 * page/PerformanceNavigation.cpp:
1394 * page/PerformanceTiming.cpp:
1395 * page/PointerLockController.cpp:
1396 * page/Settings.cpp:
1397 * page/animation/CSSPropertyAnimation.cpp:
1398 * platform/chromium/PasteboardChromium.cpp:
1399 * platform/efl/ErrorsEfl.cpp:
1400 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1401 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1402 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1403 * platform/gtk/ErrorsGtk.cpp:
1404 * platform/gtk/PasteboardGtk.cpp:
1405 * platform/gtk/PasteboardHelper.h:
1406 * platform/mac/ClipboardMac.h:
1407 * platform/mac/ClipboardMac.mm:
1408 * platform/mac/HTMLConverter.mm:
1409 * platform/mac/PasteboardMac.mm:
1410 * platform/network/AuthenticationChallengeBase.cpp:
1411 * platform/network/cf/CookieJarCFNet.cpp:
1412 * platform/network/cf/ResourceRequestCFNet.cpp:
1413 * platform/network/mac/CookieStorageMac.mm:
1414 * platform/qt/PasteboardQt.cpp:
1415 * plugins/DOMMimeType.cpp:
1416 * plugins/PluginView.cpp:
1417 * rendering/HitTestResult.cpp:
1418 * rendering/InlineFlowBox.cpp:
1419 * rendering/RenderBox.cpp:
1420 * rendering/RenderEmbeddedObject.cpp:
1421 * rendering/RenderImage.cpp:
1422 * rendering/RenderImageResourceStyleImage.cpp:
1423 * rendering/RenderLayer.cpp:
1424 * rendering/RenderLayerBacking.cpp:
1425 * rendering/RenderLayerFilterInfo.h:
1426 * rendering/RenderListItem.cpp:
1427 * rendering/RenderListMarker.cpp:
1428 * rendering/RenderSnapshottedPlugIn.cpp:
1429 * rendering/RenderTableCol.cpp:
1430 * rendering/RenderTableRow.cpp:
1431 * rendering/RenderTableSection.cpp:
1432 * rendering/style/StyleCachedShader.h:
1433 * svg/SVGFEImageElement.h:
1434 * svg/SVGFontFaceUriElement.h:
1435 * svg/SVGImageLoader.cpp:
1436 * svg/SVGUseElement.cpp:
1437 * svg/SVGUseElement.h:
1438 * svg/graphics/SVGImageCache.cpp:
1439 * testing/MockPagePopupDriver.cpp:
1440 * xml/XSLStyleSheet.h:
1441 * xml/XSLTProcessorLibxslt.cpp:
1442 * xml/parser/XMLDocumentParser.cpp:
1443 * xml/parser/XMLDocumentParser.h:
1444 * xml/parser/XMLDocumentParserLibxml2.cpp:
1445 Many self-evident changes - removing unnecessary header includes, adding smaller
1446 more local ones that are now necessary.
1448 2013-03-01 David Hyatt <hyatt@apple.com>
1450 [New Multicolumn] Transformed objects inside fragmented transparent objects don't render
1451 https://bugs.webkit.org/show_bug.cgi?id=111221.
1453 Reviewed by Simon Fraser.
1455 Improve transparencyClipBox so that it understands when moving into descendants
1456 that it does in fact have to break up the transformed clip rect across the
1459 Make sure when handling fragmented transforms using multiple paints that
1460 the test that determines the extent of the transform within the fragments
1461 uses transparencyClipBox. This gives us an accurate set of columns that the
1462 final transformed result will paint across.
1464 Tests: fast/multicol/mixed-opacity-fixed-test.html
1465 fast/multicol/mixed-opacity-test.html
1466 fast/multicol/transform-inside-opacity.html
1468 * rendering/RenderLayer.cpp:
1469 (WebCore::transparencyClipBox):
1470 (WebCore::expandClipRectForDescendantsAndReflection):
1471 Break transformed boxes up into fragments when they are
1472 being requested by an ancestor.
1474 (WebCore::RenderLayer::collectFragments):
1475 (WebCore::RenderLayer::paintTransformedLayerIntoFragments):
1476 (WebCore::RenderLayer::hitTestTransformedLayerInFragments):
1477 * rendering/RenderLayer.h:
1479 Modify collectFragments so that we pass in the correct range
1480 within the columns that can possibly cover the fragmented
1483 2013-03-01 Ilya Tikhonovsky <loislo@chromium.org>
1485 Web Inspector: Native Memory Instrumentation: do not visit raw pointers by default.
1486 https://bugs.webkit.org/show_bug.cgi?id=110943
1488 Reviewed by Yury Semikhatsky.
1490 Unfortunately in many cases raw pointer may point to an object that has been deleted.
1491 There is no working solution to solve this problem in general.
1492 It could be solved only on case by case basis.
1494 * inspector/HeapGraphSerializer.cpp:
1495 (WebCore::HeapGraphSerializer::HeapGraphSerializer):
1496 (WebCore::HeapGraphSerializer::reportLeaf):
1497 * loader/cache/MemoryCache.cpp:
1498 (WebCore::MemoryCache::reportMemoryUsage):
1499 * platform/graphics/BitmapImage.cpp:
1500 (WebCore::FrameData::reportMemoryUsage):
1501 * platform/graphics/skia/MemoryInstrumentationSkia.cpp:
1502 (reportMemoryUsage):
1504 2013-03-01 Kentaro Hara <haraken@chromium.org>
1506 Style recalculation takes too long when adding whitespace text nodes
1507 https://bugs.webkit.org/show_bug.cgi?id=110786
1509 Reviewed by Darin Adler.
1511 // This takes 216 msec.
1512 for (var i = 0; i < 1500; ++i) {
1513 document.body.appendChild(document.createTextNode('x'));
1514 document.body.appendChild(document.createElement('div'));
1515 document.body.appendChild(document.createTextNode('x'));
1518 // But this takes 25.3 seconds.
1519 for (var i = 0; i < 1500; ++i) {
1520 document.body.appendChild(document.createTextNode(' '));
1521 document.body.appendChild(document.createElement('div'));
1522 document.body.appendChild(document.createTextNode(' '));
1525 The reason is that we do not create renderers for empty text
1526 nodes and thus we are hitting the worst O(N^2) case in Node::attach().
1527 (See FIXME in Node::attach().)
1529 This patch adds a logic to bail out the loop to avoid the O(N^2) case.
1530 Specifically, the patch bails out the loop if we encounter a text node
1531 for which we again decided not to create a renderer. This bail out is
1532 reasonable because the fact that we again decided not to create a renderer
1533 for the text node indicates that there will be no affect of the result
1534 of Text::textRendererIsNeeded() of the rest of the sibling nodes.
1536 Performance test: https://bugs.webkit.org/attachment.cgi?id=190545
1537 Performance result in Chromium/Linux: 25.3 sec => 48 msec !
1539 Test: perf/append-text-nodes-without-renderers.html (for performance)
1540 fast/dynamic/create-renderer-for-whitespace-only-text.html (for correctness)
1542 The loop was introduced in r29054. We have to make sure that
1543 all layout tests that were updated in r29054 pass with this patch.
1544 See http://trac.webkit.org/changeset/29054.
1547 (WebCore::Node::attach):
1549 2013-03-01 Jason Anderssen <janderssen@gmail.com>
1551 Moved markerTextForListItem from TestRunner to Internals
1552 https://bugs.webkit.org/show_bug.cgi?id=110939
1554 Reviewed by Benjamin Poulain.
1556 TestRunner framework is an old way of testing webkit, it would be
1557 better to incorporate the testing frame directly into the WebCore itself
1558 as to make it more compatible with WK2.
1560 * testing/Internals.cpp:
1561 (WebCore::Internals::markerTextForListItem):
1563 * testing/Internals.h:
1564 * testing/Internals.idl:
1566 2013-03-01 Elliott Sprehn <esprehn@gmail.com>
1568 Don't leak Documents when using MutationObserver from extensions
1569 https://bugs.webkit.org/show_bug.cgi?id=111234
1571 Reviewed by Adam Barth.
1573 MutationObserverCallback holds a WorldContextHandle which secretly isn't
1574 a handle to anything when it's for the main world. When it's for a non-main
1575 world though, like those used in extensions, it becomes a strong reference
1576 to the v8::Context which results in leaks by creating cycles:
1578 MutationObserver -> Callback -> World -> Document -> Node -> MutationObserver.
1580 Instead we should keep a RefPtr to a DOMWrapperWorld in the callback and then
1581 get the v8::Context from that inside handleEvent.
1583 Tests: ManualTests/leak-observer-nonmain-world.html
1585 * bindings/v8/V8Binding.cpp:
1586 (WebCore::toV8Context): Added overload that takes a DOMWrapperWorld.
1587 * bindings/v8/V8Binding.h:
1588 * bindings/v8/V8MutationCallback.cpp:
1589 (WebCore::V8MutationCallback::V8MutationCallback):
1590 (WebCore::V8MutationCallback::handleEvent):
1591 * bindings/v8/V8MutationCallback.h:
1592 (V8MutationCallback):
1594 2013-03-01 Bear Travis <betravis@adobe.com>
1596 [css exclusions] Move ExclusionShapeInsideInfo into RenderBlockRareData
1597 https://bugs.webkit.org/show_bug.cgi?id=110995
1599 Reviewed by Julien Chaffraix.
1601 This patch moves ExclusionShapeInsideInfo into the RenderBlockRareData struct,
1602 which enables us to move away from the global ExclusionShapeInsideInfo map.
1603 Some additional refactoring was done to remove ExclusionShapeInsideInfo's
1604 dependency on InlineIterator, which depended on RenderBlock. This work required
1605 adding a new LineSegmentIterator struct.
1607 Refactoring, no new tests.
1609 * rendering/ExclusionShapeInsideInfo.cpp:
1611 (WebCore::LineSegmentRange::LineSegmentRange): Moving the InlineIterator
1612 constructor to the .cpp file, as InlineIterator is now forward declared in
1614 (WebCore::ExclusionShapeInsideInfo::isEnabledFor): Moving isEnabledFor to
1615 the .cpp file, as RenderBlock is now forward declared in the .h file.
1616 * rendering/ExclusionShapeInsideInfo.h:
1618 (LineSegmentIterator): A simple struct for containing segment positions for
1620 (WebCore::LineSegmentIterator::LineSegmentIterator): Constructor.
1621 (LineSegmentRange): Transitioning to store LineSegmentIterator.
1622 (WebCore::LineSegmentRange::LineSegmentRange): Ditto.
1623 (ExclusionShapeInsideInfo):
1624 * rendering/RenderBlock.cpp:
1625 (WebCore::RenderBlock::willBeDestroyed): Destroying a block will now destroy
1626 its ExclusionShapeInsideInfo, so there is no need to remove it from the map.
1628 (WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange): Use
1629 the RenderBlockRareData struct rather than the global map.
1630 * rendering/RenderBlock.h:
1632 (WebCore::RenderBlock::ensureExclusionShapeInsideInfo): Ensure an info struct
1633 is present if the shape-inside style is set.
1634 (WebCore::RenderBlock::exclusionShapeInsideInfo): Look up the info struct for
1636 (WebCore::RenderBlock::setExclusionShapeInsideInfo): Update the info struct
1637 for the current block.
1638 (RenderBlockRareData): Add the ExclusionShapeInsideInfo member.
1639 * rendering/RenderBlockLineLayout.cpp:
1640 (WebCore::constructBidiRunsForLine): Construct the appropriate offsets during
1641 layout based on the stored LineSegmentIterators.
1643 2013-03-01 Terry Anderson <tdanderson@chromium.org>
1645 EventHandler::handleGestureScrollUpdate() should invoke the user-generated scroll routines
1646 so its behavior matches other user-initiated scrolls
1647 https://bugs.webkit.org/show_bug.cgi?id=109769
1649 Reviewed by James Robinson.
1651 To ensure that the scrolling behavior of GestureScrollUpdate events are consistent with
1652 the scrolling behavior of mousewheel events, use the existing user-generated scroll logic
1653 instead of calling into RenderLayer::scrollByRecursively(). This patch fixes the bug
1654 reported in https://bugs.webkit.org/show_bug.cgi?id=109316, where the example page can
1655 be scrolled using touch but cannot be scrolled using mousewheels.
1657 Note that this patch does not use any of the mousewheel event-handling code.
1659 Tests: fast/events/touch/gesture/touch-gesture-noscroll-body-propagated.html
1660 fast/events/touch/gesture/touch-gesture-noscroll-body-xhidden.html
1661 fast/events/touch/gesture/touch-gesture-noscroll-body-yhidden.html
1662 fast/events/touch/gesture/touch-gesture-noscroll-body.html
1664 * page/EventHandler.cpp:
1665 (WebCore::EventHandler::clear):
1666 (WebCore::EventHandler::handleGestureEvent):
1667 (WebCore::EventHandler::handleGestureScrollBegin):
1668 (WebCore::EventHandler::handleGestureScrollUpdate):
1669 (WebCore::EventHandler::sendScrollEventToView):
1670 By calling this function at the start of handleGestureScrollUpdate() in the case
1671 where |m_scrollGestureHandlingNode| is null, we ensure that the scroll updates
1672 can still scroll the page itself, if possible.
1674 (WebCore::EventHandler::clearGestureScrollNodes):
1675 * page/EventHandler.h:
1677 * platform/PlatformWheelEvent.h:
1678 (WebCore::PlatformWheelEvent::setHasPreciseScrollingDeltas):
1680 2013-03-01 Alec Flett <alecflett@chromium.org>
1682 IndexedDB: Avoid ScriptValue copies in IDBAny
1683 https://bugs.webkit.org/show_bug.cgi?id=111002
1685 Reviewed by Adam Barth.
1687 This avoids some v8 handle thrashing in the long term,
1688 and protects us against some crashes in the short term.
1690 The crashes will be fixed in
1691 https://bugs.webkit.org/show_bug.cgi?id=110206.
1693 * Modules/indexeddb/IDBAny.cpp:
1694 (WebCore::IDBAny::createNull):
1695 (WebCore::IDBAny::createString):
1696 (WebCore::IDBAny::IDBAny):
1697 (WebCore::IDBAny::scriptValue):
1698 * Modules/indexeddb/IDBAny.h:
1699 (WebCore::IDBAny::create):
1701 (WebCore::IDBAny::keyPath):
1702 * bindings/v8/custom/V8IDBAnyCustom.cpp:
1706 2013-03-01 Victor Carbune <vcarbune@chromium.org>
1708 Support padding, margin and border for internal UA cue styling
1709 https://bugs.webkit.org/show_bug.cgi?id=110703
1711 Reviewed by Eric Carlson.
1713 For some particular user agent styling this allows the possibility
1714 of making the window around the cue text bigger to match some user
1715 styles (see CaptionUserPreferencesMac::captionsStyleSheetOverride).
1717 These properties *cannot* be set through by using the ::cue
1718 pseudo-element and, as specified, are used only internally.
1720 Note: This patch is identical to the previously commited one,
1721 as it was rolled back without related tests failing.
1723 Test: media/track/track-cue-rendering-with-padding.html
1725 * css/mediaControls.css:
1726 (video::-webkit-media-text-track-display): Set the CSS box model
1727 to include in the specified width or height the values of
1728 padding / margin / border by using -webkit-box-sizing and avoid
1729 overflow over 100% width because of having these properties set.
1730 * rendering/RenderTextTrackCue.cpp:
1731 (WebCore::RenderTextTrackCue::isOutside): To not interfere with
1732 the regular WebVTT positioning algorithm, the check is done for
1733 the absolute content box.
1734 (WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet): Added
1735 an extra adjustment step to accomodate vertical padding (and not
1736 overflow the cue container)
1738 2013-03-01 Andy Estes <aestes@apple.com>
1740 REGRESSION (r125809): CFStrings created via StringImpl::createCFString() might reference freed memory when Objective-C garbage collection is enabled
1741 https://bugs.webkit.org/show_bug.cgi?id=111219
1743 Reviewed by Benjamin Poulain.
1745 StringImpl::createCFString() uses CFStringCreateWithBytesNoCopy() in
1746 order to create CFString without making an unnecessary copy. In order
1747 to ensure that the the StringImpl's backing buffer isn't deallocated
1748 while the CFString is still alive, we use a custom CFAllocator to
1749 ref/deref the StringImpl at the appropriate times.
1751 However, custom allocators aren't supported when Objective-C garbage
1752 collection is enabled, so in this case we use the default CF allocator.
1753 Since we can't guarantee the lifetime of the StringImpl in this case,
1754 we should just fall back to copying the string, as we did prior to r125809.
1756 * platform/text/cf/StringImplCF.cpp:
1757 (garbageCollectionEnabled): Moved the check for whether garbage
1758 collection is enabled from StringWrapperCFAllocator::create() to here.
1759 (WTF::StringWrapperCFAllocator::create): Call garbageCollectionEnabled().
1760 (WTF::StringImpl::createCFString): If garbage collection is enabled,
1761 call the variants of CFStringCreate that copy the string.
1763 2013-03-01 Roger Fong <roger_fong@apple.com>
1765 Unreviewed AppleWin build fix.
1767 * platform/network/cf/ResourceHandleCFNet.cpp:
1768 (WebCore::ResourceHandle::createCFURLConnection):
1770 2013-03-01 Martin Robinson <mrobinson@igalia.com>
1772 [GTK] Allow sharing the WebCore include list with the Chromium build
1773 https://bugs.webkit.org/show_bug.cgi?id=110241
1775 Reviewed by Dirk Pranke.
1777 * WebCore.gyp/WebCoreGTK.gyp: Added. A skeleton gyp file for WebCoreGTK+.
1778 * WebCore.gypi: Added shared include directories.
1780 2013-03-01 Alexey Proskuryakov <ap@apple.com>
1782 Make in-memory blobs work in NetworkProcess
1783 https://bugs.webkit.org/show_bug.cgi?id=111132
1785 Reviewed by Sam Weinig.
1788 * WebCore.xcodeproj/project.pbxproj:
1789 Exported functions now needed by WebKit2, and made some headers Private instead
1792 2013-03-01 Eric Seidel <eric@webkit.org>
1794 Threaded HTML Parser has an extra copy of every byte from the network
1795 https://bugs.webkit.org/show_bug.cgi?id=111135
1797 Reviewed by Adam Barth.
1799 Every LayoutTest executes this code in threaded parsing mode.
1801 * dom/DecodedDataDocumentParser.cpp:
1802 (WebCore::DecodedDataDocumentParser::appendBytes):
1803 - Pass ownership of the decoded string to the parser.
1804 (WebCore::DecodedDataDocumentParser::flush):
1806 * dom/DecodedDataDocumentParser.h:
1807 (DecodedDataDocumentParser):
1809 (WebCore::Document::setContent):
1810 * dom/DocumentParser.h:
1812 * dom/RawDataDocumentParser.h:
1813 (WebCore::RawDataDocumentParser::append):
1814 * html/FTPDirectoryDocument.cpp:
1815 (FTPDirectoryDocumentParser):
1816 (WebCore::FTPDirectoryDocumentParser::append):
1817 * html/parser/HTMLDocumentParser.cpp:
1818 (WebCore::HTMLDocumentParser::append):
1819 * html/parser/HTMLDocumentParser.h:
1820 (HTMLDocumentParser):
1821 * html/parser/HTMLViewSourceParser.cpp:
1822 (WebCore::HTMLViewSourceParser::append):
1823 * html/parser/HTMLViewSourceParser.h:
1824 (HTMLViewSourceParser):
1825 * html/parser/TextDocumentParser.cpp:
1826 (WebCore::TextDocumentParser::append):
1827 * html/parser/TextDocumentParser.h:
1828 (TextDocumentParser):
1829 * loader/DocumentWriter.cpp:
1830 (WebCore::DocumentWriter::replaceDocument):
1831 * xml/parser/XMLDocumentParser.cpp:
1832 (WebCore::XMLDocumentParser::append):
1833 * xml/parser/XMLDocumentParser.h:
1834 (XMLDocumentParser):
1835 * xml/parser/XMLDocumentParserLibxml2.cpp:
1836 (WebCore::XMLDocumentParser::resumeParsing):
1838 2013-03-01 David Hyatt <hyatt@apple.com>
1840 [New Multicolumn] Change inRenderFlowThread to follow containing block chain
1841 https://bugs.webkit.org/show_bug.cgi?id=111206
1843 Reviewed by Simon Fraser.
1845 This patch removes inRenderFlowThread and changes enclosingRenderFlowThread()
1846 to flowThreadContainingBlock(). flowThreadContainingBlock() now follows
1847 the containing block chain instead of the parent chain when outside of layout.
1848 (It already did the right thing when called during layout.)
1850 By removing inRenderFlowThread (which was following the parent chain), all
1851 code that is checking for flow thread containment now correctly uses the
1852 containing block chain. This allows for content to escape in-flow flow threads
1853 and do the right thing without asserting.
1855 Test: fast/multicol/positioned-outside-of-columns.html
1857 * dom/WebKitNamedFlow.cpp:
1858 (WebCore::inFlowThread):
1859 (WebCore::WebKitNamedFlow::getRegionsByContent):
1860 * rendering/RenderBlock.cpp:
1861 (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
1862 (WebCore::RenderBlock::collapseAnonymousBoxChild):
1863 (WebCore::RenderBlock::updateRegionsAndExclusionsLogicalSize):
1864 (WebCore::RenderBlock::computeRegionRangeForBlock):
1865 (WebCore::RenderBlock::layoutBlock):
1866 (WebCore::RenderBlock::computeOverflow):
1867 (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
1868 (WebCore::RenderBlock::computeLogicalLocationForFloat):
1869 (WebCore::RenderBlock::logicalLeftOffsetForContent):
1870 (WebCore::RenderBlock::logicalRightOffsetForContent):
1871 (WebCore::RenderBlock::hasNextPage):
1872 (WebCore::RenderBlock::applyBeforeBreak):
1873 (WebCore::RenderBlock::applyAfterBreak):
1874 (WebCore::RenderBlock::pageLogicalTopForOffset):
1875 (WebCore::RenderBlock::pageLogicalHeightForOffset):
1876 (WebCore::RenderBlock::pageRemainingLogicalHeightForOffset):
1877 (WebCore::RenderBlock::adjustForUnsplittableChild):
1878 (WebCore::RenderBlock::adjustLinePositionForPagination):
1879 (WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
1880 (WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage):
1881 (WebCore::RenderBlock::regionAtBlockOffset):
1882 (WebCore::RenderBlock::setStaticInlinePositionForChild):
1883 (WebCore::RenderBlock::logicalWidthChangedInRegions):
1884 (WebCore::RenderBlock::clampToStartAndEndRegions):
1885 * rendering/RenderBlock.h:
1887 * rendering/RenderBlockLineLayout.cpp:
1888 (WebCore::layoutExclusionShapeInsideInfo):
1889 (WebCore::LineLayoutState::LineLayoutState):
1890 (WebCore::LineLayoutState::flowThread):
1891 (WebCore::LineLayoutState::setFlowThread):
1893 (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
1894 (WebCore::RenderBlock::linkToEndLineIfNeeded):
1895 (WebCore::RenderBlock::layoutInlineChildren):
1896 (WebCore::RenderBlock::determineStartPosition):
1897 (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
1898 * rendering/RenderBox.cpp:
1899 (WebCore::RenderBox::clearRenderBoxRegionInfo):
1900 (WebCore::RenderBox::renderBoxRegionInfo):
1901 (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
1902 (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
1903 (WebCore::RenderBox::computePositionedLogicalWidth):
1904 (WebCore::RenderBox::computePositionedLogicalHeight):
1905 * rendering/RenderDeprecatedFlexibleBox.cpp:
1906 (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
1907 * rendering/RenderFlexibleBox.cpp:
1908 (WebCore::RenderFlexibleBox::layoutBlock):
1909 * rendering/RenderFlowThread.cpp:
1910 (WebCore::RenderFlowThread::objectInFlowRegion):
1911 * rendering/RenderGrid.cpp:
1912 (WebCore::RenderGrid::layoutBlock):
1913 * rendering/RenderInline.cpp:
1914 (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
1915 * rendering/RenderLayer.cpp:
1916 (WebCore::accumulateOffsetTowardsAncestor):
1917 * rendering/RenderLayerCompositor.cpp:
1918 (WebCore::RenderLayerCompositor::canBeComposited):
1919 * rendering/RenderMedia.cpp:
1920 (WebCore::RenderMedia::layout):
1921 * rendering/RenderObject.cpp:
1922 (WebCore::RenderObject::locateFlowThreadContainingBlock):
1923 (WebCore::RenderObject::containerForRepaint):
1924 (WebCore::RenderObject::willBeRemovedFromTree):
1925 (WebCore::RenderObject::removeFromRenderFlowThread):
1926 (WebCore::RenderObject::removeFromRenderFlowThreadRecursive):
1927 * rendering/RenderObject.h:
1929 (WebCore::RenderObject::flowThreadContainingBlock):
1930 * rendering/RenderRegion.cpp:
1931 (WebCore::RenderRegion::setObjectStyleInRegion):
1932 * rendering/RenderView.cpp:
1933 (WebCore::RenderView::addChild):
1934 (WebCore::RenderView::initializeLayoutState):
1935 (WebCore::RenderView::setSelection):
1936 * rendering/RenderView.h:
1937 (WebCore::RenderView::pushLayoutState):
1938 * rendering/RootInlineBox.cpp:
1939 (WebCore::RootInlineBox::containingRegion):
1940 (WebCore::RootInlineBox::setContainingRegion):
1942 2013-02-28 Sam Weinig <sam@webkit.org>
1944 Add SPI for marking a WebView as doing things on behalf of another process
1945 https://bugs.webkit.org/show_bug.cgi?id=111125
1947 Reviewed by Alexey Proskuryakov.
1949 * platform/network/NetworkingContext.h:
1950 (NetworkingContext):
1951 * platform/network/cf/ResourceHandleCFNet.cpp:
1952 (WebCore::ResourceHandle::createCFURLConnection):
1953 * platform/network/mac/ResourceHandleMac.mm:
1954 (WebCore::ResourceHandle::createNSURLConnection):
1955 Set the sourceApplicationAuditData on the URL connection if available.
1957 2013-03-01 Brent Fulgham <bfulgham@webkit.org>
1959 [Windows] Unreviewed VS2010 build fix.
1961 * WebCore.vcxproj/WebCore.vcxproj: Add missing TimelineTraceEventProcessor
1962 files to the project.
1963 * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1965 2013-03-01 Bear Travis <betravis@adobe.com>
1967 [css exclusions] setting shape-inside on a parent does not relayout child blocks' inline content
1968 https://bugs.webkit.org/show_bug.cgi?id=108128
1970 Reviewed by David Hyatt.
1972 Ensure that blocks lay out when their parent's shape-inside changes.
1973 ExclusionShapeInsideInfo now stores an additional flag indicating whether
1974 the shape has changed and its block's children require layout. Each block
1975 can look up the flag via LayoutState to determine whether it needs to lay
1978 Test: fast/exclusions/shape-inside/shape-inside-dynamic-nested.html
1980 * rendering/ExclusionShapeInfo.h:
1981 (WebCore::ExclusionShapeInfo::shapeSizeDirty): Add a method to determine
1982 if the shape has changed.
1983 (ExclusionShapeInfo):
1984 * rendering/ExclusionShapeInsideInfo.h:
1985 (WebCore::ExclusionShapeInsideInfo::setNeedsLayout): Set the flag indicating
1986 layout is necessary.
1987 (WebCore::ExclusionShapeInsideInfo::needsLayout): Retrieve the layout flag.
1988 (ExclusionShapeInsideInfo):
1989 (WebCore::ExclusionShapeInsideInfo::ExclusionShapeInsideInfo): Initialize
1991 * rendering/RenderBlock.cpp:
1992 (WebCore::exclusionInfoRequiresRelayout): Return true if the shape info should
1993 cause a relayout. Also update the needsLayout flag on the ExclusionShapeInsideInfo.
1995 (WebCore::RenderBlock::updateRegionsAndExclusionsLogicalSize): Return a boolean
1996 indicating whether regions or exclusions updates should cause a relayout.
1997 (WebCore::RenderBlock::layoutBlock): Relayout children if the shape inside has
1999 * rendering/RenderBlock.h:
2001 * rendering/RenderBlockLineLayout.cpp:
2002 (WebCore::RenderBlock::layoutExclusionShapeInsideInfo): Changing to be a
2004 (WebCore::LineWidth::LineWidth): Changing to use class method.
2005 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Ditto.
2006 (WebCore::constructBidiRunsForLine): Ditto.
2007 (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Ditto.
2008 (WebCore::RenderBlock::LineBreaker::nextLineBreak): Ditto.
2010 2013-03-01 Uday Kiran <udaykiran@motorola.com>
2012 getComputedStyle not implemented for -webkit-column-rule shorthand
2013 https://bugs.webkit.org/show_bug.cgi?id=111203
2015 Reviewed by Alexis Menard.
2017 Implement getComputedStyle for -webkit-column-rule property.
2019 Test: fast/css/getComputedStyle/getComputedStyle-column-rule.html
2021 * css/CSSComputedStyleDeclaration.cpp:
2022 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2024 2013-02-28 David Hyatt <hyatt@apple.com>
2026 REGRESSION(r144318) 1-7% perf. regression on SVG/SvgHitTesting
2027 https://bugs.webkit.org/show_bug.cgi?id=111117
2029 Make sure the allocated vector has a capacity of 1, since that is
2030 far and away the most common case.
2032 Reviewed by Andreas Kling.
2034 * rendering/RenderFlowThread.h:
2036 * rendering/RenderLayer.h:
2038 * rendering/RenderMultiColumnSet.cpp:
2039 (WebCore::RenderMultiColumnSet::collectLayerFragments):
2040 * rendering/RenderMultiColumnSet.h:
2041 * rendering/RenderRegion.h:
2043 (WebCore::RenderRegion::collectLayerFragments):
2045 2013-03-01 Enrica Casucci <enrica@apple.com>
2047 Crash at WebCore::SharedBuffer::hasPlatformData writing an image to the pasteboard.
2048 https://bugs.webkit.org/show_bug.cgi?id=111211.
2049 <rdar://problem/8772758>
2051 Reviewed by Ryosuke Niwa.
2053 This is a speculative fix since we don't have a solid repro case.
2054 Adding null check every time we build a SharedBuffer from an NSData
2055 we have obtained manipulating data from the pasteboard.
2057 * platform/mac/PasteboardMac.mm:
2058 (WebCore::writeFileWrapperAsRTFDAttachment):
2059 (WebCore::Pasteboard::writeImage):
2061 2013-03-01 Enrica Casucci <enrica@apple.com>
2063 Crash at WebCore::SharedBuffer::hasPlatformData during paste.
2064 https://bugs.webkit.org/show_bug.cgi?id=111207.
2065 <rdar://problem/13024528>
2067 Reviewed by Ryosuke Niwa.
2069 This is a speculative fix since we don't have a solid repro case.
2070 Adding null check every time we get a SharedBuffer from the pasteboard.
2072 * platform/mac/PasteboardMac.mm:
2073 (WebCore::Pasteboard::plainText):
2074 (WebCore::documentFragmentWithRTF):
2076 2013-03-01 Alexey Proskuryakov <ap@apple.com>
2078 Build fix for builds with BLOB disabled. This fixes it for me on Mac at least.
2080 * platform/network/BlobRegistryImpl.cpp:
2082 2013-03-01 peavo@outlook.com <peavo@outlook.com>
2084 [Curl] Session cookies should not be persistent.
2085 https://bugs.webkit.org/show_bug.cgi?id=111060
2087 Reviewed by Brent Fulgham.
2089 Curl saves both persistent cookies, and session cookies to the cookie file.
2090 The session cookies should be deleted before starting a new session.
2092 * platform/network/curl/ResourceHandleManager.cpp:
2093 (WebCore::ResourceHandleManager::ResourceHandleManager): Call method to initialize cookie session.
2094 (WebCore::ResourceHandleManager::initCookieSession): Added method to initialize cookie session.
2095 * platform/network/curl/ResourceHandleManager.h: Added method to initialize cookie session.
2097 2013-03-01 Vsevolod Vlasov <vsevik@chromium.org>
2099 Web Inspector: Navigator should show tree element for each folder in the source path.
2100 https://bugs.webkit.org/show_bug.cgi?id=108943
2102 Reviewed by Pavel Feldman.
2104 NavigatorView now renders tree element for each folder in uiSourceCode uri.
2105 Merging several folders into one tree elememnt when folder has only one folder as a child is supported.
2106 ScriptsNavigator has horizontal scroll now.
2107 Projects are shown in ScriptsNavigator by their displayName. This allows us to show several root file system folders
2108 with the same name in the navigator (e.g. 'Source/WebCore/inspector' and 'LayoutTests/inspector').
2110 Test: inspector/debugger/navigator-view.html: Renamed from scripts-file-selector.html
2112 * English.lproj/localizedStrings.js:
2113 * inspector/front-end/NavigatorView.js:
2114 (WebInspector.NavigatorView):
2115 (WebInspector.NavigatorView.iconClassForType):
2116 (WebInspector.NavigatorView.prototype.addUISourceCode):
2117 (WebInspector.NavigatorView.prototype._getProjectNode):
2118 (WebInspector.NavigatorView.prototype._createProjectNode):
2119 (WebInspector.NavigatorView.prototype._getOrCreateProjectNode):
2120 (WebInspector.NavigatorView.prototype._getFolderNode):
2121 (WebInspector.NavigatorView.prototype._createFolderNode):
2122 (WebInspector.NavigatorView.prototype._getOrCreateFolderNode):
2123 (WebInspector.NavigatorView.prototype._getUISourceCodeParentNode):
2124 (WebInspector.NavigatorView.prototype._getOrCreateUISourceCodeParentNode):
2125 (WebInspector.NavigatorView.prototype.revealUISourceCode):
2126 (WebInspector.NavigatorView.prototype.removeUISourceCode):
2127 (WebInspector.NavigatorView.prototype.rename):
2128 (WebInspector.NavigatorView.prototype.reset):
2130 (WebInspector.NavigatorTreeOutline._treeElementsCompare):
2131 (WebInspector.BaseNavigatorTreeElement):
2132 (WebInspector.BaseNavigatorTreeElement.prototype.type):
2133 (WebInspector.NavigatorFolderTreeElement):
2134 (WebInspector.NavigatorFolderTreeElement.prototype.onpopulate):
2135 (WebInspector.NavigatorFolderTreeElement.prototype.onattach):
2136 (WebInspector.NavigatorSourceTreeElement):
2137 (WebInspector.NavigatorTreeNode):
2138 (WebInspector.NavigatorTreeNode.prototype.treeElement):
2139 (WebInspector.NavigatorTreeNode.prototype.dispose):
2140 (WebInspector.NavigatorTreeNode.prototype.isRoot):
2141 (WebInspector.NavigatorTreeNode.prototype.hasChildren):
2142 (WebInspector.NavigatorTreeNode.prototype.populate):
2143 (WebInspector.NavigatorTreeNode.prototype.wasPopulated):
2144 (WebInspector.NavigatorTreeNode.prototype.didAddChild):
2145 (WebInspector.NavigatorTreeNode.prototype.willRemoveChild):
2146 (WebInspector.NavigatorTreeNode.prototype.isPopulated):
2147 (WebInspector.NavigatorTreeNode.prototype.isEmpty):
2148 (WebInspector.NavigatorTreeNode.prototype.child):
2149 (WebInspector.NavigatorTreeNode.prototype.children):
2150 (WebInspector.NavigatorTreeNode.prototype.appendChild):
2151 (WebInspector.NavigatorTreeNode.prototype.removeChild):
2152 (WebInspector.NavigatorTreeNode.prototype.reset):
2153 (WebInspector.NavigatorRootTreeNode):
2154 (WebInspector.NavigatorRootTreeNode.prototype.isRoot):
2155 (WebInspector.NavigatorRootTreeNode.prototype.treeElement):
2156 (WebInspector.NavigatorRootTreeNode.prototype.wasPopulated):
2157 (WebInspector.NavigatorRootTreeNode.prototype.didAddChild):
2158 (WebInspector.NavigatorRootTreeNode.prototype.willRemoveChild):
2159 (WebInspector.NavigatorUISourceCodeTreeNode):
2160 (WebInspector.NavigatorUISourceCodeTreeNode.prototype.treeElement):
2161 (WebInspector.NavigatorUISourceCodeTreeNode.prototype.updateTitle):
2162 (WebInspector.NavigatorUISourceCodeTreeNode.prototype.hasChildren):
2163 (WebInspector.NavigatorUISourceCodeTreeNode.prototype.dispose):
2164 (WebInspector.NavigatorUISourceCodeTreeNode.prototype._titleChanged):
2165 (WebInspector.NavigatorUISourceCodeTreeNode.prototype._workingCopyChanged):
2166 (WebInspector.NavigatorUISourceCodeTreeNode.prototype._workingCopyCommitted):
2167 (WebInspector.NavigatorUISourceCodeTreeNode.prototype._formattedChanged):
2168 (WebInspector.NavigatorUISourceCodeTreeNode.prototype.reveal):
2169 (WebInspector.NavigatorUISourceCodeTreeNode.prototype.rename.commitHandler):
2170 (WebInspector.NavigatorUISourceCodeTreeNode.prototype.rename.cancelHandler):
2171 (WebInspector.NavigatorUISourceCodeTreeNode.prototype.rename.afterEditing):
2172 (WebInspector.NavigatorUISourceCodeTreeNode.prototype.rename):
2173 (WebInspector.NavigatorFolderTreeNode):
2174 (WebInspector.NavigatorFolderTreeNode.prototype.treeElement):
2175 (WebInspector.NavigatorFolderTreeNode.prototype._createTreeElement):
2176 (WebInspector.NavigatorFolderTreeNode.prototype.wasPopulated):
2177 (WebInspector.NavigatorFolderTreeNode.prototype._addChildrenRecursive):
2178 (WebInspector.NavigatorFolderTreeNode.prototype._shouldMerge):
2179 (WebInspector.NavigatorFolderTreeNode.prototype.didAddChild):
2180 (WebInspector.NavigatorFolderTreeNode.prototype.willRemoveChild):
2181 * inspector/front-end/ScriptsNavigator.js:
2182 * inspector/front-end/SimpleWorkspaceProvider.js:
2183 (WebInspector.SimpleProjectDelegate.prototype.displayName):
2184 * inspector/front-end/navigatorView.css:
2186 (.navigator .base-navigator-tree-element-title):
2187 (.navigator-tabbed-pane .navigator-container):
2189 2013-03-01 Arvid Nilsson <anilsson@rim.com>
2191 [BlackBerry] Upstream BlackBerry::Platform::Graphics::GraphicsContext integration related changes in platform/graphics/blackberry
2192 https://bugs.webkit.org/show_bug.cgi?id=111072
2194 Reviewed by Rob Buis.
2196 BlackBerry PR 293208
2198 This patch contains contributions from many members of the BlackBerry
2222 Covered by existing tests.
2224 * platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:
2225 (WebCore::CanvasLayerWebKitThread::deleteTextures):
2226 (CanvasLayerCompositingThreadClient):
2227 (WebCore::CanvasLayerCompositingThreadClient::layerCompositingThreadDestroyed):
2228 (WebCore::CanvasLayerCompositingThreadClient::layerVisibilityChanged):
2229 (WebCore::CanvasLayerCompositingThreadClient::uploadTexturesIfNeeded):
2230 (WebCore::CanvasLayerCompositingThreadClient::clearBuffer):
2232 (WebCore::CanvasLayerCompositingThreadClient::CanvasLayerCompositingThreadClient):
2233 (WebCore::CanvasLayerCompositingThreadClient::drawTextures):
2234 (WebCore::CanvasLayerCompositingThreadClient::deleteTextures):
2235 (WebCore::CanvasLayerCompositingThreadClient::commitPendingTextureUploads):
2236 (WebCore::CanvasLayerWebKitThread::CanvasLayerWebKitThread):
2237 (WebCore::CanvasLayerWebKitThread::~CanvasLayerWebKitThread):
2238 (WebCore::CanvasLayerWebKitThread::clearBuffer):
2239 * platform/graphics/blackberry/CanvasLayerWebKitThread.h:
2241 (WebCore::CanvasLayerWebKitThread::create):
2242 (CanvasLayerWebKitThread):
2243 * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:
2244 (WebCore::DisplayRefreshMonitor::displayLinkFired):
2245 * platform/graphics/blackberry/DrawingBufferBlackBerry.cpp:
2246 (WebCore::DrawingBuffer::DrawingBuffer):
2248 (WebCore::DrawingBuffer::publishToPlatformLayer):
2249 (WebCore::DrawingBuffer::platformLayer):
2250 * platform/graphics/blackberry/EGLImageLayerCompositingThreadClient.cpp:
2251 (WebCore::EGLImageLayerCompositingThreadClient::~EGLImageLayerCompositingThreadClient):
2252 (WebCore::EGLImageLayerCompositingThreadClient::uploadTexturesIfNeeded):
2253 (WebCore::EGLImageLayerCompositingThreadClient::drawTextures):
2254 (WebCore::EGLImageLayerCompositingThreadClient::deleteTextures):
2255 (WebCore::EGLImageLayerCompositingThreadClient::bindContentsTexture):
2256 (WebCore::EGLImageLayerCompositingThreadClient::setTextureAccessor):
2257 * platform/graphics/blackberry/EGLImageLayerCompositingThreadClient.h:
2259 (EGLImageLayerCompositingThreadClient):
2260 (WebCore::EGLImageLayerCompositingThreadClient::EGLImageLayerCompositingThreadClient):
2261 * platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp:
2262 (WebCore::EGLImageLayerWebKitThread::EGLImageLayerWebKitThread):
2263 (WebCore::EGLImageLayerWebKitThread::~EGLImageLayerWebKitThread):
2264 (WebCore::EGLImageLayerWebKitThread::updateFrontBuffer):
2265 (WebCore::EGLImageLayerWebKitThread::deleteFrontBuffer):
2266 (WebCore::EGLImageLayerWebKitThread::commitPendingTextureUploads):
2267 (WebCore::EGLImageLayerWebKitThread::createTextureIfNeeded):
2268 (WebCore::EGLImageLayerWebKitThread::blitToFrontBuffer):
2269 * platform/graphics/blackberry/EGLImageLayerWebKitThread.h:
2271 (EGLImageLayerWebKitThread):
2272 * platform/graphics/blackberry/FloatRectBlackBerry.cpp:
2273 (WebCore::FloatRect::normalized):
2275 * platform/graphics/blackberry/FontCacheBlackberry.cpp: Removed.
2276 * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
2277 (WebCore::GraphicsContext3D::GraphicsContext3D):
2278 (WebCore::GraphicsContext3D::paintToCanvas):
2279 (WebCore::GraphicsContext3D::getImageData):
2281 * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
2282 (WebCore::GraphicsLayerBlackBerry::GraphicsLayerBlackBerry):
2283 (WebCore::GraphicsLayerBlackBerry::setBackgroundColor):
2284 (WebCore::GraphicsLayerBlackBerry::clearBackgroundColor):
2286 (WebCore::GraphicsLayerBlackBerry::setContentsNeedsDisplay):
2287 (WebCore::GraphicsLayerBlackBerry::setNeedsDisplay):
2288 (WebCore::GraphicsLayerBlackBerry::setNeedsDisplayInRect):
2289 (WebCore::GraphicsLayerBlackBerry::updateLayerBackgroundColor):
2290 (WebCore::GraphicsLayerBlackBerry::setupContentsLayer):
2291 * platform/graphics/blackberry/GraphicsLayerBlackBerry.h:
2292 (GraphicsLayerBlackBerry):
2293 (WebCore::GraphicsLayerBlackBerry::notifySyncRequired):
2294 * platform/graphics/blackberry/ImageBlackBerry.cpp:
2295 (WebCore::ImageFrame::asNewNativeImage):
2297 (WebCore::FrameData::clear):
2298 (WebCore::BitmapImage::BitmapImage):
2299 (WebCore::BitmapImage::checkForSolidColor):
2300 (WebCore::BitmapImage::invalidatePlatformData):
2301 (WebCore::BitmapImage::draw):
2302 (WebCore::Image::drawPattern):
2303 * platform/graphics/blackberry/InstrumentedPlatformCanvas.h: Removed.
2304 * platform/graphics/blackberry/LayerCompositingThread.cpp:
2305 (WebCore::LayerCompositingThread::drawTextures):
2306 (WebCore::LayerCompositingThread::drawSurface):
2307 (WebCore::LayerCompositingThread::contentsTexture):
2308 (WebCore::LayerCompositingThread::commitPendingTextureUploads):
2310 * platform/graphics/blackberry/LayerCompositingThread.h:
2312 (LayerCompositingThread):
2313 * platform/graphics/blackberry/LayerCompositingThreadClient.h:
2316 (LayerCompositingThreadClient):
2317 (WebCore::LayerCompositingThreadClient::contentsTexture):
2318 (WebCore::LayerCompositingThreadClient::commitPendingTextureUploads):
2319 * platform/graphics/blackberry/LayerData.h:
2320 (WebCore::LayerData::LayerData):
2321 (WebCore::LayerData::contentsResolutionIndependent):
2323 (WebCore::LayerData::layerProgram):
2324 (WebCore::LayerData::isContainerForFixedPositionLayers):
2325 (WebCore::LayerData::isFixedToTop):
2326 (WebCore::LayerData::isFixedToLeft):
2327 (WebCore::LayerData::frameVisibleRect):
2328 (WebCore::LayerData::frameContentsSize):
2329 (WebCore::LayerData::contentsScale):
2330 * platform/graphics/blackberry/LayerFilterRenderer.cpp:
2331 (WebCore::LayerFilterRendererAction::LayerFilterRendererAction):
2332 (WebCore::LayerFilterRenderer::initializeSharedGLObjects):
2333 (WebCore::LayerFilterRenderer::ping):
2334 (WebCore::LayerFilterRenderer::pong):
2335 (WebCore::LayerFilterRenderer::pushSnapshot):
2336 (WebCore::LayerFilterRenderer::popSnapshot):
2337 (WebCore::LayerFilterRenderer::applyActions):
2338 * platform/graphics/blackberry/LayerRenderer.cpp:
2340 (WebCore::LayerRenderer::LayerRenderer):
2341 (WebCore::LayerRenderer::~LayerRenderer):
2342 (WebCore::LayerRenderer::setViewport):
2343 (WebCore::LayerRenderer::compositeLayers):
2344 (WebCore::LayerRenderer::compositeBuffer):
2345 (WebCore::LayerRenderer::drawColor):
2346 (WebCore::LayerRenderer::useSurface):
2347 (WebCore::LayerRenderer::drawLayersOnSurfaces):
2349 (WebCore::LayerRenderer::toOpenGLWindowCoordinates):
2350 (WebCore::LayerRenderer::drawDebugBorder):
2351 (WebCore::LayerRenderer::drawHolePunchRect):
2352 (WebCore::LayerRenderer::updateLayersRecursive):
2353 (WebCore::LayerRenderer::compositeLayersRecursive):
2354 (WebCore::LayerRenderer::createProgram):
2355 (WebCore::LayerRenderer::useProgram):
2356 (WebCore::LayerRenderer::useLayerProgram):
2357 * platform/graphics/blackberry/LayerRenderer.h:
2359 * platform/graphics/blackberry/LayerRendererSurface.cpp:
2360 (WebCore::LayerRendererSurface::ensureTexture):
2361 * platform/graphics/blackberry/LayerTile.cpp:
2362 (WebCore::LayerTile::LayerTile):
2363 (WebCore::LayerTile::setContents):
2364 (WebCore::LayerTile::updateContents):
2365 * platform/graphics/blackberry/LayerTile.h:
2367 (WebCore::LayerTile::renderState):
2368 (WebCore::LayerTile::needsRender):
2369 (WebCore::LayerTile::setNeedsRender):
2370 (WebCore::LayerTile::setRenderPending):
2371 (WebCore::LayerTile::setRenderDone):
2372 * platform/graphics/blackberry/LayerTileIndex.h:
2373 * platform/graphics/blackberry/LayerTiler.cpp:
2375 (WebCore::defaultTileSize):
2376 (WebCore::LayerTiler::LayerTiler):
2377 (WebCore::LayerTiler::updateTextureContentsIfNeeded):
2378 (WebCore::LayerTiler::createBuffer):
2379 (WebCore::LayerTiler::willCommit):
2380 (WebCore::LayerTiler::commitPendingTextureUploads):
2381 (WebCore::LayerTiler::layerVisibilityChanged):
2382 (WebCore::LayerTiler::uploadTexturesIfNeeded):
2383 (WebCore::LayerTiler::processTextureJob):
2384 (WebCore::LayerTiler::addTileJob):
2385 (WebCore::LayerTiler::performTileJob):
2386 (WebCore::LayerTiler::drawTile):
2387 (WebCore::LayerTiler::drawTextures):
2388 (WebCore::LayerTiler::pruneTextures):
2389 (WebCore::LayerTiler::updateTileSize):
2390 (WebCore::LayerTiler::setNeedsBacking):
2391 (WebCore::LayerTiler::contentsTexture):
2392 * platform/graphics/blackberry/LayerTiler.h:
2393 (WebCore::LayerTiler::tileSize):
2395 (WebCore::LayerTiler::TextureJob::TextureJob):
2396 (WebCore::LayerTiler::TextureJob::setContents):
2397 (WebCore::LayerTiler::TextureJob::updateContents):
2399 (WebCore::LayerTiler::needsRender):
2400 (WebCore::LayerTiler::removeUpdateContentsJobs):
2401 * platform/graphics/blackberry/LayerWebKitThread.cpp:
2402 (WebCore::LayerWebKitThread::LayerWebKitThread):
2403 (WebCore::LayerWebKitThread::~LayerWebKitThread):
2404 (WebCore::LayerWebKitThread::paintContents):
2405 (WebCore::LayerWebKitThread::commitPendingTextureUploads):
2406 (WebCore::LayerWebKitThread::setContents):
2407 (WebCore::LayerWebKitThread::setNeedsCommit):
2408 (WebCore::LayerWebKitThread::notifyAnimationsStarted):
2409 (WebCore::LayerWebKitThread::commitOnWebKitThread):
2410 (WebCore::LayerWebKitThread::startAnimations):
2411 (WebCore::LayerWebKitThread::updateTextureContents):
2412 (WebCore::LayerWebKitThread::commitOnCompositingThread):
2413 (WebCore::LayerWebKitThread::addSublayer):
2415 (WebCore::LayerWebKitThread::addOverlay):
2416 (WebCore::LayerWebKitThread::insert):
2417 (WebCore::LayerWebKitThread::removeFromSuperlayer):
2418 (WebCore::LayerWebKitThread::removeSublayerOrOverlay):
2419 (WebCore::LayerWebKitThread::remove):
2420 (WebCore::LayerWebKitThread::replaceSublayer):
2421 (WebCore::LayerWebKitThread::filtersCanBeComposited):
2422 (WebCore::LayerWebKitThread::removeAll):
2423 (WebCore::LayerWebKitThread::setSublayers):
2424 (WebCore::LayerWebKitThread::updateLayerHierarchy):
2425 (WebCore::LayerWebKitThread::setIsMask):
2426 (WebCore::LayerWebKitThread::releaseLayerResources):
2427 * platform/graphics/blackberry/LayerWebKitThread.h:
2428 (WebCore::LayerWebKitThread::insertSublayer):
2429 (LayerWebKitThread):
2430 (WebCore::LayerWebKitThread::isMask):
2431 (WebCore::LayerWebKitThread::removeAllSublayers):
2432 (WebCore::LayerWebKitThread::setFixedPosition):
2433 (WebCore::LayerWebKitThread::setIsContainerForFixedPositionLayers):
2434 (WebCore::LayerWebKitThread::setFixedToTop):
2435 (WebCore::LayerWebKitThread::setFixedToLeft):
2436 (WebCore::LayerWebKitThread::setFrameVisibleRect):
2437 (WebCore::LayerWebKitThread::setFrameContentsSize):
2438 (WebCore::LayerWebKitThread::setLayerProgram):
2439 * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
2440 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
2441 (WebCore::MediaPlayerPrivate::play):
2442 (WebCore::MediaPlayerPrivate::supportsFullscreen):
2443 (WebCore::MediaPlayerPrivate::paintCurrentFrameInContext):
2444 (WebCore::MediaPlayerPrivate::prepareForRendering):
2446 (WebCore::MediaPlayerPrivate::resizeSourceDimensions):
2447 (WebCore::MediaPlayerPrivate::percentLoaded):
2448 (WebCore::MediaPlayerPrivate::updateStates):
2449 (WebCore::MediaPlayerPrivate::waitMetadataTimerFired):
2450 (WebCore::MediaPlayerPrivate::onAuthenticationNeeded):
2451 (WebCore::MediaPlayerPrivate::notifyChallengeResult):
2452 (WebCore::MediaPlayerPrivate::isProcessingUserGesture):
2453 (WebCore::loadBufferingImageData):
2454 (WebCore::MediaPlayerPrivate::setBuffering):
2455 (WebCore::MediaPlayerPrivate::drawBufferingAnimation):
2456 (WebCore::MediaPlayerPrivate::onConditionallyEnterFullscreen):
2457 (WebCore::MediaPlayerPrivate::onExitFullscreen):
2458 (WebCore::MediaPlayerPrivate::onCreateHolePunchRect):
2459 (WebCore::MediaPlayerPrivate::onDestroyHolePunchRect):
2460 * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
2464 (MediaPlayerPrivate):
2465 * platform/graphics/blackberry/PluginLayerWebKitThread.cpp:
2466 (WebCore::PluginLayerWebKitThread::setPluginView):
2467 * platform/graphics/blackberry/Texture.cpp:
2468 (WebCore::Texture::Texture):
2469 (WebCore::Texture::updateContents):
2470 (WebCore::Texture::setContentsToColor):
2471 (WebCore::Texture::protect):
2472 * platform/graphics/blackberry/Texture.h:
2474 (WebCore::Texture::textureId):
2475 (WebCore::Texture::isDirty):
2476 (WebCore::Texture::hasTexture):
2477 (WebCore::Texture::sizeInBytes):
2478 (WebCore::Texture::setTextureId):
2479 (WebCore::Texture::setSize):
2480 * platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
2481 (WebCore::TextureCacheCompositingThread::allocateTextureId):
2482 (WebCore::freeTextureId):
2483 (WebCore::TextureCacheCompositingThread::collectGarbage):
2484 (WebCore::TextureCacheCompositingThread::textureSizeInBytesChanged):
2486 (WebCore::TextureCacheCompositingThread::textureDestroyed):
2487 (WebCore::TextureCacheCompositingThread::install):
2488 (WebCore::TextureCacheCompositingThread::resizeTexture):
2489 (WebCore::TextureCacheCompositingThread::evict):
2490 (WebCore::TextureCacheCompositingThread::prune):
2491 (WebCore::TextureCacheCompositingThread::clear):
2492 (WebCore::TextureCacheCompositingThread::textureForTiledContents):
2493 (WebCore::TextureCacheCompositingThread::updateContents):
2494 * platform/graphics/blackberry/TextureCacheCompositingThread.h:
2495 (TextureCacheCompositingThread):
2496 (WebCore::TextureCacheCompositingThread::ZombieTexture::ZombieTexture):
2498 * platform/graphics/blackberry/skia/ImageBufferDataSkia.h: Removed.
2499 * platform/graphics/blackberry/skia/PlatformSupport.cpp: Removed.
2500 * platform/graphics/blackberry/skia/PlatformSupport.h: Removed.
2502 2013-03-01 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
2504 [Qt] Fix the Mac build with the current qtbase/dev branch
2505 https://bugs.webkit.org/show_bug.cgi?id=111190
2507 Reviewed by Allan Sandfeld Jensen.
2509 QMAKE_MACOSX_DEPLOYMENT_TARGET now influences
2510 __MAC_OS_X_VERSION_MIN_REQUIRED through -mmacosx-version-min after
2511 changes in qtbase to support iOS.
2513 Having only WebCore defining it to 10.5 would create a mismatch of
2514 ENABLE_THREADING_LIBDISPATCH with WTF to cause undefined symbols
2515 while linking both together at the end.
2517 Fix it by removing the statement which isn't needed anymore.
2518 qtbase/mkspecs/common/mac-minimum-version.conf already defines
2519 10.6 as the minimum Mac version.
2523 2013-03-01 Vsevolod Vlasov <vsevik@chromium.org>
2525 Web Inspector: [Regression] Snippets renaming is broken.
2526 https://bugs.webkit.org/show_bug.cgi?id=111181
2528 Reviewed by Alexander Pavlov.
2530 * inspector/front-end/NavigatorView.js:
2531 * inspector/front-end/ScriptSnippetModel.js:
2532 * inspector/front-end/ScriptsPanel.js:
2533 (WebInspector.ScriptsPanel.prototype.set _fileRenamed):
2534 * inspector/front-end/UISourceCode.js:
2535 (WebInspector.UISourceCode.prototype.rename):
2537 2013-03-01 David Hyatt <hyatt@apple.com>
2539 Fix a misspelled word in RenderObject.h. staticly -> statically.
2541 Reviewed by Dean Jackson.
2543 * rendering/RenderObject.h:
2544 (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
2545 (WebCore::RenderObject::RenderObjectBitfields::isPositioned):
2547 2013-03-01 David Hyatt <hyatt@apple.com>
2549 [New Multicolumn] Change flow thread containment to be a state.
2550 https://bugs.webkit.org/show_bug.cgi?id=111110
2552 Change m_inRenderFlowThread from a single bit to an actual state. This
2553 will let us track whether we're inside a multicolumn (in-flow) flow thread
2554 or a named (out-of-flow) flow thread. In the former case, we're going to have
2555 to do more work to maintain this state, but for now I've kept all the logic
2556 the same just for the initial landing.
2558 Reviewed by Andreas Kling.
2560 * dom/NodeRenderingContext.cpp:
2561 (WebCore::NodeRenderingContext::createRendererForElementIfNeeded):
2562 (WebCore::NodeRenderingContext::createRendererForTextIfNeeded):
2563 * rendering/RenderBlock.cpp:
2564 (WebCore::RenderBlock::clone):
2565 * rendering/RenderFlowThread.cpp:
2566 (WebCore::RenderFlowThread::RenderFlowThread):
2567 * rendering/RenderInline.cpp:
2568 (WebCore::RenderInline::clone):
2569 * rendering/RenderMultiColumnFlowThread.cpp:
2570 (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
2571 * rendering/RenderObject.cpp:
2572 (WebCore::RenderObject::setFlowThreadStateIncludingDescendants):
2573 (WebCore::RenderObject::removeFromRenderFlowThreadRecursive):
2574 * rendering/RenderObject.h:
2575 (WebCore::RenderObject::setParent):
2577 (WebCore::RenderObject::inRenderFlowThread):
2578 (WebCore::RenderObject::flowThreadState):
2579 (WebCore::RenderObject::setFlowThreadState):
2580 (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
2581 (RenderObjectBitfields):
2582 (WebCore::RenderObject::RenderObjectBitfields::flowThreadState):
2583 (WebCore::RenderObject::RenderObjectBitfields::setFlowThreadState):
2584 * rendering/RenderView.cpp:
2585 (WebCore::RenderView::addChild):
2587 2013-03-01 Jessie Berlin <jberlin@apple.com>
2591 Roll out r144431 because it was a build fix for r144422, which was rolled out in r144446.
2593 * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
2595 2013-03-01 David Kilzer <ddkilzer@apple.com>
2597 BUILD FIX (r144358): Add UNUSED_PARAM() macros to WebCore::Extensions3DOpenGL::drawBuffersEXT()
2598 <http://webkit.org/b/109331>
2600 Fixes the following build failures:
2602 Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:218:51: error: unused parameter 'n' [-Werror,-Wunused-parameter]
2603 void Extensions3DOpenGL::drawBuffersEXT(GC3Dsizei n, const GC3Denum* bufs)
2605 Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:218:70: error: unused parameter 'bufs' [-Werror,-Wunused-parameter]
2606 void Extensions3DOpenGL::drawBuffersEXT(GC3Dsizei n, const GC3Denum* bufs)
2610 * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2611 (WebCore::Extensions3DOpenGL::drawBuffersEXT): Add UNUSED_PARAM()
2614 2013-03-01 Dan Carney <dcarney@google.com>
2616 [v8] ScriptValue has dangerous copy semantics
2617 https://bugs.webkit.org/show_bug.cgi?id=110206
2619 Reviewed by Kentaro Hara.
2621 Update ScriptValue to used a SharedPersistent,
2622 making it impossible to return dead references.
2624 No new tests. No change in functionality.
2626 * bindings/v8/ScriptValue.cpp:
2627 (WebCore::ScriptValue::serialize):
2628 (WebCore::ScriptValue::getString):
2629 (WebCore::ScriptValue::toString):
2630 (WebCore::ScriptValue::toInspectorValue):
2631 * bindings/v8/ScriptValue.h:
2632 (WebCore::ScriptValue::ScriptValue):
2633 (WebCore::ScriptValue::operator=):
2634 (WebCore::ScriptValue::operator==):
2635 (WebCore::ScriptValue::isEqual):
2636 (WebCore::ScriptValue::isFunction):
2637 (WebCore::ScriptValue::isNull):
2638 (WebCore::ScriptValue::isUndefined):
2639 (WebCore::ScriptValue::isObject):
2640 (WebCore::ScriptValue::hasNoValue):
2641 (WebCore::ScriptValue::clear):
2643 (WebCore::ScriptValue::v8Value):
2644 (WebCore::ScriptValue::v8ValueRaw):
2645 * bindings/v8/SharedPersistent.h:
2646 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2647 (WebCore::InjectedScriptHost::scriptValueAsNode):
2648 * bindings/v8/custom/V8MessageEventCustom.cpp:
2649 (WebCore::V8MessageEvent::dataAttrGetterCustom):
2651 2013-03-01 Julien Chaffraix <jchaffraix@webkit.org>
2653 Add FeatureObserver for marquee and reflection
2654 https://bugs.webkit.org/show_bug.cgi?id=111118
2656 Reviewed by Simon Fraser.
2658 Refactoring covered by existing tests.
2660 * page/FeatureObserver.h:
2661 * rendering/RenderLayer.cpp:
2662 (WebCore::RenderLayer::styleChanged):
2663 Added some instrumentation for reflection and marquee as they are both prefixed and this would help
2664 to know their popularity on the web. Marquee was split between <marquee> (HTMLMarqueeElement) and
2665 overflow: -webkit-marquee (CSSOverflowMarquee).
2667 2013-03-01 Alexander Pavlov <apavlov@chromium.org>
2669 Web Inspector: Introduce opaque SecurityOrigin string identifiers in the frontend
2670 https://bugs.webkit.org/show_bug.cgi?id=111165
2672 Reviewed by Vsevolod Vlasov.
2674 A plain string security origin value has been replaced by WebInspector.SecurityOrigin all over the code,
2675 containing a URL (which holds a stringified security origin) and an identifier (which is now used
2676 as a key in place of the stringified security origin in various maps). To avoid the ResourceTreeModel
2677 code clutter, the security origin tracking code has been extracted into a separate type,
2678 WebInspector.SecurityOriginTracker, which works as a helper on the ResourceTreeModel.
2680 No new tests, as it is a refactoring.
2682 * inspector/front-end/DOMStorage.js:
2683 (WebInspector.DOMStorage.storageId):
2684 (WebInspector.DOMStorage.prototype.id):
2685 (WebInspector.DOMStorage.prototype.getItems):
2686 (WebInspector.DOMStorage.prototype.setItem):
2687 (WebInspector.DOMStorage.prototype.removeItem):
2688 (WebInspector.DOMStorageModel.prototype._securityOriginAdded):
2689 (WebInspector.DOMStorageModel.prototype._securityOriginRemoved):
2690 (WebInspector.DOMStorageModel.prototype._storageKey):
2691 * inspector/front-end/ExtensionAuditCategory.js:
2692 * inspector/front-end/FileSystemModel.js:
2693 (WebInspector.FileSystemModel.prototype._reset):
2694 (WebInspector.FileSystemModel.prototype._securityOriginAdded):
2695 (WebInspector.FileSystemModel.prototype._securityOriginRemoved):
2696 (WebInspector.FileSystemModel.prototype._addOrigin):
2697 (WebInspector.FileSystemModel.prototype._removeOrigin):
2698 (WebInspector.FileSystemModel.prototype._requestFileSystemRoot):
2699 (WebInspector.FileSystemModel.prototype._fileSystemRootReceived):
2700 (WebInspector.FileSystemModel.prototype._removeFileSystem):
2701 (WebInspector.FileSystemModel.FileSystem.prototype.get name):
2702 * inspector/front-end/IndexedDBModel.js:
2703 (WebInspector.IndexedDBModel.prototype._reset):
2704 (WebInspector.IndexedDBModel.prototype.refreshDatabaseNames):
2705 (WebInspector.IndexedDBModel.prototype._securityOriginAdded):
2706 (WebInspector.IndexedDBModel.prototype._securityOriginRemoved):
2707 (WebInspector.IndexedDBModel.prototype._addOrigin):
2708 (WebInspector.IndexedDBModel.prototype._removeOrigin):
2709 (WebInspector.IndexedDBModel.prototype._updateOriginDatabaseNames):
2710 (WebInspector.IndexedDBModel.prototype._loadDatabaseNames):
2711 (WebInspector.IndexedDBModel.prototype._loadDatabase):
2712 (WebInspector.IndexedDBModel.prototype.):
2713 (WebInspector.IndexedDBModel.prototype._requestData):
2714 (WebInspector.IndexedDBModel.DatabaseId.prototype.equals):
2715 * inspector/front-end/IndexedDBViews.js:
2716 (WebInspector.IDBDatabaseView.prototype._refreshDatabase):
2717 * inspector/front-end/ResourceTreeModel.js:
2718 (WebInspector.ResourceTreeModel.prototype._addFrame):
2719 (WebInspector.ResourceTreeModel.prototype.securityOriginForId):
2720 (WebInspector.ResourceTreeModel.prototype.securityOrigins):
2721 (WebInspector.ResourceTreeModel.prototype._handleMainFrameDetached):
2722 (WebInspector.ResourceTreeModel.prototype._frameNavigated):
2723 (WebInspector.ResourceTreeModel.prototype._frameDetached):
2724 (WebInspector.ResourceTreeModel.SecurityOriginTracker):
2725 (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._addSecurityOrigin):
2726 (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._removeSecurityOrigin):
2727 (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._bindSecurityOrigin):
2728 (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._unbindSecurityOrigin):
2729 (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._detachMainFrame):
2730 (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._securityOriginForId):
2731 (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._securityOrigins):
2732 (WebInspector.ResourceTreeFrame.prototype._navigate):
2733 (WebInspector.SecurityOrigin.prototype.id):
2734 (WebInspector.SecurityOrigin.prototype.url):
2735 (WebInspector.SecurityOrigin.prototype.uiTitle):
2736 (WebInspector.SecurityOrigin.prototype.toProtocol):
2737 * inspector/front-end/ResourcesPanel.js:
2738 (WebInspector.IDBDatabaseTreeElement):
2739 (WebInspector.IDBDatabaseTreeElement.prototype.get itemURL):
2740 (WebInspector.IDBObjectStoreTreeElement.prototype.get itemURL):
2741 (WebInspector.IDBIndexTreeElement.prototype.get itemURL):
2742 (WebInspector.DOMStorageTreeElement):
2743 (WebInspector.DOMStorageTreeElement.prototype.get itemURL):
2744 (WebInspector.FileSystemTreeElement):
2746 2013-03-01 Eugene Klyuchnikov <eustas@chromium.org>
2748 Web Inspector: [Timeline] Show "curtains" when mouse is over CPU bar.
2749 https://bugs.webkit.org/show_bug.cgi?id=108930
2751 Reviewed by Pavel Feldman.
2753 This feature will help developers to focus on events
2754 that caused CPU bar.
2756 * inspector/front-end/Popover.js: Added "arrowDirection" parameter.
2757 * inspector/front-end/TimelineGrid.js:
2758 (WebInspector.TimelineGrid): Added "curtains".
2759 * inspector/front-end/TimelinePanel.js:
2760 (WebInspector.TimelinePanel.prototype._mouseMove): Show/hide "curtains"
2761 when mouse is over CPU bar.
2762 * inspector/front-end/timelinePanel.css: Added "curtains" style rules.
2764 2013-03-01 Alexander Pavlov <apavlov@chromium.org>
2766 Web Inspector: [Styles] Implement navigation to UI locations of property names/values in the source code
2767 Relanding fixed r144449.
2768 https://bugs.webkit.org/show_bug.cgi?id=105285
2770 Reviewed by Vsevolod Vlasov.
2772 Users can now Ctrl/Cmd-click CSS property names/values whose UI locations are found in
2773 an external stylesheet/sass/other file. Inline stylesheets are not navigable,
2774 since their start position is not detectable inside the surrounding HTML as of yet.
2776 No new tests, a UI change.
2778 * inspector/front-end/CSSStyleModel.js:
2779 (WebInspector.CSSRule.prototype.isSourceNavigable): Whether the rule contains reliable source code information.
2780 (WebInspector.CSSProperty.prototype.uiLocation): Returns a UILocation for the property name of value.
2781 * inspector/front-end/StylesSidebarPane.js: Add navigation code.
2782 (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
2783 (WebInspector.StylePropertiesSection):
2785 2013-03-01 Sheriff Bot <webkit.review.bot@gmail.com>
2787 Unreviewed, rolling out r144449.
2788 http://trac.webkit.org/changeset/144449
2789 https://bugs.webkit.org/show_bug.cgi?id=111175
2791 Breaks style-related inspector tests (Requested by apavlov on
2794 * inspector/front-end/CSSStyleModel.js:
2795 (WebInspector.CSSRule.prototype.get isRegular):
2796 (WebInspector.CSSProperty.prototype.setDisabled):
2797 * inspector/front-end/StylesSidebarPane.js:
2798 (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
2799 (WebInspector.StylePropertiesSection):
2803 2013-03-01 Alexander Pavlov <apavlov@chromium.org>
2805 Web Inspector: [Styles] Implement navigation to UI locations of property names/values in the source code
2806 https://bugs.webkit.org/show_bug.cgi?id=105285
2808 Reviewed by Vsevolod Vlasov.
2810 Users can now Ctrl/Cmd-click CSS property names/values whose UI locations are found in
2811 an external stylesheet/sass/other file. Inline stylesheets are not navigable,
2812 since their start position is not detectable inside the surrounding HTML as of yet.
2814 No new tests, a UI change.
2816 * inspector/front-end/CSSStyleModel.js:
2817 (WebInspector.CSSRule.prototype.isSourceNavigable): Whether the rule contains reliable source code information.
2818 (WebInspector.CSSProperty.prototype.uiLocation): Returns a UILocation for the property name of value.
2819 * inspector/front-end/StylesSidebarPane.js: Add navigation code.
2820 (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
2821 (WebInspector.StylePropertiesSection):
2823 2013-03-01 Sheriff Bot <webkit.review.bot@gmail.com>
2825 Unreviewed, rolling out r144443.
2826 http://trac.webkit.org/changeset/144443
2827 https://bugs.webkit.org/show_bug.cgi?id=111169
2829 Caused 2 tests to crash by segv on Chromium Mac10.6 (Requested
2830 by toyoshim on #webkit).
2832 * css/mediaControls.css:
2833 (video::-webkit-media-text-track-display):
2834 * rendering/RenderTextTrackCue.cpp:
2835 (WebCore::RenderTextTrackCue::isOutside):
2836 (WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet):
2838 2013-03-01 Sheriff Bot <webkit.review.bot@gmail.com>
2840 Unreviewed, rolling out r144422 and r144424.
2841 http://trac.webkit.org/changeset/144422
2842 http://trac.webkit.org/changeset/144424
2843 https://bugs.webkit.org/show_bug.cgi?id=111167
2845 Caused over 20 tests to fail assertion on Chromium Win port as
2846 ASSERTION FAILED: m_platformRequestUpdated (Requested by
2847 toyoshim on #webkit).
2850 * GNUmakefile.list.am:
2851 * Modules/mediastream/RTCPeerConnection.cpp:
2852 * Modules/notifications/Notification.cpp:
2856 * WebCore.vcproj/WebCore.vcproj:
2857 * WebCore.vcxproj/WebCore.vcxproj:
2858 * WebCore.vcxproj/WebCore.vcxproj.filters:
2859 * WebCore.xcodeproj/project.pbxproj:
2860 * bindings/ScriptControllerBase.cpp:
2861 * bindings/js/JSNodeCustom.cpp:
2862 * bindings/js/ScriptController.cpp:
2863 * bindings/js/ScriptSourceCode.h:
2864 * bindings/objc/DOM.mm:
2865 * bindings/v8/ScriptController.cpp:
2866 * bindings/v8/V8DOMWindowShell.cpp:
2867 * bindings/v8/custom/V8DOMWindowCustom.cpp:
2868 * css/CSSCrossfadeValue.h:
2869 (WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
2870 (WebCore::CSSCrossfadeValue::CrossfadeSubimageObserverProxy::CrossfadeSubimageObserverProxy):
2871 * css/CSSFontFaceSource.h:
2872 * css/CSSFontSelector.cpp:
2873 * css/WebKitCSSSVGDocumentValue.cpp:
2874 * css/WebKitCSSSVGDocumentValue.h:
2876 * dom/Clipboard.cpp:
2877 (WebCore::Clipboard::Clipboard):
2878 * dom/ContainerNode.cpp:
2879 * dom/DOMImplementation.cpp:
2880 * dom/PendingScript.h:
2881 * dom/ScriptElement.cpp:
2882 * dom/ScriptElement.h:
2883 * history/CachedFrame.cpp:
2885 * html/HTMLAnchorElement.cpp:
2886 * html/HTMLAppletElement.cpp:
2887 * html/HTMLElement.cpp:
2888 * html/HTMLEmbedElement.cpp:
2889 * html/HTMLFrameSetElement.cpp:
2890 * html/HTMLHtmlElement.cpp:
2891 * html/HTMLImageElement.cpp:
2892 * html/HTMLObjectElement.cpp:
2893 * html/HTMLPlugInElement.cpp:
2894 * html/ImageDocument.cpp:
2895 * html/ImageInputType.cpp:
2896 * html/MediaDocument.cpp:
2897 * html/PluginDocument.cpp:
2898 * html/canvas/WebGLRenderingContext.cpp:
2900 * html/parser/HTMLConstructionSite.cpp:
2901 * html/parser/HTMLParserOptions.cpp:
2902 * html/parser/HTMLScriptRunner.h:
2903 * html/parser/XSSAuditor.cpp:
2904 * html/parser/XSSAuditorDelegate.cpp:
2905 * inspector/InspectorDebuggerAgent.cpp:
2906 * inspector/InspectorFileSystemAgent.cpp:
2907 * inspector/InspectorFrontendHost.cpp:
2908 * inspector/InspectorInstrumentation.h:
2910 * inspector/InspectorPageAgent.cpp:
2911 * inspector/NetworkResourcesData.cpp:
2912 * inspector/NetworkResourcesData.h:
2914 * loader/CookieJar.cpp:
2915 * loader/CrossOriginAccessControl.cpp:
2916 * loader/CrossOriginAccessControl.h:
2918 * loader/CrossOriginPreflightResultCache.h:
2919 * loader/DocumentThreadableLoader.h:
2920 * loader/FrameLoader.cpp:
2921 (WebCore::FrameLoader::FrameLoader):
2922 * loader/FrameLoader.h:
2924 (WebCore::FrameLoader::policyChecker):
2925 * loader/ImageLoader.cpp:
2926 * loader/ImageLoader.h:
2927 * loader/LinkLoader.h:
2928 * loader/MainResourceLoader.cpp:
2929 * loader/MainResourceLoader.h:
2930 * loader/MixedContentChecker.cpp:
2931 * loader/PingLoader.cpp:
2932 * loader/PolicyChecker.h:
2934 * loader/ProgressTracker.cpp:
2935 * loader/SubframeLoader.cpp:
2936 * loader/SubresourceLoader.cpp:
2937 * loader/TextTrackLoader.cpp:
2938 * loader/TextTrackLoader.h:
2939 * loader/ThreadableLoader.h:
2940 * loader/appcache/ApplicationCacheGroup.cpp:
2941 * loader/appcache/ApplicationCacheGroup.h:
2943 * loader/appcache/ApplicationCacheHost.cpp:
2944 * loader/archive/cf/LegacyWebArchive.cpp:
2945 * loader/cache/CachedFont.cpp:
2946 * loader/cache/CachedFont.h:
2948 (WebCore::CachedFontClient::~CachedFontClient):
2949 (WebCore::CachedFontClient::expectedType):
2950 (WebCore::CachedFontClient::resourceClientType):
2951 (WebCore::CachedFontClient::fontLoaded):
2953 * loader/cache/CachedFontClient.h: Removed.
2954 * loader/cache/CachedImage.cpp:
2955 * loader/cache/CachedRawResource.cpp:
2956 * loader/cache/CachedRawResource.h:
2958 (CachedRawResourceClient):
2959 (WebCore::CachedRawResourceClient::~CachedRawResourceClient):
2960 (WebCore::CachedRawResourceClient::expectedType):
2961 (WebCore::CachedRawResourceClient::resourceClientType):
2962 (WebCore::CachedRawResourceClient::dataSent):
2963 (WebCore::CachedRawResourceClient::responseReceived):
2964 (WebCore::CachedRawResourceClient::dataReceived):
2965 (WebCore::CachedRawResourceClient::redirectReceived):
2966 (WebCore::CachedRawResourceClient::dataDownloaded):
2967 * loader/cache/CachedRawResourceClient.h: Removed.
2968 * loader/cache/CachedResource.cpp:
2969 * loader/cache/CachedResourceHandle.cpp:
2970 * loader/cache/CachedResourceHandle.h:
2971 (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
2972 (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
2973 * loader/cache/CachedSVGDocument.h:
2974 (CachedSVGDocumentClient):
2975 (WebCore::CachedSVGDocumentClient::~CachedSVGDocumentClient):
2976 (WebCore::CachedSVGDocumentClient::expectedType):
2977 (WebCore::CachedSVGDocumentClient::resourceClientType):
2979 * loader/cache/CachedSVGDocumentClient.h: Removed.
2980 * loader/cache/CachedSVGDocumentReference.cpp: Removed.
2981 * loader/cache/CachedSVGDocumentReference.h:
2982 (WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference):
2983 (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
2984 * loader/cache/CachedStyleSheetClient.h:
2985 * loader/cache/MemoryCache.cpp:
2986 * loader/cache/MemoryCache.h:
2989 * loader/chromium/CachedRawResourceChromium.cpp:
2990 * loader/icon/IconController.cpp:
2991 * loader/icon/IconLoader.h:
2992 * loader/mac/ResourceLoaderMac.mm:
2993 * page/DOMWindowExtension.cpp:
2994 * page/DragController.cpp:
2996 (WebCore::Frame::Frame):
2997 (WebCore::Frame::reportMemoryUsage):
3001 (WebCore::Frame::init):
3002 (WebCore::Frame::loader):
3003 * page/PerformanceNavigation.cpp:
3004 * page/PerformanceTiming.cpp:
3005 * page/PointerLockController.cpp:
3006 * page/Settings.cpp:
3007 * page/animation/CSSPropertyAnimation.cpp:
3008 * platform/chromium/PasteboardChromium.cpp:
3009 * platform/efl/ErrorsEfl.cpp:
3010 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3011 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
3012 * platform/graphics/filters/FilterOperation.cpp:
3013 * platform/graphics/filters/FilterOperation.h:
3014 (WebCore::FilterOperation::ReferenceFilterOperation::setCachedSVGDocumentReference):
3015 (WebCore::FilterOperation::ReferenceFilterOperation::ReferenceFilterOperation):
3016 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3017 * platform/gtk/ErrorsGtk.cpp:
3018 * platform/gtk/PasteboardGtk.cpp:
3019 * platform/gtk/PasteboardHelper.h:
3020 * platform/mac/ClipboardMac.h:
3021 * platform/mac/ClipboardMac.mm:
3022 * platform/mac/HTMLConverter.mm:
3023 * platform/mac/PasteboardMac.mm:
3024 * platform/network/AuthenticationChallengeBase.cpp:
3025 * platform/network/cf/CookieJarCFNet.cpp:
3026 * platform/network/cf/ResourceRequestCFNet.cpp:
3027 * platform/network/mac/CookieStorageMac.mm:
3028 * platform/qt/PasteboardQt.cpp:
3029 * plugins/DOMMimeType.cpp:
3030 * plugins/PluginRequest.h: Removed.
3031 * plugins/PluginStream.h:
3032 (PluginStreamClient):
3033 (WebCore::PluginStreamClient::~PluginStreamClient):
3034 (WebCore::PluginStreamClient::streamDidFinishLoading):
3036 * plugins/PluginStreamClient.h: Removed.
3037 * plugins/PluginView.cpp:
3038 * plugins/PluginView.h:
3041 (WebCore::PluginRequest::PluginRequest):
3042 (WebCore::PluginRequest::frameLoadRequest):
3043 (WebCore::PluginRequest::notifyData):
3044 (WebCore::PluginRequest::sendNotification):
3045 (WebCore::PluginRequest::shouldAllowPopups):
3046 * rendering/HitTestResult.cpp:
3047 * rendering/InlineFlowBox.cpp:
3048 * rendering/RenderBox.cpp:
3049 * rendering/RenderEmbeddedObject.cpp:
3050 * rendering/RenderImage.cpp:
3051 * rendering/RenderImageResource.cpp:
3052 (WebCore::RenderImageResource::RenderImageResource):
3053 * rendering/RenderImageResource.h:
3054 (WebCore::RenderImageResource::image):
3055 (WebCore::RenderImageResource::errorOccurred):
3056 (WebCore::RenderImageResource::usesImageContainerSize):
3057 (WebCore::RenderImageResource::imageHasRelativeWidth):
3058 (WebCore::RenderImageResource::imageHasRelativeHeight):
3059 (WebCore::RenderImageResource::imageSize):
3060 * rendering/RenderImageResourceStyleImage.cpp:
3061 * rendering/RenderLayer.cpp:
3062 * rendering/RenderLayerBacking.cpp:
3063 * rendering/RenderLayerFilterInfo.h:
3064 * rendering/RenderListItem.cpp:
3065 * rendering/RenderListMarker.cpp:
3066 * rendering/RenderSnapshottedPlugIn.cpp:
3067 * rendering/RenderTableCol.cpp:
3068 * rendering/RenderTableRow.cpp:
3069 * rendering/RenderTableSection.cpp:
3070 * rendering/style/StyleCachedShader.h:
3071 * rendering/style/StyleCustomFilterProgram.cpp: Removed.
3072 * rendering/style/StyleCustomFilterProgram.h:
3074 (WebCore::StyleCustomFilterProgram::vertexShaderString):
3075 (StyleCustomFilterProgram):
3076 (WebCore::StyleCustomFilterProgram::fragmentShaderString):
3077 (WebCore::StyleCustomFilterProgram::isLoaded):
3078 (WebCore::StyleCustomFilterProgram::willHaveClients):
3079 (WebCore::StyleCustomFilterProgram::didRemoveLastClient):
3080 (WebCore::StyleCustomFilterProgram::notifyFinished):
3081 * svg/SVGFEImageElement.h:
3082 * svg/SVGFontFaceUriElement.h:
3083 (SVGFontFaceUriElement):
3084 * svg/SVGImageLoader.cpp:
3085 * svg/SVGUseElement.cpp:
3086 * svg/SVGUseElement.h:
3087 * svg/graphics/SVGImageCache.cpp:
3088 * testing/MockPagePopupDriver.cpp:
3089 * xml/XSLStyleSheet.h:
3090 * xml/XSLTProcessorLibxslt.cpp:
3091 * xml/parser/XMLDocumentParser.cpp:
3092 * xml/parser/XMLDocumentParser.h:
3093 * xml/parser/XMLDocumentParserLibxml2.cpp:
3095 2013-03-01 Alexei Filippov <alph@chromium.org>
3097 Web Inspector: fix closure compiler warnings in ProfilesPanel
3098 https://bugs.webkit.org/show_bug.cgi?id=111163
3100 Reviewed by Vsevolod Vlasov.
3102 * inspector/front-end/ProfileLauncherView.js:
3103 (WebInspector.ProfileLauncherView.prototype.addProfileType):
3104 * inspector/front-end/ProfilesPanel.js:
3106 2013-03-01 Victor Carbune <vcarbune@chromium.org>
3108 Support padding, margin and border for internal UA cue styling
3109 https://bugs.webkit.org/show_bug.cgi?id=110703
3111 Reviewed by Eric Carlson.
3113 For some particular user agent styling this allows the possibility
3114 of making the window around the cue text bigger to match some user
3115 styles (see CaptionUserPreferencesMac::captionsStyleSheetOverride).
3117 These properties *cannot* be set through by using the ::cue
3118 pseudo-element and, as specified, are used only internally.
3120 Test: media/track/track-cue-rendering-with-padding.html
3122 * css/mediaControls.css:
3123 (video::-webkit-media-text-track-display): Set the CSS box model
3124 to include in the specified width or height the values of
3125 padding / margin / border by using -webkit-box-sizing and avoid
3126 overflow over 100% width because of having these properties set.
3127 * rendering/RenderTextTrackCue.cpp:
3128 (WebCore::RenderTextTrackCue::isOutside): To not interfere with
3129 the regular WebVTT positioning algorithm, the check is done for
3130 the absolute content box.
3131 (WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet): Added
3132 an extra adjustment step to accomodate vertical padding (and not
3133 overflow the cue container)
3135 2013-02-26 Eugene Klyuchnikov <eustas@chromium.org>
3137 Web Inspector: Save/load timeline should preserve DOMContentLoaded and Load event markers
3138 https://bugs.webkit.org/show_bug.cgi?id=110819
3140 Reviewed by Pavel Feldman.
3142 To create event divider TimelinePresentation model checks if record
3143 frame is main frame. With this patch check is moved to backend and
3144 result is saved in record to avoid incoherence.
3146 * inspector/InspectorTimelineAgent.cpp:
3147 (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
3148 Record "isMainFrame" flag.
3149 (WebCore::InspectorTimelineAgent::didMarkLoadEvent): Ditto.
3150 * inspector/TimelineRecordFactory.cpp:
3151 (WebCore::TimelineRecordFactory::createMarkData):
3152 Added data object constructor.
3153 * inspector/TimelineRecordFactory.h: Ditto.
3154 * inspector/front-end/TimelinePresentationModel.js:
3155 (WebInspector.TimelinePresentationModel.isEventDivider):
3156 Use saved flag value instead of comparing with "current" main frame.
3158 2013-03-01 Eugene Klyuchnikov <eustas@chromium.org>
3160 Web Inspector: [DataGrid] Columns are misaligned after rows being refreshed.
3161 https://bugs.webkit.org/show_bug.cgi?id=111077
3163 Reviewed by Pavel Feldman.
3165 Analysis: DataGridNode.refresh removes all cells and then recreates them.
3166 The issue is that mandatory "corner" cell is not recreated.
3168 * inspector/front-end/DataGrid.js:
3169 (WebInspector.DataGridNode.prototype.refresh):
3170 Added "corner" cell restoration code.
3172 2013-02-28 Alexander Pavlov <apavlov@chromium.org>
3174 Web Inspector: Selector's raw start position in its line is considered to be 0 when computing UILocation
3175 https://bugs.webkit.org/show_bug.cgi?id=110732
3177 Reviewed by Vsevolod Vlasov.
3179 Test: inspector/styles/selector-line.html
3181 * inspector/ContentSearchUtils.cpp:
3182 (WebCore::ContentSearchUtils::sizetExtractor): Utility for binary search.
3183 (WebCore::ContentSearchUtils::textPositionFromOffset): Converts absolute raw text offset into line:column.
3184 (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines): Refactor.
3185 (WebCore::ContentSearchUtils::lineEndings): Factored out of getRegularExpressionMatchesByLines.
3186 (WebCore::ContentSearchUtils::buildObjectForSearchMatch): Drive-by: pass String by reference.
3187 * inspector/ContentSearchUtils.h:
3188 * inspector/Inspector.json: Use line:column for SourceRange boundaries rather than raw offsets.
3189 * inspector/InspectorStyleSheet.cpp:
3190 (ParsedStyleSheet::text): ASSERT(m_hasText).
3191 (WebCore::InspectorStyle::buildObjectForStyle): Supply the lineEndings argument.
3192 (WebCore::buildSourceRangeObject): Follow the protocol change.
3193 (WebCore::InspectorStyle::setPropertyText): Refactor.
3194 (WebCore::InspectorStyle::toggleProperty): Ditto.
3195 (WebCore::InspectorStyle::styleText): Ditto.
3196 (WebCore::InspectorStyle::populateAllProperties): Ditto.
3197 (WebCore::InspectorStyle::styleWithProperties): Convert relative property range offsets into absolute ones.
3198 (WebCore::InspectorStyle::extractSourceData): Factored out.
3199 (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters): Supply the lineEndings argument.
3200 (WebCore::InspectorStyleSheet::buildObjectForSelectorList): Ditto.
3201 (WebCore::InspectorStyleSheet::lineEndings): Compute line endings for ordinary stylesheets.
3202 (WebCore::InspectorStyleSheetForInlineStyle::lineEndings): Ditto for bogus inline style stylesheets.
3203 * inspector/InspectorStyleSheet.h:
3204 * inspector/front-end/AuditRules.js: Removed the byte counting for unused CSS.
3205 * inspector/front-end/CSSStyleModel.js:
3206 (WebInspector.CSSRule): Set selector rawLocation based on the selectorList range or sourceLine.
3207 (WebInspector.CSSRule.prototype._setRawLocation): Added.
3208 * inspector/front-end/SASSSourceMapping.js:
3209 (WebInspector.SASSSourceMapping.prototype._bindUISourceCode): Fix call order when binding scss sourcecodes.
3211 2013-03-01 Benjamin Poulain <benjamin@webkit.org>
3213 Get rid of two silly static null Strings
3214 https://bugs.webkit.org/show_bug.cgi?id=111151
3216 Reviewed by Eric Seidel.
3218 We have a global null String through nullAtom, there is no need
3219 for local static null strings.
3222 (WebCore::Page::groupName):
3223 * rendering/RenderListItem.cpp:
3224 (WebCore::RenderListItem::markerText):
3226 2013-03-01 Mark Rowe <mrowe@apple.com>
3230 * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h: Add a missing #include.
3232 2013-03-01 Andrey Lushnikov <lushnikov@chromium.org>
3234 Web Inspector: fix code-mirror experiment to work in debug mode
3235 https://bugs.webkit.org/show_bug.cgi?id=111064
3237 Reviewed by Pavel Feldman.
3239 No new tests: no change in behaviour.
3241 Improve importScript function to try load a script from the root
3242 directory iff its loading from the given path failed.
3244 * inspector/front-end/utilities.js:
3246 2013-03-01 Andrey Adaikin <aandrey@chromium.org>
3248 Web Inspector: [Canvas] capture a WebGL extension by it's name in lower case
3249 https://bugs.webkit.org/show_bug.cgi?id=110745
3251 Reviewed by Pavel Feldman.
3253 WebGL's getExtension accepts a name that is tested against an ASCII case-insensitive match.
3254 Just force lower case for extension names.
3256 * inspector/InjectedScriptCanvasModuleSource.js:
3259 2013-03-01 Mike West <mkwst@chromium.org>
3261 XSSAuditor should use threadSafeMatch when relevant.
3262 https://bugs.webkit.org/show_bug.cgi?id=111099
3264 Reviewed by Adam Barth.
3266 Given the work on breaking parsing out into a background thread, we
3267 should compare QualifiedNames in a thread-safe manner. Rather than
3268 casting the result of QualifiedName::localName to a String, we can
3269 call out to threadSafeMatch to do the comparison.
3271 This patch leaves one use of equalIgnoringNullity in
3272 XSSAuditor::findAttributeWithName. That usage seems safe, since we're
3273 creating a new string against which to compare.
3275 * html/parser/XSSAuditor.cpp:
3277 Replace call to equalIgnoringNullity(Vector<UChar...>, String)
3278 with threadSafeMatch(String, QualifiedName).
3280 2013-02-28 Keishi Hattori <keishi@webkit.org>
3282 Add calendar table view for the new calendar picker
3283 https://bugs.webkit.org/show_bug.cgi?id=110970
3285 Reviewed by Kent Tamura.
3287 The calendar table that will be used in the new calendar picker (Bug 109439).
3289 No new tests. Code is not used yet.
3291 * Resources/pagepopups/calendarPicker.js:
3292 (DayCell): Cell which represents one day in the calendar.
3293 (DayCell.recycleOrCreate):
3294 (DayCell.prototype._recycleBin):
3295 (DayCell.prototype.throwAway):
3296 (DayCell.prototype.setHighlighted): Sets the highlighted class on the element.
3297 (DayCell.prototype.setDisabled): Sets the disabled class on the element.
3298 (DayCell.prototype.setIsInCurrentMonth): Sets the current-month class on the element.
3299 (DayCell.prototype.setIsToday): Sets the today class on the element.
3300 (DayCell.prototype.reset): Resets the day cell to be reused.
3301 (WeekNumberCell): Cell used for the week number column.
3302 (WeekNumberCell.prototype._recycleBin):
3303 (WeekNumberCell.recycleOrCreate):
3304 (WeekNumberCell.prototype.reset):
3305 (WeekNumberCell.prototype.throwAway):
3306 (WeekNumberCell.prototype.setHighlighted): Sets the highlighted class on the element.
3307 (WeekNumberCell.prototype.setDisabled): Sets the disabled class on the element.
3308 (CalendarTableHeaderView): Header for the calendar table. Contains the column labels.
3309 (CalendarRowCell): Row containing day cells and maybe a week number cell.
3310 (CalendarRowCell.prototype._recycleBin):
3311 (CalendarRowCell.prototype.reset):
3312 (CalendarRowCell.prototype.throwAway):
3313 (CalendarTableView): A list view showing a grid of days.
3314 (CalendarTableView.prototype.rowAtScrollOffset): Returns the row number currently at the scroll offset.
3315 (CalendarTableView.prototype.scrollOffsetForRow): Returns the current scroll offset for the given row.
3316 (CalendarTableView.prototype.onClick): If the click is on a DayCell or WeekNumberCell, select the appropriate date range.
3317 (CalendarTableView.prototype.onMouseOver): If the click is on a DayCell or WeekNumberCell, highlight the appropriate date range.
3318 (CalendarTableView.prototype.onMouseOut):
3319 (CalendarTableView.prototype.prepareNewCell): Prepares a new row cell by recycling or creating a new one.
3320 (CalendarTableView.prototype.height): Returns the height of the view in pixels.
3321 (CalendarTableView.prototype.setHeight): Sets the height of the view in pixels.
3322 (CalendarTableView.prototype.scrollToMonth): Scrolls to reveal the given month.
3323 (CalendarTableView.prototype.dayAtColumnAndRow): Day at a given column and row. Column number doesn't count week number column.
3324 (CalendarTableView.prototype.columnAndRowForDay): Column and row for the given day.
3325 (CalendarTableView.prototype.updateCells): Update the position and appearance of the cell.s
3326 (CalendarTableView.prototype.prepareNewDayCell): Prepares a new day cell. The cell is registered to this._dayCells.
3327 (CalendarTableView.prototype.prepareNewWeekNumberCell): Prepares a new week number cell. The cell is registered to this._weekNumberCells.
3328 (CalendarTableView.prototype.throwAwayDayCell): The cell is unregistered from this._dayCells.
3329 (CalendarTableView.prototype.throwAwayWeekNumberCell): The cell is unregistered from this._weekNumberCells.
3331 2013-02-28 Alexey Proskuryakov <ap@apple.com>
3333 Reduce amount of rebuilding when touching networking headers
3334 https://bugs.webkit.org/show_bug.cgi?id=111035
3336 Reviewed by Eric Seidel.
3338 This uses a number of common unsurprising techniques. One interesting observation
3339 is that including CachedResource related headers is very expensive. We can usually
3340 get away with their Client counterparts, and with CachedResourceHandle.
3344 Don't include FrameLoader, greatly reducing include graph for most non-loader files.
3345 This required making Frame::init() non-inline - I'm not sure why it ever was.
3347 * loader/FrameLoader.cpp:
3348 * loader/FrameLoader.h:
3349 Even though FrameLoader is logically on loading side of WebCore, it's included in
3350 too many places. Not including PolicyChecker.h and ResourceHandle.h was among the
3351 largest wins. As a future improvement, we should probably convert other members
3354 * css/CSSCrossfadeValue.h: Initializing CachedResourceHandle with 0 requires a
3355 definition of a class it holds, but default construction does not.
3357 * loader/CrossOriginAccessControl.h: This file among others only needs ResourceHandleTypes.h,
3358 not ResourceHandle.h. This header is semi-recent, so not all include sites were updated.
3360 * loader/cache/CachedFont.h:
3361 * loader/cache/CachedFontClient.h: Added.
3362 * loader/cache/CachedRawResource.h:
3363 * loader/cache/CachedRawResourceClient.h: Added.
3364 * loader/cache/CachedSVGDocument.h:
3365 * loader/cache/CachedSVGDocumentClient.h: Added.
3366 These types were defining client types in the same headers, making it impossible
3367 to avoid including networking headers through CachedResource. Moved clients into
3370 * plugins/PluginStream.h:
3371 * plugins/PluginStreamClient.h: Added.
3372 Similar situation here.
3374 * loader/cache/CachedResourceHandle.cpp:
3375 * loader/cache/CachedResourceHandle.h:
3376 Moved functions that need to know about CachedResource to .cpp file. This is another
3377 huge win. Added a destructor, so that CachedResource woudn't be needed in all files
3378 that include CachedResourceHandle.
3380 * loader/cache/CachedSVGDocumentReference.cpp: Added.
3381 * loader/cache/CachedSVGDocumentReference.h:
3382 Moved constructor and virtual function implementations to a .cpp file - they need
3383 not inlining, and this lets us avoid including CachedSVGDocument.h in the header.
3385 * platform/graphics/filters/FilterOperation.cpp:
3386 * platform/graphics/filters/FilterOperation.h:
3387 Avoid including CachedSVGDocumentReference.h. This is not such a big win now that
3388 CachedSVGDocumentReference.h itself is smaller, but FilterOperation is so clearly
3389 rendering code that it seems best to cut any ties with resources and loading.
3390 Added a virtual destrutor in .cpp file, because inline destructors in polymorphic
3391 classes are generally harmful (due to code bloat).
3393 * plugins/PluginRequest.h: Added.
3394 * plugins/PluginView.h:
3395 Moved PluginRequest into a separate file, it was out of place in a view hierarchy
3398 * rendering/RenderImageResource.cpp:
3399 * rendering/RenderImageResource.h:
3400 Moved definitions of virtual functions to a .cpp file. Thre is no win from having
3401 them inline, and now we don't need CachedImage.h in the header.
3403 * rendering/style/StyleCustomFilterProgram.cpp: Added.
3404 * rendering/style/StyleCustomFilterProgram.h:
3408 * GNUmakefile.list.am:
3409 * Modules/mediastream/RTCPeerConnection.cpp:
3410 * Modules/notifications/Notification.cpp:
3414 * WebCore.vcproj/WebCore.vcproj:
3415 * WebCore.vcxproj/WebCore.vcxproj:
3416 * WebCore.vcxproj/WebCore.vcxproj.filters:
3417 * WebCore.xcodeproj/project.pbxproj:
3418 * bindings/ScriptControllerBase.cpp:
3419 * bindings/js/JSNodeCustom.cpp:
3420 * bindings/js/ScriptController.cpp:
3421 * bindings/js/ScriptSourceCode.h:
3422 * bindings/objc/DOM.mm:
3423 * bindings/v8/ScriptController.cpp:
3424 * bindings/v8/V8DOMWindowShell.cpp:
3425 * bindings/v8/custom/V8DOMWindowCustom.cpp:
3426 * css/CSSFontFaceSource.h:
3427 * css/CSSFontSelector.cpp:
3428 * css/WebKitCSSSVGDocumentValue.cpp:
3429 * css/WebKitCSSSVGDocumentValue.h:
3430 * dom/Clipboard.cpp:
3431 * dom/ContainerNode.cpp:
3432 * dom/DOMImplementation.cpp:
3433 * dom/PendingScript.h:
3434 * dom/ScriptElement.cpp:
3435 * dom/ScriptElement.h:
3436 * history/CachedFrame.cpp:
3438 * html/HTMLAnchorElement.cpp:
3439 * html/HTMLAppletElement.cpp:
3440 * html/HTMLElement.cpp:
3441 * html/HTMLEmbedElement.cpp:
3442 * html/HTMLFrameSetElement.cpp:
3443 * html/HTMLHtmlElement.cpp:
3444 * html/HTMLImageElement.cpp:
3445 * html/HTMLObjectElement.cpp:
3446 * html/HTMLPlugInElement.cpp:
3447 * html/ImageDocument.cpp:
3448 * html/ImageInputType.cpp:
3449 * html/MediaDocument.cpp:
3450 * html/PluginDocument.cpp:
3451 * html/canvas/WebGLRenderingContext.cpp:
3452 * html/parser/HTMLConstructionSite.cpp:
3453 * html/parser/HTMLParserOptions.cpp:
3454 * html/parser/HTMLScriptRunner.h:
3455 * html/parser/XSSAuditor.cpp:
3456 * html/parser/XSSAuditorDelegate.cpp:
3457 * inspector/InspectorDebuggerAgent.cpp:
3458 * inspector/InspectorFileSystemAgent.cpp:
3459 * inspector/InspectorFrontendHost.cpp:
3460 * inspector/InspectorInstrumentation.h:
3461 * inspector/InspectorPageAgent.cpp:
3462 * inspector/NetworkResourcesData.cpp:
3463 * inspector/NetworkResourcesData.h:
3464 * loader/CookieJar.cpp:
3465 * loader/CrossOriginAccessControl.cpp:
3466 * loader/CrossOriginPreflightResultCache.h:
3467 * loader/DocumentThreadableLoader.h:
3468 * loader/ImageLoader.cpp:
3469 * loader/ImageLoader.h:
3470 * loader/LinkLoader.h:
3471 * loader/MainResourceLoader.cpp:
3472 * loader/MainResourceLoader.h:
3473 * loader/MixedContentChecker.cpp:
3474 * loader/PingLoader.cpp:
3475 * loader/PolicyChecker.h:
3476 * loader/ProgressTracker.cpp:
3477 * loader/SubframeLoader.cpp:
3478 * loader/SubresourceLoader.cpp:
3479 * loader/TextTrackLoader.cpp:
3480 * loader/TextTrackLoader.h:
3481 * loader/ThreadableLoader.h:
3482 * loader/appcache/ApplicationCacheGroup.cpp:
3483 * loader/appcache/ApplicationCacheGroup.h:
3484 * loader/appcache/ApplicationCacheHost.cpp:
3485 * loader/archive/cf/LegacyWebArchive.cpp:
3486 * loader/cache/CachedFont.cpp:
3487 * loader/cache/CachedImage.cpp:
3488 * loader/cache/CachedRawResource.cpp:
3489 * loader/cache/CachedResource.cpp:
3490 * loader/cache/CachedStyleSheetClient.h:
3491 * loader/cache/MemoryCache.cpp:
3492 * loader/cache/MemoryCache.h:
3493 * loader/chromium/CachedRawResourceChromium.cpp:
3494 * loader/icon/IconController.cpp:
3495 * loader/icon/IconLoader.h:
3496 * loader/mac/ResourceLoaderMac.mm:
3497 * page/DOMWindowExtension.cpp:
3498 * page/DragController.cpp:
3499 * page/PerformanceNavigation.cpp:
3500 * page/PerformanceTiming.cpp:
3501 * page/PointerLockController.cpp:
3502 * page/Settings.cpp:
3503 * page/animation/CSSPropertyAnimation.cpp:
3504 * platform/chromium/PasteboardChromium.cpp:
3505 * platform/efl/ErrorsEfl.cpp:
3506 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3507 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
3508 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3509 * platform/gtk/ErrorsGtk.cpp:
3510 * platform/gtk/PasteboardGtk.cpp:
3511 * platform/gtk/PasteboardHelper.h:
3512 * platform/mac/ClipboardMac.h:
3513 * platform/mac/ClipboardMac.mm:
3514 * platform/mac/HTMLConverter.mm:
3515 * platform/mac/PasteboardMac.mm:
3516 * platform/network/AuthenticationChallengeBase.cpp:
3517 * platform/network/cf/CookieJarCFNet.cpp:
3518 * platform/network/cf/ResourceRequestCFNet.cpp:
3519 * platform/network/mac/CookieStorageMac.mm:
3520 * platform/qt/PasteboardQt.cpp:
3521 * plugins/DOMMimeType.cpp:
3522 * plugins/PluginView.cpp:
3523 * rendering/HitTestResult.cpp:
3524 * rendering/InlineFlowBox.cpp:
3525 * rendering/RenderBox.cpp:
3526 * rendering/RenderEmbeddedObject.cpp:
3527 * rendering/RenderImage.cpp:
3528 * rendering/RenderImageResourceStyleImage.cpp:
3529 * rendering/RenderLayer.cpp:
3530 * rendering/RenderLayerBacking.cpp:
3531 * rendering/RenderLayerFilterInfo.h:
3532 * rendering/RenderListItem.cpp:
3533 * rendering/RenderListMarker.cpp:
3534 * rendering/RenderSnapshottedPlugIn.cpp:
3535 * rendering/RenderTableCol.cpp:
3536 * rendering/RenderTableRow.cpp:
3537 * rendering/RenderTableSection.cpp:
3538 * rendering/style/StyleCachedShader.h:
3539 * svg/SVGFEImageElement.h:
3540 * svg/SVGFontFaceUriElement.h:
3541 * svg/SVGImageLoader.cpp:
3542 * svg/SVGUseElement.cpp:
3543 * svg/SVGUseElement.h:
3544 * svg/graphics/SVGImageCache.cpp:
3545 * testing/MockPagePopupDriver.cpp:
3546 * xml/XSLStyleSheet.h:
3547 * xml/XSLTProcessorLibxslt.cpp:
3548 * xml/parser/XMLDocumentParser.cpp:
3549 * xml/parser/XMLDocumentParser.h:
3550 * xml/parser/XMLDocumentParserLibxml2.cpp:
3551 Many self-evident changes - removing unnecessary header includes, adding smaller
3552 more local ones that are now necessary.
3554 2013-02-28 Koji Hara <kojih@chromium.org>
3556 [V8] Added V8CustomIndexedGetter to IDLs that correspond to existing custom indexedPropertyGetter.
3557 https://bugs.webkit.org/show_bug.cgi?id=110852
3559 Reviewed by Kentaro Hara.
3561 Add V8CustomIndexedGetter attribute that indicates the interface have custom implementation of a getter of indexed properties.
3562 (Also added to the wiki)
3563 https://trac.webkit.org/wiki/WebKitIDL#V8CustomIndexedGetter
3564 Add V8CustomIndexedGetter to IDLs that correspond to existing custom indexedPropertyGetter.
3565 We want to clean up CodeGeneratorV8.pm.
3566 The problem is that all implementations of indexed properties and named properties are currently delegated to custom bindings.
3567 We want to auto-generate as much code as possible.
3568 As a starting point, this commit assures a interface has [V8CustomIndexedGetter] ==> there's custom implementation of indexed getter.
3570 No test. Simple refactoring.
3572 * bindings/scripts/IDLAttributes.txt: Add V8CustomIndexedGetter attribute.
3573 * dom/NamedNodeMap.idl: Add V8CustomIndexedGetter attribute.
3574 * html/HTMLAppletElement.idl: Add V8CustomIndexedGetter attribute.
3575 * html/HTMLEmbedElement.idl: Add V8CustomIndexedGetter attribute.
3576 * html/HTMLFormElement.idl: Add V8CustomIndexedGetter attribute.
3577 * html/HTMLObjectElement.idl: Add V8CustomIndexedGetter attribute.
3578 * html/HTMLOptionsCollection.idl: Add V8CustomIndexedGetter attribute.
3579 * html/HTMLSelectElement.idl: Add V8CustomIndexedGetter attribute.
3580 * page/DOMWindow.idl: Add V8CustomIndexedGetter attribute.
3581 * storage/Storage.idl: Add V8CustomIndexedGetter attribute.
3583 2013-02-28 Xingnan Wang <xingnan.wang@intel.com>
3585 Heap-use-after-free in WebCore::AudioNodeInput::updateInternalBus
3586 https://bugs.webkit.org/show_bug.cgi?id=108542
3588 Replace the wrong AudioNodeOutput::bus() usage out of safe peroid,
3589 which causes this issue.
3591 Reviewed by Chris Rogers.
3593 * Modules/webaudio/AudioNodeInput.cpp:
3594 (WebCore::AudioNodeInput::numberOfChannels):
3595 * Modules/webaudio/AudioNodeOutput.cpp:
3596 (WebCore::AudioNodeOutput::bus):
3598 2013-02-28 Sheriff Bot <webkit.review.bot@gmail.com>
3600 Unreviewed, rolling out r144370.
3601 http://trac.webkit.org/changeset/144370
3602 https://bugs.webkit.org/show_bug.cgi?id=111136
3604 Caused 21 assertion failure at DocumentLoader.cpp(436)
3605 (Requested by toyoshim on #webkit).
3608 (WebCore::Document::decrementActiveParserCount):
3609 * loader/DocumentLoader.cpp:
3610 (WebCore::DocumentLoader::isLoading):
3611 (WebCore::DocumentLoader::checkLoadComplete):
3613 2013-02-28 Li Yin <li.yin@intel.com>
3615 [chromium] Events can't be triggered on MediaStreamTrack
3616 https://bugs.webkit.org/show_bug.cgi?id=110930
3618 Reviewed by Kentaro Hara.
3620 Spec: http://dev.w3.org/2011/webrtc/editor/getusermedia.html#mediastreamtrack
3621 ended event handler should be triggered, when stop() is called.
3623 No new tests because the test fast/mediastream/MediaStreamTrack.html
3624 had covered it already.
3626 * platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
3627 (WebCore::MediaStreamCenterChromium::didStopLocalMediaStream):
3629 2013-02-28 Ankur Taly <ataly@google.com>
3631 WebKit API for enabling DOM logging for certain worlds
3632 https://bugs.webkit.org/show_bug.cgi?id=110779
3634 Reviewed by Adam Barth.
3636 Adds additional static methods to DOMWrapperWorld for managing the
3637 mapping between worldIDs and logger objects (where DOM logging messages
3638 are sent), and also defines a class (V8DOMActivityLogger) for logger
3642 * bindings/v8/DOMWrapperWorld.cpp:
3644 (WebCore::domActivityLoggers):
3645 (WebCore::DOMWrapperWorld::setDOMActivityLogger):
3646 (WebCore::DOMWrapperWorld::getDOMActivityLogger):
3647 * bindings/v8/DOMWrapperWorld.h:
3649 * bindings/v8/V8DOMActivityLogger.h: Added.
3651 (V8DOMActivityLogger):
3652 (WebCore::V8DOMActivityLogger::~V8DOMActivityLogger):
3653 (WebCore::V8DOMActivityLogger::log):
3655 2013-02-28 Adam Barth <abarth@webkit.org>
3657 The threaded HTML parser shouldn't need to invalidate the speculation buffer on every document.write
3658 https://bugs.webkit.org/show_bug.cgi?id=111130
3660 Reviewed by Eric Seidel.
3662 Previously, the threaded HTML parser always invalidated its speculation
3663 buffer when it received a document.write. That means we performed
3664 poorly on web sites that contained document.write calls early in the
3667 This patch teaches the HTMLDocumentParser that we don't need to discard
3668 the speculation buffer in the common case of starting and ending in the
3671 * html/parser/BackgroundHTMLParser.cpp:
3672 (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
3673 * html/parser/HTMLDocumentParser.cpp:
3674 (WebCore::HTMLDocumentParser::checkForSpeculationFailure):
3675 (WebCore::HTMLDocumentParser::didFailSpeculation):
3676 * html/parser/HTMLDocumentParser.h:
3680 2013-02-28 Eberhard Graether <egraether@google.com>
3682 WebInspector: Switch hide element shortcut in ElementsPanel to use a selector
3683 https://bugs.webkit.org/show_bug.cgi?id=110641
3685 Reviewed by Pavel Feldman.
3687 This change switches the shortcut for adding visibility:hidden to an element's style
3688 to toggling a class name on the element and injecting a style rule into the element's
3689 document instead. This way it is possible to change the visibility of all child
3692 Test: inspector/elements/hide-shortcut.html
3694 * inspector/front-end/CSSStyleModel.js:
3695 * inspector/front-end/ElementsTreeOutline.js:
3696 (WebInspector.ElementsTreeOutline.prototype._onkeydown):
3697 (WebInspector.ElementsTreeOutline.prototype.resolvedNode.toggleClassAndInjectStyleRule):
3698 (WebInspector.ElementsTreeOutline.prototype.):
3699 (WebInspector.ElementsTreeOutline.prototype._toggleHideShortcut):
3701 2013-02-28 Ryuan Choi <ryuan.choi@samsung.com>
3703 [EFL] Build break with --no-web-audio and --no-video
3704 https://bugs.webkit.org/show_bug.cgi?id=111055
3706 Unreviewed build fix.
3708 * platform/graphics/gstreamer/GStreamerUtilities.cpp:
3710 2013-02-28 Xingnan Wang <xingnan.wang@intel.com>
3712 Implement the memory report on IPP FFTFrame on Web Audio
3713 https://bugs.webkit.org/show_bug.cgi?id=111039
3715 Reviewed by Yury Semikhatsky.
3717 Covered by existing test.
3719 * platform/audio/FFTFrame.cpp:
3720 (WebCore::FFTFrame::reportMemoryUsage):
3722 2013-02-28 Levi Weintraub <leviw@chromium.org>
3724 Stale FrameSelection in removed iframe causes crash
3725 https://bugs.webkit.org/show_bug.cgi?id=108696
3727 Reviewed by Ryosuke Niwa.
3729 Catching a specific issue where selectFrameElementInParentIfFullySelected in a nested
3730 iFrame that is removed can leave the outer frame's selection referencing stale nodes.
3731 Instead, in this case, we keep the frame alive long enough to check for this condition
3732 and clear our selection if we hit it.
3734 Test: editing/selection/selection-in-iframe-removed-crash.html
3736 * editing/FrameSelection.cpp:
3737 (WebCore::FrameSelection::setSelection):
3739 2013-02-28 Conrad Shultz <conrad_shultz@apple.com>
3741 Need API to control page underlay color
3742 https://bugs.webkit.org/show_bug.cgi?id=110918
3744 Reviewed by Simon Fraser.
3746 * page/ChromeClient.h:
3748 Declare underlayColor().
3750 * platform/ScrollbarTheme.h:
3751 (WebCore::ScrollbarTheme::setUpOverhangAreasLayerContents):
3752 Have setUpOverhangAreasLayerContents() take a background color parameter.
3754 * platform/mac/ScrollbarThemeMac.h:
3755 (ScrollbarThemeMac):
3758 * platform/mac/ScrollbarThemeMac.mm:
3760 (WebCore::ScrollbarThemeMac::setUpOverhangAreasLayerContents):
3761 Use the passed-in background color, if valid, for the overhang area layer.
3763 * rendering/RenderLayerCompositor.cpp:
3764 (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
3765 Get the underlay color from the chrome client and pass it into setUpOverhangAreasLayerContents().
3767 2013-02-28 Beth Dakin <bdakin@apple.com>
3769 RelevantRepaintedObjects heuristic should ensure there is some coverage in the
3770 bottom half of the relevant view rect
3771 https://bugs.webkit.org/show_bug.cgi?id=111124
3773 <rdar://problem/12257164>
3775 Reviewed by Simon Fraser.
3777 We need two Regions now -- one for the top and another for the bottom. Make sure
3778 we have at least half of our desired coverage in both.
3780 (WebCore::Page::resetRelevantPaintedObjectCounter):
3781 (WebCore::Page::addRelevantRepaintedObject):
3782 (WebCore::Page::reportMemoryUsage):
3785 2013-02-28 Chris Fleizach <cfleizach@apple.com>
3787 WebSpeech: support pitch change
3788 https://bugs.webkit.org/show_bug.cgi?id=107348
3790 Reviewed by Beth Dakin.
3792 Implement a policy for the Mac synthesizer to convert from the utterance's pitch rate
3793 to something sensible for the platform.
3795 * platform/mac/PlatformSpeechSynthesizerMac.mm:
3796 (-[WebSpeechSynthesisWrapper initWithSpeechSynthesizer:WebCore::]):
3797 (-[WebSpeechSynthesisWrapper convertPitchToNSSpeechValue:]):
3798 (-[WebSpeechSynthesisWrapper updateBasePitchForSynthesizer]):
3799 (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
3801 2013-02-28 Vineet Chaudhary <rgf748@motorola.com>
3803 Unreviewed. Bindings test results update after r144376.
3805 * bindings/scripts/test/JS/JSTestObj.cpp:
3807 2013-02-28 Roger Fong <roger_fong@apple.com>
3809 Unreviewed. AppleWin VS2010 build fix.
3811 * WebCore.vcxproj/WebCore.vcxproj:
3812 * WebCore.vcxproj/WebCore.vcxproj.filters:
3814 2013-02-28 Roger Fong <roger_fong@apple.com>
3816 Unreviewed. AppleWin Build fix.
3818 * WebCore.vcproj/WebCore.vcproj:
3820 2013-02-28 Kentaro Hara <haraken@chromium.org>
3822 [V8] Remove the world->isMainWorld() check from minorGCPrologue()
3823 https://bugs.webkit.org/show_bug.cgi?id=111114
3825 Reviewed by Adam Barth.
3827 A couple of weeks ago, I introduced the following check to minorGCPrologue() in r142419.
3829 void minorGCPrologue() {
3830 // A minor GC can handle the main world only.
3831 DOMWrapperWorld* world = worldForEnteredContextWithoutContextCheck();
3832 if (world && world->isMainWorld()) {
3833 MinorGCWrapperVisitor visitor(isolate);
3834 v8::V8::VisitHandlesForPartialDependence(isolate, &visitor);
3835 visitor.notifyFinished();
3839 - The check makes no sense. A GC should not care about what world we are in.
3840 There is no concept of worlds in GC.
3842 - worldForEnteredContextWithoutContextCheck() returns 0 for the main world.
3843 So if a GC runs in the main world, the minor DOM GC is skipped.
3845 - worldForEnteredContextWithoutContextCheck() caused a Chromium crash
3846 (https://code.google.com/p/chromium/issues/detail?id=177587)
3848 We should remove the check.
3850 No tests. No change in behavior.
3852 * bindings/v8/DOMWrapperWorld.h:
3853 (WebCore::DOMWrapperWorld::getWorld):
3854 * bindings/v8/V8Binding.h:
3855 * bindings/v8/V8GCController.cpp:
3856 (WebCore::V8GCController::minorGCPrologue):
3858 2013-02-28 Bruno de Oliveira Abinader <bruno.abinader@basyskom.com>
3860 Create GraphicsContext3DState to aggregate state objects
3861 https://bugs.webkit.org/show_bug.cgi?id=110817
3863 Reviewed by Kenneth Russell.
3865 Aggregate context state-related objects on a GraphicsContext3DState
3866 struct, in a similar fashion as GraphicsContext does. This is useful to
3867 avoid duplicated values for platform-specific initialization lists.
3869 No behavior changes, thus covered by existing tests.
3871 * platform/graphics/GraphicsContext3D.h:
3872 (WebCore::GraphicsContext3D::GraphicsContext3DState::GraphicsContext3DState):
3873 (GraphicsContext3DState):
3874 (GraphicsContext3D):
3875 Moved m_boundFBO, m_activeTexture and m_boundTexture0 to GraphicsContext3DState.
3877 * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
3878 (WebCore::GraphicsContext3D::GraphicsContext3D):
3879 (WebCore::GraphicsContext3D::reshapeFBOs):
3880 * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
3881 (WebCore::GraphicsContext3D::GraphicsContext3D):
3882 * platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
3883 (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
3884 * platform/graphics/efl/GraphicsContext3DEfl.cpp:
3885 (WebCore::GraphicsContext3D::GraphicsContext3D):
3886 * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
3887 (WebCore::GraphicsContext3DPrivate::copyToGraphicsSurface):
3888 * platform/graphics/mac/GraphicsContext3DMac.mm:
3889 (WebCore::GraphicsContext3D::GraphicsContext3D):
3890 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
3891 (WebCore::GraphicsContext3D::reshapeFBOs):
3892 (WebCore::GraphicsContext3D::readPixels):
3893 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
3894 (WebCore::GraphicsContext3D::prepareTexture):
3895 (WebCore::GraphicsContext3D::readRenderingResults):
3896 (WebCore::GraphicsContext3D::reshape):
3897 (WebCore::GraphicsContext3D::activeTexture):
3898 (WebCore::GraphicsContext3D::bindFramebuffer):
3899 (WebCore::GraphicsContext3D::bindTexture):
3900 (WebCore::GraphicsContext3D::copyTexImage2D):
3901 (WebCore::GraphicsContext3D::copyTexSubImage2D):
3902 (WebCore::GraphicsContext3D::deleteFramebuffer):
3903 (WebCore::GraphicsContext3D::deleteTexture):
3904 * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
3905 (WebCore::GraphicsContext3D::readPixels):
3906 (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
3907 (WebCore::GraphicsContext3D::reshapeFBOs):
3908 * platform/graphics/qt/GraphicsContext3DQt.cpp:
3909 (WebCore::GraphicsContext3DPrivate::createOffscreenBuffers):
3910 (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
3911 (WebCore::GraphicsContext3DPrivate::blitMultisampleFramebuffer):
3912 (WebCore::GraphicsContext3D::GraphicsContext3D):
3913 Removed initialization list values not needed anymore and reassigned
3914 calls to m_boundFBO, m_boundTexture0 and m_activeTexture to m_state
3917 2013-02-28 David Hyatt <hyatt@apple.com>
3919 Unreviewed build fix. A merge error led to a duplication of a single line.
3920 Just removing the duplicate line.
3922 * rendering/RenderLayer.cpp:
3923 (WebCore::RenderLayer::createLocalTransformState):
3925 2013-02-28 Kaustubh Atrawalkar <kaustubh@motorola.com>
3927 Notification.requestPermission callback should be optional
3928 https://bugs.webkit.org/show_bug.cgi?id=108196
3930 Reviewed by Kentaro Hara.
3932 Spec says it should be optional.
3933 http://notifications.spec.whatwg.org/#notification
3935 Test: fast/notifications/notifications-request-permission-optional.html
3937 * GNUmakefile.list.am:
3938 * Modules/notifications/Notification.h:
3940 * Modules/notifications/Notification.idl:
3941 * Modules/notifications/NotificationCenter.cpp:
3942 (WebCore::NotificationCenter::NotificationRequestCallback::timerFired):
3943 * Modules/notifications/NotificationCenter.h:
3944 (NotificationCenter):
3945 * Modules/notifications/NotificationCenter.idl:
3950 * WebCore.vcproj/WebCore.vcproj:
3951 * WebCore.vcxproj/WebCore.vcxproj:
3952 * WebCore.vcxproj/WebCore.vcxproj.filters:
3953 * WebCore.xcodeproj/project.pbxproj:
3954 * bindings/js/JSBindingsAllInOne.cpp:
3955 * bindings/js/JSDesktopNotificationsCustom.cpp: Removed.
3956 * bindings/js/JSNotificationCustom.cpp: Removed.
3957 * bindings/scripts/CodeGeneratorJS.pm:
3958 (GenerateParametersCheck):
3959 * bindings/v8/custom/V8NotificationCenterCustom.cpp: Removed.
3960 * bindings/v8/custom/V8NotificationCustom.cpp: Removed.
3962 2013-02-28 Ben Wagner <bungeman@chromium.org>
3964 Underline should round to match other content.
3965 https://bugs.webkit.org/show_bug.cgi?id=111005
3967 Reviewed by Stephen White.
3969 Test: fast/text/decorations-with-text-combine.html
3971 * platform/graphics/skia/GraphicsContextSkia.cpp:
3972 (WebCore::GraphicsContext::drawLineForText):
3973 Round (instead of floor) underlines to match other content.
3975 2013-02-28 Eric Carlson <eric.carlson@apple.com>
3977 Refine Ryosuke's r144367 fix.
3979 Rubber-stamped by Ryosuke Niwa.
3981 * page/PageGroup.cpp:
3982 (WebCore::PageGroup::captionPreferences):
3984 2013-02-28 Eric Seidel <eric@webkit.org>
3986 Threaded HTML parser hits ASSERTION FAILED: this == frameLoader()->activeDocumentLoader()
3987 https://bugs.webkit.org/show_bug.cgi?id=110937
3989 Reviewed by Adam Barth.
3991 Remove the #ifdef guards added to work around this ASSERT.
3992 This was fixed by https://bugs.webkit.org/show_bug.cgi?id=110951
3993 as now DocumentLoader::checkLoadComplete() will ignore the call
3994 if the DocumentLoader is not the active document loader for the Document.
3997 (WebCore::Document::decrementActiveParserCount):
3998 * loader/DocumentLoader.cpp:
3999 (WebCore::DocumentLoader::isLoading):
4000 (WebCore::DocumentLoader::checkLoadComplete):
4002 2013-02-28 Ryosuke Niwa <rniwa@webkit.org>
4004 Revert an erroneous change in r144336.
4006 Rubber-stamped by Eric Carlson.
4008 * page/PageGroup.cpp:
4009 (WebCore::PageGroup::captionPreferences):
4011 2013-02-28 David Hyatt <hyatt@apple.com>
4013 Unreviewed build fix for Windows. Make sure the new bits are unsigned and not bools.
4015 * rendering/RenderBlock.h:
4017 2013-02-28 Jochen Eisinger <jochen@chromium.org>
4019 Meta referrer isn't honored for window.open
4020 https://bugs.webkit.org/show_bug.cgi?id=111076
4022 Reviewed by Adam Barth.
4024 Test: http/tests/security/referrer-policy-window-open.html
4026 * loader/FrameLoader.cpp:
4027 (WebCore::FrameLoader::urlSelected): loadFrameRequest() will set the correct referrer
4028 (WebCore::createWindow): This code is required for the inspector which doesn't set the referrer
4029 * page/DOMWindow.cpp:
4030 (WebCore::DOMWindow::createWindow):
4032 2013-02-28 Bruno de Oliveira Abinader <bruno.abinader@basyskom.com>
4034 [texmap] Remove redundant defines on TextureMapperGL