NEON intrinsics should be used with gaussian blur filter
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-07-05  Gabor Rapcsanyi  <rgabor@webkit.org>
2
3         NEON intrinsics should be used with gaussian blur filter
4         https://bugs.webkit.org/show_bug.cgi?id=90166
5
6         Reviewed by Zoltan Herczeg.
7
8         Rewrite inline assembly to NEON intrinsics for better portabilty 
9         and readibility. Remove unnecessary FEGaussianBlurNEON.cpp and add
10         NEONHelpers.h to the project which will contains the shared
11         NEON code of the filters.
12
13         Existing tests cover this issue.
14
15         * CMakeLists.txt:
16         * GNUmakefile.list.am:
17         * Target.pri:
18         * WebCore.gypi:
19         * WebCore.vcproj/WebCore.vcproj:
20         * WebCore.xcodeproj/project.pbxproj:
21         * platform/graphics/filters/FEGaussianBlur.cpp:
22         (WebCore::FEGaussianBlur::platformApplyGeneric):
23         (WebCore::FEGaussianBlur::platformApplyWorker):
24         * platform/graphics/filters/FEGaussianBlur.h:
25         (FEGaussianBlur):
26         * platform/graphics/filters/arm/FEGaussianBlurNEON.cpp: Removed.
27         * platform/graphics/filters/arm/FEGaussianBlurNEON.h:
28         (WebCore::boxBlurNEON):
29         * platform/graphics/filters/arm/NEONHelpers.h: Added.
30         (WebCore):
31         (WebCore::loadRGBA8AsFloat):
32         (WebCore::storeFloatAsRGBA8):
33
34 2012-07-05  Sam D  <dsam2912@gmail.com>
35
36         Web Inspector: Having a "Scroll into view" for nodes through web inspector.
37         https://bugs.webkit.org/show_bug.cgi?id=89554
38
39         Added options for scrolling-into-view the  element node through web
40         inspector.
41
42         Reviewed by Pavel Feldman.
43
44         No new tests. UI change.
45
46         * English.lproj/localizedStrings.js:
47         * inspector/front-end/ElementsTreeOutline.js:
48         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
49         (.):
50         * inspector/front-end/RemoteObject.js:
51         (WebInspector.RemoteObject.prototype.callFunction):
52
53 2012-07-05  Zan Dobersek  <zandobersek@gmail.com>
54
55         Add Gamepad logging channel
56         https://bugs.webkit.org/show_bug.cgi?id=90570
57
58         Reviewed by Carlos Garcia Campos.
59
60         Add a new logging channel for logging significant
61         events that are related to Gamepad API implementation.
62
63         No new tests - no new testable functionality.
64
65         * platform/Logging.cpp:
66         (WebCore):
67         (WebCore::getChannelFromName):
68         * platform/Logging.h:
69         (WebCore):
70         * platform/gtk/GamepadsGtk.cpp: Log when a device is
71         registered or unregistered.
72         (WebCore::GamepadsGtk::registerDevice):
73         (WebCore::GamepadsGtk::unregisterDevice):
74
75 2012-07-05  Peter Wang  <peter.wang@torchmobile.com.cn>
76
77         Web Inspector: [JSC] support JS execution in the context of an isolated world
78         https://bugs.webkit.org/show_bug.cgi?id=85709
79
80         Reviewed by Gavin Barraclough.
81
82         No new test case for this bug. 
83
84         * bindings/js/ScriptController.cpp:
85         (WebCore::ScriptController::collectIsolatedContexts):
86         (WebCore):
87
88 2012-07-04  Huang Dongsung  <luxtella@company100.net>
89
90         Add virtual keyword to ~BitmapImage and ~StillImage because ~Image is virtual.
91         https://bugs.webkit.org/show_bug.cgi?id=90447
92
93         Reviewed by Alexey Proskuryakov.
94
95         No new tests. This patch doesn't change behavior.
96
97         * platform/graphics/BitmapImage.h:
98         (BitmapImage):
99         * platform/graphics/qt/StillImageQt.h:
100         (StillImage):
101
102 2012-07-04  Mike West  <mkwst@chromium.org>
103
104         Implement the script-nonce Content Security Policy directive.
105         https://bugs.webkit.org/show_bug.cgi?id=89577
106
107         Reviewed by Adam Barth.
108
109         This patch implements the (experimental) script-nonce Content Security
110         Policy directive from the 1.1 spec, which allows for selective
111         execution of script by specifying a "nonce" attribute for the
112         script tag. Script is only loaded and executed if it both matches the
113         nonce and matches the script-src whitelist (if present).
114
115         The implementation is gated on the ENABLE_CSP_NEXT flag, which is
116         currently disabled for all ports other than Chromium.
117
118         Spec: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#script-nonce--experimental
119
120         Tests: http/tests/security/contentSecurityPolicy/1.1/scriptnonce-allowed.html
121                http/tests/security/contentSecurityPolicy/1.1/scriptnonce-badnonce.html
122                http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked.html
123                http/tests/security/contentSecurityPolicy/1.1/scriptnonce-emptynonce.html
124                http/tests/security/contentSecurityPolicy/1.1/scriptnonce-scriptsrc-blocked.html
125
126         * dom/ScriptElement.cpp:
127         (WebCore::ScriptElement::requestScript):
128         (WebCore::ScriptElement::executeScript):
129             Passing the nonce attribute through to check against CSP.
130         * html/HTMLAttributeNames.in:
131         * html/HTMLScriptElement.idl:
132             Adding the `nonce` attribute to the script tag.
133         * page/ContentSecurityPolicy.cpp:
134         (CSPDirectiveList):
135         (WebCore::CSPDirectiveList::logInvalidNonce):
136         (WebCore):
137         (WebCore::CSPDirectiveList::checkNonceAndReportViolation):
138         (WebCore::CSPDirectiveList::allowJavaScriptURLs):
139         (WebCore::CSPDirectiveList::allowInlineEventHandlers):
140             If a nonce is set, deny JavaScript URLs and inline event handlers.
141         (WebCore::CSPDirectiveList::allowScriptNonce):
142         (WebCore::CSPDirectiveList::parseScriptNonce):
143         (WebCore::CSPDirectiveList::addDirective):
144         (WebCore::isAllowedByAllWithNonce):
145         (WebCore::ContentSecurityPolicy::allowScriptNonce):
146         * page/ContentSecurityPolicy.h:
147         (WebCore):
148
149 2012-07-04  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
150
151         Notifications should be in Modules/notifications
152         https://bugs.webkit.org/show_bug.cgi?id=82121
153
154         Reviewed by Adam Barth.
155
156         The notifications directory is now self-contained. This patch moves it to the Modules directory.
157
158         No new tests, covered by existing tests.
159
160         * CMakeLists.txt:
161         * DerivedSources.make:
162         * DerivedSources.pri:
163         * GNUmakefile.am:
164         * GNUmakefile.list.am:
165         * Modules/notifications/DOMWindowNotifications.cpp: Renamed from Source/WebCore/notifications/DOMWindowNotifications.cpp.
166         (WebCore):
167         (WebCore::DOMWindowNotifications::DOMWindowNotifications):
168         (WebCore::DOMWindowNotifications::~DOMWindowNotifications):
169         (WebCore::DOMWindowNotifications::from):
170         (WebCore::DOMWindowNotifications::webkitNotifications):
171         (WebCore::DOMWindowNotifications::disconnectFrameForPageCache):
172         (WebCore::DOMWindowNotifications::reconnectFrameFromPageCache):
173         (WebCore::DOMWindowNotifications::willDestroyGlobalObjectInCachedFrame):
174         (WebCore::DOMWindowNotifications::willDestroyGlobalObjectInFrame):
175         (WebCore::DOMWindowNotifications::willDetachGlobalObjectFromFrame):
176         * Modules/notifications/DOMWindowNotifications.h: Renamed from Source/WebCore/notifications/DOMWindowNotifications.h.
177         (WebCore):
178         (DOMWindowNotifications):
179         * Modules/notifications/DOMWindowNotifications.idl: Renamed from Source/WebCore/notifications/DOMWindowNotifications.idl.
180         * Modules/notifications/Notification.cpp: Renamed from Source/WebCore/notifications/Notification.cpp.
181         (WebCore):
182         (WebCore::Notification::Notification):
183         (WebCore::Notification::~Notification):
184         (WebCore::Notification::create):
185         (WebCore::getAndAddEventListener):
186         (WebCore::Notification::interfaceName):
187         (WebCore::Notification::show):
188         (WebCore::Notification::close):
189         (WebCore::Notification::eventTargetData):
190         (WebCore::Notification::ensureEventTargetData):
191         (WebCore::Notification::contextDestroyed):
192         (WebCore::Notification::finalize):
193         (WebCore::Notification::dispatchShowEvent):
194         (WebCore::Notification::dispatchClickEvent):
195         (WebCore::Notification::dispatchCloseEvent):
196         (WebCore::Notification::dispatchErrorEvent):
197         (WebCore::Notification::taskTimerFired):
198         (WebCore::Notification::permissionLevel):
199         (WebCore::Notification::permissionString):
200         (WebCore::Notification::requestPermission):
201         * Modules/notifications/Notification.h: Renamed from Source/WebCore/notifications/Notification.h.
202         (WebCore):
203         (Notification):
204         (WebCore::Notification::cancel):
205         (WebCore::Notification::isHTML):
206         (WebCore::Notification::setHTML):
207         (WebCore::Notification::url):
208         (WebCore::Notification::setURL):
209         (WebCore::Notification::iconURL):
210         (WebCore::Notification::title):
211         (WebCore::Notification::body):
212         (WebCore::Notification::dir):
213         (WebCore::Notification::setDir):
214         (WebCore::Notification::replaceId):
215         (WebCore::Notification::setReplaceId):
216         (WebCore::Notification::tag):
217         (WebCore::Notification::setTag):
218         (WebCore::Notification::direction):
219         (WebCore::Notification::scriptExecutionContext):
220         (WebCore::Notification::detachPresenter):
221         (WebCore::Notification::setBody):
222         (WebCore::Notification::refEventTarget):
223         (WebCore::Notification::derefEventTarget):
224         * Modules/notifications/Notification.idl: Renamed from Source/WebCore/notifications/Notification.idl.
225         * Modules/notifications/NotificationCenter.cpp: Renamed from Source/WebCore/notifications/NotificationCenter.cpp.
226         (WebCore):
227         (WebCore::NotificationCenter::create):
228         (WebCore::NotificationCenter::NotificationCenter):
229         (WebCore::NotificationCenter::checkPermission):
230         (WebCore::NotificationCenter::requestPermission):
231         (WebCore::NotificationCenter::stop):
232         (WebCore::NotificationCenter::requestTimedOut):
233         (WebCore::NotificationCenter::NotificationRequestCallback::createAndStartTimer):
234         (WebCore::NotificationCenter::NotificationRequestCallback::NotificationRequestCallback):
235         (WebCore::NotificationCenter::NotificationRequestCallback::startTimer):
236         (WebCore::NotificationCenter::NotificationRequestCallback::timerFired):
237         * Modules/notifications/NotificationCenter.h: Renamed from Source/WebCore/notifications/NotificationCenter.h.
238         (WebCore):
239         (NotificationCenter):
240         (WebCore::NotificationCenter::createHTMLNotification):
241         (WebCore::NotificationCenter::createNotification):
242         (WebCore::NotificationCenter::client):
243         (NotificationRequestCallback):
244         * Modules/notifications/NotificationCenter.idl: Renamed from Source/WebCore/notifications/NotificationCenter.idl.
245         * Modules/notifications/NotificationClient.h: Renamed from Source/WebCore/notifications/NotificationClient.h.
246         (WebCore):
247         (NotificationClient):
248         (WebCore::NotificationClient::clearNotifications):
249         (WebCore::NotificationClient::~NotificationClient):
250         * Modules/notifications/NotificationController.cpp: Renamed from Source/WebCore/notifications/NotificationController.cpp.
251         (WebCore):
252         (WebCore::NotificationController::NotificationController):
253         (WebCore::NotificationController::~NotificationController):
254         (WebCore::NotificationController::create):
255         (WebCore::NotificationController::clientFrom):
256         (WebCore::NotificationController::supplementName):
257         (WebCore::provideNotification):
258         * Modules/notifications/NotificationController.h: Renamed from Source/WebCore/notifications/NotificationController.h.
259         (WebCore):
260         (NotificationController):
261         (WebCore::NotificationController::from):
262         (WebCore::NotificationController::client):
263         * Modules/notifications/NotificationPermissionCallback.h: Renamed from Source/WebCore/notifications/NotificationPermissionCallback.h.
264         (WebCore):
265         (NotificationPermissionCallback):
266         (WebCore::NotificationPermissionCallback::~NotificationPermissionCallback):
267         * Modules/notifications/NotificationPermissionCallback.idl: Renamed from Source/WebCore/notifications/NotificationPermissionCallback.idl.
268         * Modules/notifications/WorkerContextNotifications.cpp: Renamed from Source/WebCore/notifications/WorkerContextNotifications.cpp.
269         (WebCore):
270         (WebCore::WorkerContextNotifications::WorkerContextNotifications):
271         (WebCore::WorkerContextNotifications::~WorkerContextNotifications):
272         (WebCore::WorkerContextNotifications::from):
273         (WebCore::WorkerContextNotifications::webkitNotifications):
274         * Modules/notifications/WorkerContextNotifications.h: Renamed from Source/WebCore/notifications/WorkerContextNotifications.h.
275         (WebCore):
276         (WorkerContextNotifications):
277         * Modules/notifications/WorkerContextNotifications.idl: Renamed from Source/WebCore/notifications/WorkerContextNotifications.idl.
278         * Target.pri:
279         * WebCore.gyp/WebCore.gyp:
280         * WebCore.gypi:
281         * WebCore.pri:
282         * WebCore.vcproj/WebCore.vcproj:
283         * WebCore.vcproj/WebCoreCommon.vsprops:
284         * WebCore.vcproj/copyForwardingHeaders.cmd:
285         * WebCore.xcodeproj/project.pbxproj:
286
287 2012-07-04  Hayato Ito  <hayato@chromium.org>
288
289         Remove inline keywords from functions which can not be inlined in ComposedShadowTreeWalker
290         https://bugs.webkit.org/show_bug.cgi?id=90432
291
292         Reviewed by Hajime Morita.
293
294         No new tests - no functional changes.
295
296         * dom/ComposedShadowTreeWalker.cpp:
297         (WebCore::ComposedShadowTreeWalker::traverseParent):
298         (WebCore::ComposedShadowTreeWalker::traverseParentBackToYoungerShadowRootOrHost):
299
300 2012-07-04  Luke Macpherson  <macpherson@chromium.org>
301
302         Inspector crashes when trying to inspect a page with CSS variables
303         https://bugs.webkit.org/show_bug.cgi?id=89818
304
305         Reviewed by Antti Koivisto.
306
307         Patch works by fixing treating handling of CSSPropertyID == CSSPropertyVariable as a special case,
308         and looking up the author-defined property name from the CSSValue.
309
310         Added test inspector/styles/variables/css-variables.html that inspects an element using CSS variables.
311         Test is skipped when variables are compiled out.
312
313         * css/CSSProperty.cpp:
314         (WebCore::CSSProperty::cssName):
315         (WebCore):
316         (WebCore::CSSProperty::cssText):
317         * css/CSSProperty.h:
318         (CSSProperty):
319         * css/PropertySetCSSStyleDeclaration.cpp:
320         (WebCore::PropertySetCSSStyleDeclaration::item):
321         * css/StylePropertySet.cpp:
322         (WebCore::StylePropertySet::asText):
323         * inspector/InspectorStyleSheet.cpp:
324         (WebCore::InspectorStyle::populateAllProperties):
325
326 2012-07-04  Anthony Scian  <ascian@rim.com>
327
328         Web Inspector [JSC]: Implement ScriptCallStack::stackTrace
329         https://bugs.webkit.org/show_bug.cgi?id=40118
330
331         Reviewed by Yong Li.
332
333         Implemented stub for createScriptCallStack to call into
334         Interpreter and extract the current stack frames, iterate
335         through the frames and create the return result required.
336
337         No new tests, manually tested thrown exception and inspector
338         tracebacks.
339
340         * bindings/js/ScriptCallStackFactory.cpp:
341         (WebCore::createScriptCallStack):
342
343 2012-07-04  Dana Jansens  <danakj@chromium.org>
344
345         [chromium] Respect memory needed for RenderSurfaces when reserving contents textures
346         https://bugs.webkit.org/show_bug.cgi?id=89901
347
348         Reviewed by Adrienne Walker.
349
350         Treat the memory allocation given to a tab as an allocation for its
351         contents and surfaces. Then only use up contents memory such that
352         the surface textures will still fit within the limit. Report histograms
353         for the amount of contents and surface texture memory used by each
354         frame generated by the main thread.
355
356         In the context of ubercomp, each nested compositor will use less memory
357         for contents ensuring that the root compositor has space for surfaces
358         caused by that nested compositor.
359
360         Since surface memory can no longer be taken by contents, we remove the
361         preferred memory limit from the texture manager.
362
363         Tests: TiledLayerChromiumTest.dontAllocateContentsWhenTargetSurfaceCantBeAllocated
364                CCPrioritizedTextureTest.renderSurfacesReduceMemoryAvailableOutsideRootSurface
365                CCPrioritizedTextureTest.renderSurfacesReduceMemoryAvailableForRequestLate
366                CCPrioritizedTextureTest.whenRenderSurfaceNotAvailableTexturesAlsoNotAvailable
367
368         * platform/graphics/chromium/LayerRendererChromium.cpp:
369         (WebCore::LayerRendererChromium::drawBackgroundFilters):
370         * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
371         (WebCore::ScrollbarLayerChromium::setTexturePriorities):
372         * platform/graphics/chromium/TiledLayerChromium.cpp:
373         (WebCore::TiledLayerChromium::setTexturePrioritiesInRect):
374         * platform/graphics/chromium/TiledLayerChromium.h:
375         (TiledLayerChromium):
376         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
377         (WebCore::CCLayerTreeHost::initializeLayerRenderer):
378         (WebCore::CCLayerTreeHost::updateLayers):
379         (WebCore::CCLayerTreeHost::prioritizeTextures):
380         (WebCore::CCLayerTreeHost::paintLayerContents):
381         * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
382         (WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
383         (WebCore::CCOverdrawMetrics::didUseContentsTextureMemoryBytes):
384         (WebCore):
385         (WebCore::CCOverdrawMetrics::didUseRenderSurfaceTextureMemoryBytes):
386         (WebCore::CCOverdrawMetrics::recordMetricsInternal):
387         * platform/graphics/chromium/cc/CCOverdrawMetrics.h:
388         (CCOverdrawMetrics):
389         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp:
390         (WebCore::CCPrioritizedTextureManager::CCPrioritizedTextureManager):
391         (WebCore::CCPrioritizedTextureManager::prioritizeTextures):
392         (WebCore::CCPrioritizedTextureManager::requestLate):
393         (WebCore::CCPrioritizedTextureManager::acquireBackingTextureIfNeeded):
394         (WebCore::CCPrioritizedTextureManager::reduceMemory):
395         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h:
396         (WebCore::CCPrioritizedTextureManager::create):
397         (WebCore::CCPrioritizedTextureManager::memoryForRenderSurfacesBytes):
398         (CCPrioritizedTextureManager):
399         * platform/graphics/chromium/cc/CCPriorityCalculator.cpp:
400         (WebCore::CCPriorityCalculator::uiPriority):
401         (WebCore::CCPriorityCalculator::visiblePriority):
402         (WebCore):
403         (WebCore::CCPriorityCalculator::renderSurfacePriority):
404         (WebCore::CCPriorityCalculator::priorityFromDistance):
405         (WebCore::CCPriorityCalculator::priorityFromVisibility):
406         * platform/graphics/chromium/cc/CCPriorityCalculator.h:
407         (CCPriorityCalculator):
408
409 2012-07-04  John Mellor  <johnme@chromium.org>
410
411         Text Autosizing: Add basic framework
412         https://bugs.webkit.org/show_bug.cgi?id=88655
413
414         This adds a highly simplified foundation that subsequent Text Autosizing patches
415         can build upon. I've refactored this code (since the earlier combined diff
416         uploaded to http://webkit.org/b/84186) to touch as few files as possible.
417
418         Reviewed by Adam Barth.
419
420         No new tests. I plan to add a test framework as my next Text Autosizing patch.
421
422         * WebCore.gypi:
423         * dom/Document.cpp:
424         (WebCore::Document::Document):
425         * dom/Document.h:
426         (WebCore):
427         (Document):
428         (WebCore::Document::textAutosizer):
429         * page/FrameView.cpp:
430         (WebCore::FrameView::layout):
431         * rendering/TextAutosizer.cpp: Added.
432         (WebCore):
433         (WebCore::TextAutosizer::TextAutosizer):
434         (WebCore::TextAutosizer::~TextAutosizer):
435         (WebCore::TextAutosizer::create):
436         (WebCore::TextAutosizer::boostSubtree):
437         (WebCore::TextAutosizer::boostBlock):
438         (WebCore::TextAutosizer::boostText):
439         (WebCore::TextAutosizer::treatAsInline):
440         (WebCore::TextAutosizer::traverseNext):
441         (WebCore::TextAutosizer::cloneRenderStyleWithState):
442         * rendering/TextAutosizer.h: Added.
443         (WebCore):
444         (TextAutosizer):
445
446 2012-07-04  Andrey Kosyakov  <caseq@chromium.org>
447
448         Unreviewed, rolling out r121767.
449         http://trac.webkit.org/changeset/121767
450         https://bugs.webkit.org/show_bug.cgi?id=89584
451
452         Crashes inspected page while recording timeline due to
453         conflict with BeginFrame in record stack
454
455         * inspector/InspectorTimelineAgent.cpp:
456         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
457         (WebCore::InspectorTimelineAgent::willProcessTask):
458         (WebCore::InspectorTimelineAgent::didProcessTask):
459         (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
460         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
461         * inspector/InspectorTimelineAgent.h:
462         (InspectorTimelineAgent):
463         * inspector/front-end/MemoryStatistics.js:
464         (WebInspector.MemoryStatistics.prototype._onRecordAdded):
465         * inspector/front-end/TimelineFrameController.js:
466         (WebInspector.TimelineFrameController.prototype._addRecord):
467         * inspector/front-end/TimelineModel.js:
468         * inspector/front-end/TimelineOverviewPane.js:
469         (WebInspector.TimelineCategoryStrips.prototype.update.appendRecord):
470         (WebInspector.TimelineCategoryStrips.prototype.update):
471         * inspector/front-end/TimelinePanel.js:
472         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
473         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
474         * inspector/front-end/TimelinePresentationModel.js:
475         (WebInspector.TimelinePresentationModel.categories):
476         (WebInspector.TimelinePresentationModel.recordStyle):
477         (WebInspector.TimelinePresentationModel.categoryForRecord):
478         (WebInspector.TimelinePresentationModel.forAllRecords):
479         (WebInspector.TimelinePresentationModel.prototype.addRecord):
480
481 2012-07-04  Dana Jansens  <danakj@chromium.org>
482
483         [chromium] Clear RenderSurfaces still when no idle paint will be done
484         https://bugs.webkit.org/show_bug.cgi?id=90553
485
486         Reviewed by Adrienne Walker.
487
488         Currently if idle painting is disabled, updateLayers() will early-out.
489         But this prevents it from doing cleanup and clearing all RenderSurface
490         pointers, leaving the layer tree in an unexpected state.
491
492         Tests: CCLayerTreeHostTestCompositeAndReadbackCleanup
493
494         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
495         (WebCore::CCLayerTreeHost::updateLayers):
496
497 2012-07-04  John Mellor  <johnme@chromium.org>
498
499         Text Autosizing: Add compile flag and runtime setting
500         https://bugs.webkit.org/show_bug.cgi?id=87394
501
502         This patch renames Font Boosting to Text Autosizing and adds compile guards around the runtime setting.
503
504         Reviewed by Adam Barth.
505
506         No functionality yet, so no new tests.
507
508         * Configurations/FeatureDefines.xcconfig:
509         * GNUmakefile.am:
510         * Target.pri:
511         * page/Settings.cpp:
512         (WebCore::Settings::Settings):
513         (WebCore::Settings::setTextAutosizingEnabled):
514         * page/Settings.h:
515         (Settings):
516         (WebCore::Settings::textAutosizingEnabled):
517
518 2012-07-03  Alexander Pavlov  <apavlov@chromium.org>
519
520         Web Inspector: Emulate pseudo styles (hover etc.) of non-selected elements
521         https://bugs.webkit.org/show_bug.cgi?id=86630
522
523         Reviewed by Pavel Feldman.
524
525         - A map of pseudo-states for all bound DOM nodes is maintained in the backend and queried whenever StyleResolver
526         calculates the effective element style.
527         - In the frontend, markers are introduced to distinguish elements that have forced pseudo styles set for them.
528         Additionally, dimmed markers are added for collapsed nodes, whose descendants have forced pseudo styles.
529         More ElementDecorator subtypes will be added for other types of markers.
530
531         Test: inspector/styles/force-pseudo-state.html
532
533         * English.lproj/localizedStrings.js:
534         * inspector/InspectorCSSAgent.cpp:
535         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
536         (WebCore::InspectorCSSAgent::clearFrontend):
537         (WebCore::InspectorCSSAgent::reset):
538         (WebCore::InspectorCSSAgent::forcePseudoState):
539         (WebCore::InspectorCSSAgent::recalcStyleForPseudoStateIfNeeded):
540         (WebCore::InspectorCSSAgent::elementForId):
541         (WebCore::InspectorCSSAgent::didRemoveDocument):
542         (WebCore::InspectorCSSAgent::didRemoveDOMNode):
543         (WebCore::InspectorCSSAgent::resetPseudoStates):
544         * inspector/InspectorCSSAgent.h:
545         (InspectorCSSAgent):
546         * inspector/InspectorDOMAgent.cpp:
547         (WebCore::InspectorDOMAgent::unbind):
548         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
549         * inspector/front-end/ElementsPanel.js:
550         (WebInspector.ElementsPanel.get this):
551         (WebInspector.ElementsPanel):
552         (WebInspector.ElementsPanel.prototype._setPseudoClassForNodeId):
553         * inspector/front-end/ElementsTreeOutline.js:
554         (WebInspector.ElementsTreeOutline):
555         (WebInspector.ElementsTreeOutline.prototype._createNodeDecorators):
556         (WebInspector.ElementsTreeOutline.prototype.updateOpenCloseTags):
557         (WebInspector.ElementsTreeOutline.ElementDecorator):
558         (WebInspector.ElementsTreeOutline.ElementDecorator.prototype.decorate):
559         (WebInspector.ElementsTreeOutline.ElementDecorator.prototype.decorateAncestor):
560         (WebInspector.ElementsTreeOutline.PseudoStateDecorator):
561         (WebInspector.ElementsTreeOutline.PseudoStateDecorator.prototype.decorate):
562         (WebInspector.ElementsTreeOutline.PseudoStateDecorator.prototype.decorateAncestor):
563         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
564         (WebInspector.ElementsTreeElement.prototype._populateForcedPseudoStateItems):
565         (WebInspector.ElementsTreeElement.prototype.updateTitle):
566         (WebInspector.ElementsTreeElement.prototype._createDecoratorElement):
567         (WebInspector.ElementsTreeElement.prototype._updateDecorations):
568         * inspector/front-end/StylesSidebarPane.js:
569         (WebInspector.StylesSidebarPane):
570         (WebInspector.StylesSidebarPane.prototype.get forcedPseudoClasses):
571         (WebInspector.StylesSidebarPane.prototype._updateForcedPseudoStateInputs):
572         (WebInspector.StylesSidebarPane.prototype.update):
573         (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
574         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
575         (WebInspector.StylesSidebarPane.prototype._toggleElementStatePane):
576         (WebInspector.StylesSidebarPane.prototype._createElementStatePane.clickListener):
577         * inspector/front-end/elementsPanel.css:
578         (#elements-content .elements-gutter-decoration):
579         (#elements-content .elements-gutter-decoration.elements-has-decorated-children):
580
581 2012-07-04  Pavel Feldman  <pfeldman@chromium.org>
582
583         Web Inspector: fix search on the network panel.
584         https://bugs.webkit.org/show_bug.cgi?id=90557
585
586         Reviewed by Vsevolod Vlasov.
587
588         * inspector/front-end/NetworkPanel.js:
589         (WebInspector.NetworkLogView.prototype._highlightNthMatchedRequest):
590
591 2012-07-04  Kwang Yul Seo  <skyul@company100.net>
592
593         Stop tracking line number in tokenizer
594         https://bugs.webkit.org/show_bug.cgi?id=90544
595
596         Reviewed by Adam Barth.
597
598         Because SegmentedString knows how to track the current line and column,
599         a tokenizer does not need to keep track of the current line by itself.
600         No behavior change, so no new tests.
601
602         * html/parser/HTMLDocumentParser.cpp:
603         (WebCore::HTMLDocumentParser::pumpTokenizer):
604         (WebCore::HTMLDocumentParser::lineNumber):
605         (WebCore::HTMLDocumentParser::textPosition):
606         * html/parser/HTMLTokenizer.cpp:
607         (WebCore::HTMLTokenizer::reset):
608         (WebCore::HTMLTokenizer::flushBufferedEndTag):
609         (WebCore):
610         (WebCore::HTMLTokenizer::nextToken):
611         * html/parser/HTMLTreeBuilder.cpp:
612         (WebCore::HTMLTreeBuilder::processScriptStartTag):
613         * html/track/WebVTTTokenizer.cpp:
614         (WebCore::WebVTTTokenizer::reset):
615         (WebCore::WebVTTTokenizer::nextToken):
616         * platform/text/SegmentedString.cpp:
617         (WebCore::SegmentedString::advanceAndUpdateLineNumberSlowCase):
618         * platform/text/SegmentedString.h:
619         (WebCore::SegmentedString::advancePastNewlineAndUpdateLineNumber):
620         (WebCore::SegmentedString::advanceAndUpdateLineNumber):
621         (SegmentedString):
622         * xml/parser/MarkupTokenizerBase.h:
623         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::peek):
624         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::advance):
625         (WebCore::MarkupTokenizerBase::emitAndResumeIn):
626         (WebCore::MarkupTokenizerBase::emitEndOfFile):
627         (WebCore::MarkupTokenizerBase::reset):
628         (MarkupTokenizerBase):
629         * xml/parser/MarkupTokenizerInlineMethods.h:
630         (WebCore):
631         * xml/parser/XMLTokenizer.cpp:
632         (WebCore::XMLTokenizer::nextToken):
633
634 2012-07-04  Ryuan Choi  <ryuan.choi@samsung.com>
635
636         [CMAKE] Add GENERATE_BINDINGS macro to share the codes which use generate-bindings.pl.
637         https://bugs.webkit.org/show_bug.cgi?id=90258
638
639         Reviewed by Rob Buis.
640
641         Use GENERATE_BINDINGS instead of using generate-bindings.pl directly.
642
643         * UseJSC.cmake:
644         * UseV8.cmake:
645         * PlatformBlackBerry.cmake:
646
647 2012-07-04  Vsevolod Vlasov  <vsevik@chromium.org>
648
649         Web Inspector: UISourceCode should take care of adding revision after committing working copy.
650         https://bugs.webkit.org/show_bug.cgi?id=90549
651
652         Reviewed by Pavel Feldman.
653
654         Revision is now added in UISourceCode.commitWorkingCopy synchronously even if saving to JS VM or CSS model failed.
655
656         * inspector/front-end/CSSStyleModel.js:
657         (WebInspector.CSSStyleModelResourceBinding.prototype.setStyleContent):
658         * inspector/front-end/ExtensionServer.js:
659         (WebInspector.ExtensionServer.prototype._handleOpenURL):
660         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
661         (WebInspector.ExtensionServer.prototype._onSetResourceContent):
662         * inspector/front-end/JavaScriptSource.js:
663         (WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
664         * inspector/front-end/StylesPanel.js:
665         (WebInspector.StyleSource.prototype._callOrSetTimeout):
666         * inspector/front-end/UISourceCode.js:
667         (WebInspector.UISourceCode.prototype.commitWorkingCopy):
668         * inspector/front-end/Workspace.js:
669         (WebInspector.CompositeUISourceCodeProvider.prototype.uiSourceCodeForURL):
670
671 2012-07-04  Pavel Feldman  <pfeldman@chromium.org>
672
673         Web Inspector: move settings button back to the right.
674         https://bugs.webkit.org/show_bug.cgi?id=90552
675
676         Reviewed by Vsevolod Vlasov.
677
678         * inspector/front-end/inspector.css:
679         (button.status-bar-item:active, button.status-bar-item.emulate-active):
680         (button.settings-status-bar-item):
681
682 2012-07-04  Vsevolod Vlasov  <vsevik@chromium.org>
683
684         Web Inspector: Get rid of ResourceDomainModelBinding and DebuggerResourceBinding, make Resource.setContent private.
685         https://bugs.webkit.org/show_bug.cgi?id=90531
686
687         Reviewed by Pavel Feldman.
688
689         Resource.setContent made private. It is delegating now to UISourceCodes which take care of domain specific actions.
690         DebuggerResourceBinding was be removed and DebuggerResourceBinding.setScriptSource was moved to JavaScriptSource.
691         ResourceDomainModelBinding was removed as well.
692
693         * WebCore.gypi:
694         * WebCore.vcproj/WebCore.vcproj:
695         * inspector/compile-front-end.py:
696         * inspector/front-end/CSSStyleModel.js:
697         (WebInspector.CSSStyleModelResourceBinding):
698         * inspector/front-end/DebuggerResourceBinding.js: Removed.
699         * inspector/front-end/JavaScriptSource.js:
700         (WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
701         (WebInspector.JavaScriptSource.prototype._setScriptSource.didEditScriptSource):
702         (WebInspector.JavaScriptSource.prototype._setScriptSource):
703         * inspector/front-end/Resource.js:
704         (WebInspector.Resource.prototype._setContent):
705         (WebInspector.Resource.prototype.revertToOriginal):
706         (WebInspector.Resource.prototype.revertAndClearHistory):
707         (WebInspector.ResourceRevision.prototype.revertToThis):
708         * inspector/front-end/StylesPanel.js:
709         (WebInspector.StyleSource.prototype.isEditable):
710         * inspector/front-end/UISourceCode.js:
711         * inspector/front-end/WebKit.qrc:
712         * inspector/front-end/Workspace.js:
713         (WebInspector.Workspace):
714         * inspector/front-end/inspector.html:
715
716 2012-07-04  'Pavel Feldman'  <pfeldman@chromium.org>
717
718         Not reviewed: follow up to r121843, reduce inspector dock timeout to 200ms.
719
720         * inspector/front-end/StatusBarButton.js:
721         (WebInspector.StatusBarButton.prototype.makeLongClickEnabled.mouseDown):
722
723 2012-07-04  Ian Vollick  <vollick@chromium.org>
724
725         [chromium] Correctly reject accelerated animations with certain rotations.
726         https://bugs.webkit.org/show_bug.cgi?id=89768
727
728         Reviewed by James Robinson.
729
730         UnitTests:
731           GraphicsLayerChromiumTest.createTransformAnimationWithBigRotation
732           GraphicsLayerChromiumTest.createTransformAnimationWithRotationInvolvingNegativeAngles
733           GraphicsLayerChromiumTest.createTransformAnimationWithSmallRotationInvolvingLargeAngles
734
735         * platform/graphics/chromium/AnimationTranslationUtil.cpp:
736         (WebCore::appendKeyframe):
737         (WebCore::isRotationType):
738         (WebCore):
739         (WebCore::causesRotationOfAtLeast180Degrees):
740         (WebCore::CCKeyframedTransformAnimationCurve):
741         (WebCore::createActiveAnimation):
742         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
743         (WebCore::GraphicsLayerChromium::addAnimation):
744
745 2012-07-04  Pavel Feldman  <pfeldman@chromium.org>
746
747         Web Inspector: "Dock to right" shouldn't be in the settings dialog
748         https://bugs.webkit.org/show_bug.cgi?id=76917
749
750         Reviewed by Vsevolod Vlasov.
751
752         Introduced 'long click-enabled' options for status bar buttons. Made dock/undock one of them.
753
754         * inspector/front-end/Images/statusbarButtonGlyphs.png:
755         * inspector/front-end/StatusBarButton.js:
756         (WebInspector.StatusBarButton.prototype._clicked):
757         (WebInspector.StatusBarButton.prototype.set visible):
758         (WebInspector.StatusBarButton.prototype.makeLongClickEnabled.mouseDown):
759         (WebInspector.StatusBarButton.prototype.makeLongClickEnabled.mouseUp):
760         (WebInspector.StatusBarButton.prototype.makeLongClickEnabled):
761         (WebInspector.StatusBarButton.prototype._showOptions.mouseOver):
762         (WebInspector.StatusBarButton.prototype._showOptions.mouseOut):
763         (WebInspector.StatusBarButton.prototype._showOptions.mouseUp):
764         (WebInspector.StatusBarButton.prototype._showOptions):
765         * inspector/front-end/UIUtils.js:
766         (WebInspector.elementDragStart):
767         (WebInspector.elementDragEnd):
768         (WebInspector.GlassPane):
769         (WebInspector.GlassPane.prototype.dispose):
770         * inspector/front-end/inspector.css:
771         (.long-click-glyph):
772         (.long-click-glyph.shadow):
773         (button.status-bar-item:active:not(.emulate-inactive), button.status-bar-item.emulate-active):
774         (.alternate-status-bar-buttons-bar):
775         (.alternate-status-bar-buttons-bar .status-bar-item):
776         * inspector/front-end/inspector.js:
777         (WebInspector._createGlobalStatusBarItems):
778         (WebInspector._createDockOptions.onClick.set else):
779         (WebInspector._createDockOptions.onClick):
780
781 2012-07-04  Sheriff Bot  <webkit.review.bot@gmail.com>
782
783         Unreviewed, rolling out r121813.
784         http://trac.webkit.org/changeset/121813
785         https://bugs.webkit.org/show_bug.cgi?id=90522
786
787         Causes browser_tests failure:
788         ErrorPageTest.DNSError_GoBack2{Forward2,AndForward} on
789         Chromium {Linux,Mac,Win} (Requested by yosin on #webkit).
790
791         * loader/DocumentLoader.cpp:
792         (WebCore::DocumentLoader::commitData):
793         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
794         * testing/js/WebCoreTestSupport.cpp:
795         (WebCoreTestSupport::resetInternalsObject):
796
797 2012-07-04  Kihong Kwon  <kihong.kwon@samsung.com>
798
799         [EFL] Change format of return value of navigator.language
800         https://bugs.webkit.org/show_bug.cgi?id=89639
801
802         Reviewed by Kenneth Rohde Christiansen.
803
804         Remove encoding type from return value of navigator.language.
805         For example, from en-US.UTF-8 to en-US.
806
807         Use exist test case (fast/js/navigator-language.html).
808
809         * platform/efl/LanguageEfl.cpp:
810         (WebCore::platformLanguage):
811
812 2012-07-03  Carlos Garcia Campos  <cgarcia@igalia.com>
813
814         [GTK] Don't show accel labels in context menu items
815         https://bugs.webkit.org/show_bug.cgi?id=90437
816
817         Reviewed by Martin Robinson.
818
819         When a context menu item is created with a GtkMenuItem that has
820         been created from a GtkAction, if the action has an accelerator,
821         it's shown in the menu item label, like menu items in a menu
822         bar. In that case we should reset the accel closure of the menu
823         item label, like GtkUIManager does for popup menus, to make sure
824         the accelerator is not shown. This isn't needed for all other
825         ContextMenuIem constructors, because the GtkAction is created
826         without accelerator by webkit in those cases.
827
828         * platform/gtk/ContextMenuItemGtk.cpp:
829         (WebCore::ContextMenuItem::ContextMenuItem):
830
831 2012-07-03  Christophe Dumez  <christophe.dumez@intel.com>
832
833         [EFL] Move BatteryClientEfl from WebKit to WebCore
834         https://bugs.webkit.org/show_bug.cgi?id=90063
835
836         Reviewed by Kenneth Rohde Christiansen.
837
838         Move BatteryClientEfl class from WebKit to WebCore
839         so that it can be reused in WebKit2.
840
841         No new tests, no behavior change.
842
843         * PlatformEfl.cmake:
844         * platform/efl/BatteryClientEfl.cpp: Renamed from Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.cpp.
845         (WebCore):
846         (WebCore::BatteryClientEfl::BatteryClientEfl):
847         (WebCore::BatteryClientEfl::setController):
848         (WebCore::BatteryClientEfl::startUpdating):
849         (WebCore::BatteryClientEfl::stopUpdating):
850         (WebCore::BatteryClientEfl::batteryControllerDestroyed):
851         (WebCore::BatteryClientEfl::setBatteryStatus):
852         (WebCore::BatteryClientEfl::timerFired):
853         (WebCore::BatteryClientEfl::getBatteryStatus):
854         (WebCore::BatteryClientEfl::setBatteryClient):
855         * platform/efl/BatteryClientEfl.h: Renamed from Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.h.
856         (WebCore):
857         (BatteryClientEfl):
858         (WebCore::BatteryClientEfl::~BatteryClientEfl):
859         (WebCore::BatteryClientEfl::batteryStatus):
860
861 2012-07-03  Huang Dongsung  <luxtella@company100.net>
862
863         Add a comment in order to clarify why
864         BitmapImage::frameHasAlphaAtIndex returns true as default.
865         https://bugs.webkit.org/show_bug.cgi?id=90445
866
867         Reviewed by Eric Seidel.
868
869         No new tests. This patch doesn't change behavior.
870
871         * platform/graphics/BitmapImage.cpp:
872         (WebCore::BitmapImage::frameHasAlphaAtIndex):
873         (WebCore):
874
875 2012-07-03  Alex Sakhartchouk  <alexst@chromium.org>
876
877         [chromium] Avoid calling getUniformLocation??() in the compositor startup
878         https://bugs.webkit.org/show_bug.cgi?id=90217
879
880         Reviewed by Adrienne Walker.
881
882         This change allows chrome compositor to bind uniform locations instead of querying 
883         them from the graphics context by using GL_CHROMIUM_bind_uniform_location.
884
885         The extention itself is tested in chromium and the change in webkit simply adds
886         plumbing to allow its usage. Existing pixel tests would be able to verify proper behaviour.
887
888         * platform/graphics/chromium/LayerRendererChromium.cpp:
889         (WebCore::LayerRendererChromium::LayerRendererChromium):
890         (WebCore::LayerRendererChromium::initialize):
891         (WebCore::LayerRendererChromium::initializeSharedObjects):
892         (WebCore::LayerRendererChromium::tileCheckerboardProgram):
893         (WebCore::LayerRendererChromium::solidColorProgram):
894         (WebCore::LayerRendererChromium::headsUpDisplayProgram):
895         (WebCore::LayerRendererChromium::renderPassProgram):
896         (WebCore::LayerRendererChromium::renderPassProgramAA):
897         (WebCore::LayerRendererChromium::renderPassMaskProgram):
898         (WebCore::LayerRendererChromium::renderPassMaskProgramAA):
899         (WebCore::LayerRendererChromium::tileProgram):
900         (WebCore::LayerRendererChromium::tileProgramOpaque):
901         (WebCore::LayerRendererChromium::tileProgramAA):
902         (WebCore::LayerRendererChromium::tileProgramSwizzle):
903         (WebCore::LayerRendererChromium::tileProgramSwizzleOpaque):
904         (WebCore::LayerRendererChromium::tileProgramSwizzleAA):
905         (WebCore::LayerRendererChromium::textureProgram):
906         (WebCore::LayerRendererChromium::textureProgramFlip):
907         (WebCore::LayerRendererChromium::textureIOSurfaceProgram):
908         (WebCore::LayerRendererChromium::videoYUVProgram):
909         (WebCore::LayerRendererChromium::videoStreamTextureProgram):
910         * platform/graphics/chromium/LayerRendererChromium.h:
911         (LayerRendererChromium):
912         * platform/graphics/chromium/ProgramBinding.cpp:
913         (WebCore::ProgramBindingBase::ProgramBindingBase):
914         (WebCore::ProgramBindingBase::~ProgramBindingBase):
915         (WebCore::ProgramBindingBase::init):
916         (WebCore::ProgramBindingBase::link):
917         (WebCore):
918         (WebCore::ProgramBindingBase::cleanup):
919         (WebCore::ProgramBindingBase::createShaderProgram):
920         (WebCore::ProgramBindingBase::cleanupShaders):
921         * platform/graphics/chromium/ProgramBinding.h:
922         (ProgramBindingBase):
923         (WebCore::ProgramBinding::initialize):
924         * platform/graphics/chromium/ShaderChromium.cpp:
925         (WebCore::VertexShaderPosTex::init):
926         (WebCore::VertexShaderPosTexYUVStretch::init):
927         (WebCore::VertexShaderPos::init):
928         (WebCore::VertexShaderPosTexTransform::init):
929         (WebCore::VertexShaderQuad::init):
930         (WebCore::VertexShaderTile::init):
931         (WebCore::VertexShaderVideoTransform::init):
932         (WebCore::FragmentTexAlphaBinding::init):
933         (WebCore::FragmentTexOpaqueBinding::init):
934         (WebCore::FragmentShaderOESImageExternal::init):
935         (WebCore::FragmentShaderRGBATexAlphaAA::init):
936         (WebCore::FragmentTexClampAlphaAABinding::init):
937         (WebCore::FragmentShaderRGBATexAlphaMask::init):
938         (WebCore::FragmentShaderRGBATexAlphaMaskAA::init):
939         (WebCore::FragmentShaderYUVVideo::init):
940         (WebCore::FragmentShaderColor::init):
941         (WebCore::FragmentShaderCheckerboard::init):
942         * platform/graphics/chromium/ShaderChromium.h:
943         (VertexShaderPosTex):
944         (VertexShaderPosTexYUVStretch):
945         (VertexShaderPos):
946         (WebCore::VertexShaderPosTexIdentity::init):
947         (VertexShaderPosTexTransform):
948         (VertexShaderQuad):
949         (VertexShaderTile):
950         (VertexShaderVideoTransform):
951         (FragmentTexAlphaBinding):
952         (FragmentTexOpaqueBinding):
953         (FragmentShaderOESImageExternal):
954         (FragmentShaderRGBATexAlphaAA):
955         (FragmentTexClampAlphaAABinding):
956         (FragmentShaderRGBATexAlphaMask):
957         (FragmentShaderRGBATexAlphaMaskAA):
958         (FragmentShaderYUVVideo):
959         (FragmentShaderColor):
960         (FragmentShaderCheckerboard):
961         * platform/graphics/chromium/TextureCopier.cpp:
962         (WebCore::AcceleratedTextureCopier::AcceleratedTextureCopier):
963         (WebCore::AcceleratedTextureCopier::copyTexture):
964         * platform/graphics/chromium/TextureCopier.h:
965         (WebCore::AcceleratedTextureCopier::create):
966         (AcceleratedTextureCopier):
967
968 2012-07-03  Erik Arvidsson  <arv@chromium.org>
969
970         [V8] Remove enableFasterDOMStoreAccess which is never used
971         https://bugs.webkit.org/show_bug.cgi?id=90489
972
973         Reviewed by Adam Barth.
974
975         No new tests. Dead code removal.
976
977         * bindings/v8/V8DOMMap.cpp:
978         * bindings/v8/V8DOMMap.h:
979         (WebCore):
980
981 2012-07-03  Joshua Bell  <jsbell@chromium.org>
982
983         Binding: IDL type DOMString[] shouldn't match null
984         https://bugs.webkit.org/show_bug.cgi?id=84217
985
986         Reviewed by Kentaro Hara.
987
988         Similar to r121714, IDL overloads with T[] (which is only minimally supported)
989         were being treated as Nullable by default during overloaded method dispatching,
990         which deviates from the WebIDL specification. Extend the previous change to
991         look for Nullable (specified by "?" type suffix in the IDL) for array types.
992
993         Also, after inspection of the spec, use a strict "is this an Array?" test in
994         the JS generator rather than an "inherits from Array.prototype?" test, to
995         match the WebIDL spec.
996
997         IDL files with affected overloads are modified to include the "?" suffix
998         so that no behavior changes are introduced by this patch - the JS and V8
999         generator results before/after the change show no diffs apart from the stricter
1000         isJSArray() test.
1001
1002         Test: bindings/scripts/test/TestObj.idl (a non-Nullable T[] overload)
1003
1004         * Modules/indexeddb/IDBDatabase.idl: Tag T[] overloads with ? suffix.
1005         * Modules/indexeddb/IDBObjectStore.idl: Ditto.
1006         * Modules/vibration/NavigatorVibration.idl: Ditto.
1007         * bindings/scripts/CodeGeneratorJS.pm: Check isNullable for T[].
1008         (GenerateParametersCheckExpression):
1009         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
1010         (GenerateParametersCheckExpression):
1011         * bindings/scripts/test/JS/JSTestObj.cpp: Rebaselined.
1012         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
1013         (WebCore):
1014         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
1015         * bindings/scripts/test/TestObj.idl: Tag existing T[] with ?, add non-? T[].
1016         * bindings/scripts/test/V8/V8TestObj.cpp: Rebaselined.
1017         (WebCore::TestObjV8Internal::overloadedMethod9Callback):
1018         (TestObjV8Internal):
1019         (WebCore::TestObjV8Internal::overloadedMethodCallback):
1020
1021 2012-07-03  Nate Chapin  <japhet@chromium.org>
1022
1023         REGRESSION (r115654): Sometimes does not replace content for multipart/x-mixed-replace
1024         https://bugs.webkit.org/show_bug.cgi?id=88436
1025
1026         Reviewed by Brady Eidson.
1027
1028         Test: http/tests/multipart/multipart-replace-non-html-content.php
1029
1030         * loader/DocumentLoader.cpp:
1031         (WebCore::DocumentLoader::commitData): We should only send receivedFirstData() once per main resource load,
1032             rather than multiple times in a multipart load. 
1033         (WebCore::DocumentLoader::setupForReplaceByMIMEType): m_gotFirstByte isn't set to true until data is
1034             actually committed, and multipart data is often not committed until the part is finished. Check
1035             whether the SharedBuffer is non-null instead.
1036         * testing/js/WebCoreTestSupport.cpp:
1037         (WebCoreTestSupport::resetInternalsObject): The JSInternals object my have already been cleared if the window shell
1038             was cleared as part of creation of a new Document. Check it before using it.
1039
1040 2012-07-03  Raymond Toy  <rtoy@google.com>
1041
1042         Add AudioFIFO class and simplify AudioPullFIFO
1043         https://bugs.webkit.org/show_bug.cgi?id=90398
1044
1045         Reviewed by Chris Rogers.
1046
1047         No new tests. This code will be used in audio back-end implementation.
1048
1049         Add AudioFIFO class to implement main parts of FIFO.  Simplify
1050         implementation of AudioPushFIFO by using AudioFIFO.
1051         
1052         * WebCore.gypi: Add new files.
1053
1054         New AudioFIFO class
1055         * platform/audio/AudioFIFO.cpp: Copied from Source/WebCore/platform/audio/AudioPullFIFO.cpp.
1056         (WebCore):
1057         (WebCore::AudioFIFO::AudioFIFO):
1058         (WebCore::AudioFIFO::consume):
1059         (WebCore::AudioFIFO::push):
1060         (WebCore::AudioFIFO::findWrapLengths):
1061         * platform/audio/AudioFIFO.h: Copied from Source/WebCore/platform/audio/AudioPullFIFO.h.
1062         (WebCore):
1063         (AudioFIFO):
1064         (WebCore::AudioFIFO::framesInFifo):
1065         (WebCore::AudioFIFO::updateIndex):
1066
1067         Use AudioFIFO
1068         * platform/audio/AudioPullFIFO.cpp:
1069         (WebCore::AudioPullFIFO::AudioPullFIFO):
1070         (WebCore::AudioPullFIFO::consume):
1071         (WebCore::AudioPullFIFO::fillBuffer):
1072         * platform/audio/AudioPullFIFO.h:
1073         (AudioPullFIFO):
1074
1075 2012-07-03  Nate Chapin  <japhet@chromium.org>
1076
1077         Protect this DocumentThreadableLoader in cancel() to handle reentrancy properly.
1078         https://bugs.webkit.org/show_bug.cgi?id=90483
1079
1080         Reviewed by Abhishek Arya.
1081
1082         No new tests, covered by http/tests/xmlhttprequest/reentrant-cancel.html
1083
1084         * loader/DocumentThreadableLoader.cpp:
1085         (WebCore::DocumentThreadableLoader::cancel):
1086
1087 2012-07-03  Tony Chang  <tony@chromium.org>
1088
1089         [chromium] Unreviewed, update .gitignore to handle VS2010 files.
1090
1091         * WebCore.gyp/.gitignore:
1092
1093 2012-07-03  Zan Dobersek  <zandobersek@gmail.com>
1094
1095         [Gtk][Gamepads] 'warning: comparison is always true due to limited range of data type [-Wtype-limits]' in GamepadsGtk.cpp
1096         https://bugs.webkit.org/show_bug.cgi?id=90477
1097
1098         Reviewed by Martin Robinson.
1099
1100         Vector::find() returns value of type size_t, springing errors when
1101         assigning the value to a variable of type unsigned. Use size_t type
1102         for that variable instead.
1103
1104         No new tests - no changed functionality.
1105
1106         * platform/gtk/GamepadsGtk.cpp:
1107         (WebCore::GamepadsGtk::unregisterDevice):
1108
1109 2012-07-03  Dominik Röttsches  <dominik.rottsches@intel.com>
1110
1111         Fix LayoutUnit usage in RenderImage::imageDimensionsChanged
1112         https://bugs.webkit.org/show_bug.cgi?id=90173
1113
1114         Reviewed by Eric Seidel.
1115
1116         The appropriate type should be used for storing width() and height() into local temporary variables.
1117
1118         No new tests, no change in behavior.
1119
1120         * rendering/RenderImage.cpp:
1121         (WebCore::RenderImage::imageDimensionsChanged):
1122
1123 2012-07-03  Sergio Villar Senin  <svillar@igalia.com>
1124
1125         [TextureMapper] Typo in edge-distance anti-aliasing code
1126         https://bugs.webkit.org/show_bug.cgi?id=90475
1127
1128         Reviewed by Martin Robinson.
1129
1130         No new tests. This just fixes a typo.
1131
1132         * platform/graphics/texmap/TextureMapperGL.cpp:
1133         (WebCore::TextureMapperGL::drawQuad):
1134
1135 2012-06-27  Vsevolod Vlasov  <vsevik@chromium.org>
1136
1137         Web Inspector: [Extensions API] Resource manipulations should be based on UISourceCode thus extending Sources Panel.
1138         https://bugs.webkit.org/show_bug.cgi?id=89868
1139
1140         Reviewed by Pavel Feldman.
1141
1142         Extensions API is now based on both ScriptsPanel acting as a UISourceCodeProvider and ResourceTreeModel.
1143         Extensions API resource could be for any content provider now.
1144         Extensions API resource.setContent implementation is now based on UISourceCode editing methods.
1145         Drive-by StyleSource insremental editing timeout fix.
1146
1147         * inspector/front-end/ExtensionServer.js:
1148         (WebInspector.ExtensionServer.prototype._handleOpenURL):
1149         (WebInspector.ExtensionServer.prototype._makeResource):
1150         (WebInspector.ExtensionServer.prototype._onGetPageResources):
1151         (WebInspector.ExtensionServer.prototype._getResourceContent):
1152         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
1153         (WebInspector.ExtensionServer.prototype._onSetResourceContent):
1154         (WebInspector.ExtensionServer.prototype._notifyResourceAdded):
1155         (WebInspector.ExtensionServer.prototype._notifyResourceContentCommitted):
1156         * inspector/front-end/JavaScriptSource.js:
1157         * inspector/front-end/ScriptsPanel.js:
1158         (WebInspector.ScriptsPanel.prototype.uiSourceCodes):
1159         (WebInspector.ScriptsPanel.prototype.uiSourceCodeForURL):
1160         (WebInspector.ScriptsPanel.prototype._addUISourceCode):
1161         (WebInspector.ScriptsPanel.prototype._reset):
1162         (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
1163         * inspector/front-end/StylesPanel.js:
1164         (WebInspector.StyleSource.prototype.workingCopyCommitted):
1165         (WebInspector.StyleSource.prototype.workingCopyChanged):
1166         (WebInspector.StyleSource.prototype._callOrSetTimeout):
1167         (WebInspector.StyleSource.prototype._commitIncrementalEdit):
1168         (WebInspector.StyleSource.prototype._clearIncrementalUpdateTimer):
1169         * inspector/front-end/UISourceCode.js:
1170         (WebInspector.UISourceCode.prototype.requestContent):
1171         (WebInspector.UISourceCode.prototype.workingCopy):
1172         (WebInspector.UISourceCode.prototype.setWorkingCopy):
1173         (WebInspector.UISourceCode.prototype.isDirty):
1174
1175 2012-07-03  Vsevolod Vlasov  <vsevik@chromium.org>
1176
1177         Web Inspector: Anonymous scripts (evals) should not be added to Workspace.
1178         https://bugs.webkit.org/show_bug.cgi?id=90467
1179
1180         Reviewed by Pavel Feldman.
1181
1182         * inspector/front-end/ResourceScriptMapping.js:
1183         (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
1184         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAdded):
1185         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeReplaced):
1186         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeRemoved):
1187         * inspector/front-end/ScriptSnippetModel.js:
1188         (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
1189         * inspector/front-end/ScriptsPanel.js:
1190         (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
1191
1192 2012-07-03  Robert Hogan  <robert@webkit.org>
1193
1194         CSS 2.1 failure: floats-wrap-top-below-inline-* fail
1195         https://bugs.webkit.org/show_bug.cgi?id=88171
1196
1197         Reviewed by Eric Seidel.
1198
1199         When shifting a line or element left or right to avoid a float use the height
1200         of the line or element to determine whether the float is inside the element or
1201         if it overlaps the bottom of the element. 
1202
1203         Do this by passing the height of the element to the interval tree used to detect
1204         the overlap with it's containing block's floats. The height is zero by default so
1205         callers to logical[Left|Right]OffsetForLine will need to pass the height if they
1206         want to use it to detect floats to avoid.
1207
1208         Tests: css2.1/20110323/floats-wrap-top-below-bfc-001l.htm
1209                css2.1/20110323/floats-wrap-top-below-bfc-001r.htm
1210                css2.1/20110323/floats-wrap-top-below-bfc-002l.htm
1211                css2.1/20110323/floats-wrap-top-below-bfc-002r.htm
1212                css2.1/20110323/floats-wrap-top-below-bfc-003l.htm
1213                css2.1/20110323/floats-wrap-top-below-bfc-003r.htm
1214                css2.1/20110323/floats-wrap-top-below-inline-001l.htm
1215                css2.1/20110323/floats-wrap-top-below-inline-001r.htm
1216                css2.1/20110323/floats-wrap-top-below-inline-002l.htm
1217                css2.1/20110323/floats-wrap-top-below-inline-002r.htm
1218                css2.1/20110323/floats-wrap-top-below-inline-003l.htm
1219                css2.1/20110323/floats-wrap-top-below-inline-003r.htm
1220                css2.1/20110323/floats-zero-height-wrap-001.htm
1221                css2.1/20110323/floats-zero-height-wrap-002.htm
1222                fast/block/float/floats-wrap-inside-inline-001.htm
1223                fast/block/float/floats-wrap-inside-inline-002.htm
1224                fast/block/float/floats-wrap-inside-inline-003.htm
1225                fast/block/float/floats-wrap-inside-inline-004.htm
1226                fast/block/float/floats-wrap-inside-inline-005.htm
1227
1228         * rendering/RenderBlock.cpp:
1229         (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
1230         (WebCore::::collectIfNeeded):
1231         (WebCore::RenderBlock::logicalLeftOffsetForLine):
1232         (WebCore::RenderBlock::logicalRightOffsetForLine):
1233         (WebCore::RenderBlock::getClearDelta):
1234         * rendering/RenderBlock.h:
1235         (WebCore::RenderBlock::availableLogicalWidthForLine):
1236         (WebCore::RenderBlock::logicalRightOffsetForLine):
1237         (WebCore::RenderBlock::logicalLeftOffsetForLine):
1238         (WebCore::RenderBlock::startOffsetForLine):
1239         (WebCore::RenderBlock::endOffsetForLine):
1240         (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine):
1241         (WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine):
1242         (RenderBlock):
1243         (WebCore::RenderBlock::FloatIntervalSearchAdapter::FloatIntervalSearchAdapter):
1244         (WebCore::RenderBlock::FloatIntervalSearchAdapter::lowValue):
1245         (WebCore::RenderBlock::FloatIntervalSearchAdapter::highValue):
1246         (FloatIntervalSearchAdapter):
1247         * rendering/RenderBlockLineLayout.cpp:
1248         (WebCore::logicalBottomForLine):
1249         (WebCore):
1250         (WebCore::LineWidth::updateAvailableWidth):
1251         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
1252         * rendering/RenderBox.cpp:
1253         (WebCore::RenderBox::containingBlockAvailableLineWidthInRegion):
1254
1255 2012-07-03  Vsevolod Vlasov  <vsevik@chromium.org>
1256
1257         Web Inspector: Introduce Workspace make it UISourceCode provider for ScriptsPanel.
1258         https://bugs.webkit.org/show_bug.cgi?id=90466
1259
1260         Reviewed by Pavel Feldman.
1261
1262         Introduced WebInspector.Workspace as a model (UISourceCode provider) behind ScriptsPanel.
1263
1264         * WebCore.gypi:
1265         * WebCore.vcproj/WebCore.vcproj:
1266         * inspector/compile-front-end.py:
1267         * inspector/front-end/ScriptsPanel.js:
1268         * inspector/front-end/WebKit.qrc:
1269         * inspector/front-end/Workspace.js: Added.
1270         (WebInspector.CompositeUISourceCodeProvider):
1271         (WebInspector.CompositeUISourceCodeProvider.prototype._registerUISourceCodeProvider):
1272         (WebInspector.CompositeUISourceCodeProvider.prototype._handleUISourceCodeAdded):
1273         (WebInspector.CompositeUISourceCodeProvider.prototype._handleUISourceCodeReplaced):
1274         (WebInspector.CompositeUISourceCodeProvider.prototype._handleUISourceCodeRemoved):
1275         (WebInspector.CompositeUISourceCodeProvider.prototype.uiSourceCodes):
1276         (WebInspector.Workspace):
1277         (WebInspector.Workspace.prototype.registerUISourceCodeProvider):
1278         * inspector/front-end/inspector.html:
1279         * inspector/front-end/inspector.js:
1280
1281 2012-07-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1282
1283         [Qt] Make use of .qmake.cache for caching features
1284
1285         Instead of loading() features from the files that need them (and re-running
1286         a bunch of checks), we now run feature detection as part of configure.pro,
1287         and have build-webkit write the computed feature-defines and CONFIG to
1288         .qmake.cache, which is then loaded by qmake _before_ even defaults_pre
1289         when building WebKit.pro.
1290
1291         At some point we'll be able to selectivly prevent running of config tests
1292         in configure.pro, which means we don't need a separate code-path for
1293         the build-webkit --help case.
1294
1295         We should also move the code in build-webkit that now uses .webkit.config
1296         to detect clean builds, to use .qmake.cache, since we now store the same
1297         thing there.
1298
1299         Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
1300
1301         https://bugs.webkit.org/show_bug.cgi?id=90461
1302
1303         Reviewed by Tor Arne Vestbø.
1304
1305         * DerivedSources.pri:
1306         * WebCore.pri:
1307
1308 2012-07-03  Sheriff Bot  <webkit.review.bot@gmail.com>
1309
1310         Unreviewed, rolling out r121766.
1311         http://trac.webkit.org/changeset/121766
1312         https://bugs.webkit.org/show_bug.cgi?id=90465
1313
1314         It caused flakey build errors on the bots (Requested by Ossy
1315         on #webkit).
1316
1317         * DerivedSources.pri:
1318         * WebCore.pri:
1319
1320 2012-07-03  George Staikos  <staikos@webkit.org>
1321
1322         [BlackBerry] Enable Custom Scheme Handlers for BlackBerry.
1323         https://bugs.webkit.org/show_bug.cgi?id=90422
1324
1325         Reviewed by Rob Buis.
1326
1327         * page/NavigatorRegisterProtocolHandler.cpp:
1328         (WebCore::initProtocolHandlerWhitelist): Disable the overrides as
1329                                                  they're undesired by BlackBerry
1330
1331 2012-07-03  Eugene Klyuchnikov  <eustas.bug@gmail.com>
1332
1333         Web Inspector: Forward message loop instrumentation data to frontend.
1334         https://bugs.webkit.org/show_bug.cgi?id=89584
1335
1336         Reviewed by Yury Semikhatsky.
1337
1338         Transmit collected message loop tasks to inspector frontend.
1339         Now "Program" should be a top-level event on browsers that
1340         support message loop instrumentation.
1341         Frontend was changed so that user will not see any changes.
1342
1343         * inspector/InspectorTimelineAgent.cpp:
1344         (TimelineRecordType):
1345         Added new event type - "Program"
1346         (WebCore::InspectorTimelineAgent::willProcessTask):
1347         Begin "Program" event.
1348         (WebCore::InspectorTimelineAgent::didProcessTask):
1349         Finish "Program" event.
1350         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
1351         Do not add counters to "Program" events.
1352         (WebCore):
1353         (WebCore::InspectorTimelineAgent::innerSetHeapSizeStatistic):
1354         Renamed from "setHeapSizeStatistic"
1355         * inspector/InspectorTimelineAgent.h:
1356         (InspectorTimelineAgent):
1357         * inspector/front-end/MemoryStatistics.js:
1358         (WebInspector.MemoryStatistics.prototype._onRecordAdded):
1359         Unwraps "Program" events.
1360         (WebInspector.MemoryStatistics.prototype._innerRecordAdded):
1361         Renamed from "_onRecordAdded"
1362         * inspector/front-end/TimelineFrameController.js:
1363         (WebInspector.TimelineFrameController.prototype._addRecord):
1364         Unwraps "Program" events.
1365         (WebInspector.TimelineFrameController.prototype._innerAddRecord):
1366         Renamed from "_addRecord"
1367         * inspector/front-end/TimelineModel.js:
1368         * inspector/front-end/TimelineOverviewPane.js:
1369         (WebInspector.TimelineCategoryStrips.prototype.update.appendRecord):
1370         Filter out "Program" category.
1371         (WebInspector.TimelineCategoryStrips.prototype.update):
1372         * inspector/front-end/TimelinePanel.js:
1373         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
1374         Filter out "Program" category.
1375         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
1376         Unwraps "Program" events.
1377         * inspector/front-end/TimelinePresentationModel.js:
1378         (WebInspector.TimelinePresentationModel.categories):
1379         Added "Program" category.
1380         (WebInspector.TimelinePresentationModel.recordStyle):
1381         Ditto.
1382         (WebInspector.TimelinePresentationModel.prototype.addRecord):
1383         Unwraps "Program" events.
1384         (WebInspector.TimelinePresentationModel.prototype._addRecord):
1385         Renamed from "addRecord"
1386
1387 2012-07-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1388
1389         [Qt] Make use of .qmake.cache for caching features
1390
1391         Instead of loading() features from the files that need them (and re-running
1392         a bunch of checks), we now run feature detection as part of configure.pro,
1393         and have build-webkit write the computed feature-defines and CONFIG to
1394         .qmake.cache, which is then loaded by qmake _before_ even defaults_pre
1395         when building WebKit.pro.
1396
1397         At some point we'll be able to selectivly prevent running of config tests
1398         in configure.pro, which means we don't need a separate code-path for
1399         the build-webkit --help case.
1400
1401         We should also move the code in build-webkit that now uses .webkit.config
1402         to detect clean builds, to use .qmake.cache, since we now store the same
1403         thing there.
1404
1405         Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
1406
1407         https://bugs.webkit.org/show_bug.cgi?id=90461
1408
1409         Reviewed by Tor Arne Vestbø.
1410
1411         * DerivedSources.pri:
1412         * WebCore.pri:
1413
1414 2012-07-03  Vsevolod Vlasov  <vsevik@chromium.org>
1415
1416         inspector/debugger/script-snippet-model.html fails
1417         https://bugs.webkit.org/show_bug.cgi?id=90385
1418
1419         Reviewed by Pavel Feldman.
1420
1421         * inspector/front-end/ScriptSnippetModel.js:
1422
1423 2012-07-03  Alexander Pavlov  <apavlov@chromium.org>
1424
1425         [REGRESSION] Crash when copying a StyleRuleMedia with a NULL m_mediaQueries
1426         https://bugs.webkit.org/show_bug.cgi?id=90459
1427
1428         Reviewed by Andreas Kling.
1429
1430         Create StyleRuleMedia with a non-NULL MediaQuerySet. The respective NULL checks for it were all over the code,
1431         except the copy constructor. Added the check, just in case.
1432
1433         * css/CSSParser.cpp:
1434         (WebCore::CSSParser::createMediaRule):
1435         * css/StyleRule.cpp:
1436         (WebCore::StyleRuleMedia::StyleRuleMedia):
1437
1438 2012-07-03  Andrey Kosyakov  <caseq@chromium.org>
1439
1440         Web Inspector: display time intervals measured with console.time() and console.timeEnd() in Timeline
1441         https://bugs.webkit.org/show_bug.cgi?id=90442
1442
1443         Reviewed by Pavel Feldman.
1444
1445         - added Time and TimeEnd record types produced by console.time() and console.timeEnd()
1446         - connect Time to TimeEnd in "glue" mode to better visualize the interval;
1447         - always make Time a top-level record;
1448
1449         * English.lproj/localizedStrings.js:
1450         * inspector/InspectorInstrumentation.cpp:
1451         (WebCore::InspectorInstrumentation::startConsoleTimingImpl):
1452         (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
1453         * inspector/InspectorTimelineAgent.cpp:
1454         (TimelineRecordType):
1455         (WebCore::InspectorTimelineAgent::didStartTiming):
1456         (WebCore):
1457         (WebCore::InspectorTimelineAgent::didStopTiming):
1458         * inspector/InspectorTimelineAgent.h:
1459         (InspectorTimelineAgent):
1460         * inspector/front-end/TimelineModel.js:
1461         * inspector/front-end/TimelinePresentationModel.js:
1462         (WebInspector.TimelinePresentationModel.recordStyle):
1463         (WebInspector.TimelinePresentationModel.categoryForRecord):
1464         (WebInspector.TimelinePresentationModel.prototype.reset):
1465         (WebInspector.TimelinePresentationModel.prototype.addRecord):
1466         (WebInspector.TimelinePresentationModel.prototype._findParentRecord):
1467         (WebInspector.TimelinePresentationModel.Record):
1468         (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
1469
1470 2012-07-03  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>  Joel Dillon <joel.dillon@codethink.co.uk>
1471
1472         [Qt][Win] Fix broken QtWebKit5.lib linking
1473         https://bugs.webkit.org/show_bug.cgi?id=88321
1474
1475         Reviewed by Kenneth Rohde Christiansen.
1476
1477         * platform/PlatformExportMacros.h:
1478
1479 2012-07-03  Philip Rogers  <pdr@google.com>
1480
1481         Fix text positioning with non-bmp characters.
1482         https://bugs.webkit.org/show_bug.cgi?id=87681
1483
1484         Reviewed by Nikolas Zimmermann.
1485
1486         Previously when constructing metrics for tspans with non-bmp characters,
1487         each non-bmp character treated as a skipped character in the same way that
1488         spaces are ignored.
1489         This made sense because the initial SVGCharacterDataMap for <text> is
1490         indexed by character index (not string length) so the high portion of a
1491         non-bmp character was treated as a skipped space. Unfortunately, this
1492         led to a bug because skipped spaces lead to an offset in the positioning
1493         values list but non-bmp characters do not.
1494
1495         This change switches the code to use a new offset for non-bmp characters,
1496         surrogatePairCharacters, which does not affect the positioning values list.
1497
1498         Tests: svg/text/non-bmp-tspans-expected.svg
1499                svg/text/non-bmp-tspans.svg
1500
1501         * rendering/svg/SVGTextMetricsBuilder.cpp:
1502         (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
1503
1504 2012-07-03  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1505
1506         Improve test cases for network information APIs
1507         https://bugs.webkit.org/show_bug.cgi?id=90162
1508
1509         Reviewed by Adam Barth.
1510
1511         Existing implementation doesn't test port implementation in network info APIs.
1512         This patch lets test cases use bandwidth and metered functions implemented by port layer.
1513
1514         In addition, expected results need to check return type instead of property name.
1515
1516         No new tests. Covered by existing tests.
1517
1518         * Modules/networkinfo/NetworkInfoConnection.cpp:
1519         (WebCore::NetworkInfoConnection::bandwidth):
1520         (WebCore::NetworkInfoConnection::metered):
1521
1522 2012-07-03  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
1523
1524         [EFL] [WK2] Don't call eina_iterator_free() if iterator is NULL
1525         https://bugs.webkit.org/show_bug.cgi?id=90076
1526
1527         Reviewed by Kenneth Rohde Christiansen.
1528
1529         Add a null check to prevent calling eina_iterator_free() when
1530         iterator is NULL.
1531
1532         No new tests. This patch doesn't change behavior.
1533
1534         * platform/efl/FileSystemEfl.cpp:
1535         (WebCore::listDirectory): Early return when iterator is NULL.
1536
1537 2012-07-03  Alexander Pavlov  <apavlov@chromium.org>
1538
1539         Web Inspector: [Elements] Text formatting is not retained when editing <script> or <style> contents as text
1540         https://bugs.webkit.org/show_bug.cgi?id=90440
1541
1542         Reviewed by Vsevolod Vlasov.
1543
1544         * inspector/front-end/ElementsTreeOutline.js:
1545         (WebInspector.ElementsTreeElement.prototype._startEditingTextNode):
1546
1547 2012-07-03  Vsevolod Vlasov  <vsevik@chromium.org>
1548
1549         Web Inspector: Save scroll selection and cursor position of SourceFrames in sources panel.
1550         https://bugs.webkit.org/show_bug.cgi?id=90294
1551
1552         Reviewed by Yury Semikhatsky.
1553
1554         Scroll and selection change handling is now delegated from TextViewer to SourceFrame.
1555         SourceFrame now dispatches ScrollChanged and SelectionChanged events.
1556         TabbedEditorContainer now saves scroll and selection information together
1557         with the url history and restores scroll and selection on resource opening.
1558
1559         * inspector/front-end/JavaScriptSourceFrame.js:
1560         (WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):
1561         * inspector/front-end/SourceFrame.js:
1562         (WebInspector.SourceFrame.prototype.wasShown):
1563         (WebInspector.SourceFrame.prototype.highlightLine):
1564         (WebInspector.SourceFrame.prototype._innerHighlightLineIfNeeded):
1565         (WebInspector.SourceFrame.prototype._clearLineHighlight):
1566         (WebInspector.SourceFrame.prototype.revealLine):
1567         (WebInspector.SourceFrame.prototype._innerRevealLineIfNeeded):
1568         (WebInspector.SourceFrame.prototype._clearLineToReveal):
1569         (WebInspector.SourceFrame.prototype.scrollToLine):
1570         (WebInspector.SourceFrame.prototype._innerScrollToLineIfNeeded):
1571         (WebInspector.SourceFrame.prototype._clearLineToScrollTo):
1572         (WebInspector.SourceFrame.prototype.setSelection):
1573         (WebInspector.SourceFrame.prototype._innerSetSelectionIfNeeded):
1574         (WebInspector.SourceFrame.prototype._wasShownOrLoaded):
1575         (WebInspector.SourceFrame.prototype.setContent):
1576         (WebInspector.SourceFrame.prototype.commitEditing):
1577         (WebInspector.SourceFrame.prototype.selectionChanged):
1578         (WebInspector.SourceFrame.prototype.scrollChanged):
1579         (WebInspector.TextViewerDelegateForSourceFrame.prototype.selectionChanged):
1580         (WebInspector.TextViewerDelegateForSourceFrame.prototype.scrollChanged):
1581         * inspector/front-end/TabbedEditorContainer.js:
1582         (WebInspector.TabbedEditorContainer):
1583         (WebInspector.TabbedEditorContainer.prototype._addScrollAndSelectionListeners):
1584         (WebInspector.TabbedEditorContainer.prototype._removeScrollAndSelectionListeners):
1585         (WebInspector.TabbedEditorContainer.prototype._scrollChanged):
1586         (WebInspector.TabbedEditorContainer.prototype._selectionChanged):
1587         (WebInspector.TabbedEditorContainer.prototype._appendFileTab):
1588         (WebInspector.TabbedEditorContainer.prototype._tabClosed):
1589         (WebInspector.TabbedEditorContainer.HistoryItem):
1590         (WebInspector.TabbedEditorContainer.HistoryItem.fromObject):
1591         (WebInspector.TabbedEditorContainer.HistoryItem.prototype.serializeToObject):
1592         (WebInspector.TabbedEditorContainer.History):
1593         (WebInspector.TabbedEditorContainer.History.fromObject):
1594         (WebInspector.TabbedEditorContainer.History.prototype.index):
1595         (WebInspector.TabbedEditorContainer.History.prototype.selectionRange):
1596         (WebInspector.TabbedEditorContainer.History.prototype.updateSelectionRange):
1597         (WebInspector.TabbedEditorContainer.History.prototype.scrollLineNumber):
1598         (WebInspector.TabbedEditorContainer.History.prototype.updateScrollLineNumber):
1599         (WebInspector.TabbedEditorContainer.History.prototype.update):
1600         (WebInspector.TabbedEditorContainer.History.prototype.remove):
1601         (WebInspector.TabbedEditorContainer.History.prototype.save):
1602         (WebInspector.TabbedEditorContainer.History.prototype.set _serializeToObject):
1603         * inspector/front-end/TextEditorModel.js:
1604         (WebInspector.TextRange.fromObject):
1605         (WebInspector.TextRange.prototype.clone):
1606         (WebInspector.TextRange.prototype.serializeToObject):
1607         * inspector/front-end/TextViewer.js:
1608         (WebInspector.TextViewer.prototype._handleScrollChanged):
1609         (WebInspector.TextViewer.prototype.scrollToLine):
1610         (WebInspector.TextViewer.prototype._handleSelectionChange):
1611         (WebInspector.TextViewer.prototype.setSelection):
1612         (WebInspector.TextViewer.prototype.wasShown):
1613         (WebInspector.TextViewer.prototype._handleFocused):
1614         (WebInspector.TextViewer.prototype.willHide):
1615         (WebInspector.TextViewerDelegate.prototype.selectionChanged):
1616         (WebInspector.TextViewerDelegate.prototype.scrollChanged):
1617         (WebInspector.TextEditorChunkedPanel.prototype.scrollToLine):
1618
1619 2012-07-03  Taiju Tsuiki  <tzik@chromium.org>
1620
1621         Web Inspector: Make DirectoryContentView sortable
1622         https://bugs.webkit.org/show_bug.cgi?id=90361
1623
1624         Reviewed by Vsevolod Vlasov.
1625
1626         * inspector/Inspector.json:
1627         * inspector/InspectorFileSystemAgent.cpp:
1628         (WebCore):
1629         * inspector/front-end/DirectoryContentView.js:
1630         (WebInspector.DirectoryContentView):
1631         (WebInspector.DirectoryContentView.prototype.showEntries):
1632         (WebInspector.DirectoryContentView.prototype._sort):
1633         (WebInspector.DirectoryContentView.Node.comparator.isDirectoryCompare):
1634         (WebInspector.DirectoryContentView.Node.comparator.nameCompare):
1635         (WebInspector.DirectoryContentView.Node.comparator.typeCompare):
1636         (WebInspector.DirectoryContentView.Node.comparator.sizeCompare):
1637         (WebInspector.DirectoryContentView.Node.comparator):
1638         (WebInspector.DirectoryContentView.Node.prototype._metadataReceived):
1639
1640 2012-07-03  Jan Keromnes  <janx@linux.com>
1641
1642         Web Inspector: WebInspector.TextViewer should be renamed WebInspector.TextEditor
1643         https://bugs.webkit.org/show_bug.cgi?id=89939
1644
1645         Reviewed by Vsevolod Vlasov.
1646
1647         Fixed LayoutTests and PerformanceTests accordingly.
1648
1649         * WebCore.gypi:
1650         * WebCore.vcproj/WebCore.vcproj:
1651         * inspector/compile-front-end.py:
1652         * inspector/front-end/AdvancedSearchController.js:
1653         (WebInspector.SearchView):
1654         * inspector/front-end/JavaScriptSourceFrame.js:
1655         (WebInspector.JavaScriptSourceFrame):
1656         (WebInspector.JavaScriptSourceFrame.prototype._onHidePopover):
1657         (WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration):
1658         (WebInspector.JavaScriptSourceFrame.prototype._removeBreakpointDecoration):
1659         (WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition.finishEditing):
1660         (WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition):
1661         (WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):
1662         (WebInspector.JavaScriptSourceFrame.prototype.clearExecutionLine):
1663         (WebInspector.JavaScriptSourceFrame.prototype.onTextEditorContentLoaded):
1664         (WebInspector.JavaScriptSourceFrame.prototype.toggleBreakpointOnCurrentLine):
1665         * inspector/front-end/SourceFrame.js:
1666         (WebInspector.SourceFrame):
1667         (WebInspector.SourceFrame.prototype.wasShown):
1668         (WebInspector.SourceFrame.prototype.willHide):
1669         (WebInspector.SourceFrame.prototype.defaultFocusedElement):
1670         (WebInspector.SourceFrame.prototype.get textEditor):
1671         (WebInspector.SourceFrame.prototype.clearMessages):
1672         (WebInspector.SourceFrame.prototype.highlightLine):
1673         (WebInspector.SourceFrame.prototype._clearLineHighlight):
1674         (WebInspector.SourceFrame.prototype.revealLine):
1675         (WebInspector.SourceFrame.prototype.setSelection):
1676         (WebInspector.SourceFrame.prototype.setContent):
1677         (WebInspector.SourceFrame.prototype.onTextEditorContentLoaded):
1678         (WebInspector.SourceFrame.prototype._setTextEditorDecorations):
1679         (WebInspector.SourceFrame.prototype.searchCanceled):
1680         (WebInspector.SourceFrame.prototype.jumpToSearchResult):
1681         (WebInspector.SourceFrame.prototype.addMessageToSource):
1682         (WebInspector.SourceFrame.prototype.removeMessageFromSource):
1683         (WebInspector.SourceFrame.prototype.inheritScrollPositions):
1684         (WebInspector.TextEditorDelegateForSourceFrame):
1685         * inspector/front-end/TextViewer.js: Removed.
1686         * inspector/front-end/WebKit.qrc:
1687         * inspector/front-end/inspector.html:
1688         * inspector/front-end/textViewer.css: Removed.
1689
1690 2012-07-03  Charles Wei  <charles.wei@torchmobile.com.cn>
1691
1692         IndexedDB: should make the LevelDB persistant to the directory indicated in PageGroupSettings::indexedDBDataBasePath
1693         https://bugs.webkit.org/show_bug.cgi?id=88338
1694
1695         Reviewed by David Levin.
1696
1697         If the indexedDB runs in main thread it can access the GroupSettings via the document;
1698         otherwise, we need to pass the page GroupSettings to the worker thread so that accessible
1699         to the indexedDB running in WorkerContext. 
1700
1701         * Modules/indexeddb/IDBFactory.cpp:
1702         (WebCore::IDBFactory::open):
1703         * workers/DedicatedWorkerThread.cpp:
1704         (WebCore::DedicatedWorkerThread::create):
1705         (WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
1706         * workers/DedicatedWorkerThread.h:
1707         (DedicatedWorkerThread):
1708         * workers/DefaultSharedWorkerRepository.cpp:
1709         (SharedWorkerProxy):
1710         (WebCore::SharedWorkerProxy::groupSettings):
1711         (WebCore):
1712         (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
1713         * workers/SharedWorkerThread.cpp:
1714         (WebCore::SharedWorkerThread::create):
1715         (WebCore::SharedWorkerThread::SharedWorkerThread):
1716         * workers/SharedWorkerThread.h:
1717         (SharedWorkerThread):
1718         * workers/WorkerMessagingProxy.cpp:
1719         (WebCore::WorkerMessagingProxy::startWorkerContext):
1720         * workers/WorkerThread.cpp:
1721         (WebCore::WorkerThreadStartupData::create):
1722         (WorkerThreadStartupData):
1723         (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
1724         (WebCore::WorkerThread::WorkerThread):
1725         (WebCore::WorkerThread::groupSettings):
1726         (WebCore):
1727         * workers/WorkerThread.h:
1728         (WorkerThread):
1729
1730 2012-07-03  Balazs Kelemen  <kbalazs@webkit.org>
1731
1732         [Qt][WK2] fast/viewport/viewport-91.html still fails after r121555 and r121661
1733         https://bugs.webkit.org/show_bug.cgi?id=90376
1734
1735         Reviewed by Csaba Osztrogonác.
1736
1737         No new tests, this is only a build alignment.
1738
1739         Export ViewportArguments::deprecatedTargetDPI since it is used in WebKit2.
1740         * WebCore.exp.in:
1741
1742 2012-07-02  Martin Robinson  <mrobinson@igalia.com>
1743
1744         [TextureMapper] The TextureMapper should support edge-distance anti-antialiasing
1745         https://bugs.webkit.org/show_bug.cgi?id=90308
1746
1747         Reviewed by Noam Rosenthal.
1748
1749         Add an edge-distance anti-aliasing implementation for the TextureMapper. Currently
1750         this implementation is not active for tiled layers. This implementation is based
1751         on the one in the Chromium compositor originally written by David Raveman.
1752
1753         When a layer is transformed in a way that leaves its edge dimensions across pixel
1754         boundaries, edge distance anti-aliasing will do a cheaper form of anti-aliasing
1755         than full-scene anti-aliasing to make the transition from the layer pixel
1756         to the background pixel smoother.
1757
1758         No new tests. This will be covered by pixel tests for Qt and GTK+ accelerated
1759         compositing and 3D transforms, when those test harnesses are capable of
1760         producing pixel output (in progress).
1761
1762         * platform/graphics/texmap/TextureMapper.h: Add an enum which is used to tell
1763         the texture mapper what edges of a texture are exposed. This will be used for
1764         properly dealing with tiled layers in the future.
1765         * platform/graphics/texmap/TextureMapperBackingStore.cpp: Properly pass information
1766         about exposed layer edges to the TextureMapper while painting.
1767         * platform/graphics/texmap/TextureMapperBackingStore.h:
1768         (TextureMapperTile): Modified arguments include exposed edges.
1769         * platform/graphics/texmap/TextureMapperGL.cpp:
1770         (WebCore::TextureMapperGL::drawQuad): Renamed from drawRect, this method can now
1771         draw quads that have non unit-rect texture coordinates. This is necessary because
1772         the edge distance approach draws such quad.
1773         (WebCore::TextureMapperGL::drawBorder): Call drawQuad now instead of drawRect.
1774         (WebCore::TextureMapperGL::drawTexture): Pass the exposedEdges argument down.
1775         (WebCore::TextureMapperGL::drawTextureRectangleARB): Call drawQuad now instead of
1776         drawRect.
1777         (WebCore::viewportMatrix): Added this helper which can calculate the viewport
1778         transform based on the current OpenGL viewport settings.
1779         (WebCore::scaleLineEquationCoeffecientsToOptimizeDistanceCalculation): Added this
1780         helper which optimizes the fragment shader by precalculating some constant parts
1781         of the distance calculation.
1782         (WebCore::getStandardEquationCoeffecientsForLine): Given two end points of line segment
1783         get the coeffecients of the line in the standard form of the line equation.
1784         (WebCore::quadToEdgeArray): Converts a FloatQuad to an array of four sets of pre-scaled
1785         line coefficients so that they can be passed to OpenGL.
1786         (WebCore::scaledVectorDifference): Helper which helps expand a quad of arbitrary
1787         orientation.
1788         (WebCore::inflateQuad): Inflate a quad of arbitrary orientation. The transform may
1789         flip it so we have to look at neighboring points to expand the quad.
1790         (WebCore::TextureMapperGL::drawTextureWithAntialiasing): Activate the anti-aliasing
1791         program and set up all uniforms.
1792         (WebCore::TextureMapperGL::drawTexturedQuadWithProgram): Abstract out common operations
1793         from drawTexture to be used with drawTextureWithAntialiasing.
1794         * platform/graphics/texmap/TextureMapperGL.h:
1795         (WebCore::TextureMapperGL::DrawQuad::DrawQuad): Add this small type which stores information
1796         necessary to draw a quad -- it's original destination rect and the final size mapped to
1797         texture coordinates.
1798         (TextureMapperGL):
1799         * platform/graphics/texmap/TextureMapperImageBuffer.cpp: Add the new exposedEdges argument.
1800         * platform/graphics/texmap/TextureMapperImageBuffer.h: Ditto.
1801         * platform/graphics/texmap/TextureMapperShaderManager.cpp: Add the new fragment shader for
1802         doing edge-distance AA and a program which uses that shader.
1803         * platform/graphics/texmap/TextureMapperShaderManager.h: Ditto.
1804
1805 2012-07-02  Dan Bernstein  <mitz@apple.com>
1806
1807         Column height and count calculation ignores most overflow
1808         https://bugs.webkit.org/show_bug.cgi?id=90392
1809
1810         Reviewed by Dean Jackson.
1811
1812         Test: fast/multicol/overflow-content.html
1813
1814         * rendering/RenderBlock.cpp:
1815         (WebCore::RenderBlock::relayoutForPagination): Changed to compute the overflow from children
1816         and use the layout overflow height rather the content height.
1817
1818 2012-07-02  Chris Guan  <chris.guan@torchmobile.com.cn>
1819
1820         [BlackBerry] Refactor : move the implementation of getMIMETypeForExtension and getPreferredExtensionForMIMEType into BlackBerry platform
1821         https://bugs.webkit.org/show_bug.cgi?id=90360
1822
1823         Reviewed by Antonio Gomes.
1824
1825         We should have one implementation for getMIMETypeForExtension
1826         and getPreferredExtensionForMIMEType for both webkit and platform,
1827         so I move this implementation to BlackBerry platform.
1828         
1829         No new test cases , because no behavior changed.
1830
1831         * platform/blackberry/MIMETypeRegistryBlackBerry.cpp:
1832         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1833         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
1834
1835 2012-07-02  Emil A Eklund  <eae@chromium.org>
1836
1837         Position replaced elements on pixel bounds
1838         https://bugs.webkit.org/show_bug.cgi?id=90354
1839
1840         Reviewed by Eric Seidel.
1841
1842         To avoid sizing and repaint issues we should layout replaced elements on
1843         pixel bounds. We already ensure that replaced elements are sized in full
1844         pixels and that they are painted on pixel bounds. By also ensuring that
1845         they are placed on pixel bounds we avoid pixel having the size be
1846         expanded by pixel snapping and repainting/invalidation rect issues when
1847         scrolling.
1848
1849         Test: fast/repaint/repaint-during-scroll-with-zoom.html
1850
1851         * rendering/RenderBox.cpp:
1852         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
1853         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
1854
1855 2012-07-02  Nico Weber  <thakis@chromium.org>
1856
1857         Fix new -Wunused-private-field violations
1858         https://bugs.webkit.org/show_bug.cgi?id=90417
1859
1860         Reviewed by Ryosuke Niwa.
1861
1862         No intended behavior change.
1863
1864         * inspector/InspectorFileSystemAgent.cpp:
1865         (WebCore):
1866         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp:
1867         (WebCore::CCPrioritizedTextureManager::CCPrioritizedTextureManager):
1868         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h:
1869         (CCPrioritizedTextureManager):
1870
1871 2012-07-02  Yoshifumi Inoue  <yosin@chromium.org>
1872
1873         Build fix for Chromimum
1874
1875         r121710 removed WebCore/platform/qt/GraphicsLayerQt.{cpp,h}.
1876         However, that patch didn't remove them from WebCore.gypi.
1877
1878         * WebCore.gypi: Removed GraphicsLayerQt.{cpp,h}
1879
1880 2012-07-02  Joshua Bell  <jsbell@chromium.org>
1881
1882         IDL overloads should not treat wrapper types as nullable by default
1883         https://bugs.webkit.org/show_bug.cgi?id=90218
1884
1885         Reviewed by Kentaro Hara.
1886
1887         Wrapper types were being treated as Nullable by default during overloaded
1888         method dispatching, which deviates from the WebIDL specification. This change
1889         introduces the "?" type suffix into the parser, and treats wrapper types
1890         only nullable if specified. (The behavior of array types and other non-wrapper
1891         types are not changed, and only overloaded methods are checked.)
1892
1893         IDL files with affected overloads are modified to include the "?" suffix
1894         so that no behavior changes are introduced by this patch - the JS and V8
1895         generator results before/after the change show no diffs.
1896
1897         Test: bindings/scripts/test/TestObj.idl (a non-nullable overload)
1898
1899         * Modules/indexeddb/IDBDatabase.idl: Added "?" where necessary.
1900         * Modules/indexeddb/IDBIndex.idl: Added "?" where necessary.
1901         * Modules/indexeddb/IDBObjectStore.idl: Added "?" where necessary.
1902         * Modules/webaudio/AudioContext.idl: Added "?" where necessary.
1903         * Modules/webaudio/AudioNode.idl: Added "?" where necessary.
1904         * bindings/scripts/CodeGeneratorJS.pm:
1905         (GenerateParametersCheckExpression): Add isNullable check.
1906         * bindings/scripts/CodeGeneratorV8.pm:
1907         (GenerateParametersCheckExpression): Add isNullable check.
1908         * bindings/scripts/IDLParser.pm: Parse/set isNullable.
1909         (parseParameters):
1910         * bindings/scripts/IDLStructure.pm: Add basic type suffix parsing.
1911         * bindings/scripts/test/JS/JSTestObj.cpp:
1912         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
1913         (WebCore):
1914         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
1915         * bindings/scripts/test/TestObj.idl: Mark previous overload params with ?, add new one without.
1916         * bindings/scripts/test/V8/V8TestObj.cpp:
1917         (WebCore::TestObjV8Internal::overloadedMethod8Callback):
1918         (TestObjV8Internal):
1919         (WebCore::TestObjV8Internal::overloadedMethodCallback):
1920         * dom/DataTransferItemList.idl: Added "?" where necessary.
1921         * fileapi/WebKitBlobBuilder.idl: Added "?" where necessary.
1922         * html/DOMURL.idl: Added "?" where necessary.
1923         * html/canvas/CanvasRenderingContext2D.idl: Added "?" where necessary.
1924         * html/canvas/WebGLRenderingContext.idl: Added "?" where necessary.
1925
1926 2012-07-02  No'am Rosenthal  <noam.rosenthal@nokia.com>
1927
1928         [Qt] Get rid of GraphicsLayerQt
1929         https://bugs.webkit.org/show_bug.cgi?id=78598
1930
1931         Reviewed by Luiz Agostini.
1932
1933         Remove GraphicsLayerQt.h/cpp, as well as references to the non-TextureMapper code paths
1934         in GraphicsContext3DQt and MediaPlayerPrivateQt.
1935
1936         No new tests, removing unused code paths.
1937
1938         * Target.pri:
1939         * platform/graphics/PlatformLayer.h:
1940         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1941         (GraphicsContext3DPrivate):
1942         (WebCore):
1943         * platform/graphics/qt/GraphicsContextQt.cpp:
1944         (WebCore):
1945         * platform/graphics/qt/GraphicsLayerQt.cpp: Removed.
1946         * platform/graphics/qt/GraphicsLayerQt.h: Removed.
1947         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
1948         (WebCore):
1949         * platform/graphics/qt/MediaPlayerPrivateQt.h:
1950         (MediaPlayerPrivateQt):
1951         * plugins/qt/PluginViewQt.cpp:
1952         (WebCore::PluginView::invalidateRect):
1953         (WebCore::PluginView::platformStart):
1954
1955 2012-07-02  Behdad Esfahbod  <behdad@behdad.org>
1956
1957         LayoutUnit::epsilon() is wrong
1958         https://bugs.webkit.org/show_bug.cgi?id=90083
1959
1960         Reviewed by Eric Seidel.
1961
1962         Do division in floats, not integers.
1963
1964         No new tests. No code using the affected function.
1965
1966         * platform/FractionalLayoutUnit.h:
1967         (WebCore::FractionalLayoutUnit::epsilon):
1968
1969 2012-07-02  Tim Horton  <timothy_horton@apple.com>
1970
1971         Compositing layer sync should cause deferred repaints to be fired immediately
1972         https://bugs.webkit.org/show_bug.cgi?id=90401
1973         <rdar://problem/11792028>
1974
1975         Reviewed by Simon Fraser and Antti Koivisto.
1976
1977         If we sync compositing layers and allow the repaint to be deferred, there is time for a
1978         visible flash to occur. Instead, stop the deferred repaint timer and repaint immediately.
1979
1980         No new tests, configuration and timing dependent.
1981
1982         * page/FrameView.cpp:
1983         (WebCore::FrameView::syncCompositingStateForThisFrame):
1984         (WebCore::FrameView::checkStopDelayingDeferredRepaints):
1985         (WebCore::FrameView::stopDelayingDeferredRepaints): Split off from checkStopDelayingDeferredRepaints.
1986         * page/FrameView.h:
1987         (FrameView): Add stopDelayingDeferredRepaints.
1988
1989 2012-07-02  Benjamin Poulain  <bpoulain@apple.com>
1990
1991         Do not do any logging initialization when logging is disabled
1992         https://bugs.webkit.org/show_bug.cgi?id=90228
1993
1994         Reviewed by Simon Fraser.
1995
1996         Initializating of the logging channels was taking time on startup. When logging is disabled
1997         (and the LOG macro does nothing), we should aslo disable logging channels and initialization.
1998
1999         This patch #ifdef the Logging initialization with the macro LOG_DISABLED.
2000
2001         * WebCore.exp.in:
2002         * make-export-file-generator: Explicitely adds Assertions.h so that LOG_DISABLED is defined.
2003         * platform/Logging.cpp:
2004         * platform/Logging.h:
2005         * platform/blackberry/LoggingBlackBerry.cpp:
2006         * platform/efl/LoggingEfl.cpp:
2007         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2008         * platform/gtk/LoggingGtk.cpp:
2009         * platform/mac/LoggingMac.mm:
2010         * platform/network/soup/ResourceHandleSoup.cpp:
2011         (WebCore::ensureSessionIsInitialized):
2012         * platform/qt/LoggingQt.cpp:
2013         * platform/win/LoggingWin.cpp:
2014         * platform/wx/LoggingWx.cpp:
2015
2016 2012-07-02  Dan Bernstein  <mitz@apple.com>
2017
2018         <rdar://problem/11787030> In vertical writing modes, child following float-clearing block has incorrect logical top
2019         https://bugs.webkit.org/show_bug.cgi?id=90359
2020
2021         Reviewed by Anders Carlsson.
2022
2023         Test: fast/writing-mode/logical-height-after-clear.html
2024
2025         * rendering/RenderBlock.cpp:
2026         (WebCore::RenderBlock::clearFloatsIfNeeded): Changed to use logicalTop() and logicalHeight()
2027         instead of y() and height().
2028
2029 2012-07-02  Arko Saha  <arko@motorola.com>
2030
2031         Microdata: Fix build failure after r121580.
2032         https://bugs.webkit.org/show_bug.cgi?id=90378
2033
2034         Reviewed by Ryosuke Niwa.
2035
2036         * html/HTMLElement.cpp:
2037         (WebCore::HTMLElement::properties):
2038         * html/HTMLElement.h:
2039
2040 2012-07-02  Tommy Widenflycht  <tommyw@google.com>
2041
2042         MediaStream API: Update MediaStreamTrackList to match the specification
2043         https://bugs.webkit.org/show_bug.cgi?id=90171
2044
2045         Reviewed by Adam Barth.
2046
2047         The latest update to the specification added add and remove methods with corresponding callbacks.
2048         The callbacks can be triggered both from JS and from the platform layer.
2049
2050         Test: fast/mediastream/MediaStreamTrackList.html
2051
2052         * CMakeLists.txt:
2053         * GNUmakefile.list.am:
2054         * Modules/mediastream/MediaStream.cpp:
2055         (WebCore::MediaStream::MediaStream):
2056         (WebCore::MediaStream::~MediaStream):
2057         (WebCore::MediaStream::streamEnded):
2058         (WebCore::MediaStream::addTrack):
2059         (WebCore):
2060         (WebCore::MediaStream::removeTrack):
2061         * Modules/mediastream/MediaStream.h:
2062         (MediaStream):
2063         * Modules/mediastream/MediaStreamTrackEvent.cpp: Copied from Source/WebCore/Modules/mediastream/MediaStreamTrackList.cpp.
2064         (WebCore):
2065         (WebCore::MediaStreamTrackEvent::create):
2066         (WebCore::MediaStreamTrackEvent::MediaStreamTrackEvent):
2067         (WebCore::MediaStreamTrackEvent::~MediaStreamTrackEvent):
2068         (WebCore::MediaStreamTrackEvent::track):
2069         (WebCore::MediaStreamTrackEvent::interfaceName):
2070         * Modules/mediastream/MediaStreamTrackEvent.h: Copied from Source/WebCore/Modules/mediastream/MediaStreamTrackList.h.
2071         (WebCore):
2072         (MediaStreamTrackEvent):
2073         * Modules/mediastream/MediaStreamTrackEvent.idl: Copied from Source/WebCore/Modules/mediastream/MediaStreamTrackList.idl.
2074         * Modules/mediastream/MediaStreamTrackList.cpp:
2075         (WebCore::MediaStreamTrackList::create):
2076         (WebCore::MediaStreamTrackList::MediaStreamTrackList):
2077         (WebCore::MediaStreamTrackList::detachOwner):
2078         (WebCore):
2079         (WebCore::MediaStreamTrackList::add):
2080         (WebCore::MediaStreamTrackList::remove):
2081         (WebCore::MediaStreamTrackList::stop):
2082         (WebCore::MediaStreamTrackList::interfaceName):
2083         (WebCore::MediaStreamTrackList::scriptExecutionContext):
2084         (WebCore::MediaStreamTrackList::eventTargetData):
2085         (WebCore::MediaStreamTrackList::ensureEventTargetData):
2086         * Modules/mediastream/MediaStreamTrackList.h:
2087         (MediaStreamTrackList):
2088         * Modules/mediastream/MediaStreamTrackList.idl:
2089         * WebCore.gypi:
2090         * dom/EventNames.h:
2091         (WebCore):
2092         * dom/EventNames.in:
2093         * dom/EventTargetFactory.in:
2094         * platform/mediastream/MediaStreamCenter.cpp:
2095         (WebCore::MediaStreamCenter::addMediaStreamTrack):
2096         (WebCore):
2097         (WebCore::MediaStreamCenter::removeMediaStreamTrack):
2098         * platform/mediastream/MediaStreamCenter.h:
2099         (MediaStreamCenter):
2100         * platform/mediastream/MediaStreamDescriptor.h:
2101         (MediaStreamDescriptorOwner):
2102         * platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
2103         (WebCore::MediaStreamCenterChromium::didAddMediaStreamTrack):
2104         (WebCore):
2105         (WebCore::MediaStreamCenterChromium::didRemoveMediaStreamTrack):
2106         (WebCore::MediaStreamCenterChromium::addMediaStreamTrack):
2107         (WebCore::MediaStreamCenterChromium::removeMediaStreamTrack):
2108         * platform/mediastream/chromium/MediaStreamCenterChromium.h:
2109         (WebKit):
2110         (MediaStreamCenterChromium):
2111         * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
2112         (WebCore::MediaStreamCenterGStreamer::didAddMediaStreamTrack):
2113         (WebCore):
2114         (WebCore::MediaStreamCenterGStreamer::didRemoveMediaStreamTrack):
2115         * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h:
2116         (MediaStreamCenterGStreamer):
2117
2118 2012-07-02  Andrey Kosyakov  <caseq@chromium.org>
2119
2120         Web Inspector: incorrect height of main timeline pane after switching to memory mode
2121         https://bugs.webkit.org/show_bug.cgi?id=90387
2122
2123         Reviewed by Pavel Feldman.
2124
2125         - update cached container height when setting vertical splitter position.
2126
2127         * inspector/front-end/TimelinePanel.js:
2128         (WebInspector.TimelinePanel.prototype.set _setSplitterPosition):
2129
2130 2012-07-02  Christophe Dumez  <christophe.dumez@intel.com>
2131
2132         [MICRODATA] Build failure in html/HTMLPropertiesCollection.h
2133         https://bugs.webkit.org/show_bug.cgi?id=90379
2134
2135         Reviewed by Ryosuke Niwa.
2136
2137         Switch HTMLCollection::append() visibility from private
2138         to protected so that HTMLPropertiesCollection subclass
2139         can call it. This fixes build when MICRODATA flag is
2140         turned on.
2141
2142         No new tests, build fix.
2143
2144         * html/HTMLCollection.h:
2145         (HTMLCollectionCacheBase):
2146
2147 2012-07-02  Kwang Yul Seo  <skyul@company100.net>
2148
2149         A start "body" tag in the "in body" insertion mode is a parse error
2150         https://bugs.webkit.org/show_bug.cgi?id=90373
2151
2152         Reviewed by Eric Seidel.
2153
2154         According to HTML5 specification (http://www.w3.org/TR/html5/tree-construction.html#parsing-main-inbody),
2155         a start "body" tag in the "in body" insertion mode is a parse error. So parseError(token) is required here.
2156         No behavior change because parseError(token) is just a marker.
2157
2158         * html/parser/HTMLTreeBuilder.cpp:
2159         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
2160
2161 2012-07-02  Raphael Kubo da Costa  <rakuco@webkit.org>
2162
2163         [EFL] Unreviewed build fix with ENABLE_NETSCAPE_PLUGIN_API after r121467.
2164
2165         * plugins/efl/PluginPackageEfl.cpp:
2166         (WebCore::PluginPackage::load): Move the declaration of `err'
2167         before the first `goto' statement.
2168
2169 2012-07-02  Alexei Filippov  <alexeif@chromium.org>
2170
2171         Web Inspector: replace recursion with a stack in DOM nodes snapshot traversal.
2172         https://bugs.webkit.org/show_bug.cgi?id=89889
2173
2174         Number of DOM nodes native snapshots can handle was limited
2175         by the process stack size because of recursion used to traverse the nodes.
2176         The patch changes the recursion to a stack based algorithm.
2177
2178         Reviewed by Yury Semikhatsky.
2179
2180         * dom/MemoryInstrumentation.h:
2181         (MemoryInstrumentation):
2182         (InstrumentedPointerBase):
2183         (WebCore::MemoryInstrumentation::InstrumentedPointerBase::~InstrumentedPointerBase):
2184         (InstrumentedPointer):
2185         (WebCore::MemoryInstrumentation::InstrumentedPointer::InstrumentedPointer):
2186         (WebCore::MemoryInstrumentation::reportInstrumentedPointer):
2187         (WebCore):
2188         (WebCore::::process):
2189         * inspector/InspectorMemoryAgent.cpp:
2190         (WebCore):
2191
2192 2012-07-02  Taiju Tsuiki  <tzik@chromium.org>
2193
2194         Web Inspector: Add requestFileContent command and fileContentReceived event
2195         https://bugs.webkit.org/show_bug.cgi?id=89642
2196
2197         Reviewed by Vsevolod Vlasov.
2198
2199         Test: http/tests/inspector/filesystem/read-file.html
2200
2201         * inspector/Inspector.json:
2202         * inspector/InspectorFileSystemAgent.cpp:
2203         (WebCore):
2204         (WebCore::InspectorFileSystemAgent::requestFileContent):
2205         * inspector/InspectorFileSystemAgent.h:
2206         (InspectorFileSystemAgent):
2207         * inspector/front-end/FileSystemModel.js:
2208         (WebInspector.FileSystemModel.prototype.requestMetadata):
2209         (WebInspector.FileSystemModel.prototype.requestFileContent):
2210         (WebInspector.FileSystemModel.File.prototype.get resourceType):
2211         (WebInspector.FileSystemModel.File.prototype.requestFileContent):
2212         (WebInspector.FileSystemRequestManager):
2213         (WebInspector.FileSystemRequestManager.prototype._metadataReceived):
2214         (WebInspector.FileSystemRequestManager.prototype.requestFileContent.requestAccepted):
2215         (WebInspector.FileSystemRequestManager.prototype.requestFileContent):
2216         (WebInspector.FileSystemRequestManager.prototype._fileContentReceived):
2217         (WebInspector.FileSystemDispatcher.prototype.metadataReceived):
2218         (WebInspector.FileSystemDispatcher.prototype.fileContentReceived):
2219
2220 2012-07-02  Taiju Tsuiki  <tzik@chromium.org>
2221
2222         Web Inspector: Add refresh button to FileSystemView status bar
2223         https://bugs.webkit.org/show_bug.cgi?id=90244
2224
2225         Reviewed by Vsevolod Vlasov.
2226
2227         * inspector/front-end/FileSystemView.js:
2228         (WebInspector.FileSystemView):
2229         (WebInspector.FileSystemView.prototype.get statusBarItems):
2230         (WebInspector.FileSystemView.prototype.showView):
2231         (WebInspector.FileSystemView.prototype._refresh):
2232         (WebInspector.FileSystemView.EntryTreeElement.prototype._directoryContentReceived):
2233
2234 2012-06-22  Vsevolod Vlasov  <vsevik@chromium.org>
2235
2236         Web Inspector: Implement snippets evaluation.
2237         https://bugs.webkit.org/show_bug.cgi?id=88707
2238
2239         Reviewed by Pavel Feldman.
2240
2241         Implemented snippet evaluation and adjusted breakpoints behavior when editing snippet.
2242         Snippets are evaluated using separate compile and run.
2243         Breakpoints are updated after compilation (once scriptId is available they can be set in debugger).
2244         If separate compile and run is not supported by port or debugger is paused we fall back to evaluation in console.
2245
2246         * inspector/front-end/ConsoleView.js:
2247         (WebInspector.ConsoleView.prototype.runScript.runCallback):
2248         (WebInspector.ConsoleView.prototype.runScript):
2249         (WebInspector.ConsoleView.prototype._printResult):
2250         * inspector/front-end/JavaScriptSource.js:
2251         (WebInspector.JavaScriptSource.prototype.supportsEnabledBreakpointsWhileEditing):
2252         * inspector/front-end/JavaScriptSourceFrame.js:
2253         (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
2254         (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
2255         (WebInspector.JavaScriptSourceFrame.prototype._didEditContent):
2256         (WebInspector.JavaScriptSourceFrame.prototype._removeBreakpointsBeforeEditing):
2257         (WebInspector.JavaScriptSourceFrame.prototype._restoreBreakpointsAfterEditing):
2258         (WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration):
2259         (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
2260         * inspector/front-end/ScriptSnippetModel.js:
2261         (WebInspector.ScriptSnippetModel.prototype.deleteScriptSnippet):
2262         (WebInspector.ScriptSnippetModel.prototype._setScriptSnippetContent):
2263         (WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet.compileCallback):
2264         (WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet):
2265         (WebInspector.ScriptSnippetModel.prototype._rawLocationToUILocation):
2266         (WebInspector.ScriptSnippetModel.prototype._removeBreakpoints):
2267         (WebInspector.ScriptSnippetModel.prototype._restoreBreakpoints):
2268         (WebInspector.ScriptSnippetModel.prototype._evaluationSourceURL):
2269         (WebInspector.SnippetJavaScriptSource.prototype.isDivergedFromVM):
2270         (WebInspector.SnippetJavaScriptSource.prototype.workingCopyCommitted):
2271         (WebInspector.SnippetJavaScriptSource.prototype.workingCopyChanged):
2272         (WebInspector.SnippetJavaScriptSource.prototype.evaluate):
2273         (WebInspector.SnippetJavaScriptSource.prototype.supportsEnabledBreakpointsWhileEditing):
2274         (WebInspector.SnippetJavaScriptSource.prototype.breakpointStorageId):
2275         * inspector/front-end/ScriptsNavigator.js:
2276         (WebInspector.SnippetsNavigatorView.prototype._handleEvaluateSnippet):
2277
2278 2012-06-26  Vsevolod Vlasov  <vsevik@chromium.org>
2279
2280         Web Inspector: StyleSource should set content using CSSStyleModelResourceBinding directly.
2281         https://bugs.webkit.org/show_bug.cgi?id=89891
2282
2283         Reviewed by Pavel Feldman.
2284
2285         StyleSource now calls CSS resource binding directly.
2286         CSS resource binding now adds resource revision only after setStyleSheetText call returns from backend.
2287         Resource.revertAndClearHistory is now clearing history asynchronously
2288         since Resource.setContent adds revision that should be removed as well.
2289
2290         * inspector/front-end/CSSStyleModel.js:
2291         (WebInspector.CSSStyleModel.prototype.getViaInspectorResourceForRule):
2292         (WebInspector.CSSStyleModel.prototype.resourceBinding):
2293         (WebInspector.CSSStyleModelResourceBinding.prototype.setStyleContent.innerCallback):
2294         (WebInspector.CSSStyleModelResourceBinding.prototype.setStyleContent):
2295         (WebInspector.CSSStyleModelResourceBinding.prototype.setContent):
2296         * inspector/front-end/Resource.js:
2297         (WebInspector.Resource.prototype.revertAndClearHistory):
2298         (WebInspector.Resource.prototype.revertAndClearHistory.clearHistory):
2299         * inspector/front-end/RevisionHistoryView.js:
2300         (WebInspector.RevisionHistoryView.prototype._createResourceItem):
2301         * inspector/front-end/StylesPanel.js:
2302         (WebInspector.StyleSource.prototype.workingCopyCommitted):
2303         (WebInspector.StyleSource.prototype.workingCopyChanged):
2304
2305 2012-07-02  Taiju Tsuiki  <tzik@chromium.org>
2306
2307         Web Inspector: Add DirectoryContentView for FileSystemView
2308         https://bugs.webkit.org/show_bug.cgi?id=89961
2309
2310         Reviewed by Vsevolod Vlasov.
2311
2312         * WebCore.gypi:
2313         * WebCore.vcproj/WebCore.vcproj:
2314         * inspector/compile-front-end.py:
2315         * inspector/front-end/DirectoryContentView.js: Added.
2316         * inspector/front-end/FileSystemView.js:
2317         (WebInspector.FileSystemView):
2318         (WebInspector.FileSystemView.EntryTreeElement.prototype.onattach):
2319         (WebInspector.FileSystemView.EntryTreeElement.prototype.onselect):
2320         (WebInspector.FileSystemView.EntryTreeElement.prototype._directoryContentReceived):
2321         * inspector/front-end/WebKit.qrc:
2322         * inspector/front-end/inspector.html:
2323
2324 2012-07-02  Christophe Dumez  <christophe.dumez@intel.com>
2325
2326         [EFL] Fix compilation error in GamepadsEfl.cpp in debug mode
2327         https://bugs.webkit.org/show_bug.cgi?id=90369
2328
2329         Unreviewed, EFL build fix.
2330
2331         * platform/efl/GamepadsEfl.cpp:
2332         (WebCore::GamepadsEfl::registerDevice):
2333         (WebCore::GamepadsEfl::unregisterDevice):
2334
2335 2012-07-02  Nikita Vasilyev  <me@elv1s.ru>
2336
2337         Web Inspector: Design WebSockets panel
2338         https://bugs.webkit.org/show_bug.cgi?id=89461
2339
2340         Use DataGrid to display the data.
2341         Put "Data" column first. Make it wider.
2342         Remove "Mask" column since it appears to be always true for outgoing frames,
2343         and false for incoming.
2344
2345         Reviewed by Pavel Feldman.
2346
2347         * English.lproj/localizedStrings.js:
2348         * inspector/front-end/NetworkItemView.js:
2349         (WebInspector.NetworkItemView): Don't show Preview, Response, Cookies
2350         and Timing tabs for succefuly established WebSocket connection.
2351
2352         * inspector/front-end/ResourceWebSocketFrameView.js:
2353         (WebInspector.ResourceWebSocketFrameView):
2354         * inspector/front-end/networkPanel.css:
2355         (.resource-websocket):
2356         (.resource-websocket, .resource-websocket .data-grid):
2357         (.resource-websocket .data-grid .data):
2358         (.resource-websocket td):
2359         (.resource-websocket .data-column div):
2360         (.resource-websocket-row-outcoming):
2361         (.resource-websocket-row-outcoming:not(.selected) td):
2362         (.resource-websocket-row-outcoming:not(.selected) td, .resource-websocket-row-outcoming:not(.selected) + tr td):
2363         (.resource-websocket-row-opcode):
2364         (.resource-websocket-row-opcode td):
2365         (.resource-websocket-row-opcode td, .resource-websocket-row-opcode + tr td):
2366         (.resource-websocket-row-error):
2367
2368 2012-07-02  Vineet Chaudhary  <rgf748@motorola.com>
2369
2370         [V8Binding] Merging v8NumberArray()/v8NumberArrayToVector() to v8Array()/toNativeArray() respectively.
2371         https://bugs.webkit.org/show_bug.cgi?id=90338
2372
2373         Reviewed by Kentaro Hara.
2374
2375         We can remove v8NumberArray() and v8NumberArrayToVector() implementaion
2376         merging them to current v8Array() and toNativeArray() traits.
2377
2378         Tests: TestObj.idl
2379         Shouldn't cause any behavioural changes.
2380
2381         * bindings/scripts/CodeGeneratorV8.pm: Removed float[]/double[] specific binding code.
2382         (IsRefPtrType):
2383         (GetNativeType):
2384         (JSValueToNative):
2385         (NativeToJSValue):
2386         * bindings/scripts/test/V8/V8TestObj.cpp: Rebased binding test.
2387         (WebCore::TestObjV8Internal::floatArrayAttrGetter):
2388         (WebCore::TestObjV8Internal::floatArrayAttrSetter):
2389         (WebCore::TestObjV8Internal::doubleArrayAttrGetter):
2390         (WebCore::TestObjV8Internal::doubleArrayAttrSetter):
2391         * bindings/v8/V8Binding.h: Added templates for float and double.
2392         (WebCore::v8Array):
2393         (WebCore::toNativeArray):
2394
2395 2012-07-02  Konrad Piascik  <kpiascik@rim.com>
2396
2397         [EFL] [GTK] [QT] fast/viewport/viewport-91.html is failing after r121555
2398         https://bugs.webkit.org/show_bug.cgi?id=90286
2399
2400         Reviewed by Daniel Bates.
2401
2402         Since the deprecatedTargetDPI was an int and the deviceDPI was also an int the result
2403         was truncated.  Changed deprecatedTargetDPI to a float value. Viewport test 91 now passes.
2404
2405         * dom/ViewportArguments.h:
2406         (ViewportArguments):
2407
2408 2012-06-28  Yury Semikhatsky  <yurys@chromium.org>
2409
2410         Web Inspector: add v8 bindings memory info to the native memory graph
2411         https://bugs.webkit.org/show_bug.cgi?id=90149
2412
2413         Reviewed by Pavel Feldman.
2414
2415         Size of V8 binding maps is now reported on the memory chart.
2416
2417         * bindings/js/ScriptProfiler.h:
2418         (WebCore::ScriptProfiler::collectBindingMemoryInfo):
2419         * bindings/v8/DOMDataStore.cpp:
2420         (WebCore::DOMDataStore::reportMemoryUsage):
2421         (WebCore):
2422         * bindings/v8/DOMDataStore.h:
2423         (WebCore):
2424         (DOMDataStore):
2425         * bindings/v8/IntrusiveDOMWrapperMap.h:
2426         (WebCore::ChunkedTable::reportMemoryUsage):
2427         (ChunkedTable):
2428         * bindings/v8/ScriptProfiler.cpp:
2429         (WebCore::ScriptProfiler::collectBindingMemoryInfo):
2430         (WebCore):
2431         * bindings/v8/ScriptProfiler.h:
2432         (WebCore):
2433         (ScriptProfiler):
2434         * bindings/v8/V8Binding.cpp:
2435         (WebCore::V8BindingPerIsolateData::reportMemoryUsage):
2436         (WebCore):
2437         (WebCore::StringCache::reportMemoryUsage):
2438         * bindings/v8/V8Binding.h:
2439         (WebCore):
2440         (StringCache):
2441         (V8BindingPerIsolateData):
2442         * bindings/v8/V8DOMMap.h:
2443         (WebCore):
2444         (AbstractWeakReferenceMap):
2445         * dom/MemoryInstrumentation.h:
2446         (MemoryInstrumentation):
2447         (WebCore):
2448         (WebCore::MemoryInstrumentation::reportHashMap): added a method for reporting
2449         size of a HashMap.
2450         * inspector/InspectorMemoryAgent.cpp:
2451         (MemoryBlockName):
2452         (WebCore):
2453         (WebCore::domTreeInfo):
2454
2455 2012-07-01  Christophe Dumez  <christophe.dumez@intel.com>
2456
2457         [EFL] Add Gamepad support
2458         https://bugs.webkit.org/show_bug.cgi?id=90170
2459
2460         Reviewed by Kenneth Rohde Christiansen.
2461
2462         Add support for the Gamepad feature on the EFL port.
2463
2464         The implementation of this class relies on the Linux
2465         kernel joystick API.
2466
2467         Gamepad devices are recognized through the GamepadsEfl
2468         class, of which implementation is based on Eeze
2469         library. This way devices are properly registered on
2470         connection as objects of the GamepadDeviceEfl class
2471         which inherits GamepadDeviceLinux. GamepadDeviceEfl
2472         reads the joystick data through an Ecore_Fd_Handler
2473         and updates the device state accordingly. The
2474         GamepadsEfl object is then polled for gamepads data
2475         through the sampleGamepads method.
2476
2477         No new tests - already tested by gamepad/*
2478
2479         * CMakeLists.txt:
2480         * PlatformEfl.cmake:
2481         * platform/efl/GamepadsEfl.cpp: Added.
2482         (WebCore):
2483         (GamepadDeviceEfl):
2484         (WebCore::GamepadDeviceEfl::create):
2485         (WebCore::GamepadDeviceEfl::GamepadDeviceEfl):
2486         (WebCore::GamepadDeviceEfl::~GamepadDeviceEfl):
2487         (WebCore::GamepadDeviceEfl::readCallback):
2488         (GamepadsEfl):
2489         (WebCore::GamepadsEfl::onGamePadChange):
2490         (WebCore::GamepadsEfl::GamepadsEfl):
2491         (WebCore::GamepadsEfl::~GamepadsEfl):
2492         (WebCore::GamepadsEfl::registerDevice):
2493         (WebCore::GamepadsEfl::unregisterDevice):
2494         (WebCore::GamepadsEfl::updateGamepadList):
2495         (WebCore::sampleGamepads):
2496
2497 2012-07-01  James Robinson  <jamesr@chromium.org>
2498
2499         Unreviewed, rolling out r121635.
2500         http://trac.webkit.org/changeset/121635
2501         https://bugs.webkit.org/show_bug.cgi?id=90286
2502
2503         Breaks compile on clang error: in-class initializer for static
2504         data member of type 'const float' is a GNU extension
2505         [-Werror,-Wgnu]
2506
2507         * dom/ViewportArguments.h:
2508         (ViewportArguments):
2509
2510 2012-07-01  Timothy Hatcher  <timothy@apple.com>
2511
2512         Make the "Inspect Element" context menu item appear in nightly builds again.
2513
2514         rdar://problem/11702613
2515         https://webkit.org/b/89323
2516
2517         Reviewed by Dan Bernstein.
2518
2519         * platform/ContextMenuItem.h:
2520         Fix the order of the ContextMenuAction enum to be binary compatible with
2521         older versions of WebKit.
2522
2523 2012-07-01  Dan Bernstein  <mitz@apple.com>
2524
2525         <rdar://problem/11785743> [mac] Non-BMP characters in vertical text appear as missing glyphs
2526         https://bugs.webkit.org/show_bug.cgi?id=90349
2527
2528         Reviewed by Dean Jackson.
2529
2530         Test: platform/mac/fast/text/vertical-surrogate-pair.html
2531
2532         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
2533         (WebCore::GlyphPage::fill): When calling wkGetVerticalGlyphsForCharacters or
2534         CTFontGetGlyphsForCharacters with a buffer consisting of surrogate pair, account for those
2535         functions’ behavior of placing glyphs at indices corresponding to the first character of
2536         each pair.
2537
2538 2012-07-01  Kenichi Ishibashi  <bashi@chromium.org>
2539
2540         Arabic shaping is incorrect if ZWNJ exist
2541         https://bugs.webkit.org/show_bug.cgi?id=89843
2542
2543         Reviewed by Dan Bernstein.
2544
2545         mac port treats ZWJ (zero-width-joiner) and ZWNJ (zero-width-non-joiner) as a part of combining
2546         character sequence. This could cause a problem when the font doesn't have glyph mapping of ZWJ and ZWNJ.
2547         Suppose the text to be rendered is "U+0645(MEEM) U+06CC(FARSI YEH) U+200C(ZWNJ)". In this case, U+0645
2548         and U+06CC are rendered in isolated form if the font doesn't have a glyph for ZWNJ. They should be joined.
2549
2550         This patch changes handling of ZWJ and ZWNJ. Treats ZWJ and ZWNJ as base characters so that a complex text
2551         run isn't separate at the point of ZWJ and ZWNJ even the font doesn't contain glyphs for them.
2552         If ComplexTextController finds ZWJ, it doesn't split the current complex text run.
2553
2554         Test: platform/mac/fast/text/arabic-zwj-and-zwnj.html
2555
2556         * platform/graphics/mac/ComplexTextController.cpp:
2557         (WebCore::advanceByCombiningCharacterSequence): Don't treat ZWJ and ZWNJ as a part of combining character sequence.
2558         (WebCore::ComplexTextController::collectComplexTextRuns): Set fontData to nextFontData if the baseCharacter is ZWJ.
2559
2560 2012-07-01  Konrad Piascik  <kpiascik@rim.com>
2561
2562         [EFL] [GTK] [QT] fast/viewport/viewport-91.html is failing after r121555
2563         https://bugs.webkit.org/show_bug.cgi?id=90286
2564
2565         Reviewed by Daniel Bates.
2566
2567         Since the deprecatedTargetDPI was an int and the deviceDPI was also an int the result
2568         was truncated.  Changed deprecatedTargetDPI to a float value. Viewport test 91 now passes.
2569
2570         * dom/ViewportArguments.h:
2571         (ViewportArguments):
2572
2573 2012-06-30  Ian Vollick  <vollick@chromium.org>
2574
2575         [chromium] CanvasLayerTextureUpdater needs to convert opaque rects back to content space.
2576         https://bugs.webkit.org/show_bug.cgi?id=90092
2577
2578         The CanvasLayerTextureUpdater currently receives its opaque rects in
2579         layer space, but is expected to return them in content space and does
2580         not convert them. This patch adds this conversion. To avoid numerical
2581         errors, this patch also switches to using float rects to store opaque
2582         rects where appropriate.
2583
2584         Reviewed by Adrienne Walker.
2585
2586         Unit test: ContentLayerTest.ContentLayerPainterWithDeviceScale
2587
2588         * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
2589         (WebCore::CanvasLayerTextureUpdater::paintContents):
2590         * platform/graphics/chromium/ContentLayerChromium.cpp:
2591         (WebCore::ContentLayerPainter::ContentLayerPainter):
2592         (WebCore::ContentLayerPainter::create):
2593         (WebCore::ContentLayerPainter::paint):
2594         * platform/graphics/chromium/ContentLayerChromium.h:
2595         (WebCore):
2596         (ContentLayerDelegate):
2597         (ContentLayerPainter):
2598         * platform/graphics/chromium/LayerPainterChromium.h:
2599         (WebCore):
2600         (LayerPainterChromium):
2601         * platform/graphics/chromium/LinkHighlight.cpp:
2602         (WebCore::LinkHighlight::paintContents):
2603         * platform/graphics/chromium/LinkHighlight.h:
2604         (LinkHighlight):
2605         * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp:
2606         (WebCore::OpaqueRectTrackingContentLayerDelegate::paintContents):
2607         * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.h:
2608         (OpaqueRectTrackingContentLayerDelegate):
2609         * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
2610
2611 2012-06-30  Kwang Yul Seo  <skyul@company100.net>
2612
2613         Unreviewed. Remove unused declaration.
2614         HTMLDocumentParser::begin() has no method definition.
2615
2616         * html/parser/HTMLDocumentParser.h:
2617
2618 2012-06-29  No'am Rosenthal  <noam.rosenthal@nokia.com>
2619
2620         Unreviewed, rolling out r121569.
2621         http://trac.webkit.org/changeset/121569
2622         https://bugs.webkit.org/show_bug.cgi?id=90082
2623
2624         It broke a couple of tests in Qt Linux Release
2625
2626         * platform/graphics/qt/GraphicsContextQt.cpp:
2627         (WebCore::GraphicsContext::fillRect):
2628
2629 2012-06-29  Simon Fraser  <simon.fraser@apple.com>
2630
2631         updateDescendantDependentFlags() is inside #if USE(ACCELERATED_COMPOSITING)
2632         https://bugs.webkit.org/show_bug.cgi?id=90245
2633
2634         Reviewed by Dan Bernstein.
2635
2636         updateDescendantDependentFlags() and updateTransform() should be
2637         outside the USE(ACCELERATED_COMPOSITING) #ifdef. They do work
2638         that is needed even if accelerated compositing is disabled.
2639
2640         * rendering/RenderLayer.cpp:
2641         (WebCore::RenderLayer::styleChanged):
2642
2643 2012-06-29  Erik Arvidsson  <arv@chromium.org>
2644
2645         [V8] HTMLCollection wrappers are not retained
2646         https://bugs.webkit.org/show_bug.cgi?id=90208
2647
2648         Reviewed by Adam Barth.
2649
2650         Generate visitDOMWrapper for HTMLCollection and HTMLAllCollection so that we add an implicit reference from the owner
2651         to the collection.
2652
2653         Tests: fast/dom/htmlallcollection-reachable.html
2654                fast/dom/htmlcollection-reachable.html
2655
2656         * bindings/scripts/CodeGeneratorJS.pm:
2657         (GenerateImplementation): Instead of hard coding to use base() for HTMLAllCollection and HTMLCollection we now
2658         annotate the IDL file to use GenerateIsReachable=ImplBaseRoot.
2659         * bindings/scripts/CodeGeneratorV8.pm:
2660         (GenerateVisitDOMWrapper): Generate visitDOMWrapper if GenerateIsReachable is ImplBaseRoot.
2661         * bindings/scripts/IDLAttributes.txt: Added ImplBaseRoot.
2662         * html/HTMLAllCollection.idl: Added annotations.
2663         * html/HTMLCollection.idl: Ditto.
2664
2665 2012-06-29  Tony Chang  <tony@chromium.org>
2666
2667         All child elements of a flex container should be turned into a flex item
2668         https://bugs.webkit.org/show_bug.cgi?id=90323
2669
2670         Reviewed by Ojan Vafai.
2671
2672         We used to only convert some elements to blocks, but now we convert everything except text nodes.
2673         This was recently changed here:
2674         http://wiki.csswg.org/topics/css3-flexbox-flexbox-replaced-children
2675
2676         Tests: css3/flexbox/anonymous-block.html : Add new test case.
2677                css3/flexbox/flexitem.html: Update results.
2678
2679         * css/StyleResolver.cpp:
2680         (WebCore::StyleResolver::collectMatchingRulesForList):
2681
2682 2012-06-29  Joshua Bell  <jsbell@chromium.org>
2683
2684         IndexedDB: Keep direction on IDBCursor to avoid calls to back end
2685         https://bugs.webkit.org/show_bug.cgi?id=90114
2686
2687         Reviewed by Tony Chang.
2688
2689         Let IDBCursor handle direction() accessor locally, without a call to
2690         the IDBCursorBackendImpl which (in some ports) may reside in a different
2691         process. Not a heavily called function, but further reduces the surface
2692         area exposed by the XXXInterface classes.
2693
2694         No new tests - no functional changes.
2695
2696         * Modules/indexeddb/IDBCursor.cpp:
2697         (WebCore::IDBCursor::create): Accept direction, known at creation time.
2698         (WebCore::IDBCursor::IDBCursor): Stash in member.
2699         (WebCore::IDBCursor::direction): Use local copy
2700         (WebCore::IDBCursor::stringToDirection): Return enum value, not int.
2701         * Modules/indexeddb/IDBCursor.h:
2702         (IDBCursor):
2703         * Modules/indexeddb/IDBCursorBackendImpl.cpp: Remove accessor.
2704         * Modules/indexeddb/IDBCursorBackendImpl.h:
2705         (IDBCursorBackendImpl):
2706         * Modules/indexeddb/IDBCursorBackendInterface.h: Remove accessor.
2707         * Modules/indexeddb/IDBCursorWithValue.cpp:
2708         (WebCore::IDBCursorWithValue::create):
2709         (WebCore::IDBCursorWithValue::IDBCursorWithValue):
2710         * Modules/indexeddb/IDBCursorWithValue.h:
2711         (IDBCursorWithValue):
2712         * Modules/indexeddb/IDBIndex.cpp: Prep IDBRequest with cursor direction too.
2713         (WebCore::IDBIndex::openCursor):
2714         (WebCore::IDBIndex::openKeyCursor):
2715         * Modules/indexeddb/IDBObjectStore.cpp: Ditto.
2716         (WebCore::IDBObjectStore::openCursor):
2717         * Modules/indexeddb/IDBRequest.cpp: Stash direction for pending cursor too.
2718         (WebCore::IDBRequest::IDBRequest):
2719         (WebCore::IDBRequest::setCursorDetails):
2720         (WebCore::IDBRequest::onSuccess): Apply stashed direction to new cursor.
2721         * Modules/indexeddb/IDBRequest.h:
2722         (IDBRequest):
2723
2724 2012-06-29  Tony Chang  <tony@chromium.org>
2725
2726         Allow align-self: stretch to cause the item size to shrink below its intrinsic size
2727         https://bugs.webkit.org/show_bug.cgi?id=90304
2728
2729         Reviewed by Ojan Vafai.
2730
2731         The spec used to say that stretch could only make items grow, but now
2732         it allows items to shrink.
2733         http://dev.w3.org/csswg/css3-flexbox/#align-items-stretch
2734
2735         Tests: css3/flexbox/flex-align-stretch.html Updated expectations.
2736                css3/flexbox/child-overflow.html Updated expectations.
2737
2738         * rendering/RenderFlexibleBox.cpp:
2739         (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild):
2740
2741 2012-06-29  James Weatherall  <wez@chromium.org>
2742
2743         NPObjectWrapper may not address all window script object lifetime issues
2744         https://bugs.webkit.org/show_bug.cgi?id=85679
2745
2746         The ScriptController implementations force-deallocate the window script object to ensure that DOM objects are not leaked if an NPAPI plugin fails to release a reference to it before being destroyed. The NPObjectWrapper was added to ensure that NPAPI scripting could not touch the real window script object after it had been deallocated, by providing the plugin with a small wrapper which will leak if the plugin fails to dereference it.
2747
2748         This patch removes NPObjectWrapper and instead drops the window script NPObject's reference to the underlying V8Object in ScriptController::clearScriptObjects(). If a plugin fails to dereference the object then the NPV8Object wrapper will be leaked but the DOM objects it references will not.
2749
2750         Reviewed by Nate Chapin.
2751
2752         Test: plugins/npruntime/leak-window-scriptable-object.html
2753
2754         * WebCore.gypi:
2755         * bindings/v8/NPObjectWrapper.cpp: Removed.
2756         * bindings/v8/NPObjectWrapper.h: Removed.
2757         * bindings/v8/NPV8Object.cpp:
2758         (WebCore::disposeUnderlyingV8Object):
2759         (WebCore):
2760         (WebCore::freeV8NPObject):
2761         (_NPN_Invoke):
2762         (_NPN_InvokeDefault):
2763         (_NPN_EvaluateHelper):
2764         (_NPN_GetProperty):
2765         (_NPN_SetProperty):
2766         (_NPN_RemoveProperty):
2767         (_NPN_HasProperty):
2768         (_NPN_HasMethod):
2769         (_NPN_Enumerate):
2770         (_NPN_Construct):
2771         * bindings/v8/NPV8Object.h:
2772         (WebCore):
2773         * bindings/v8/ScriptController.cpp:
2774         (WebCore::ScriptController::ScriptController):
2775         (WebCore::ScriptController::clearScriptObjects):
2776         (WebCore::ScriptController::windowScriptNPObject):
2777         * bindings/v8/ScriptController.h:
2778         (ScriptController):
2779
2780 2012-06-29  Adam Barth  <abarth@webkit.org>
2781
2782         Update complex fonts on Android to use fonts from a newer SDK
2783         https://bugs.webkit.org/show_bug.cgi?id=90296
2784
2785         Reviewed by Nate Chapin.
2786
2787         These fonts are available in the Jelly Bean SDK.
2788
2789         * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp:
2790         (WebCore::ComplexTextController::ComplexTextController):
2791         (WebCore::ComplexTextController::getComplexFontPlatformData):
2792
2793 2012-06-29  Ryosuke Niwa  <rniwa@webkit.org>
2794
2795         HTMLCollection's caches should be owned by either ElementRareData or Document
2796         https://bugs.webkit.org/show_bug.cgi?id=90322
2797
2798         Reviewed by Anders Carlsson.
2799
2800         Removed all instances of OwnPtr<HTMLCollection> except ones on ElementRareData and Document.
2801         ElementRareData::ensureCachedHTMLCollection then polymorphically creates HTMLCollection or
2802         its subclass as deemed necessary.
2803
2804         This refactoring allows us to move HTMLCollection to use the same invalidation model as
2805         DynamicNodeList (invalidated during DOM mutations) in a follow up.
2806
2807         * dom/Document.cpp:
2808         (WebCore::Document::all):
2809         * dom/Document.h:
2810         (Document):
2811         * dom/Element.cpp:
2812         (WebCore::ElementRareData::ensureCachedHTMLCollection):
2813         (WebCore):
2814         (WebCore::Element::cachedHTMLCollection):
2815         * dom/Element.h:
2816         (Element):
2817         * dom/ElementRareData.h:
2818         (WebCore):
2819         (ElementRareData):
2820         (WebCore::ElementRareData::cachedHTMLCollection):
2821         * dom/Node.cpp:
2822         (WebCore):
2823         * dom/Node.h:
2824         (Node):
2825         * dom/NodeRareData.h:
2826         (WebCore::NodeRareData::setItemType):
2827         (NodeRareData):
2828         * html/CollectionType.h:
2829         * html/HTMLCollection.cpp:
2830         (WebCore::shouldIncludeChildren):
2831         (WebCore::HTMLCollection::isAcceptableElement):
2832         * html/HTMLElement.cpp:
2833         (WebCore):
2834         (WebCore::HTMLElement::properties):
2835         * html/HTMLElement.h:
2836         (HTMLElement):
2837         * html/HTMLFieldSetElement.cpp:
2838         (WebCore::HTMLFieldSetElement::elements):
2839         * html/HTMLFieldSetElement.h:
2840         (HTMLFieldSetElement):
2841         * html/HTMLFormCollection.cpp:
2842         (WebCore::HTMLFormCollection::HTMLFormCollection):
2843         (WebCore::HTMLFormCollection::create):
2844         * html/HTMLFormCollection.h:
2845         (HTMLFormCollection):
2846         * html/HTMLFormElement.cpp:
2847         (WebCore::HTMLFormElement::elements):
2848         * html/HTMLFormElement.h:
2849         * html/HTMLOptionsCollection.cpp:
2850         (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
2851         (WebCore::HTMLOptionsCollection::create):
2852         * html/HTMLOptionsCollection.h:
2853         (HTMLOptionsCollection):
2854         * html/HTMLSelectElement.cpp:
2855         (WebCore::HTMLSelectElement::selectedOptions):
2856         (WebCore::HTMLSelectElement::options):
2857         (WebCore::HTMLSelectElement::invalidateSelectedItems):
2858         (WebCore::HTMLSelectElement::setRecalcListItems):
2859         * html/HTMLSelectElement.h:
2860         * html/HTMLTableElement.cpp:
2861         (WebCore::HTMLTableElement::rows):
2862         * html/HTMLTableElement.h:
2863         * html/HTMLTableRowsCollection.cpp:
2864         (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection):
2865         (WebCore::HTMLTableRowsCollection::create):
2866         * html/HTMLTableRowsCollection.h:
2867         (HTMLTableRowsCollection):
2868
2869 2012-06-29  Ojan Vafai  <ojan@chromium.org>
2870
2871         Add FIXMEs for vertical writing mode and override sizes.
2872         * rendering/RenderBox.cpp:
2873         (WebCore::RenderBox::overrideLogicalContentWidth):
2874         (WebCore::RenderBox::overrideLogicalContentHeight):
2875
2876 2012-06-29  James Robinson  <jamesr@chromium.org>
2877
2878         [chromium] Use CCThread::Task in compositor's RateLimiter instead of Timer
2879         https://bugs.webkit.org/show_bug.cgi?id=90300
2880
2881         Reviewed by Adrienne Walker.
2882
2883         * platform/graphics/chromium/RateLimiter.cpp:
2884         (RateLimiter::Task):
2885         (WebCore::RateLimiter::Task::create):
2886         (WebCore::RateLimiter::Task::~Task):
2887         (WebCore::RateLimiter::Task::Task):
2888         (WebCore):
2889         (WebCore::RateLimiter::RateLimiter):
2890         (WebCore::RateLimiter::start):
2891         (WebCore::RateLimiter::stop):
2892         (WebCore::RateLimiter::rateLimitContext):
2893         * platform/graphics/chromium/RateLimiter.h:
2894         (WebCore):
2895         (RateLimiter):
2896         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2897         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
2898
2899 2012-06-29  Tony Payne  <tpayne@chromium.org>
2900
2901         Remove type from screenColorProfile API
2902         https://bugs.webkit.org/show_bug.cgi?id=90299
2903
2904         Reviewed by Adam Barth.
2905
2906         Covered by existing tests.
2907
2908         * platform/PlatformScreen.h:
2909         (WebCore): Removed type from screenColorProfile().
2910         * platform/blackberry/PlatformScreenBlackBerry.cpp:
2911         (WebCore::screenColorProfile):
2912         * platform/chromium/PlatformScreenChromium.cpp:
2913         (WebCore::screenColorProfile):
2914         * platform/efl/PlatformScreenEfl.cpp:
2915         (WebCore::screenColorProfile):
2916         * platform/gtk/PlatformScreenGtk.cpp:
2917         (WebCore::screenColorProfile):
2918         * platform/image-decoders/ImageDecoder.h:
2919         (WebCore::ImageDecoder::qcmsOutputDeviceProfile): Updated call to
2920         screenColorProfile() to not pass type param.
2921         * platform/mac/PlatformScreenMac.mm:
2922         (WebCore::screenColorProfile):
2923         * platform/qt/PlatformScreenQt.cpp:
2924         (WebCore::screenColorProfile):
2925         * platform/win/PlatformScreenWin.cpp:
2926         (WebCore::screenColorProfile):
2927
2928 2012-06-29  Emil A Eklund  <eae@chromium.org>
2929
2930         Allow non-borders to be adjusted to less than 1 when zoomed out
2931         https://bugs.webkit.org/show_bug.cgi?id=90104
2932
2933         Reviewed by Eric Seidel.
2934
2935         Change CSSPrimitiveValue::computeLengthDouble to allow values to be
2936         adjusted to less than 1.0 when zoomed out. This avoids an off by one
2937         error for floats with margins when zoomed out that can cause floats to
2938         wrap and break pages.
2939
2940         The logic that prevents the value from being adjusted to less than 1 was
2941         added to ensure that borders are still painted even when zoomed out.
2942         By moving the logic to ApplyPropertyComputeLength::applyValue, which is
2943         used for borders and outlines, that functionality is preserved.
2944
2945         Test: fast/sub-pixel/float-with-margin-in-container.html
2946
2947         * css/CSSPrimitiveValue.cpp:
2948         (WebCore::CSSPrimitiveValue::computeLengthDouble):
2949         * css/StyleBuilder.cpp:
2950         (WebCore::ApplyPropertyComputeLength::applyValue):
2951
2952 2012-06-29  Ryosuke Niwa  <rniwa@webkit.org>
2953
2954         Let Xcode have its own way after r121513.
2955
2956         * WebCore.xcodeproj/project.pbxproj:
2957
2958 2012-06-29  Mihai Balan  <mibalan@adobe.com>
2959
2960         [CSS Regions] Adding feature defines for CSS Regions for Windows
2961         https://bugs.webkit.org/show_bug.cgi?id=88645
2962
2963         Reviewed by Tony Chang.
2964
2965         Re-trying to enable CSS regions on Windows. This time only enabling
2966         regions (not exclusions) because of some strange compilation/linking
2967         issues.
2968
2969         * css/CSSPropertyNames.in: Touched file to make sure property names get properly rebuilt.
2970
2971 2012-06-29  Hanna Ma  <Hanma@rim.com>
2972
2973         Web Inspector: Add data length to resource events on timeline to
2974         keep track of the amount of data loaded and the total data length
2975         https://bugs.webkit.org/show_bug.cgi?id=89244
2976
2977         Reviewed by Pavel Feldman.
2978
2979         Added data length to inspector timeline popup
2980         content for resources to keep track of the amount of data loaded.
2981         Tests: inspector/timeline/timeline-network-received-data.html
2982
2983         * English.lproj/localizedStrings.js:
2984         * inspector/InspectorInstrumentation.cpp:
2985         (WebCore::InspectorInstrumentation::willReceiveResourceDataImpl):
2986         * inspector/InspectorInstrumentation.h:
2987         (InspectorInstrumentation):
2988         (WebCore::InspectorInstrumentation::willReceiveResourceData):
2989         * inspector/InspectorTimelineAgent.cpp:
2990         (WebCore::InspectorTimelineAgent::willReceiveResourceData):
2991         * inspector/InspectorTimelineAgent.h:
2992         (InspectorTimelineAgent):
2993         * inspector/TimelineRecordFactory.cpp:
2994         (WebCore::TimelineRecordFactory::createReceiveResourceData):
2995         * inspector/TimelineRecordFactory.h:
2996         (TimelineRecordFactory):
2997         * inspector/front-end/TimelinePanel.js:
2998         (WebInspector.TimelinePanel.prototype._showPopover):
2999         * inspector/front-end/TimelinePresentationModel.js:
3000         (WebInspector.TimelinePresentationModel.prototype.reset):
3001         (WebInspector.TimelinePresentationModel.Record):
3002         (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
3003         * loader/ResourceLoader.cpp:
3004         (WebCore::ResourceLoader::didReceiveData):
3005         * inspector/timeline/timeline-network-received-data.html: Added.
3006         * inspector/timeline/timeline-network-received-data-expected.txt: Added.
3007         * inspector/timeline/timeline-test.js:
3008
3009 2012-06-29  Shawn Singh  <shawnsingh@chromium.org>
3010
3011         Unreviewed build fix after 121580.
3012
3013         WebKit Linux debug bots was complaining about signed vs unsigned integer comparison.
3014
3015         * html/HTMLCollection.h:
3016         (WebCore::HTMLCollectionCacheBase::HTMLCollectionCacheBase):
3017
3018 2012-06-28  James Robinson  <jamesr@chromium.org>
3019
3020         [chromium] Remove mapRect and mapQuad from WebTransformationMatrix
3021         https://bugs.webkit.org/show_bug.cgi?id=90230
3022
3023         Reviewed by Adrienne Walker.
3024
3025         Replaces calls to WebTransformationMatrix::mapRect/mapQuad with clipping-aware calls to CCMathUtils. In most
3026         cases, we do not expect clipping to happen. For others (such as area calculations in CCOverdrawMetrics) we can
3027         handle a clipped quad easily.
3028
3029         * platform/chromium/support/WebTransformationMatrix.cpp:
3030         * platform/graphics/chromium/LayerRendererChromium.cpp:
3031         (WebCore::LayerRendererChromium::drawRenderPassQuad):
3032         (WebCore::LayerRendererChromium::drawTileQuad):
3033         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
3034         (WebCore::RenderSurfaceChromium::drawableContentRect):
3035         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
3036         (WebCore::CCLayerImpl::getDrawRect):
3037         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
3038         (WebCore::transformSurfaceOpaqueRegion):
3039         (WebCore::addOcclusionBehindLayer):
3040         * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
3041         (WebCore):
3042         (WebCore::polygonArea):
3043         (WebCore::areaOfMappedQuad):
3044         (WebCore::CCOverdrawMetrics::didUpload):
3045         (WebCore::CCOverdrawMetrics::didCullForDrawing):
3046         (WebCore::CCOverdrawMetrics::didDraw):
3047         * platform/graphics/chromium/cc/CCRenderPass.cpp:
3048         (WebCore::CCRenderPass::appendQuadsToFillScreen):
3049         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
3050         (WebCore::CCRenderSurface::drawableContentRect):
3051         * platform/graphics/chromium/cc/CCSharedQuadState.cpp:
3052         (WebCore::CCSharedQuadState::isLayerAxisAlignedIntRect):
3053
3054 2012-06-29  Ryosuke Niwa  <rniwa@webkit.org>
3055
3056         Mac build fix after r121575. It rolls out r121547 but didn't roll out the follow up build fix r121553.
3057
3058         * platform/graphics/mac/FontCustomPlatformData.h:
3059         (FontCustomPlatformData):
3060
3061 2012-06-29  Ryosuke Niwa  <rniwa@webkit.org>
3062
3063         Share the same cache in HTMLCollection and DynamicNodeLists
3064         https://bugs.webkit.org/show_bug.cgi?id=90118
3065
3066         Reviewed by Anders Carlsson.
3067
3068         This patch introduces two new base classes DynamicNodeListCacheBase and HTMLCollectionCacheBase to share
3069         the cache object between DynamicNodeList and HTMLCollection. HTMLCollectionCacheBase inherits from
3070         DynamicNodeListCacheBase and contains extra caches and bit flags for HTMLCollection. DynamicNodeList::Cache
3071         and HTMLCollection::Cache had been removed and flattened into these two classes for the easy inheritance.
3072
3073         In DynamicNodeList, we have a very straight forward one-to-one mapping from old Caches member variables:
3074
3075         m_caches.lastItem -> cachedItem()
3076         m_caches.lastItemOffset -> cachedItemOffset()
3077         m_caches.cachedLength -> cachedLength()
3078         m_caches.isItemCacheValid -> isItemCacheValid()
3079         m_caches.isLengthCacheValid -> isLengthCacheValid()
3080         m_caches.type -> removed because it was never used.
3081         m_caches.rootedAtDocument -> isRootedAtDocument()
3082         m_caches.shouldInvalidateOnAttributeChange -> shouldInvalidateOnAttributeChange()
3083
3084         In HTMLCollection, there is one semantic change in the way item cache is managed. Previously, we only had
3085         m_cache.current which was used as both cachedItem() and isItemCacheValid() (not valid when current is null).
3086         There are some asymmetric code changes due to one-to-many relationship. Also, all method names have been updated
3087         to use that of DynamicNodeList terminology. Thus we have the following correspondence:
3088
3089         m_cache.current -> cachedItem() / isItemCacheValid()
3090         m_cache.position -> cachedItemOffset()
3091         m_cache.length -> cachedLength()
3092         m_cache.elementsArrayPosition -> cachedElementsArrayOffset()
3093         m_cache.hasLength -> isLengthCacheValid()
3094         m_cache.hasNameCache -> hasNameCache() / setHasNameCache()
3095         m_cache.idCache -> idCache() / addIdCache()
3096         m_cache.nameCache -> idCache() / addNameCache()
3097
3098         In addition, we had to rename HTMLCollection::clearCache to invalidateCache to avoid the name collision with
3099         HTMLCollectionCacheBase::clearCache.
3100
3101         * dom/ChildNodeList.cpp:
3102         (WebCore::ChildNodeList::length):
3103         (WebCore::ChildNodeList::item):
3104         * dom/DynamicNodeList.cpp:
3105         (WebCore::DynamicSubtreeNodeList::length):
3106         (WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent):
3107         (WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent):
3108         (WebCore::DynamicSubtreeNodeList::item):
3109         * dom/DynamicNodeList.h:
3110         (DynamicNodeListCacheBase):
3111         (WebCore::DynamicNodeListCacheBase::DynamicNodeListCacheBase):
3112         (WebCore::DynamicNodeListCacheBase::isRootedAtDocument):
3113         (WebCore::DynamicNodeListCacheBase::shouldInvalidateOnAttributeChange):
3114         (WebCore::DynamicNodeListCacheBase::isItemCacheValid):
3115         (WebCore::DynamicNodeListCacheBase::cachedItem):
3116         (WebCore::DynamicNodeListCacheBase::cachedItemOffset):
3117         (WebCore::DynamicNodeListCacheBase::isLengthCacheValid):
3118         (WebCore::DynamicNodeListCacheBase::cachedLength):
3119         (WebCore::DynamicNodeListCacheBase::setLengthCache):
3120         (WebCore::DynamicNodeListCacheBase::setItemCache):
3121         (WebCore::DynamicNodeListCacheBase::clearCache):
3122         (WebCore):
3123         (WebCore::DynamicNodeList::DynamicNodeList):
3124         (WebCore::DynamicNodeList::invalidateCache):
3125         (WebCore::DynamicNodeList::rootNode):
3126         (DynamicNodeList):
3127         * html/HTMLAllCollection.cpp:
3128         (WebCore::HTMLAllCollection::namedItemWithIndex):
3129         * html/HTMLCollection.cpp:
3130         (WebCore::HTMLCollection::HTMLCollection):
3131         (WebCore::HTMLCollection::invalidateCacheIfNeeded):
3132         (WebCore::HTMLCollection::invalidateCache):
3133         (WebCore::HTMLCollection::isAcceptableElement):
3134         (WebCore::HTMLCollection::itemAfter):
3135         (WebCore::HTMLCollection::length):
3136         (WebCore::HTMLCollection::item):
3137         (WebCore::HTMLCollection::checkForNameMatch):
3138         (WebCore::HTMLCollection::namedItem):
3139         (WebCore::HTMLCollection::updateNameCache):
3140         (WebCore::HTMLCollection::hasNamedItem):
3141         (WebCore::HTMLCollection::namedItems):
3142         (WebCore::HTMLCollectionCacheBase::append):
3143         * html/HTMLCollection.h:
3144         (HTMLCollectionCacheBase):
3145         (WebCore::HTMLCollectionCacheBase::HTMLCollectionCacheBase):
3146         (WebCore::HTMLCollectionCacheBase::type):
3147         (WebCore::HTMLCollectionCacheBase::clearCache):
3148         (WebCore::HTMLCollectionCacheBase::setItemCache):
3149         (WebCore::HTMLCollectionCacheBase::cachedElementsArrayOffset):
3150         (WebCore::HTMLCollectionCacheBase::includeChildren):
3151         (WebCore::HTMLCollectionCacheBase::cacheTreeVersion):
3152         (WebCore::HTMLCollectionCacheBase::idCache):
3153         (WebCore::HTMLCollectionCacheBase::nameCache):
3154         (WebCore::HTMLCollectionCacheBase::appendIdCache):
3155         (WebCore::HTMLCollectionCacheBase::appendNameCache):
3156         (WebCore::HTMLCollectionCacheBase::hasNameCache):
3157         (WebCore::HTMLCollectionCacheBase::setHasNameCache):
3158         (WebCore):
3159         (WebCore::HTMLCollection::isEmpty):
3160         (WebCore::HTMLCollection::hasExactlyOneItem):
3161         (WebCore::HTMLCollection::base):
3162         (HTMLCollection):
3163         * html/HTMLFormCollection.cpp:
3164         (WebCore::HTMLFormCollection::item):
3165         (WebCore::HTMLFormCollection::updateNameCache):
3166         * html/HTMLNameCollection.cpp:
3167         (WebCore::HTMLNameCollection::itemAfter):
3168         * html/HTMLNameCollection.h:
3169         (HTMLNameCollection):
3170         * html/HTMLSelectElement.cpp:
3171         (WebCore::HTMLSelectElement::invalidateSelectedItems):
3172         * html/HTMLTableRowsCollection.cpp:
3173         (WebCore::HTMLTableRowsCollection::itemAfter):
3174         * html/HTMLTableRowsCollection.h:
3175         (HTMLTableRowsCollection):
3176
3177 2012-06-29  Tony Chang  <tony@chromium.org>
3178
3179         Unreviewed, rolling out r121572.
3180         http://trac.webkit.org/changeset/121572
3181         https://bugs.webkit.org/show_bug.cgi?id=90249
3182
3183         Breaks Mac build since it depends on r121547, which was rolled
3184         out
3185
3186         * WebCore.exp.in:
3187         * page/AlternativeTextClient.h:
3188         * page/ContextMenuController.cpp:
3189         (WebCore::ContextMenuController::populate):
3190         * platform/graphics/cg/ImageBufferDataCG.h:
3191         * platform/graphics/mac/GraphicsContextMac.mm:
3192         (WebCore::GraphicsContext::drawLineForDocumentMarker):
3193         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3194         (WebCore::MediaPlayerPrivateQTKit::setClosedCaptionsVisible):
3195         * platform/mac/WebCoreSystemInterface.h:
3196         * platform/network/Credential.h:
3197         * platform/network/cf/ResourceRequestCFNet.cpp:
3198         (WebCore):
3199         (WebCore::initializeMaximumHTTPConnectionCountPerHost):
3200         * platform/text/TextChecking.h:
3201         (WebCore):
3202         * rendering/RenderLayerBacking.cpp:
3203         (WebCore::RenderLayerBacking::containsPaintedContent):
3204
3205 2012-06-29  Tony Chang  <tony@chromium.org>
3206
3207         Unreviewed, rolling out r121547.
3208         http://trac.webkit.org/changeset/121547
3209         https://bugs.webkit.org/show_bug.cgi?id=90256
3210
3211         Breaks Chromium Mac build
3212
3213         * platform/LocalizedStrings.cpp:
3214         (WebCore::imageTitle):
3215         * platform/graphics/cg/GraphicsContextCG.cpp:
3216         (WebCore::GraphicsContext::setAllowsFontSmoothing):
3217         * platform/graphics/cg/ImageCG.cpp:
3218         (WebCore::Image::drawPattern):
3219         * platform/graphics/cg/ImageSourceCG.cpp:
3220         (WebCore::ImageSource::clear):
3221         * platform/graphics/cg/PathCG.cpp:
3222         (WebCore::Path::boundingRect):
3223         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
3224         (WebCore):
3225         (WebCore::canSetCascadeListForCustomFont):
3226         (WebCore::FontPlatformData::ctFont):
3227         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3228         * platform/graphics/mac/ComplexTextController.cpp:
3229         * platform/graphics/mac/FontCacheMac.mm:
3230         (WebCore):
3231         (WebCore::fontCacheATSNotificationCallback):
3232         (WebCore::FontCache::platformInit):
3233         * platform/graphics/mac/FontCustomPlatformData.cpp:
3234         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
3235         (WebCore::createFontCustomPlatformData):
3236         * platform/graphics/mac/FontCustomPlatformData.h:
3237         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
3238         * platform/graphics/mac/SimpleFontDataMac.mm:
3239         (WebCore::SimpleFontData::platformInit):
3240         * platform/graphics/mac/WebLayer.h:
3241         * platform/mac/CursorMac.mm:
3242         (WebCore::Cursor::ensurePlatformCursor):
3243         * platform/mac/DisplaySleepDisabler.cpp:
3244         (WebCore::DisplaySleepDisabler::DisplaySleepDisabler):
3245         (WebCore):
3246         (WebCore::DisplaySleepDisabler::systemActivityTimerFired):
3247         * platform/mac/DisplaySleepDisabler.h:
3248         (DisplaySleepDisabler):
3249         * platform/mac/HTMLConverter.h:
3250         * platform/mac/HTMLConverter.mm:
3251         * platform/mac/PopupMenuMac.mm:
3252         (WebCore::PopupMenuMac::populate):
3253         * platform/mac/ScrollElasticityController.mm:
3254
3255 2012-06-29  Eric Penner  <epenner@google.com>
3256
3257         [chromium] Adding PrioritizedTexture and replacing ContentsTextureManager
3258         https://bugs.webkit.org/show_bug.cgi?id=84308
3259
3260         Reviewed by Adrienne Walker.
3261
3262         PrioritizedTextures have a priority such that all texture requests can be
3263         prioritized. There are three steps involved:
3264             - Call setRequestPriority()
3265             - Check if the request succeeded with canAcquireBackingTexture()
3266             - Call acquireBackingTexture() when uploading a new texture.
3267
3268         Internally both the texture requests and the backing textures get sorted.
3269         Requests are sorted so they can be prioritized. Backing textures are sorted
3270         so that they can be recycled/evicted in the right order (lowest priority first).
3271
3272         Prioritizing textures doesn't assign backing textures to texture requests but
3273         rather just marks which textures can have a backing texture "when needed". This
3274         allows us to keep the old textures in use as long as possible.
3275
3276         The unit tests support all the use cases from the original texture manager
3277         but also adds assumptions about priority order throughout all the tests. The
3278         function assertInvariants() is added to test the validity of the manager
3279         and all textures/allocations within it.
3280
3281         The TiledLayerChromium tests are updated to request textures first with
3282         prioritizeTextures(), and update them with the updater (such that allocate
3283         gets called) before pushPropertiesTo is called (when they need to be valid).
3284
3285         * WebCore.gypi:
3286         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
3287         (WebCore::BitmapCanvasLayerTextureUpdater::Texture::Texture):
3288         (WebCore::BitmapCanvasLayerTextureUpdater::createTexture):
3289         (WebCore::BitmapCanvasLayerTextureUpdater::updateTextureRect):
3290         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
3291         (WebCore):
3292         (Texture):
3293         (BitmapCanvasLayerTextureUpdater):
3294         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
3295         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::Texture):
3296         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::createTexture):
3297         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
3298         (Texture):
3299         (BitmapSkPictureCanvasLayerTextureUpdater):
3300         * platform/graphics/chromium/ContentLayerChromium.cpp:
3301         (WebCore::ContentLayerChromium::setTexturePriorities):
3302         (WebCore):
3303         (WebCore::ContentLayerChromium::update):
3304         * platform/graphics/chromium/ContentLayerChromium.h:
3305         (ContentLayerChromium):
3306         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
3307         (WebCore::createAcceleratedCanvas):
3308         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::Texture):
3309         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::createTexture):
3310         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
3311         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h:
3312         (Texture):
3313         (FrameBufferSkPictureCanvasLayerTextureUpdater):
3314         * platform/graphics/chromium/ImageLayerChromium.cpp:
3315         (WebCore::ImageLayerTextureUpdater::Texture::Texture):
3316         (WebCore::ImageLayerTextureUpdater::createTexture):
3317         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
3318         (WebCore::ImageLayerChromium::setTexturePriorities):
3319         (WebCore):
3320         * platform/graphics/chromium/ImageLayerChromium.h:
3321         (ImageLayerChromium):
3322         * platform/graphics/chromium/LayerChromium.h:
3323         (LayerChromium):
3324         (WebCore::LayerChromium::setTexturePriorities):
3325         * platform/graphics/chromium/LayerTextureUpdater.h:
3326         (WebCore::LayerTextureUpdater::Texture::texture):
3327         (WebCore::LayerTextureUpdater::Texture::swapTextureWith):
3328         (WebCore::LayerTextureUpdater::Texture::Texture):
3329         (Texture):
3330         * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
3331         (WebCore::ScrollbarLayerChromium::pushPropertiesTo):
3332         (WebCore::ScrollbarLayerChromium::createTextureUpdaterIfNeeded):
3333         (WebCore::ScrollbarLayerChromium::updatePart):
3334         (WebCore):
3335         (WebCore::ScrollbarLayerChromium::setTexturePriorities):
3336         * platform/graphics/chromium/ScrollbarLayerChromium.h:
3337         (ScrollbarLayerChromium):
3338         * platform/graphics/chromium/TiledLayerChromium.cpp:
3339         (WebCore::UpdatableTile::managedTexture):
3340         (WebCore::TiledLayerChromium::pushPropertiesTo):
3341         (WebCore::TiledLayerChromium::textureManager):
3342         (WebCore::TiledLayerChromium::createTile):
3343         (WebCore::TiledLayerChromium::tileNeedsBufferedUpdate):
3344         (WebCore::TiledLayerChromium::updateTiles):
3345         (WebCore::TiledLayerChromium::setTexturePriorities):
3346         (WebCore):
3347         (WebCore::TiledLayerChromium::setTexturePrioritiesInRect):
3348         (WebCore::TiledLayerChromium::resetUpdateState):
3349         (WebCore::TiledLayerChromium::updateLayerRect):
3350         (WebCore::TiledLayerChromium::idleUpdateLayerRect):
3351         (WebCore::TiledLayerChromium::needsIdlePaint):
3352         (WebCore::TiledLayerChromium::idlePaintRect):
3353         * platform/graphics/chromium/TiledLayerChromium.h:
3354         (TiledLayerChromium):
3355         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3356         (WebCore::CCLayerTreeHost::initializeLayerRenderer):
3357         (WebCore::CCLayerTreeHost::deleteContentsTexturesOnImplThread):
3358         (WebCore::CCLayerTreeHost::beginCommitOnImplThread):
3359         (WebCore::CCLayerTreeHost::commitComplete):
3360         (WebCore::CCLayerTreeHost::evictAllContentTextures):
3361         (WebCore::CCLayerTreeHost::contentsTextureManager):
3362         (WebCore::CCLayerTreeHost::updateLayers):
3363         (WebCore::CCLayerTreeHost::prioritizeTextures):
3364         (WebCore::CCLayerTreeHost::deleteTextureAfterCommit):
3365         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3366         (WebCore):
3367         (CCLayerTreeHost):
3368         * platform/graphics/chromium/cc/CCPrioritizedTexture.cpp: Added.
3369         (WebCore):
3370         (WebCore::CCPrioritizedTexture::CCPrioritizedTexture):
3371         (WebCore::CCPrioritizedTexture::~CCPrioritizedTexture):
3372         (WebCore::CCPrioritizedTexture::setTextureManager):
3373         (WebCore::CCPrioritizedTexture::setDimensions):
3374         (WebCore::CCPrioritizedTexture::requestLate):
3375         (WebCore::CCPrioritizedTexture::acquireBackingTexture):
3376         (WebCore::CCPrioritizedTexture::textureId):
3377         (WebCore::CCPrioritizedTexture::bindTexture):
3378         (WebCore::CCPrioritizedTexture::framebufferTexture2D):
3379         (WebCore::CCPrioritizedTexture::setCurrentBacking):
3380         * platform/graphics/chromium/cc/CCPrioritizedTexture.h: Added.
3381         (WebCore):
3382         (CCPrioritizedTexture):
3383         (WebCore::CCPrioritizedTexture::create):
3384         (WebCore::CCPrioritizedTexture::textureManager):
3385         (WebCore::CCPrioritizedTexture::format):
3386         (WebCore::CCPrioritizedTexture::size):
3387         (WebCore::CCPrioritizedTexture::memorySizeBytes):
3388         (WebCore::CCPrioritizedTexture::setRequestPriority):
3389         (WebCore::CCPrioritizedTexture::requestPriority):
3390         (WebCore::CCPrioritizedTexture::canAcquireBackingTexture):
3391         (WebCore::CCPrioritizedTexture::haveBackingTexture):
3392         (Backing):
3393         (WebCore::CCPrioritizedTexture::Backing::size):
3394         (WebCore::CCPrioritizedTexture::Backing::format):
3395         (WebCore::CCPrioritizedTexture::Backing::memorySizeBytes):
3396         (WebCore::CCPrioritizedTexture::Backing::textureId):
3397         (WebCore::CCPrioritizedTexture::Backing::currentTexture):
3398         (WebCore::CCPrioritizedTexture::Backing::setCurrentTexture):
3399         (WebCore::CCPrioritizedTexture::Backing::Backing):
3400         (WebCore::CCPrioritizedTexture::Backing::~Backing):
3401         (WebCore::CCPrioritizedTexture::isAbovePriorityCutoff):
3402         (WebCore::CCPrioritizedTexture::setAbovePriorityCutoff):
3403         (WebCore::CCPrioritizedTexture::setManagerInternal):
3404         (WebCore::CCPrioritizedTexture::currentBacking):
3405         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp: Added.
3406         (WebCore):
3407         (WebCore::CCPrioritizedTextureManager::CCPrioritizedTextureManager):
3408         (WebCore::CCPrioritizedTextureManager::~CCPrioritizedTextureManager):
3409         (WebCore::CCPrioritizedTextureManager::setMemoryAllocationLimitBytes):
3410         (WebCore::CCPrioritizedTextureManager::prioritizeTextures):
3411         (WebCore::CCPrioritizedTextureManager::clearPriorities):
3412         (WebCore::CCPrioritizedTextureManager::requestLate):
3413         (WebCore::CCPrioritizedTextureManager::acquireBackingTextureIfNeeded):
3414         (WebCore::CCPrioritizedTextureManager::reduceMemory):
3415         (WebCore::CCPrioritizedTextureManager::clearAllMemory):
3416         (WebCore::CCPrioritizedTextureManager::allBackingTexturesWereDeleted):
3417         (WebCore::CCPrioritizedTextureManager::unlink):
3418         (WebCore::CCPrioritizedTextureManager::link):
3419         (WebCore::CCPrioritizedTextureManager::registerTexture):
3420         (WebCore::CCPrioritizedTextureManager::unregisterTexture):
3421         (WebCore::CCPrioritizedTextureManager::returnBackingTexture):
3422         (WebCore::CCPrioritizedTextureManager::createBacking):
3423         (WebCore::CCPrioritizedTextureManager::destroyBacking):
3424         (WebCore::CCPrioritizedTextureManager::assertInvariants):
3425         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h: Added.
3426         (WebCore):
3427         (CCPrioritizedTextureManager):
3428         (WebCore::CCPrioritizedTextureManager::create):
3429         (WebCore::CCPrioritizedTextureManager::createTexture):
3430         (WebCore::CCPrioritizedTextureManager::memoryUseBytes):
3431         (WebCore::CCPrioritizedTextureManager::memoryAboveCutoffBytes):
3432         (WebCore::CCPrioritizedTextureManager::setMaxMemoryLimitBytes):
3433         (WebCore::CCPrioritizedTextureManager::maxMemoryLimitBytes):
3434         (WebCore::CCPrioritizedTextureManager::setPreferredMemoryLimitBytes):
3435         (WebCore::CCPrioritizedTextureManager::preferredMemoryLimitBytes):
3436         (WebCore::CCPrioritizedTextureManager::setMaxMemoryPriorityCutoff):
3437         (WebCore::CCPrioritizedTextureManager::maxMemoryPriorityCutoff):
3438         (WebCore::CCPrioritizedTextureManager::compareTextures):
3439         (WebCore::CCPrioritizedTextureManager::compareBackings):
3440         * platform/graphics/chromium/cc/CCPriorityCalculator.cpp: Added.
3441         (WebCore):
3442         (WebCore::CCPriorityCalculator::uiPriority):
3443         (WebCore::CCPriorityCalculator::visiblePriority):
3444         (WebCore::CCPriorityCalculator::lingeringPriority):
3445         (WebCore::CCPriorityCalculator::priorityFromDistance):
3446         (WebCore::CCPriorityCalculator::priorityFromVisibility):
3447         * platform/graphics/chromium/cc/CCPriorityCalculator