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