[BlackBerry] Fix access to ResourceHandle::context
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-02-21  Alberto Garcia  <albgarcia@rim.com>
2
3         [BlackBerry] Fix access to ResourceHandle::context
4         https://bugs.webkit.org/show_bug.cgi?id=110443
5
6         Reviewed by Carlos Garcia Campos.
7
8         This changed in r141981.
9
10         * platform/network/blackberry/ResourceHandleBlackBerry.cpp:
11         (WebCore::ResourceHandle::start):
12
13 2013-02-21  Alberto Garcia  <albgarcia@rim.com>
14
15         [BlackBerry] GraphicsLayerBlackBerry: rename showDebugBorder to isShowingDebugBorder
16         https://bugs.webkit.org/show_bug.cgi?id=110453
17
18         Reviewed by Carlos Garcia Campos.
19
20         This changed in r133517.
21
22         * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
23         (WebCore::GraphicsLayerBlackBerry::setupContentsLayer):
24
25 2013-02-21  Peter Rybin  <prybin@chromium.org>
26
27         Web Inspector: take large strings out of CodeGeneratorInspector.py
28         https://bugs.webkit.org/show_bug.cgi?id=110159
29
30         Reviewed by Yury Semikhatsky.
31
32         Python script is refactored.
33
34         * inspector/CodeGeneratorInspector.py:
35         * inspector/CodeGeneratorInspectorStrings.py: Added.
36         (InspectorFrontend_h):
37         (InspectorFrontendChannel):
38         (InspectorArray):
39         (InspectorObject):
40         (String):
41         (InspectorFrontend):
42         (InspectorBackendDispatcher_h):
43         (InspectorAgent):
44         (InspectorBackendDispatcherImpl):
45         (InspectorBackendDispatcher):
46         (CallbackBase):
47         (void):
48         (HashMap):
49         (OptOutput):
50         (ExactlyInt):
51         (RuntimeCastHelper):
52         (provides):
53         (typename):
54         (Array):
55         (Builder):
56
57 2013-02-21  Sheriff Bot  <webkit.review.bot@gmail.com>
58
59         Unreviewed, rolling out r143581.
60         http://trac.webkit.org/changeset/143581
61         https://bugs.webkit.org/show_bug.cgi?id=110457
62
63         Breaks Windows builds (compile + link) (Requested by apavlov
64         on #webkit).
65
66         * CMakeLists.txt:
67         * GNUmakefile.list.am:
68         * Target.pri:
69         * WebCore.gypi:
70         * WebCore.order:
71         * WebCore.vcproj/WebCore.vcproj:
72         * WebCore.vcxproj/WebCore.vcxproj:
73         * WebCore.vcxproj/WebCore.vcxproj.filters:
74         * WebCore.xcodeproj/project.pbxproj:
75         * dom/WebCoreMemoryInstrumentation.cpp:
76         (WebCore):
77         * dom/WebCoreMemoryInstrumentation.h:
78         (WebCoreMemoryTypes):
79         * inspector/InjectedScriptSource.js:
80         (.):
81         * inspector/Inspector.json:
82         * inspector/InspectorAllInOne.cpp:
83         * inspector/InspectorController.cpp:
84         (WebCore::InspectorController::InspectorController):
85         * inspector/InspectorDOMStorageAgent.cpp:
86         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
87         (WebCore::InspectorDOMStorageAgent::clearFrontend):
88         (WebCore::InspectorDOMStorageAgent::restore):
89         (WebCore::InspectorDOMStorageAgent::enable):
90         (WebCore::InspectorDOMStorageAgent::disable):
91         (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
92         (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
93         (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
94         (WebCore::InspectorDOMStorageAgent::storageId):
95         (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
96         (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
97         (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
98         (WebCore::InspectorDOMStorageAgent::clearResources):
99         (WebCore::InspectorDOMStorageAgent::reportMemoryUsage):
100         * inspector/InspectorDOMStorageAgent.h:
101         (WebCore):
102         (WebCore::InspectorDOMStorageAgent::create):
103         (InspectorDOMStorageAgent):
104         * inspector/InspectorDOMStorageResource.cpp: Added.
105         (WebCore):
106         (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
107         (WebCore::InspectorDOMStorageResource::isSameOriginAndType):
108         (WebCore::InspectorDOMStorageResource::bind):
109         (WebCore::InspectorDOMStorageResource::unbind):
110         (WebCore::InspectorDOMStorageResource::reportMemoryUsage):
111         * inspector/InspectorDOMStorageResource.h: Added.
112         (WebCore):
113         (InspectorDOMStorageResource):
114         (WebCore::InspectorDOMStorageResource::create):
115         (WebCore::InspectorDOMStorageResource::id):
116         (WebCore::InspectorDOMStorageResource::storageArea):
117         (WebCore::InspectorDOMStorageResource::frame):
118         * inspector/InspectorInstrumentation.cpp:
119         (WebCore):
120         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
121         (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
122         * inspector/InspectorInstrumentation.h:
123         (InspectorInstrumentation):
124         (WebCore::InspectorInstrumentation::didUseDOMStorage):
125         (WebCore):
126         * inspector/InspectorPageAgent.cpp:
127         * inspector/InspectorPageAgent.h:
128         (InspectorPageAgent):
129         * inspector/front-end/DOMStorage.js:
130         (WebInspector.DOMStorage):
131         (WebInspector.DOMStorage.prototype.get id):
132         (WebInspector.DOMStorage.prototype.get domain):
133         (WebInspector.DOMStorage.prototype.getEntries):
134         (WebInspector.DOMStorage.prototype.setItem):
135         (WebInspector.DOMStorage.prototype.removeItem):
136         (WebInspector.DOMStorageModel):
137         (WebInspector.DOMStorageModel.prototype._addDOMStorage):
138         (WebInspector.DOMStorageModel.prototype._domStorageItemsCleared):
139         (WebInspector.DOMStorageModel.prototype._domStorageItemRemoved):
140         (WebInspector.DOMStorageModel.prototype._domStorageItemAdded):
141         (WebInspector.DOMStorageModel.prototype.storageForId):
142         (WebInspector.DOMStorageModel.prototype.storages):
143         (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
144         * inspector/front-end/DOMStorageItemsView.js:
145         (WebInspector.DOMStorageItemsView.prototype._update):
146         (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
147         (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
148         * inspector/front-end/ResourcesPanel.js:
149         (WebInspector.ResourcesPanel):
150         (WebInspector.ResourcesPanel.prototype._initialize):
151         (WebInspector.ResourcesPanel.prototype._domStorageAdded):
152         (WebInspector.ResourcesPanel.prototype._addDOMStorage):
153         (WebInspector.DOMStorageTreeElement):
154         (WebInspector.DOMStorageTreeElement.prototype.get itemURL):
155         * page/DOMWindow.cpp:
156         (WebCore::DOMWindow::sessionStorage):
157         (WebCore::DOMWindow::localStorage):
158
159 2013-02-21  Vsevolod Vlasov  <vsevik@chromium.org>
160
161         Web Inspector: Get rid of parsedURL in uiSourceCode, use name and path for displayName instead.
162         https://bugs.webkit.org/show_bug.cgi?id=110335
163
164         Reviewed by Alexander Pavlov.
165
166         Replaced UISourceCode.parsedURL with UISourceCode.displayName().
167
168         * inspector/front-end/NavigatorView.js:
169         (WebInspector.NavigatorView.prototype._updateScriptTitle):
170         (WebInspector.NavigatorView.prototype.getOrCreateFolderTreeElement):
171         (WebInspector.NavigatorFolderTreeElement):
172         * inspector/front-end/ResourceUtils.js:
173         (WebInspector.displayNameForURL):
174         * inspector/front-end/RevisionHistoryView.js:
175         (WebInspector.RevisionHistoryView.prototype._createUISourceCodeItem):
176         * inspector/front-end/UISourceCode.js:
177         (WebInspector.UISourceCode):
178         (WebInspector.UISourceCode.prototype.displayName):
179         (WebInspector.UISourceCode.prototype.urlChanged):
180
181 2013-02-21  Alexander Pavlov  <apavlov@chromium.org>
182
183         Web Inspector: Local/session storage tree items in the Resources panel after page refresh are not shown
184         https://bugs.webkit.org/show_bug.cgi?id=109572
185
186         Reviewed by Vsevolod Vlasov.
187
188         * CMakeLists.txt:
189         * GNUmakefile.list.am:
190         * Target.pri:
191         * WebCore.gypi:
192         * WebCore.order:
193         * WebCore.vcproj/WebCore.vcproj:
194         * WebCore.vcxproj/WebCore.vcxproj:
195         * WebCore.vcxproj/WebCore.vcxproj.filters:
196         * WebCore.xcodeproj/project.pbxproj:
197         * dom/WebCoreMemoryInstrumentation.cpp:
198         (WebCore):
199         * dom/WebCoreMemoryInstrumentation.h:
200         (WebCoreMemoryTypes):
201         * inspector/InjectedScriptSource.js:
202         (.):
203         * inspector/Inspector.json:
204         * inspector/InspectorAllInOne.cpp:
205         * inspector/InspectorController.cpp:
206         (WebCore::InspectorController::InspectorController):
207         * inspector/InspectorDOMStorageAgent.cpp:
208         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
209         (WebCore::InspectorDOMStorageAgent::clearFrontend):
210         (WebCore::InspectorDOMStorageAgent::isEnabled):
211         (WebCore::InspectorDOMStorageAgent::enable):
212         (WebCore::InspectorDOMStorageAgent::disable):
213         (WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
214         (WebCore::toErrorString):
215         (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
216         (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
217         (WebCore::InspectorDOMStorageAgent::storageId):
218         (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
219         (WebCore::InspectorDOMStorageAgent::findStorageArea):
220         (WebCore::InspectorDOMStorageAgent::reportMemoryUsage):
221         * inspector/InspectorDOMStorageAgent.h:
222         (WebCore):
223         (WebCore::InspectorDOMStorageAgent::create):
224         (InspectorDOMStorageAgent):
225         * inspector/InspectorDOMStorageResource.cpp: Removed.
226         * inspector/InspectorDOMStorageResource.h: Removed.
227         * inspector/InspectorInstrumentation.cpp:
228         (WebCore):
229         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
230         * inspector/InspectorInstrumentation.h:
231         (InspectorInstrumentation):
232         * inspector/InspectorPageAgent.cpp:
233         (WebCore::InspectorPageAgent::findFrameWithSecurityOrigin):
234         (WebCore):
235         * inspector/InspectorPageAgent.h:
236         (InspectorPageAgent):
237         * inspector/front-end/DOMStorage.js:
238         (WebInspector.DOMStorage):
239         (WebInspector.DOMStorage.storageId):
240         (WebInspector.DOMStorage.prototype.get id):
241         (WebInspector.DOMStorage.prototype.get securityOrigin):
242         (WebInspector.DOMStorage.prototype.getItems):
243         (WebInspector.DOMStorage.prototype.setItem):
244         (WebInspector.DOMStorage.prototype.removeItem):
245         (WebInspector.DOMStorageModel):
246         (WebInspector.DOMStorageModel.prototype._securityOriginAdded):
247         (WebInspector.DOMStorageModel.prototype._securityOriginRemoved):
248         (WebInspector.DOMStorageModel.prototype._storageKey):
249         (WebInspector.DOMStorageModel.prototype._domStorageItemsCleared):
250         (WebInspector.DOMStorageModel.prototype._domStorageItemRemoved):
251         (WebInspector.DOMStorageModel.prototype._domStorageItemAdded):
252         (WebInspector.DOMStorageModel.prototype.storageForId):
253         (WebInspector.DOMStorageModel.prototype.storages):
254         * inspector/front-end/DOMStorageItemsView.js:
255         (WebInspector.DOMStorageItemsView.prototype._update):
256         (WebInspector.DOMStorageItemsView.prototype._showDOMStorageItems):
257         (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageItems):
258         * inspector/front-end/ResourcesPanel.js:
259         (WebInspector.ResourcesPanel):
260         (WebInspector.ResourcesPanel.prototype._initialize):
261         (WebInspector.ResourcesPanel.prototype._domStorageAdded):
262         (WebInspector.ResourcesPanel.prototype._domStorageRemoved):
263         (WebInspector.ResourcesPanel.prototype._populateDOMStorageTree):
264         (WebInspector.DOMStorageTreeElement):
265         (WebInspector.DOMStorageTreeElement.prototype.get itemURL):
266         * page/DOMWindow.cpp:
267         (WebCore::DOMWindow::sessionStorage):
268         (WebCore::DOMWindow::localStorage):
269
270 2013-02-19  Eugene Klyuchnikov  <eustas@chromium.org>
271
272         Web Inspector: [Console] Add console API message types for profile/profileEnd.
273         https://bugs.webkit.org/show_bug.cgi?id=109790
274
275         Reviewed by Pavel Feldman.
276
277         With profile/profileEnd message types we will gain more control over
278         output messages.
279
280         * English.lproj/localizedStrings.js: Added corresponging strings.
281         * inspector/ConsoleAPITypes.h: Added enum members.
282         * inspector/Inspector.json: Ditto.
283         * inspector/front-end/ConsoleModel.js: Ditto.
284         * inspector/ConsoleMessage.cpp:
285         (WebCore::messageTypeValue): Added cases.
286         * inspector/InspectorProfilerAgent.cpp: Adopted changes.
287         * inspector/front-end/inspector.js: Ditto.
288         * inspector/front-end/ConsoleMessage.js:
289         Added message generators for introduced message types.
290         * inspector/front-end/ProfilesPanel.js:
291         Turned showProfileForURL(url) to showProfile(typeId, uid).
292         * inspector/front-end/ProfilesPanelDescriptor.js:
293         (WebInspector.ProfilesPanelDescriptor.resolveProfileTitle): Added.
294         * inspector/front-end/ResourceUtils.js: Removed linkifier plugins.
295
296 2013-02-21  Tamas Czene  <tczene@inf.u-szeged.hu>
297
298         OpenCL implementation of FEMerge filter.
299         https://bugs.webkit.org/show_bug.cgi?id=110193
300
301         Reviewed by Zoltan Herczeg.
302
303         In case of odd number of parameters the first parameter is copied to the destination image and
304         the rest of the parameters are merged in pairs.
305
306         * Target.pri:
307         * platform/graphics/filters/FEMerge.h:
308         (FEMerge):
309         * platform/graphics/gpu/opencl/FilterContextOpenCL.h:
310         (WebCore::FilterContextOpenCL::FilterContextOpenCL):
311         (FilterContextOpenCL):
312         * platform/graphics/gpu/opencl/OpenCLFEMerge.cpp: Added.
313         (WebCore):
314         (WebCore::FilterContextOpenCL::compileFEMerge):
315         (WebCore::FilterContextOpenCL::copy): This is a simple copy method.
316         (WebCore::FilterContextOpenCL::applyFEMerge):
317         (WebCore::FEMerge::platformApplyOpenCL):
318
319 2013-02-21  Keishi Hattori  <keishi@webkit.org>
320
321         Add event dispatch class for the new calendar picker
322         https://bugs.webkit.org/show_bug.cgi?id=110131
323
324         Reviewed by Kent Tamura.
325
326         Adding event dispatcher class as part of the new calendar picker patch at Bug 109439.
327
328         No new tests. Code is not yet used.
329
330         * Resources/pagepopups/calendarPicker.js:
331         (EventEmitter):
332         (EventEmitter.prototype.on): Adds a callback for an event.
333         (EventEmitter.prototype.hasListener): Returns true if more than one listeners exist for an event type.
334         (EventEmitter.prototype.removeListener): Removes an event listener.
335         (EventEmitter.prototype.dispatchEvent): Dispatches an event to all callbacks. Takes variable number of arguments.
336
337 2013-02-21  Ken Kania  <kkania@chromium.org>
338
339         Web Inspector: Add command for selecting files for file input element
340         https://bugs.webkit.org/show_bug.cgi?id=109308
341
342         Reviewed by Pavel Feldman.
343
344         Test: inspector-protocol/dom/setFileInputFiles.html
345
346         * inspector/Inspector.json:
347         * inspector/InspectorClient.h:
348         (WebCore::InspectorClient::canSetFileInputFiles):
349         (InspectorClient):
350         * inspector/InspectorController.cpp:
351         (WebCore::InspectorController::InspectorController):
352         * inspector/InspectorDOMAgent.cpp:
353         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
354         (WebCore::InspectorDOMAgent::setFileInputFiles):
355         (WebCore):
356         * inspector/InspectorDOMAgent.h:
357         (WebCore):
358         (WebCore::InspectorDOMAgent::create):
359         (InspectorDOMAgent):
360
361 2013-02-21  Pan Deng  <pan.deng@intel.com>
362
363         [Web Inspector]Add WebSocket networking events in Timeline panel.
364         https://bugs.webkit.org/show_bug.cgi?id=105527.
365
366         Reviewed by Pavel Feldman.
367
368         This patch add four WebSocket networking events in Timeline panel. The Events
369         are CreateWebSocket, SendWebSocketHandshakeRequest, ReceiveWebSocketHandShakeResponse
370         and DestoryWebSocket. Thanks to Kitamura san's previous work.
371
372         Test: http/tests/inspector/websocket/timeline-websocket-event.html
373
374         * English.lproj/localizedStrings.js:
375         * Modules/websockets/WebSocketChannel.cpp: Add protocol information
376         (WebCore::WebSocketChannel::connect):
377         * inspector/InspectorInstrumentation.cpp:
378         (WebCore):
379         (WebCore::InspectorInstrumentation::didCreateWebSocketImpl): Add Timeline agent instrumentation for websocket
380         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl): Ditto
381         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl): Ditto
382         (WebCore::InspectorInstrumentation::didCloseWebSocketImpl): Ditto
383         * inspector/InspectorInstrumentation.h:
384         (InspectorInstrumentation):
385         (WebCore::InspectorInstrumentation::didCreateWebSocket):
386         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
387         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
388         (WebCore::InspectorInstrumentation::didCloseWebSocket):
389         * inspector/InspectorTimelineAgent.cpp:
390         (TimelineRecordType):
391         (WebCore):
392         (WebCore::InspectorTimelineAgent::didCreateWebSocket): Add Timeline record for websocket create
393         (WebCore::InspectorTimelineAgent::addWebSocketRecord): Add general websocket record
394         (WebCore::InspectorTimelineAgent::willSendWebSocketHandshakeRequest): Add Timeline record for websocket handshake request send
395         (WebCore::InspectorTimelineAgent::didReceiveWebSocketHandshakeResponse): Add Timeline record for websocket handshake response receive
396         (WebCore::InspectorTimelineAgent::didDestroyWebSocket): Add Timeline record for websocket destroy
397         * inspector/InspectorTimelineAgent.h:
398         (WebCore):
399         (InspectorTimelineAgent):
400         * inspector/TimelineRecordFactory.h:
401         (TimelineRecordFactory):
402         (WebCore::TimelineRecordFactory::createWebSocketCreateData):
403         (WebCore::TimelineRecordFactory::createGenericWebSocketData):
404         * inspector/front-end/TimelineModel.js: Add Timeline record type for websocket
405         * inspector/front-end/TimelinePresentationModel.js:
406         (WebInspector.TimelinePresentationModel._initRecordStyles):
407         (WebInspector.TimelinePresentationModel.prototype.reset): Add slot to store WebSocket Create record
408         (WebInspector.TimelinePresentationModel.Record):
409         (WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview): Add PopupContent for websocket record, including url and protocol
410
411 2013-02-21  Oswald Buddenhagen  <oswald.buddenhagen@digia.com>
412
413         [Qt] Fix pkg-config dependencies of QtWebKit itself
414
415         Reviewed by Simon Hausmann.
416
417         Don't override QMAKE_PKGCONFIG_REQUIRES needlessly.
418
419         * WebCore.pri:
420
421 2013-02-21  Nils Barth  <nbarth@google.com>
422
423         File upload control doesn't apply CSS vertical padding or border to file name
424         https://bugs.webkit.org/show_bug.cgi?id=109011
425
426         Reviewed by Hajime Morrita.
427
428         Test: fast/forms/file/file-vertical-padding-border.html
429
430         * rendering/RenderFileUploadControl.cpp:
431             Add borderTop() and paddingTop() when computing position.
432         (WebCore::RenderFileUploadControl::paintObject):
433
434 2013-02-20  Alexey Proskuryakov  <ap@apple.com>
435
436         Stop hardcoding knowledge about blob protocol in ResourceHandle
437         https://bugs.webkit.org/show_bug.cgi?id=110382
438
439         Reviewed by Anders Carlsson.
440
441         * platform/network/BlobRegistry.h:
442         * platform/network/chromium/BlobRegistryProxy.h:
443         Removed loadResourceSynchronously(). Chromium did not even implement it, and
444         cross-platform code doesn't need it any more either.
445
446         * platform/network/BlobRegistryImpl.cpp:
447         (WebCore::loadResourceSynchronously): A function to load a blob synchronously,
448         suitable for being in a ResourceHandle map.
449         (WebCore::registerBlobResourceHandleConstructor): Register loadResourceSynchronously too.
450         (WebCore::BlobRegistryImpl::createResourceHandle): Don't make policy decisions here,
451         it's just a registry. Moved code for checking request method down to BlobResourceHandle.
452
453         * platform/network/BlobRegistryImpl.h: Removed BlobRegistryImpl::loadResourceSynchronously().
454         A registry shouldn't load resources, and it already has enough accessors to implement
455         this externally.
456
457         * platform/network/BlobResourceHandle.h:
458         * platform/network/BlobResourceHandle.cpp:
459         (WebCore::BlobResourceHandle::createAsync): Renamed from create(), to make it clear
460         that it's not OK to call from synchronous loader. Moved method check here.
461         (WebCore::BlobResourceHandle::loadResourceSynchronously): Moved method check here.
462         We used to fall through to NSURLConnection based loader when method was not GET,
463         which of course resulted in an error eventually, but was just wrong.
464
465         * platform/network/ResourceHandle.cpp:
466         (WebCore::builtinResourceHandleSynchronousLoaderMap): Added a map for synchronous case.
467         (WebCore::ResourceHandle::registerBuiltinSynchronousLoader): Ditto.
468         (WebCore::ResourceHandle::loadResourceSynchronously): We no longer need to hardcode
469         knowledge about blobRegistry and blobs here.
470
471         * platform/network/ResourceHandle.h: Added registerBuiltinSynchronousLoader().
472
473         * platform/network/chromium/ResourceHandle.h: Removed loadResourceSynchronously(),
474         which was not implemented for Chromium.
475
476 2013-02-20  Vsevolod Vlasov  <vsevik@chromium.org>
477
478         Web Inspector: TabbedEditorContainer and OpenResourceDialog should show uiSourceCode path and name instead of parsedURL
479         https://bugs.webkit.org/show_bug.cgi?id=110334
480
481         Reviewed by Alexander Pavlov.
482
483         Introduced uiSourceCode.name() that returns a name based on uiSourceCode path.
484         OpenResourceDialog now shows uiSourceCode workspace path as a subtitle.
485         TabbedEditorContainer now shows uiSourceCode name in the tab header.
486
487         * inspector/front-end/FilteredItemSelectionDialog.js:
488         (WebInspector.OpenResourceDialog.filterOutEmptyURLs):
489         (WebInspector.OpenResourceDialog):
490         (WebInspector.OpenResourceDialog.prototype.itemTitleAt):
491         (WebInspector.OpenResourceDialog.prototype.itemSubtitleAt):
492         (WebInspector.OpenResourceDialog.prototype.itemKeyAt):
493         * inspector/front-end/NavigatorView.js:
494         (WebInspector.NavigatorView.prototype._updateScriptTitle):
495         * inspector/front-end/TabbedEditorContainer.js:
496         (WebInspector.TabbedEditorContainer.prototype._titleForFile):
497         * inspector/front-end/UISourceCode.js:
498         (WebInspector.UISourceCode.prototype.name):
499
500 2013-02-20  Pavel Feldman  <pfeldman@chromium.org>
501
502         Web Inspector: debugger buttons are scrolled along with the sidebar content.
503         https://bugs.webkit.org/show_bug.cgi?id=110434
504
505         Reviewed by Vsevolod Vlasov.
506
507         * inspector/front-end/scriptsPanel.css:
508         (div.sidebar-pane-stack#scripts-debug-sidebar-contents, #scripts-sidebar-stack-pane):
509
510 2013-02-20  Wei James  <james.wei@intel.com>
511
512         ChannelMergerNode may need check for deferred updating of output channels
513         https://bugs.webkit.org/show_bug.cgi?id=108863
514
515         There can in rare cases be a slight delay before the output bus is updated
516         to the new number of channels because of tryLocks() in the context's
517         updating system. So need to check the channel number before processing.
518
519         Reviewed by Chris Rogers.
520
521         * Modules/webaudio/ChannelMergerNode.cpp:
522         (WebCore::ChannelMergerNode::ChannelMergerNode):
523         (WebCore::ChannelMergerNode::process):
524         (WebCore::ChannelMergerNode::checkNumberOfChannelsForInput):
525         * Modules/webaudio/ChannelMergerNode.h:
526         (ChannelMergerNode):
527
528 2013-02-20  Pan Deng  <pan.deng@intel.com>
529
530         [Web Inspector] Fix Sort by Initiator functionality of Network Panel.
531         https://bugs.webkit.org/show_bug.cgi?id=109135.
532
533         Reviewed by Pavel Feldman.
534
535         A refactor for request initiator types, and the sort by Initiator functionality 
536         was changed to sort by url and line number that displayed in initiator cell.
537
538         No new tests.
539
540         * inspector/front-end/NetworkPanel.js:
541         (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell): save initiator displayedURL and displayedLineNumber
542         (WebInspector.NetworkDataGridNode.InitiatorComparator):
543         * inspector/front-end/NetworkRequest.js:
544
545 2013-02-20  Eric Seidel  <eric@webkit.org>
546
547         WebVTTParser copies character buffer more often than necessary
548         https://bugs.webkit.org/show_bug.cgi?id=103319
549
550         Reviewed by Eric Carlson.
551
552         Previously this codepath was creating a String just to parse the timestamp
553         and then if the timestamp was valid, was creating a second string.
554         I've fixed it to only create one string and use it in both places.
555         I also fixed this codepath to use 8bit strings when possible, per the FIXME.
556
557         * html/track/WebVTTParser.cpp:
558         (WebCore::WebVTTParser::constructTreeFromToken):
559
560 2013-02-20  Mike West  <mkwst@chromium.org>
561
562         Mouseup event does not fire on Scroll Bar
563         https://bugs.webkit.org/show_bug.cgi?id=25811
564
565         Reviewed by Tony Chang.
566
567         Currently, clicking on a scrollbar fires a mousedown event, but not a
568         mouseup event. This causes problems for code like jQuery UI's
569         draggable[1], as the drag starts, but is never cancelled. Other use
570         cases are noted in the slightly old Chromium bug[2].
571
572         If a mouseup event is received after a mousedown event on a scrollbar,
573         this patch dispatches a mouseup event on the same node the mousedown
574         event dispatched on. This matches Gecko's behavior.
575
576         [1]: http://bugs.jqueryui.com/ticket/6925
577         [2]: http://crbug.com/14204
578
579         Tests: fast/scrolling/scrollbar-mousedown-mouseup.html
580                fast/scrolling/scrollbar-mousedown-move-mouseup.html
581
582         * page/EventHandler.cpp:
583         (WebCore::EventHandler::handleMouseReleaseEvent):
584             If a mouseup event follow a mousedown event on a scrollbar,
585             dispatch an event on the same node from which the mousedown event
586             was triggered.
587
588 2013-02-20  Takashi Sakamoto  <tasak@google.com>
589
590         [Refactoring] Make m_state an on-stack object
591         https://bugs.webkit.org/show_bug.cgi?id=109909
592
593         Reviewed by Antti Koivisto.
594
595         Mode m_state, an instance of StyleResolver::State, an on-stack object.
596         The state is only required in styleForElement, styleForKeyframe and
597         so on. No need to keep the state outside of those methods.
598
599         No new tests, because just refactoring.
600
601         * css/BasicShapeFunctions.cpp:
602         (WebCore::convertToLength):
603         (WebCore::basicShapeForValue):
604         * css/BasicShapeFunctions.h:
605         (WebCore):
606         Replaced StyleResolver* with StyleResolver::State&.
607         * css/CSSGradientValue.cpp:
608         (WebCore::CSSGradientValue::gradientWithStylesResolved):
609         * css/CSSGradientValue.h:
610         (CSSGradientValue):
611         Replaced StyleResolver* with StyleResolver::State&.
612         * css/CSSToStyleMap.cpp:
613         (WebCore::CSSToStyleMap::style):
614         (WebCore::CSSToStyleMap::rootElementStyle):
615         (WebCore::CSSToStyleMap::useSVGZoomRules):
616         (WebCore::CSSToStyleMap::styleImage):
617         * css/CSSToStyleMap.h:
618         (WebCore):
619         (WebCore::CSSToStyleMap::CSSToStyleMap):
620         (CSSToStyleMap):
621         Replaced StyleResolver* with StyleResolver::State&.
622         * css/SVGCSSStyleSelector.cpp:
623         (WebCore::StyleResolver::applySVGProperty):
624         Replaced m_state with state which is given as an argument of
625         applySVGProperty.
626         * css/StyleBuilder.cpp:
627         (WebCore::ApplyPropertyExpanding::applyInheritValue):
628         (WebCore::ApplyPropertyExpanding::applyInitialValue):
629         (WebCore::ApplyPropertyExpanding::applyValue):
630         (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
631         (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
632         (WebCore::ApplyPropertyDefaultBase::applyValue):
633         (WebCore::ApplyPropertyDefault::applyValue):
634         (WebCore::ApplyPropertyNumber::applyValue):
635         (WebCore::ApplyPropertyStyleImage::applyValue):
636         (WebCore::ApplyPropertyAuto::applyInheritValue):
637         (WebCore::ApplyPropertyAuto::applyInitialValue):
638         (WebCore::ApplyPropertyAuto::applyValue):
639         (WebCore::ApplyPropertyClip::convertToLength):
640         (WebCore::ApplyPropertyClip::applyInheritValue):
641         (WebCore::ApplyPropertyClip::applyInitialValue):
642         (WebCore::ApplyPropertyClip::applyValue):
643         (WebCore::ApplyPropertyColor::applyInheritValue):
644         (WebCore::ApplyPropertyColor::applyInitialValue):
645         (WebCore::ApplyPropertyColor::applyValue):
646         (WebCore::ApplyPropertyColor::applyColorValue):
647         (WebCore::ApplyPropertyDirection::applyValue):
648         (WebCore::ApplyPropertyLength::applyValue):
649         (WebCore::ApplyPropertyString::applyValue):
650         (WebCore::ApplyPropertyBorderRadius::applyValue):
651         (WebCore::ApplyPropertyFillLayer::applyInheritValue):
652         (WebCore::ApplyPropertyFillLayer::applyInitialValue):
653         (WebCore::ApplyPropertyFillLayer::applyValue):
654         (WebCore::ApplyPropertyComputeLength::applyValue):
655         (WebCore::ApplyPropertyFont::applyInheritValue):
656         (WebCore::ApplyPropertyFont::applyInitialValue):
657         (WebCore::ApplyPropertyFont::applyValue):
658         (WebCore::ApplyPropertyFontSize::applyInheritValue):
659         (WebCore::ApplyPropertyFontSize::applyInitialValue):
660         (WebCore::ApplyPropertyFontSize::applyValue):
661         (WebCore::ApplyPropertyFontWeight::applyValue):
662         (WebCore::ApplyPropertyFontVariantLigatures::applyInheritValue):
663         (WebCore::ApplyPropertyFontVariantLigatures::applyInitialValue):
664         (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
665         (WebCore::ApplyPropertyBorderImage::applyValue):
666         (WebCore::ApplyPropertyBorderImageModifier::applyInheritValue):
667         (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
668         (WebCore::ApplyPropertyBorderImageModifier::applyValue):
669         (WebCore::ApplyPropertyBorderImageSource::applyValue):
670         (WebCore::ApplyPropertyCounter::emptyFunction):
671         (WebCore::ApplyPropertyCounter::applyInheritValue):
672         (WebCore::ApplyPropertyCounter::applyValue):
673         (WebCore::ApplyPropertyCursor::applyInheritValue):
674         (WebCore::ApplyPropertyCursor::applyInitialValue):
675         (WebCore::ApplyPropertyCursor::applyValue):
676         (WebCore::ApplyPropertyTextAlign::applyValue):
677         (WebCore::ApplyPropertyTextDecoration::applyValue):
678         (WebCore::ApplyPropertyLineHeight::applyValue):
679         (WebCore::ApplyPropertyPageSize::applyInheritValue):
680         (WebCore::ApplyPropertyPageSize::applyInitialValue):
681         (WebCore::ApplyPropertyPageSize::applyValue):
682         (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
683         (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
684         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
685         (WebCore::ApplyPropertyAnimation::map):
686         (WebCore::ApplyPropertyAnimation::applyInheritValue):
687         (WebCore::ApplyPropertyAnimation::applyInitialValue):
688         (WebCore::ApplyPropertyAnimation::applyValue):
689         (WebCore::ApplyPropertyOutlineStyle::applyInheritValue):
690         (WebCore::ApplyPropertyOutlineStyle::applyInitialValue):
691         (WebCore::ApplyPropertyOutlineStyle::applyValue):
692         (WebCore::ApplyPropertyResize::applyValue):
693         (WebCore::ApplyPropertyVerticalAlign::applyValue):
694         (WebCore::ApplyPropertyAspectRatio::applyInheritValue):
695         (WebCore::ApplyPropertyAspectRatio::applyInitialValue):
696         (WebCore::ApplyPropertyAspectRatio::applyValue):
697         (WebCore::ApplyPropertyZoom::resetEffectiveZoom):
698         (WebCore::ApplyPropertyZoom::applyInheritValue):
699         (WebCore::ApplyPropertyZoom::applyInitialValue):
700         (WebCore::ApplyPropertyZoom::applyValue):
701         (WebCore::ApplyPropertyDisplay::isValidDisplayValue):
702         (WebCore::ApplyPropertyDisplay::applyInheritValue):
703         (WebCore::ApplyPropertyDisplay::applyInitialValue):
704         (WebCore::ApplyPropertyDisplay::applyValue):
705         (WebCore::ApplyPropertyClipPath::applyValue):
706         (WebCore::ApplyPropertyExclusionShape::applyValue):
707         (WebCore::ApplyPropertyImageResolution::applyInheritValue):
708         (WebCore::ApplyPropertyImageResolution::applyInitialValue):
709         (WebCore::ApplyPropertyImageResolution::applyValue):
710         * css/StyleBuilder.h:
711         (WebCore):
712         (PropertyHandler):
713         (WebCore::PropertyHandler::applyInheritValue):
714         (WebCore::PropertyHandler::applyInitialValue):
715         (WebCore::PropertyHandler::applyValue):
716         Replaced StyleResolver* with StyleResolver::State&.
717         * css/StyleResolver.cpp:
718         (WebCore):
719         (WebCore::StyleResolver::StyleResolver):
720         Removed m_styleMap. Now m_styleMap is an on-stack object.
721         (WebCore::StyleResolver::collectMatchingRules):
722         (WebCore::StyleResolver::collectMatchingRulesForRegion):
723         (WebCore::StyleResolver::sortAndTransferMatchedRules):
724         (WebCore::StyleResolver::matchScopedAuthorRules):
725         (WebCore::StyleResolver::styleSharingCandidateMatchesHostRules):
726         (WebCore::StyleResolver::matchHostRules):
727         (WebCore::StyleResolver::matchAuthorRules):
728         (WebCore::StyleResolver::matchUserRules):
729         (WebCore::StyleResolver::matchUARules):
730         (WebCore::StyleResolver::collectMatchingRulesForList):
731         (WebCore::StyleResolver::sortMatchedRules):
732         (WebCore::StyleResolver::matchAllRules):
733         (WebCore::StyleResolver::initElement):
734         (WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
735         (WebCore::StyleResolver::canShareStyleWithControl):
736         (WebCore::StyleResolver::sharingCandidateHasIdenticalStyleAffectingAttributes):
737         (WebCore::StyleResolver::canShareStyleWithElement):
738         (WebCore::StyleResolver::findSiblingForStyleSharing):
739         (WebCore::StyleResolver::locateSharedStyle):
740         (WebCore::StyleResolver::styleForElement):
741         (WebCore::StyleResolver::styleForKeyframe):
742         (WebCore::StyleResolver::keyframeStylesForAnimation):
743         (WebCore::StyleResolver::pseudoStyleForElement):
744         (WebCore::StyleResolver::styleForPage):
745         (WebCore::StyleResolver::defaultStyleForElement):
746         (WebCore::StyleResolver::adjustRenderStyle):
747         (WebCore::StyleResolver::updateFont):
748         (WebCore::StyleResolver::pseudoStyleRulesForElement):
749         (WebCore::StyleResolver::ruleMatches):
750         (WebCore::StyleResolver::checkRegionSelector):
751         (WebCore::StyleResolver::applyProperties):
752         (WebCore::StyleResolver::applyMatchedProperties):
753         (WebCore::StyleResolver::isLeftPage):
754         (WebCore::StyleResolver::applyPropertyWithNullCheck):
755         (WebCore::StyleResolver::applyFontPropertyToStyle):
756         (WebCore::StyleResolver::resolveVariables):
757         (WebCore::StyleResolver::applyProperty):
758         (WebCore::StyleResolver::styleImage):
759         (WebCore::StyleResolver::cachedOrPendingFromValue):
760         (WebCore::StyleResolver::generatedOrPendingFromValue):
761         (WebCore::StyleResolver::setOrPendingFromValue):
762         (WebCore::StyleResolver::cursorOrPendingFromValue):
763         (WebCore::StyleResolver::checkForTextSizeAdjust):
764         (WebCore::StyleResolver::checkForZoomChange):
765         (WebCore::StyleResolver::checkForGenericFamilyChange):
766         (WebCore::StyleResolver::initializeFontStyle):
767         (WebCore::StyleResolver::setFontSize):
768         (WebCore::StyleResolver::colorFromPrimitiveValue):
769         (WebCore::StyleResolver::loadPendingSVGDocuments):
770         (WebCore::StyleResolver::styleShader):
771         (WebCore::StyleResolver::cachedOrPendingStyleShaderFromValue):
772         (WebCore::StyleResolver::loadPendingShaders):
773         (WebCore::StyleResolver::parseCustomFilterTransformParameter):
774         (WebCore::StyleResolver::parseCustomFilterParameter):
775         (WebCore::StyleResolver::parseCustomFilterParameterList):
776         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
777         (WebCore::StyleResolver::createCustomFilterOperation):
778         (WebCore::StyleResolver::createFilterOperations):
779         (WebCore::StyleResolver::loadPendingImage):
780         (WebCore::StyleResolver::loadPendingImages):
781         (WebCore::StyleResolver::loadPendingResources):
782         Just replaced m_state with state and added one more parameter to
783         provide the state.
784         (WebCore::StyleResolver::reportMemoryUsage):
785         Since m_state was removed, removed a code for reporting m_state's
786         memory usage.
787         * css/StyleResolver.h:
788         (StyleResolver):
789         (WebCore::StyleResolver::isRightPage):
790         (WebCore::StyleResolver::State::State):
791         (WebCore::StyleResolver::State::document):
792         Since State::m_element is not always available (sometimes, 0),
793         added m_document to State and modified to return the m_document.
794         (WebCore::StyleResolver::State::useSVGZoomRules):
795         Moved StyleResolver to State.
796         (State):
797         * html/canvas/CanvasRenderingContext2D.cpp:
798         (WebCore::CanvasRenderingContext2D::setFont):
799         Moved the code, updating a style by using a given StylePropertySet,
800         to StyleResolver.
801
802 2013-02-20  Ojan Vafai  <ojan@chromium.org>
803
804         AutoTableLayout applies min-width redundantly with RenderTable
805         https://bugs.webkit.org/show_bug.cgi?id=110426
806
807         Reviewed by Emil A Eklund.
808
809         * rendering/AutoTableLayout.cpp:
810         (WebCore::AutoTableLayout::computePreferredLogicalWidths):
811         This code used to do something, but has since been superceded by
812         code in RenderTable::computePreferredLogicalWidths.
813
814 2013-02-20  Dirk Schulze  <krit@webkit.org>
815
816         Enable CANVAS_PATH flag
817         https://bugs.webkit.org/show_bug.cgi?id=108508
818
819         Uneviewed attempt to fix Qt minimal build.
820
821         * html/canvas/DOMPath.h:
822         (WebCore::DOMPath::DOMPath):
823
824 \2013-02-20  Mark Lam  <mark.lam@apple.com>
825
826         Rename DatabaseBackendAsync to DatabaseBackend.
827         https://bugs.webkit.org/show_bug.cgi?id=110422.
828
829         Reviewed by Geoffrey Garen.
830
831         This is a purely cosmetic change to make the naming consistent with
832         the front-end Database.
833
834         No new tests.
835
836         * CMakeLists.txt:
837         * GNUmakefile.list.am:
838         * Modules/webdatabase/ChangeVersionWrapper.cpp:
839         (WebCore::ChangeVersionWrapper::performPreflight):
840         (WebCore::ChangeVersionWrapper::performPostflight):
841         * Modules/webdatabase/Database.cpp:
842         (WebCore::Database::Database):
843         (WebCore::Database::from):
844         (WebCore::Database::backend):
845         * Modules/webdatabase/Database.h:
846         * Modules/webdatabase/DatabaseBackend.cpp: Copied from Source/WebCore/Modules/webdatabase/DatabaseBackendAsync.cpp.
847         (WebCore::DatabaseBackend::DatabaseBackend):
848         (WebCore::DatabaseBackend::openAndVerifyVersion):
849         (WebCore::DatabaseBackend::performOpenAndVerify):
850         (WebCore::DatabaseBackend::close):
851         (WebCore::DatabaseBackend::runTransaction):
852         (WebCore::DatabaseBackend::inProgressTransactionCompleted):
853         (WebCore::DatabaseBackend::scheduleTransaction):
854         (WebCore::DatabaseBackend::scheduleTransactionStep):
855         (WebCore::DatabaseBackend::transactionClient):
856         (WebCore::DatabaseBackend::transactionCoordinator):
857         * Modules/webdatabase/DatabaseBackend.h: Copied from Source/WebCore/Modules/webdatabase/DatabaseBackendAsync.h.
858         * Modules/webdatabase/DatabaseBackendAsync.cpp: Removed.
859         * Modules/webdatabase/DatabaseBackendAsync.h: Removed.
860         * Modules/webdatabase/DatabaseBackendBase.cpp:
861         (WebCore::DatabaseBackendBase::~DatabaseBackendBase):
862         * Modules/webdatabase/DatabaseManager.cpp:
863         * Modules/webdatabase/DatabaseServer.cpp:
864         * Modules/webdatabase/DatabaseTask.cpp:
865         (WebCore::DatabaseTask::DatabaseTask):
866         (WebCore::DatabaseBackend::DatabaseOpenTask::DatabaseOpenTask):
867         (WebCore::DatabaseBackend::DatabaseOpenTask::doPerformTask):
868         (WebCore::DatabaseBackend::DatabaseOpenTask::debugTaskName):
869         (WebCore::DatabaseBackend::DatabaseCloseTask::DatabaseCloseTask):
870         (WebCore::DatabaseBackend::DatabaseCloseTask::doPerformTask):
871         (WebCore::DatabaseBackend::DatabaseCloseTask::debugTaskName):
872         (WebCore::DatabaseBackend::DatabaseTransactionTask::DatabaseTransactionTask):
873         (WebCore::DatabaseBackend::DatabaseTransactionTask::~DatabaseTransactionTask):
874         (WebCore::DatabaseBackend::DatabaseTransactionTask::doPerformTask):
875         (WebCore::DatabaseBackend::DatabaseTransactionTask::debugTaskName):
876         (WebCore::DatabaseBackend::DatabaseTableNamesTask::DatabaseTableNamesTask):
877         (WebCore::DatabaseBackend::DatabaseTableNamesTask::doPerformTask):
878         (WebCore::DatabaseBackend::DatabaseTableNamesTask::debugTaskName):
879         * Modules/webdatabase/DatabaseTask.h:
880         (WebCore::DatabaseTask::database):
881         (DatabaseTask):
882         (WebCore::DatabaseBackend::DatabaseOpenTask::create):
883         (DatabaseBackend::DatabaseOpenTask):
884         (WebCore::DatabaseBackend::DatabaseCloseTask::create):
885         (DatabaseBackend::DatabaseCloseTask):
886         (WebCore::DatabaseBackend::DatabaseTableNamesTask::create):
887         (DatabaseBackend::DatabaseTableNamesTask):
888         * Modules/webdatabase/DatabaseThread.cpp:
889         (WebCore::DatabaseThread::recordDatabaseOpen):
890         (WebCore::DatabaseThread::recordDatabaseClosed):
891         (WebCore::SameDatabasePredicate::SameDatabasePredicate):
892         (SameDatabasePredicate):
893         (WebCore::DatabaseThread::unscheduleDatabaseTasks):
894         * Modules/webdatabase/DatabaseThread.h:
895         * Modules/webdatabase/SQLStatementBackend.cpp:
896         (WebCore::SQLStatementBackend::execute):
897         (WebCore::SQLStatementBackend::setDatabaseDeletedError):
898         (WebCore::SQLStatementBackend::setVersionMismatchedError):
899         (WebCore::SQLStatementBackend::setFailureDueToQuota):
900         * Modules/webdatabase/SQLStatementBackend.h:
901         * Modules/webdatabase/SQLTransactionBackend.cpp:
902         (WebCore::SQLTransactionBackend::create):
903         (WebCore::SQLTransactionBackend::SQLTransactionBackend):
904         * Modules/webdatabase/SQLTransactionBackend.h:
905         (WebCore::SQLTransactionBackend::database):
906         * Modules/webdatabase/SQLTransactionCoordinator.cpp:
907         (WebCore::getDatabaseIdentifier):
908         * Target.pri:
909         * WebCore.gypi:
910         * WebCore.vcproj/WebCore.vcproj:
911         * WebCore.vcxproj/WebCore.vcxproj:
912         * WebCore.vcxproj/WebCore.vcxproj.filters:
913         * WebCore.xcodeproj/project.pbxproj:
914
915 2013-02-20  David Kilzer  <ddkilzer@apple.com>
916
917         Upstream SharedTimerIOS.mm
918         <http://webkit.org/b/110161>
919
920         Reviewed by Benjamin Poulain.
921
922         * Configurations/WebCore.xcconfig:
923         (EXCLUDED_SOURCE_FILE_NAMES_iphoneos): Add SharedTimerMac.mm.
924         * WebCore.xcodeproj/project.pbxproj: Add SharedTimerIOS.mm.
925         * platform/ios/SharedTimerIOS.mm: Add.
926         (WebCore):
927         (-[WebCoreResumeNotifierIOS init]):
928         (-[WebCoreResumeNotifierIOS dealloc]):
929         (-[WebCoreResumeNotifierIOS didWake]):
930         (WebCore::setSharedTimerFiredFunction):
931         (WebCore::timerFired):
932         (WebCore::setSharedTimerFireInterval):
933         (WebCore::stopSharedTimer):
934
935 2013-02-20  Ojan Vafai  <ojan@chromium.org>
936
937         Speculative fix for EFL and Windows compilers not realizing
938         that all possible cases have a return value from this switch.
939
940         * rendering/RenderBox.cpp:
941         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
942
943 2013-02-20  David Hyatt  <hyatt@apple.com>
944
945         [New Multicolumn] Fix overflow computation for column blocks.
946         https://bugs.webkit.org/show_bug.cgi?id=110392.
947
948         Reviewed by Simon Fraser.
949
950         * rendering/RenderBox.cpp:
951         (WebCore::RenderBox::addOverflowFromChild):
952         Exclude in-flow RenderFlowThreads from overflow propagation.
953
954         * rendering/RenderMultiColumnSet.h:
955         * rendering/RenderRegion.h:
956         (WebCore::RenderRegion::shouldHaveAutoLogicalHeight):
957          * rendering/RenderRegionSet.h:
958         (RenderRegionSet):
959         Override shouldHaveAutoLogicalHeight to always be false
960         for region sets and for columns. Eventually we're going to try
961         to leverage this code to do column balancing, and that's why
962         RenderMultiColumnSet has a unique override.
963
964 2013-02-20  Brandon Jones  <bajones@google.com>
965  
966         Printing WebGL canvases in Chrome uses stale data after first print
967         https://bugs.webkit.org/show_bug.cgi?id=110003
968  
969         Reviewed by Kenneth Russell.
970  
971         Unable to validate printed content automatically. No regression in existing WebGL tests.
972  
973          * html/canvas/WebGLRenderingContext.cpp:
974          (WebCore):
975          (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
976
977 2013-02-20  Christian Biesinger  <cbiesinger@chromium.org>
978
979         Incorrect rendering for flex boxes with percentage height in a table cell
980         https://bugs.webkit.org/show_bug.cgi?id=110389
981
982         Reviewed by Tony Chang.
983
984         Tests: css3/flexbox/flex-percentage-height-in-table-standards-mode.html
985                css3/flexbox/flex-percentage-height-in-table.html
986
987         * rendering/RenderFlexibleBox.cpp:
988         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
989         Always update the logical height of the flex box, not just when it is
990         auto. If necessary, the later updateLogicalHeight() call will adjust
991         it.
992
993 2013-02-20  Philip Rogers  <pdr@google.com>
994
995         Account for transform in SVG background images
996         https://bugs.webkit.org/show_bug.cgi?id=110295
997
998         Reviewed by Dirk Schulze.
999
1000         Tiled SVG background images are rendererd by drawing the SVG content into a temporary
1001         image buffer, then stamping out a tiled pattern using this buffer. Previously the
1002         image buffer did not account for CSS transforms which could result in pixelated backgrounds.
1003
1004         This patch takes advantage of the context's transform when sizing the temporary tiling
1005         image buffer. Because the context's transform also includes scale, this patch simplifies
1006         the SVG image code to no longer track scale.
1007
1008         Test: svg/as-background-image/svg-transformed-background.html
1009
1010         * loader/cache/CachedImage.cpp:
1011         (WebCore):
1012         (WebCore::CachedImage::imageForRenderer):
1013
1014             CachedImage::lookupOrCreateImageForRenderer no longer creates images so it has been
1015             refactored into just "imageForRenderer". Previously there were two versions of
1016             lookupOrCreateImageForRenderer; these have been folded into imageForRenderer.
1017
1018         * loader/cache/CachedImage.h:
1019         * svg/graphics/SVGImage.cpp:
1020         (WebCore::SVGImage::drawPatternForContainer):
1021
1022             To create the temporary tiling image buffer, the final size in screen coordinates is
1023             needed. This is now computed using the current context's CTM. Because the CTM
1024             already includes the page scale, all page scale tracking can be removed.
1025
1026             The adjustments to srcRect and the pattern transform are the same as before, just
1027             refactored to use imageBufferScale which has x and y components.
1028
1029         * svg/graphics/SVGImage.h:
1030         * svg/graphics/SVGImageCache.cpp:
1031         (WebCore::SVGImageCache::setContainerSizeForRenderer):
1032
1033             Because the page scale needed to be cached between calls to
1034             setContainerSizeForRenderer, this function was written to modify an existing cache
1035             entry. Because the page scale no longer needs to be tracked, this code has been
1036             simplified to re-write any existing cache entry.
1037
1038         (WebCore::SVGImageCache::imageSizeForRenderer):
1039
1040             This function has been simplified by calling SVGImageForContainer::size() instead
1041             of computing this value manually. The value returned remains the same, containing
1042             the container size multiplied by zoom.
1043
1044         (WebCore::SVGImageCache::imageForRenderer):
1045
1046             Previously we set the page scale on every call to imageForRenderer. Because page scale
1047             no longer needs to be tracked, this function has been simplified to simply return
1048             the cached SVGImageForContainer.
1049
1050         * svg/graphics/SVGImageForContainer.cpp:
1051         (WebCore::SVGImageForContainer::drawPattern):
1052         * svg/graphics/SVGImageForContainer.h:
1053         (WebCore::SVGImageForContainer::create):
1054         (WebCore::SVGImageForContainer::SVGImageForContainer):
1055         (SVGImageForContainer):
1056
1057 2013-02-20  Jer Noble  <jer.noble@apple.com>
1058
1059         Crash in com.apple.WebKit2.WebProcessService at com.apple.avfoundation: __73-[AVAssetResourceLoader _attemptDelegateHandlingOfRequestWithDictionary:]_block_invoke + 51
1060         https://bugs.webkit.org/show_bug.cgi?id=110385
1061
1062         Reviewed by Eric Carlson.
1063
1064         Ensure AVFoundation does not attempt to message a dead object by explicitly disassociating
1065         the AVAssetResourceLoaderDelegate on MediaPlayerPrivateAVFoundationObjC destruction.
1066
1067         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1068         (WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC):
1069
1070 2013-02-20  Ojan Vafai  <ojan@chromium.org>
1071
1072         Positioned, replaced elements with intrinsic width keywords compute the wrong width
1073         https://bugs.webkit.org/show_bug.cgi?id=110393
1074
1075         Reviewed by Emil A Eklund.
1076
1077         Test: fast/css-intrinsic-dimensions/intrinsic-sized-replaced-absolutes.html
1078
1079         * rendering/RenderBox.cpp:
1080         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
1081         Add the intrinsic size keywords to the switch. Confusingly, we have to
1082         subtract the border and padding since the callers expect the content width.
1083
1084         * rendering/RenderReplaced.cpp:
1085         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
1086         Don't do the intrinsic ratio calculation if the width is an
1087         intrinsic width keyword, as per, http://dev.w3.org/csswg/css3-sizing/#replaced-intrinsic.
1088
1089         (WebCore::RenderReplaced::computeIntrinsicLogicalWidths):
1090         (WebCore::RenderReplaced::computePreferredLogicalWidths):
1091         The old code was trying to apply the intrinsic ratio calculation to
1092         the intrinsic width, which is wrong per spec.
1093
1094 2013-02-20  Alec Flett  <alecflett@chromium.org>
1095
1096         LevelDB: Remove excess vector copy
1097         https://bugs.webkit.org/show_bug.cgi?id=110399
1098
1099         Reviewed by Tony Chang.
1100
1101         Remove an extra copy introduced by the makeVector function.
1102
1103         No new tests, this is covered by existing tests.
1104
1105         * platform/leveldb/LevelDBDatabase.cpp:
1106         (WebCore::LevelDBDatabase::safeGet):
1107
1108 2013-02-20  Simon Fraser  <simon.fraser@apple.com>
1109
1110         Zoomed, slow-scrolling pages keep recreating tiles when scrolled
1111         https://bugs.webkit.org/show_bug.cgi?id=110379
1112
1113         Reviewed by Tim Horton.
1114
1115         On slow-scrolling pages the TileCache makes the tiles the size of
1116         the visible rect to minimize per-tile painting overhead. If the size
1117         of that rect changes, the TileCache re-creates all the tiles.
1118         
1119         This was a problem whem zoomed, because mapping the visible rect
1120         through the scale transform and then rounding it would cause the
1121         size to keep changing, causing lots of tile re-creation.
1122         
1123         Fix by carrying the visibleRect around as a FloatRect, and doing
1124         the same for the exposedRect. We then only expand to integers
1125         when computing the tile size. This also fixes an issue where we could
1126         sometimes make extra tiles because of fractional bits of tiles at the edges,
1127         as shown by the test result change.
1128
1129         * platform/graphics/TiledBacking.h:
1130         * platform/graphics/ca/GraphicsLayerCA.cpp:
1131         (WebCore::GraphicsLayerCA::updateVisibleRect):
1132         * platform/graphics/ca/mac/TileCache.h:
1133         * platform/graphics/ca/mac/TileCache.mm:
1134         (WebCore::TileCache::setVisibleRect):
1135         (WebCore::TileCache::setExposedRect):
1136         (WebCore::TileCache::prepopulateRect):
1137         (WebCore::TileCache::computeTileCoverageRect):
1138         (WebCore::TileCache::tileSizeForCoverageRect):
1139         (WebCore::TileCache::blankPixelCountForTiles):
1140         (WebCore::TileCache::revalidateTiles):
1141         (WebCore::TileCache::ensureTilesForRect):
1142         * platform/graphics/ca/mac/WebTileLayer.mm:
1143         (-[WebTileLayer logFilledFreshTile]):
1144
1145 2013-02-20  Julien Chaffraix  <jchaffraix@webkit.org>
1146
1147         [CSS Grid Layout] Implement the auto-placement algorithm without grid growth
1148         https://bugs.webkit.org/show_bug.cgi?id=110277
1149
1150         Reviewed by Tony Chang.
1151
1152         Tests: fast/css-grid-layout/grid-item-addition-auto-placement-update.html
1153                fast/css-grid-layout/grid-item-removal-auto-placement-update.html
1154                fast/css-grid-layout/grid-auto-flow-resolution.html (extended to cover more cases)
1155
1156         This change implements most of the auto-placement algorithm per
1157         http://dev.w3.org/csswg/css3-grid-layout/#auto-placement-algo
1158
1159         To limit the size of the code change, it doesn't implement growing the grid if there
1160         are no empty grid areas. If we don't find any empty grid areas, we just insert in the first
1161         one, like what grid-auto-flow: none would do (which explains the test failures).
1162
1163         * rendering/RenderGrid.cpp:
1164         (WebCore::RenderGrid::GridIterator::nextEmptyGridArea):
1165         Added this function to return the GridCoordinate of the next empty grid area along
1166         the iterator's direction.
1167
1168         (WebCore::RenderGrid::placeItemsOnGrid):
1169         Split this function into the different steps below. For efficiency, collect the auto vs specified
1170         major axis grid items in different Vectors.
1171
1172         (WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
1173         Added this function that implements part of step 1 of the algorithm (the grid items without
1174         auto row / column are already handled in placeItemsOnGrid).
1175
1176         (WebCore::RenderGrid::placeAutoMajorAxisItemsOnGrid):
1177         Added this function that iterates over the auto grid items and call placeAutoMajorAxisItemOnGrid.
1178
1179         (WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
1180         Added this method to handle the step 4 of the algorithm. Based on the minor axis's position,
1181         it either walks along the major axis once or several times until it finds an empty grid area
1182         for the grid item.
1183
1184         (WebCore::RenderGrid::autoPlacementMajorAxisPositionForChild):
1185         (WebCore::RenderGrid::autoPlacementMinorAxisPositionForChild):
1186         (WebCore::RenderGrid::autoPlacementMajorAxisDirection):
1187         (WebCore::RenderGrid::autoPlacementMinorAxisDirection):
1188         Added these helper functions that return minor / major axis positions & direction.
1189
1190         * rendering/RenderGrid.h:
1191         Added the previous new RenderGrid functions.
1192
1193 2013-02-20  Vincent Scheib  <scheib@chromium.org>
1194
1195         Accept 'allowfullscreen' in addition to 'webkitallowfullscreen'.
1196         https://bugs.webkit.org/show_bug.cgi?id=110374
1197
1198         Reviewed by Adam Barth.
1199
1200         The fullscreen API also includes a new HTML attribute for iframes
1201         which permits its use. That attribute, 'allowfullcreen' is now
1202         included in the HTML specification [1] and is stable enough
1203         to remove the webkit prefix.
1204
1205         [1] http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#attr-iframe-allowfullscreen
1206
1207         Tests: fullscreen/full-screen-enabled-prefixed.html
1208                fullscreen/full-screen-iframe-allowed-prefixed.html
1209                fullscreen/full-screen-iframe-with-mixed-allow-webkitallow-attribute.html
1210
1211         * dom/Document.cpp:
1212         (WebCore::isAttributeOnAllOwners):
1213         (WebCore::Document::fullScreenIsAllowedForElement):
1214         (WebCore::Document::webkitFullscreenEnabled):
1215         * html/HTMLAttributeNames.in:
1216
1217 2013-02-20  Roger Fong  <roger_fong@apple.com>
1218
1219         Unreviewed. Remove references to SAFARI_THEME from Windows Solution.
1220         <rdar://problem/13258710>
1221
1222         * config.h:
1223         * page/Settings.cpp:
1224         * page/Settings.h:
1225         * platform/win/ScrollbarThemeWin.cpp:
1226         * rendering/RenderThemeWin.cpp:
1227
1228 2013-02-20  Roger Fong  <roger_fong@apple.com>
1229
1230         Get VS2010 Solution B&I ready.
1231         <rdar://problem/1322988>
1232
1233         Rubberstamped by Timothy Horton.
1234
1235         Add Production configuration. 
1236         Add a WebCore submit solution with a DebugSuffix configuration. 
1237         Modify WebCore.make as necessary.
1238         
1239         * DerivedSources.make:
1240         * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj:
1241         * WebCore.vcxproj/QTMovieWin/QTMovieWinCommon.props:
1242         * WebCore.vcxproj/QTMovieWin/QTMovieWinProduction.props: Added.
1243         * WebCore.vcxproj/QTMovieWin/QTMovieWinRelease.props:
1244         * WebCore.vcxproj/WebCore.make: Added.
1245         * WebCore.vcxproj/WebCore.sln: Removed.
1246         * WebCore.vcxproj/WebCore.submit.sln: Copied from Source/WebCore/WebCore.vcxproj/WebCore.sln.
1247         * WebCore.vcxproj/WebCore.vcxproj:
1248         * WebCore.vcxproj/WebCoreGenerated.vcxproj:
1249         * WebCore.vcxproj/WebCoreGeneratedProduction.props: Added.
1250         * WebCore.vcxproj/WebCoreGeneratedRelease.props:
1251         * WebCore.vcxproj/WebCoreProduction.props: Added.
1252         * WebCore.vcxproj/WebCoreRelease.props:
1253         * WebCore.vcxproj/WebCoreTestSupport.vcxproj:
1254
1255 2013-02-20  Adam Klein  <adamk@chromium.org>
1256
1257         [v8] Fix an erroneous WrapperGrouper call in preparation for refactoring
1258         https://bugs.webkit.org/show_bug.cgi?id=110396
1259
1260         Reviewed by Kentaro Hara.
1261
1262         This is in preparation for a refactor to expose a simplified
1263         WrapperGrouper interface to V8 wrapper classes enabling them to
1264         specify multiple roots per wrapper object. 
1265
1266         * bindings/v8/V8GCController.cpp: Since MutationObservers are not Nodes, the correct call here is addObjectToGroup, as it is for all other non-Node wrappers.
1267
1268 2013-02-20  Levi Weintraub  <leviw@chromium.org>
1269
1270         Line layout (but not pref widths) double-counts word spacing when between inlines
1271         https://bugs.webkit.org/show_bug.cgi?id=110381
1272
1273         Reviewed by Emil A Eklund.
1274
1275         When a word break with a space occurs between inlines and word-spacing is non-zero,
1276         line layout incorrectly committed the word-spacing value to the line twice, causing
1277         wrapping in inline-blocks. To fix this, clear the word-spacing value when between
1278         words and ignoring spaces, as we will already have added the word-spacing to the
1279         line.
1280
1281         Test: fast/text/word-space-between-inlines.html
1282
1283         * rendering/RenderBlockLineLayout.cpp:
1284         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
1285
1286 2013-02-20  Nate Chapin  <japhet@chromium.org>
1287
1288         Crash in WebCore::FrameLoader::checkCompleted()
1289         https://bugs.webkit.org/show_bug.cgi?id=110237
1290
1291         Reviewed by Abhishek Arya.
1292
1293         Test: http/tests/misc/delete-frame-during-readystatechange.html
1294
1295         * loader/FrameLoader.cpp:
1296         (WebCore::FrameLoader::checkCompleted): Protect before setReadyState() is called.
1297
1298 2013-02-20  David Grogan  <dgrogan@chromium.org>
1299
1300         IndexedDB: Limit LevelDB's max open files
1301         https://bugs.webkit.org/show_bug.cgi?id=109993
1302
1303         Reviewed by Tony Chang.
1304
1305         LevelDB keeps up to 1000 (by default) data files open at a time to
1306         avoid having to open() them. This has caused chromium to hit the
1307         process-wide open file limit. This patch changes max_open_files to 20,
1308         as that's the minimum permitted by LevelDB and we have no reason to
1309         think that performance will suffer because of the extra open calls.
1310
1311         No new tests - a chromium browser test that tracks the open LevelDB
1312         files is plausible but is blocked on http://crbug.com/177249/.
1313
1314         * platform/leveldb/LevelDBDatabase.cpp:
1315         (WebCore::openDB):
1316
1317 2013-02-20  David Hyatt  <hyatt@apple.com>
1318
1319         [New Multicolumn] Resize RenderMultiColumnSets around their columns.
1320         https://bugs.webkit.org/show_bug.cgi?id=110378.
1321
1322         Reviewed by Dirk Schulze.
1323
1324         Test: fast/multicol/newmulticol/positioned-with-constrained-height.html.
1325
1326         * rendering/RenderBlock.h:
1327         (RenderBlock):
1328         Make computeOverflow public so that RenderMultiColumnFlowThread can
1329         access it.
1330
1331         * rendering/RenderMultiColumnFlowThread.cpp:
1332         (WebCore::RenderMultiColumnFlowThread::layout):
1333         Subclass layout to recompute the overflow for RenderMultiColumnBlock
1334         after the flow thread has finished layout. This way it can account
1335         for changes in RenderMultiColumnSets without having to do a second
1336         layout pass.
1337
1338         * rendering/RenderMultiColumnFlowThread.h:
1339         (RenderMultiColumnFlowThread):
1340         Override layout().
1341
1342         * rendering/RenderMultiColumnSet.cpp:
1343         (WebCore::RenderMultiColumnSet::columnCount):
1344         Clean up a comment that referred to portions as region rects still.
1345
1346         (WebCore::RenderMultiColumnSet::setFlowThreadPortionRect):
1347         * rendering/RenderMultiColumnSet.h:
1348         * rendering/RenderRegion.h:
1349         (WebCore::RenderRegion::setFlowThreadPortionRect):
1350         Make setFlowThreadPortionRect virtual and actually mutate the size
1351         and position of RenderMultiColumnSets so that they enclose their
1352         column rects.
1353
1354 2013-02-20  Dirk Schulze  <krit@webkit.org>
1355
1356         Enable CANVAS_PATH flag
1357         https://bugs.webkit.org/show_bug.cgi?id=108508
1358
1359         Reviewed by Simon Fraser.
1360
1361         Enable CANVAS_PATH flag on trunk.
1362
1363         Existing tests cover the feature.
1364
1365         * Configurations/FeatureDefines.xcconfig:
1366
1367 2013-02-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1368
1369         Unreviewed, rolling out r143441.
1370         http://trac.webkit.org/changeset/143441
1371         https://bugs.webkit.org/show_bug.cgi?id=110376
1372
1373         May be causing chromium content_browsertests failures.
1374         (Requested by vollick on #webkit).
1375
1376         * bindings/v8/ScriptValue.cpp:
1377         (WebCore::ScriptValue::serialize):
1378         (WebCore::ScriptValue::getString):
1379         (WebCore::ScriptValue::toString):
1380         (WebCore::ScriptValue::toInspectorValue):
1381         * bindings/v8/ScriptValue.h:
1382         (WebCore::ScriptValue::ScriptValue):
1383         (WebCore::ScriptValue::operator=):
1384         (WebCore::ScriptValue::operator==):
1385         (WebCore::ScriptValue::isEqual):
1386         (WebCore::ScriptValue::isFunction):
1387         (WebCore::ScriptValue::isNull):
1388         (WebCore::ScriptValue::isUndefined):
1389         (WebCore::ScriptValue::isObject):
1390         (WebCore::ScriptValue::hasNoValue):
1391         (WebCore::ScriptValue::clear):
1392         (WebCore::ScriptValue::v8Value):
1393         (ScriptValue):
1394         * bindings/v8/SharedPersistent.h:
1395         (WebCore):
1396         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1397         (WebCore::InjectedScriptHost::scriptValueAsNode):
1398         * bindings/v8/custom/V8MessageEventCustom.cpp:
1399         (WebCore::V8MessageEvent::dataAttrGetterCustom):
1400
1401 2013-02-15  Dirk Schulze  <krit@webkit.org>
1402
1403         [Chromium] Add runtime flag for CanvasPath
1404         https://bugs.webkit.org/show_bug.cgi?id=109997
1405
1406         Reviewed by Adam Barth.
1407
1408         Add runtime flag for Chromium.
1409
1410         * bindings/generic/RuntimeEnabledFeatures.cpp:
1411         (WebCore):
1412         * bindings/generic/RuntimeEnabledFeatures.h:
1413         (RuntimeEnabledFeatures):
1414         (WebCore::RuntimeEnabledFeatures::setCanvasPathEnabled):
1415         (WebCore::RuntimeEnabledFeatures::canvasPathEnabled):
1416         * html/canvas/DOMPath.idl:
1417         * page/DOMWindow.idl:
1418
1419 2013-02-20  Laszlo Gombos  <l.gombos@samsung.com>
1420
1421         Remove unnecessary includes for Platform.h from headers
1422         https://bugs.webkit.org/show_bug.cgi?id=110300
1423
1424         Reviewed by Alexey Proskuryakov.
1425
1426         wtf/Platform.h only need to be included in a few places directly
1427         as it is included in config.h. Remove the unnecessay duplicate as
1428         it can be confusing.
1429
1430         No new tests, no change in functionality.
1431
1432         * platform/SecureTextInput.h:
1433         * platform/audio/Biquad.h:
1434         * platform/audio/FFTFrame.h:
1435         * platform/graphics/cpu/arm/filters/FEBlendNEON.h:
1436         * platform/graphics/cpu/arm/filters/NEONHelpers.h:
1437         * platform/graphics/filters/FELighting.h:
1438
1439 2013-02-20  Florin Malita  <fmalita@chromium.org>
1440
1441         [SVG] Update of element referenced by multiple 'use' nodes is absurdly slow
1442         https://bugs.webkit.org/show_bug.cgi?id=97905
1443
1444         Reviewed by Dirk Schulze.
1445
1446         Rebuilding the shadow and instance trees of dependent use nodes recursively can be
1447         extremely inefficient with non-trivial dependency graphs (the trees are not constructed
1448         in topological order).
1449
1450         To avoid redundant buildShadowAndInstanceTree() invokations, separate the invalidation
1451         phase from the actual tree (re)building phase, and only descend into the dependency DAG
1452         during the invalidation phase (recursion also stops at nodes that have been previously
1453         invalidated).
1454
1455         No new tests: functional coverage provided by existing tests, perfomance tracked by
1456         PerformanceTests/SVG/SvgNestedUse.html.
1457
1458         * svg/SVGUseElement.cpp:
1459         (WebCore::SVGUseElement::buildPendingResource):
1460         (WebCore::SVGUseElement::buildShadowAndInstanceTree):
1461         (WebCore::SVGUseElement::invalidateShadowTree):
1462         (WebCore):
1463         (WebCore::SVGUseElement::invalidateDependentShadowTrees):
1464         * svg/SVGUseElement.h:
1465         (SVGUseElement):
1466
1467 2013-02-20  Tim Horton  <timothy_horton@apple.com>
1468
1469         RenderLayerBacking should initialize TiledBacking's isInWindow state with Page's isInWindow, not isOnscreen
1470         https://bugs.webkit.org/show_bug.cgi?id=110370
1471         <rdar://problem/13254006>
1472
1473         Reviewed by Simon Fraser.
1474
1475         * rendering/RenderLayerBacking.cpp:
1476         (WebCore::RenderLayerBacking::RenderLayerBacking):
1477
1478 2013-02-20  Mark Lam  <mark.lam@apple.com>
1479
1480         Cleanup the SQLTransaction and SQLTransactionBackend state dispatch
1481         to only honor a state transition request if the associated database
1482         hasn't been interrupted.
1483         https://bugs.webkit.org/show_bug.cgi?id=110247.
1484
1485         Reviewed by Antti Koivisto.
1486
1487         No new tests.
1488
1489         * Modules/webdatabase/SQLTransaction.cpp:
1490         (WebCore::SQLTransaction::performPendingCallback):
1491         (WebCore::SQLTransaction::computeNextStateAndCleanupIfNeeded):
1492         * Modules/webdatabase/SQLTransaction.h:
1493         * Modules/webdatabase/SQLTransactionBackend.cpp:
1494         (WebCore::SQLTransactionBackend::computeNextStateAndCleanupIfNeeded):
1495         (WebCore::SQLTransactionBackend::performNextStep):
1496         * Modules/webdatabase/SQLTransactionBackend.h:
1497
1498 2013-02-20  Alexey Proskuryakov  <ap@apple.com>
1499
1500         ResourceHandle::loadResourceSynchronously should have blob support in cross-platform code
1501         https://bugs.webkit.org/show_bug.cgi?id=110364
1502
1503         Reviewed by Anders Carlsson.
1504
1505         * platform/network/ResourceHandle.h:
1506         * platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::loadResourceSynchronously):
1507         Added a cross-platform version to keep blob-related logic in one place.
1508
1509         * platform/network/blackberry/ResourceHandleBlackBerry.cpp:
1510         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
1511         * platform/network/cf/ResourceHandleCFNet.cpp:
1512         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
1513         * platform/network/curl/ResourceHandleCurl.cpp:
1514         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
1515         * platform/network/mac/ResourceHandleMac.mm:
1516         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
1517         * platform/network/qt/ResourceHandleQt.cpp:
1518         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
1519         * platform/network/soup/ResourceHandleSoup.cpp:
1520         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
1521         * platform/network/win/ResourceHandleWin.cpp:
1522         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
1523         Renamed loadResourceSynchronously to platformLoadResourceSynchronously,
1524         removed blob handling from platforms that had it.
1525
1526 2013-02-20  David Hyatt  <hyatt@apple.com>
1527
1528         [New Multicolumn] RenderMultiColumnFlowThreads should establish a BFC.
1529         https://bugs.webkit.org/show_bug.cgi?id=110366.
1530
1531         Reviewed by Antti Koivisto.
1532
1533         RenderFlowThreads should establish a block formatting context always.
1534         CSS Regions have named flow thread that they absolutely position, and so
1535         they got this for free by being absolutely positioned.
1536         
1537         RenderMultiColumnFlowThreads, however, are relative positioned, so we need
1538         to just add an isRenderFlowThread case specifically so we're not dependent
1539         on the positioning scheme used for the flow thread to establish the BFC.
1540         
1541         Test: fast/multicol/newmulticol/float-*.html.
1542
1543         * rendering/RenderBlock.cpp:
1544         (WebCore::RenderBlock::MarginInfo::MarginInfo):
1545
1546 2013-02-20  David Hyatt  <hyatt@apple.com>
1547
1548         [New Multicolumn] Column gap is computed incorrectly.
1549         https://bugs.webkit.org/show_bug.cgi?id=110360.
1550
1551         Reviewed by Simon Fraser.
1552
1553         Test: fast/multicol/newmulticol/layers-split-across-columns.html.
1554
1555         * rendering/RenderMultiColumnSet.cpp:
1556         (WebCore::RenderMultiColumnSet::columnGap):
1557         Make sure we ask the RenderMultiColumnBlock for the gap rather than our
1558         own style, since we don't actually have the gap value in our style.
1559         
1560         (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
1561         * rendering/RenderMultiColumnSet.h:
1562         Fix another spot where the columnGap was an int. It should be a LayoutUnit.
1563
1564 2013-02-20  Robert Hogan  <robert@webkit.org>
1565
1566         No caret on empty contenteditable element with negative text-indent
1567         https://bugs.webkit.org/show_bug.cgi?id=108633
1568
1569         Reviewed by Ryosuke Niwa.
1570
1571         Test: fast/repaint/paint-caret-in-div-with-negative-indent.html
1572
1573         When an editable element has a negative text indent we won't paint the caret when the
1574         element is empty because it falls outside the element's border box. To ensure the caret is painted,
1575         account for any negative indent with our overflow.
1576
1577         * rendering/RenderBlock.cpp:
1578         (WebCore::RenderBlock::computeOverflow):
1579
1580 2013-02-20  Ojan Vafai  <ojan@chromium.org>
1581
1582         Remove stretchesToMinIntrinsicLogicalWidth
1583         https://bugs.webkit.org/show_bug.cgi?id=110266
1584
1585         Reviewed by Emil Eklund.
1586
1587         This was only used by fieldsets and now we have a way to express this
1588         concept in CSS.
1589
1590         * WebCore.order:
1591         * css/html.css:
1592         Make fieldsets min-width: -webkit-min-content.
1593
1594         * rendering/RenderBox.cpp:
1595         (WebCore::RenderBox::computeLogicalWidthInRegion):
1596         (WebCore::RenderBox::computePositionedLogicalWidth):
1597         * rendering/RenderBox.h:
1598         Remove all calls to stretchesToMinIntrinsicLogicalWidth.
1599
1600 2013-02-20  Ojan Vafai  <ojan@chromium.org>
1601
1602         Make intrinsic width values work for positioned elements
1603         https://bugs.webkit.org/show_bug.cgi?id=110264
1604
1605         Reviewed by Tony Chang.
1606
1607         Tests: fast/css-intrinsic-dimensions/intrinsic-sized-absolutes.html
1608                fast/css-intrinsic-dimensions/width-shrinks-avoid-floats.html
1609
1610         * rendering/RenderBox.cpp:
1611         (WebCore::RenderBox::computeIntrinsicLogicalWidthUsing):
1612         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
1613         Move the computation of intrinsic widths out into a helper function so that
1614         computePositionedLogicalWidthUsing can use it. As per the current spec,
1615         fill-available measures shrink to avoid floats. http://dev.w3.org/csswg/css3-sizing/
1616
1617         (WebCore::RenderBox::computePositionedLogicalWidth):
1618         Compute intrinsic min-widths in addition to non-zero ones. Intrinsic widths
1619         return true for isZero. width and max-width don't need modifying since they already
1620         call computePositionedLogicalWidthUsing for intrinsic widths.
1621
1622         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
1623         Compute intrinsic widths and use a Fixed length for the rest of the positioned width
1624         computation. Doesn't include bordersPlusPadding because the caller, expected the content
1625         width and adds in the bordersPlusPadding later.
1626
1627         * rendering/RenderBox.h:
1628
1629 2013-02-20  Robert Hogan  <robert@webkit.org>
1630
1631         input element with placeholder text and width set to 100% on focus causes overflow even after losing focus
1632         https://bugs.webkit.org/show_bug.cgi?id=109020
1633
1634         Reviewed by David Hyatt.
1635
1636         Tests: fast/forms/input-placeholder-layout-view.html
1637                fast/forms/textarea-placeholder-layout-view.html
1638
1639         Placeholder elements don't affect layout so shouldn't contribute overflow either.
1640
1641         * rendering/RenderTextControlSingleLine.cpp:
1642         (WebCore::RenderTextControlSingleLine::layout):
1643
1644 2013-02-20  Mark Lam  <mark.lam@apple.com>
1645
1646         Rename DatabaseBackend to DatabaseBackendBase.
1647         https://bugs.webkit.org/show_bug.cgi?id=110303.
1648
1649         Rubber stamped by Alexey Proskuryakov.
1650
1651         This is a purely cosmetic change to make the naming consistent with
1652         the front-end DatabaseBase.
1653
1654         No new tests.
1655
1656         * CMakeLists.txt:
1657         * GNUmakefile.list.am:
1658         * Modules/webdatabase/AbstractDatabaseServer.h:
1659         * Modules/webdatabase/Database.cpp:
1660         (WebCore::Database::create):
1661         (WebCore::Database::version):
1662         * Modules/webdatabase/Database.h:
1663         (Database):
1664         * Modules/webdatabase/DatabaseBackend.cpp: Removed.
1665         * Modules/webdatabase/DatabaseBackend.h: Removed.
1666         * Modules/webdatabase/DatabaseBackendAsync.cpp:
1667         (WebCore::DatabaseBackendAsync::DatabaseBackendAsync):
1668         (WebCore::DatabaseBackendAsync::performOpenAndVerify):
1669         * Modules/webdatabase/DatabaseBackendAsync.h:
1670         * Modules/webdatabase/DatabaseBackendBase.cpp: Copied from Source/WebCore/Modules/webdatabase/DatabaseBackend.cpp.
1671         (WebCore::DatabaseBackendBase::databaseInfoTableName):
1672         (WebCore::DatabaseBackendBase::DatabaseBackendBase):
1673         (WebCore::DatabaseBackendBase::~DatabaseBackendBase):
1674         (WebCore::DatabaseBackendBase::closeDatabase):
1675         (WebCore::DatabaseBackendBase::version):
1676         (WebCore::DoneCreatingDatabaseOnExitCaller::DoneCreatingDatabaseOnExitCaller):
1677         (DoneCreatingDatabaseOnExitCaller):
1678         (WebCore::DatabaseBackendBase::performOpenAndVerify):
1679         (WebCore::DatabaseBackendBase::securityOrigin):
1680         (WebCore::DatabaseBackendBase::stringIdentifier):
1681         (WebCore::DatabaseBackendBase::displayName):
1682         (WebCore::DatabaseBackendBase::estimatedSize):
1683         (WebCore::DatabaseBackendBase::fileName):
1684         (WebCore::DatabaseBackendBase::details):
1685         (WebCore::DatabaseBackendBase::getVersionFromDatabase):
1686         (WebCore::DatabaseBackendBase::setVersionInDatabase):
1687         (WebCore::DatabaseBackendBase::setExpectedVersion):
1688         (WebCore::DatabaseBackendBase::getCachedVersion):
1689         (WebCore::DatabaseBackendBase::setCachedVersion):
1690         (WebCore::DatabaseBackendBase::getActualVersionForTransaction):
1691         (WebCore::DatabaseBackendBase::disableAuthorizer):
1692         (WebCore::DatabaseBackendBase::enableAuthorizer):
1693         (WebCore::DatabaseBackendBase::setAuthorizerReadOnly):
1694         (WebCore::DatabaseBackendBase::setAuthorizerPermissions):
1695         (WebCore::DatabaseBackendBase::lastActionChangedDatabase):
1696         (WebCore::DatabaseBackendBase::lastActionWasInsert):
1697         (WebCore::DatabaseBackendBase::resetDeletes):
1698         (WebCore::DatabaseBackendBase::hadDeletes):
1699         (WebCore::DatabaseBackendBase::resetAuthorizer):
1700         (WebCore::DatabaseBackendBase::maximumSize):
1701         (WebCore::DatabaseBackendBase::incrementalVacuumIfNeeded):
1702         (WebCore::DatabaseBackendBase::interrupt):
1703         (WebCore::DatabaseBackendBase::isInterrupted):
1704         (WebCore::DatabaseBackendBase::reportOpenDatabaseResult):
1705         (WebCore::DatabaseBackendBase::reportChangeVersionResult):
1706         (WebCore::DatabaseBackendBase::reportStartTransactionResult):
1707         (WebCore::DatabaseBackendBase::reportCommitTransactionResult):
1708         (WebCore::DatabaseBackendBase::reportExecuteStatementResult):
1709         (WebCore::DatabaseBackendBase::reportVacuumDatabaseResult):
1710         * Modules/webdatabase/DatabaseBackendBase.h: Copied from Source/WebCore/Modules/webdatabase/DatabaseBackend.h.
1711         (DatabaseBackendBase):
1712         * Modules/webdatabase/DatabaseBackendSync.cpp:
1713         (WebCore::DatabaseBackendSync::DatabaseBackendSync):
1714         * Modules/webdatabase/DatabaseBackendSync.h:
1715         * Modules/webdatabase/DatabaseBase.h:
1716         * Modules/webdatabase/DatabaseManager.cpp:
1717         (WebCore::DatabaseManager::openDatabaseBackend):
1718         (WebCore::DatabaseManager::openDatabase):
1719         (WebCore::DatabaseManager::openDatabaseSync):
1720         (WebCore::DatabaseManager::getMaxSizeForDatabase):
1721         * Modules/webdatabase/DatabaseManager.h:
1722         (DatabaseManager):
1723         * Modules/webdatabase/DatabaseServer.cpp:
1724         (WebCore::DatabaseServer::openDatabase):
1725         (WebCore::DatabaseServer::createDatabase):
1726         (WebCore::DatabaseServer::getMaxSizeForDatabase):
1727         * Modules/webdatabase/DatabaseServer.h:
1728         * Modules/webdatabase/DatabaseSync.cpp:
1729         (WebCore::DatabaseSync::create):
1730         * Modules/webdatabase/DatabaseSync.h:
1731         (DatabaseSync):
1732         * Modules/webdatabase/DatabaseTracker.cpp:
1733         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
1734         (WebCore::DatabaseTracker::databaseChanged):
1735         (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
1736         (WebCore::DatabaseTracker::doneCreatingDatabase):
1737         (WebCore::DatabaseTracker::addOpenDatabase):
1738         (WebCore::DatabaseTracker::removeOpenDatabase):
1739         (WebCore::DatabaseTracker::getOpenDatabases):
1740         (WebCore::DatabaseTracker::deleteDatabaseFile):
1741         * Modules/webdatabase/DatabaseTracker.h:
1742         (DatabaseTracker):
1743         * Modules/webdatabase/OriginQuotaManager.cpp:
1744         (WebCore::OriginQuotaManager::markDatabase):
1745         * Modules/webdatabase/OriginQuotaManager.h:
1746         (OriginQuotaManager):
1747         * Modules/webdatabase/SQLTransactionClient.cpp:
1748         (WebCore::SQLTransactionClient::didCommitWriteTransaction):
1749         (WebCore::SQLTransactionClient::didExecuteStatement):
1750         (WebCore::SQLTransactionClient::didExceedQuota):
1751         * Modules/webdatabase/SQLTransactionClient.h:
1752         (SQLTransactionClient):
1753         * Modules/webdatabase/chromium/DatabaseObserver.h:
1754         (DatabaseObserver):
1755         * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp:
1756         (WebCore::DatabaseTracker::addOpenDatabase):
1757         (WebCore::NotifyDatabaseObserverOnCloseTask::create):
1758         (WebCore::NotifyDatabaseObserverOnCloseTask::NotifyDatabaseObserverOnCloseTask):
1759         (NotifyDatabaseObserverOnCloseTask):
1760         (WebCore::DatabaseTracker::removeOpenDatabase):
1761         (WebCore::DatabaseTracker::prepareToOpenDatabase):
1762         (WebCore::DatabaseTracker::failedToOpenDatabase):
1763         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
1764         (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::create):
1765         (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::CloseOneDatabaseImmediatelyTask):
1766         (DatabaseTracker::CloseOneDatabaseImmediatelyTask):
1767         (WebCore::DatabaseTracker::closeOneDatabaseImmediately):
1768         * Modules/webdatabase/chromium/SQLTransactionClientChromium.cpp:
1769         (WebCore::NotifyDatabaseChangedTask::create):
1770         (WebCore::NotifyDatabaseChangedTask::NotifyDatabaseChangedTask):
1771         (NotifyDatabaseChangedTask):
1772         (WebCore::SQLTransactionClient::didCommitWriteTransaction):
1773         (WebCore::SQLTransactionClient::didExecuteStatement):
1774         (WebCore::SQLTransactionClient::didExceedQuota):
1775         * Target.pri:
1776         * WebCore.gypi:
1777         * WebCore.vcproj/WebCore.vcproj:
1778         * WebCore.vcxproj/WebCore.vcxproj:
1779         * WebCore.vcxproj/WebCore.vcxproj.filters:
1780         * WebCore.xcodeproj/project.pbxproj:
1781
1782 2013-02-20  Eric Carlson  <eric.carlson@apple.com>
1783
1784         iOS does not use CaptionUserPreferencesMac
1785         https://bugs.webkit.org/show_bug.cgi?id=110259
1786
1787         Reviewed by Dean Jackson.
1788
1789         * page/CaptionUserPreferencesMac.h: Add PLATFORM(IOS) guard
1790         * page/CaptionUserPreferencesMac.mm: Ditto.
1791
1792         * page/PageGroup.cpp:
1793         (WebCore::PageGroup::captionPreferences): Ditto.
1794
1795 2013-02-19  David Hyatt  <hyatt@apple.com>
1796
1797         [New Multicolumn] Make layers paint properly in columns.
1798         https://bugs.webkit.org/show_bug.cgi?id=110296.
1799
1800         Reviewed by Sam Weinig.
1801
1802         Construct the style for the RenderMultiColumnFlowThread such that it
1803         establishes a stacking context (by being position:relative
1804         with a z-index of 0). This causes the layer collection code
1805         to correctly ignore the RenderFlowThread layers during normal
1806         painting.
1807         
1808         Fix more clipping bugs to eliminate subpixel layout differences
1809         between old and new multicolumn.
1810
1811         Test: fast/multicol/newmulticol/layers-in-multicol.html
1812
1813         * rendering/RenderMultiColumnBlock.cpp:
1814         (WebCore::createMultiColumnFlowThreadStyle):
1815         (WebCore):
1816         (WebCore::RenderMultiColumnBlock::addChild):
1817         Use a custom style (similar to what normal RenderFlowThreads do)
1818         for the RenderMultiColumnFlowThread that makes it a stacking
1819         context.
1820         
1821         * rendering/RenderMultiColumnSet.cpp:
1822         (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
1823         Fix the overflow calculations out the leftmost and rightmost
1824         columns to actually look at the physical placement of the columns.
1825         The old code was backwards for RTL.
1826         
1827         * rendering/RenderRegion.cpp:
1828         (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
1829         Fix the clipping done by overflowRectForFlowThreadPortion to min
1830         and max with the passed-in portion rect so that subclasses that
1831         inflate the rect prior to passing it into the method don't have that
1832         inflation discarded.
1833
1834 2013-02-20  Alexander Pavlov  <apavlov@chromium.org>
1835
1836         Web Inspector: CSSProperty.status defaults to "style" not "active"
1837         https://bugs.webkit.org/show_bug.cgi?id=110348
1838
1839         Reviewed by Timothy Hatcher.
1840
1841         * inspector/Inspector.json: Fix the default property status to be "style" in the description.
1842
1843 2013-02-20  Dan Carney  <dcarney@google.com>
1844
1845         [v8] potentially disposed handle returned for npapi object
1846         https://bugs.webkit.org/show_bug.cgi?id=110331
1847
1848         Reviewed by Kentaro Hara.
1849
1850         No new tests. No change in functionality.
1851
1852         * bindings/v8/V8NPUtils.cpp:
1853         (WebCore::convertNPVariantToV8Object):
1854
1855 2013-02-20  Xabier Rodriguez Calvar  <calvaris@igalia.com>  and  Martin Robinson  <mrobinson@igalia.com>
1856
1857         [Gtk] HTML5 Media controls require a design refresh
1858         https://bugs.webkit.org/show_bug.cgi?id=83869
1859
1860         Created new controls that depend less on Gtk and more in CSS.
1861
1862         Reviewed by Philippe Normand.
1863
1864         * GNUmakefile.list.am: Added compilation for MediaControlsGtk.cpp
1865         and MediaControlsGtk.h
1866         * css/mediaControlsGtk.css: Taken from Chromium and adapted for
1867         WebKitGtk+.
1868         * html/shadow/MediaControlsGtk.cpp: Added.
1869         (WebCore): Added MediaControlsGtk class.
1870         (WebCore::MediaControlsGtk::MediaControlsGtk): Class constructor
1871         (WebCore::MediaControls::create): Creates the Gtk+ controls
1872         components.
1873         (WebCore::MediaControlsGtk::createControls): Creates the Gtk+
1874         controls components.
1875         (WebCore::MediaControlsGtk::initializeControls): Initializes all
1876         media controls.
1877         (WebCore::MediaControlsGtk::setMediaController): Sets the media
1878         controller.
1879         (WebCore::MediaControlsGtk::reset): Resets the controllers.
1880         (WebCore::MediaControlsGtk::playbackStarted): Invoked when the
1881         playback starts
1882         (WebCore::MediaControlsGtk::updateCurrentTimeDisplay): Updates the
1883         controls when the current time shall be updated.
1884         (WebCore::MediaControlsGtk::changedMute): Updates the controls
1885         then the mute changes.
1886         (WebCore::MediaControlsGtk::showVolumeSlider): Invoked when the
1887         volume slider is meant to be shown.
1888         (WebCore::MediaControlsGtk::createTextTrackDisplay): Creates the
1889         track display. Though it is not used by us, it needs to be created
1890         to prevent immediate crashes when loading a video.
1891         * html/shadow/MediaControlsGtk.h: Added.
1892         (WebCore): Added the MediaControlsGtk class.
1893         (MediaControlsGtk): Added the MediaControlsGtk class.
1894         * platform/gtk/RenderThemeGtk.cpp:
1895         (WebCore): Added getStockSymbolicIconForWidgetType function
1896         signature to load symbolic icons.
1897         (WebCore::supportsFocus): Added media control widgets to support
1898         focus so that the focus ring is not painted by WebCore.
1899         (WebCore::RenderThemeGtk::paintMediaButton): Added the symbolic
1900         icon support. It supports now normal and symbolic icons at the
1901         same time.
1902         (WebCore::RenderThemeGtk::paintMediaFullscreenButton): Added the
1903         symbolic icon support.
1904         (WebCore::RenderThemeGtk::paintMediaMuteButton): Added the
1905         symbolic icon support.
1906         (WebCore::RenderThemeGtk::paintMediaPlayButton): Added the
1907         symbolic icon support.
1908         (WebCore::RenderThemeGtk::paintMediaSeekBackButton): Added the
1909         symbolic icon support.
1910         (WebCore::RenderThemeGtk::paintMediaSeekForwardButton): Added the
1911         symbolic icon support.
1912         (WebCore::borderRadiiFromStyle): Created the radii info from the
1913         style.
1914         (WebCore::RenderThemeGtk::paintMediaSliderTrack): Removed the
1915         background and the Gtk widget support as it is painted with
1916         CSS. Also paint the time ranges with the CSS style.
1917         (WebCore::RenderThemeGtk::paintMediaSliderThumb): Paint slider
1918         thumb according to the CSS parameters.
1919         (WebCore::RenderThemeGtk::paintMediaVolumeSliderContainer):
1920         Delegates in the CSS.
1921         (WebCore::RenderThemeGtk::paintMediaVolumeSliderTrack): Fills the
1922         track up to the volume level and delegates the border in the CSS.
1923         (WebCore::RenderThemeGtk::paintMediaVolumeSliderThumb): Delegates
1924         in the paintMediaSliderThumb method so the thumb is painted the
1925         same with the CSS parameters.
1926         (WebCore::RenderThemeGtk::paintMediaCurrentTime): Removed the Gtk
1927         background to use only CSS.
1928         * platform/gtk/RenderThemeGtk.h:
1929         (RenderThemeGtk): Changed paintMediaButton to support the symbolic
1930         and normal icons at the same time.
1931         * platform/gtk/RenderThemeGtk2.cpp:
1932         (WebCore::RenderThemeGtk::adjustSliderThumbSize): Not adjusting
1933         the thumb size and letting the CSS decide that for media slider.
1934         (WebCore::getStockSymbolicIconForWidgetType): Implemented as a
1935         fallback to the normal stock icons.
1936         * platform/gtk/RenderThemeGtk3.cpp:
1937         (WebCore):
1938         (WebCore::RenderThemeGtk::adjustSliderThumbSize): Not adjusting
1939         the thumb size and letting the CSS decide that for the media
1940         sliders.
1941         (WebCore::getStockSymbolicIconForWidgetType): Added this function
1942         to load symbolic icons. It falls back to normal icons if the
1943         symbolic is not found.
1944
1945 2013-02-20  Andras Becsi  <andras.becsi@digia.com>
1946
1947         [Qt] Rename AncestorChainWalker.h to EventPathWalker.h in the project file.
1948
1949         Unreviewed gardening.
1950
1951         AncestorChainWalker has been renamed to EventPathWalker in r143422.
1952         Rename the header in the project file as well so that it shows up in QtCreator.
1953
1954         No new tests needed.
1955
1956         * Target.pri:
1957
1958 2013-02-20  Ilya Tikhonovsky  <loislo@chromium.org>
1959
1960         Web Inspector: fix for frontend closure compile errors.
1961         https://bugs.webkit.org/show_bug.cgi?id=110329
1962
1963         Reviewed by Vsevolod Vlasov.
1964
1965         It has no tests because it has no code changes.
1966
1967         * inspector/front-end/HeapSnapshot.js:
1968         (HeapSnapshotMetainfo):
1969         * inspector/front-end/NativeMemorySnapshotView.js:
1970         (WebInspector.NativeSnapshotProfileType.prototype.buttonClicked.didReceiveMemorySnapshot):
1971         (WebInspector.NativeSnapshotProfileType.prototype.buttonClicked):
1972
1973 2013-02-20  Florin Malita  <fmalita@chromium.org>
1974
1975         Clear SVGPathSeg role on removal.
1976         https://bugs.webkit.org/show_bug.cgi?id=110058
1977
1978         Reviewed by Dirk Schulze.
1979
1980         SVGPathSegListPropertyTearOff::initialize() and SVGPathSegListPropertyTearOff::replaceItem()
1981         need to clear the context and role for segments being expunged from the list, similarly to
1982         removeItem(). Otherwise, processIncomingListItemValue() can get confused and attempt to
1983         remove stale segments.
1984
1985         Test: svg/dom/SVGPathSegList-crash.html
1986
1987         * svg/properties/SVGPathSegListPropertyTearOff.cpp:
1988         (WebCore::SVGPathSegListPropertyTearOff::clearContextAndRoles):
1989         (WebCore::SVGPathSegListPropertyTearOff::clear):
1990         (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
1991         (WebCore):
1992         * svg/properties/SVGPathSegListPropertyTearOff.h:
1993         (WebCore::SVGPathSegListPropertyTearOff::initialize):
1994         (SVGPathSegListPropertyTearOff):
1995
1996 2013-02-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1997
1998         Unreviewed, rolling out r143434.
1999         http://trac.webkit.org/changeset/143434
2000         https://bugs.webkit.org/show_bug.cgi?id=110326
2001
2002         added reftest fails on chromium mac 10.6 (Requested by
2003         toyoshim on #webkit).
2004
2005         * rendering/RenderFileUploadControl.cpp:
2006         (WebCore::RenderFileUploadControl::paintObject):
2007
2008 2013-02-19  Vsevolod Vlasov  <vsevik@chromium.org>
2009
2010         Web Inspector: Make UISourceCode.path() an array of path segments.
2011         https://bugs.webkit.org/show_bug.cgi?id=110229
2012
2013         Reviewed by Pavel Feldman.
2014
2015         * inspector/front-end/FileSystemProjectDelegate.js:
2016         (WebInspector.FileSystemProjectDelegate.prototype._filePathForPath):
2017         (WebInspector.FileSystemProjectDelegate.prototype.innerCallback):
2018         (WebInspector.FileSystemProjectDelegate.prototype.requestFileContent):
2019         (WebInspector.FileSystemProjectDelegate.prototype._contentTypeForPath):
2020         (WebInspector.FileSystemProjectDelegate.prototype.populate.filesLoaded):
2021         (WebInspector.FileSystemProjectDelegate.prototype.populate):
2022         * inspector/front-end/SimpleWorkspaceProvider.js:
2023         (WebInspector.SimpleProjectDelegate.prototype.requestFileContent):
2024         (WebInspector.SimpleProjectDelegate.prototype.searchInFileContent):
2025         (WebInspector.SimpleProjectDelegate.prototype.addFile):
2026         (WebInspector.SimpleProjectDelegate.prototype._ensureUniquePath):
2027         (WebInspector.SimpleProjectDelegate.prototype.removeFile):
2028         (WebInspector.SimpleWorkspaceProvider.pathForSplittedURL):
2029         (WebInspector.SimpleWorkspaceProvider.prototype.addFileByName):
2030         (WebInspector.SimpleWorkspaceProvider.prototype.removeFileByName):
2031         * inspector/front-end/UISourceCode.js:
2032         (WebInspector.UISourceCode.prototype.uri):
2033         * inspector/front-end/Workspace.js:
2034         (WebInspector.Project.prototype._fileAdded):
2035         (WebInspector.Project.prototype._fileRemoved):
2036         (WebInspector.Project.prototype.uiSourceCode):
2037         (WebInspector.Workspace.prototype.uiSourceCodeForURL):
2038         (WebInspector.Workspace.prototype.urlForPath):
2039
2040 2013-02-20  Yury Semikhatsky  <yurys@chromium.org>
2041
2042         Web Inspector: fix message for non-existent domain warning
2043         https://bugs.webkit.org/show_bug.cgi?id=110315
2044
2045         Reviewed by Alexander Pavlov.
2046
2047         Only send (Heap)Profiler.resetProfiles event if the client has
2048         requested profile headers before.
2049
2050         * inspector/InspectorHeapProfilerAgent.cpp:
2051         (HeapProfilerAgentState):
2052         (WebCore):
2053         (WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
2054         (WebCore::InspectorHeapProfilerAgent::resetFrontendProfiles):
2055         (WebCore::InspectorHeapProfilerAgent::clearFrontend):
2056         (WebCore::InspectorHeapProfilerAgent::restore):
2057         (WebCore::InspectorHeapProfilerAgent::getProfileHeaders):
2058         * inspector/InspectorHeapProfilerAgent.h:
2059         (InspectorHeapProfilerAgent):
2060         * inspector/InspectorProfilerAgent.cpp:
2061         (ProfilerAgentState):
2062         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
2063         (WebCore::InspectorProfilerAgent::addProfile):
2064         (WebCore::InspectorProfilerAgent::disable):
2065         (WebCore::InspectorProfilerAgent::getProfileHeaders):
2066         (WebCore):
2067         (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
2068         (WebCore::InspectorProfilerAgent::restore):
2069         * inspector/InspectorProfilerAgent.h:
2070         (InspectorProfilerAgent):
2071
2072 2013-02-19  Vsevolod Vlasov  <vsevik@chromium.org>
2073
2074         Web Inspector: Move workspace specific code from FileMapping to workspace.
2075         https://bugs.webkit.org/show_bug.cgi?id=110219
2076
2077         Reviewed by Pavel Feldman.
2078
2079         Extracted workspace specific code from FileMapping to Workspace.
2080         This allows to reduce usage of uri and eventually make UISourceCode.path an array of path segments.
2081
2082         Test: inspector/workspace-mapping.html
2083
2084         * inspector/front-end/CSSStyleModel.js:
2085         (WebInspector.CSSStyleModel.prototype.rawLocationToUILocation):
2086         * inspector/front-end/CompilerScriptMapping.js:
2087         (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
2088         (WebInspector.CompilerScriptMapping.prototype.get addScript.get this):
2089         (WebInspector.CompilerScriptMapping.prototype.get addScript):
2090         * inspector/front-end/FileMapping.js:
2091         (WebInspector.FileMapping):
2092         (WebInspector.FileMapping.prototype.mappingEntryForURL):
2093         (WebInspector.FileMapping.prototype.mappingEntryForPath):
2094         * inspector/front-end/FileSystemMapping.js:
2095         (WebInspector.FileSystemMapping.prototype.fileSystemPathForPrefix):
2096         (WebInspector.FileSystemMappingImpl.prototype.addFileSystemMapping):
2097         (WebInspector.FileSystemMappingImpl.prototype.removeFileSystemMapping):
2098         (WebInspector.FileSystemMappingImpl.prototype.fileSystemPathForPrefix):
2099         * inspector/front-end/FileSystemProjectDelegate.js:
2100         (WebInspector.FileSystemProjectDelegate):
2101         (WebInspector.FileSystemProjectDelegate.prototype.populate.filesLoaded):
2102         (WebInspector.FileSystemProjectDelegate.prototype.populate):
2103         (WebInspector.FileSystemWorkspaceProvider):
2104         (WebInspector.FileSystemWorkspaceProvider.prototype._fileSystemAdded):
2105         * inspector/front-end/IsolatedFileSystemManager.js:
2106         (WebInspector.IsolatedFileSystemManager):
2107         * inspector/front-end/NetworkUISourceCodeProvider.js:
2108         (WebInspector.NetworkUISourceCodeProvider):
2109         (WebInspector.NetworkUISourceCodeProvider.prototype._addFile):
2110         * inspector/front-end/ResourceScriptMapping.js:
2111         (WebInspector.ResourceScriptMapping.prototype._workspaceUISourceCodeForScript):
2112         * inspector/front-end/ResourceUtils.js:
2113         (WebInspector.displayNameForURL):
2114         * inspector/front-end/SASSSourceMapping.js:
2115         (WebInspector.SASSSourceMapping.prototype._reloadCSS):
2116         (WebInspector.SASSSourceMapping.prototype._bindUISourceCode):
2117         (WebInspector.SASSSourceMapping.prototype.rawLocationToUILocation):
2118         * inspector/front-end/ScriptsPanel.js:
2119         (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
2120         * inspector/front-end/SimpleWorkspaceProvider.js:
2121         (WebInspector.SimpleWorkspaceProvider.pathForSplittedURL):
2122         (WebInspector.SimpleWorkspaceProvider.prototype._innerAddFileForURL):
2123         * inspector/front-end/StylesSourceMapping.js:
2124         (WebInspector.StylesSourceMapping.prototype.rawLocationToUILocation):
2125         (WebInspector.StylesSourceMapping.prototype._resourceAdded):
2126         (WebInspector.StylesSourceMapping.prototype._mainFrameCreatedOrNavigated):
2127         (WebInspector.StyleContentBinding):
2128         (WebInspector.StyleContentBinding.prototype._innerStyleSheetChanged):
2129         * inspector/front-end/Workspace.js:
2130         (WebInspector.Workspace):
2131         (WebInspector.Workspace.prototype.hasMappingForURL):
2132         (WebInspector.Workspace.prototype._fileSystemPathForEntry):
2133         (WebInspector.Workspace.prototype.uiSourceCodeForURL):
2134         (WebInspector.Workspace.prototype.urlForPath):
2135         * inspector/front-end/inspector.js:
2136
2137 2013-02-20  Alexander Pavlov  <apavlov@chromium.org>
2138
2139         Web Inspector: Introduce SecurityOriginAdded and SecurityOriginRemoved events into ResourceTreeModel
2140         https://bugs.webkit.org/show_bug.cgi?id=110232
2141
2142         Reviewed by Vsevolod Vlasov.
2143
2144         * inspector/front-end/ResourceTreeModel.js:
2145         (WebInspector.ResourceTreeModel):
2146         (WebInspector.ResourceTreeModel.prototype._addFrame):
2147         (WebInspector.ResourceTreeModel.prototype._addSecurityOrigin): Added.
2148         (WebInspector.ResourceTreeModel.prototype._removeSecurityOrigin): Added.
2149         (WebInspector.ResourceTreeModel.prototype._handleMainFrameDetached): Added.
2150         (WebInspector.ResourceTreeModel.prototype._frameNavigated):
2151         (WebInspector.ResourceTreeModel.prototype._frameDetached):
2152
2153 2013-02-20  Dan Carney  <dcarney@google.com>
2154
2155         [v8] ScriptValue has dangerous copy semantics
2156         https://bugs.webkit.org/show_bug.cgi?id=110206
2157
2158         Reviewed by Kentaro Hara.
2159
2160         Update ScriptValue to used a SharedPersistent,
2161         making it impossible to return dead references.
2162
2163         No new tests. No change in functionality.
2164
2165         * bindings/v8/ScriptValue.cpp:
2166         (WebCore::ScriptValue::serialize):
2167         (WebCore::ScriptValue::getString):
2168         (WebCore::ScriptValue::toString):
2169         (WebCore::ScriptValue::toInspectorValue):
2170         * bindings/v8/ScriptValue.h:
2171         (WebCore::ScriptValue::ScriptValue):
2172         (WebCore::ScriptValue::operator=):
2173         (WebCore::ScriptValue::operator==):
2174         (WebCore::ScriptValue::isEqual):
2175         (WebCore::ScriptValue::isFunction):
2176         (WebCore::ScriptValue::isNull):
2177         (WebCore::ScriptValue::isUndefined):
2178         (WebCore::ScriptValue::isObject):
2179         (WebCore::ScriptValue::hasNoValue):
2180         (WebCore::ScriptValue::clear):
2181         (ScriptValue):
2182         (WebCore::ScriptValue::v8Value):
2183         (WebCore::ScriptValue::v8ValueRaw):
2184         * bindings/v8/SharedPersistent.h:
2185         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2186         (WebCore::InjectedScriptHost::scriptValueAsNode):
2187         * bindings/v8/custom/V8MessageEventCustom.cpp:
2188         (WebCore::V8MessageEvent::dataAttrGetterCustom):
2189
2190 2013-02-20  Andrey Lushnikov  <lushnikov@chromium.org>
2191
2192         Web Inspector: highlight undefined word in JavaScript
2193         https://bugs.webkit.org/show_bug.cgi?id=109585
2194
2195         Reviewed by Vsevolod Vlasov.
2196
2197         Test enhancement: inspector/syntax-highlight-javascript.html
2198
2199         Add global object value properties to tokenizer and add a css style
2200         class to highlight "undefined" with gray color.
2201
2202         * inspector/front-end/SourceJavaScriptTokenizer.js:
2203         (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
2204         * inspector/front-end/SourceJavaScriptTokenizer.re2js:
2205         * inspector/front-end/inspectorSyntaxHighlight.css:
2206         (.webkit-javascript-undef):
2207
2208 2013-02-20  Mike West  <mkwst@chromium.org>
2209
2210         Use EventPathWalker rather than parentNode() to normalize event targets in EventHandler.
2211         https://bugs.webkit.org/show_bug.cgi?id=110037
2212
2213         Reviewed by Ryosuke Niwa.
2214
2215         We need to teach EventHandler about Shadow DOM in a few places in order
2216         to ensure that we properly target events dispatched upon text nodes.
2217         Rather than naively grabbing the text node's direct parent via
2218         parentNode(), we need to account for the case in which the text node is
2219         distributed[1] to an insertion point inside a shadow host.
2220         EventPathWalker::parent understands these relationships, and should
2221         be used when dealing with mouse, drag, and touch events.
2222
2223         [1]: http://www.w3.org/TR/shadow-dom/#dfn-distribution
2224
2225         * page/EventHandler.cpp:
2226         (WebCore::EventHandler::handleMouseDraggedEvent):
2227         (WebCore::EventHandler::handleTouchEvent):
2228         (WebCore::EventHandler::passGestureEventToWidgetIfPossible):
2229         (WebCore::EventHandler::updateDragAndDrop):
2230             Refactor parentNode callsites to use EventPathWalker::parent().
2231
2232 2013-02-20  Vsevolod Vlasov  <vsevik@chromium.org>
2233
2234         Web Inspector: [Regression] Search in ProfilesPanel is broken
2235         https://bugs.webkit.org/show_bug.cgi?id=110312
2236
2237         Reviewed by Pavel Feldman.
2238
2239         * inspector/front-end/CPUProfileView.js:
2240         (WebInspector.CPUProfileView.prototype.matchesQuery):
2241         (WebInspector.CPUProfileView.prototype.performSearch):
2242
2243 2013-02-20  Eugene Klyuchnikov  <eustas@chromium.org>
2244
2245         Web Inspector: View.markAsRoot should never be invoked on attached view.
2246         https://bugs.webkit.org/show_bug.cgi?id=110224
2247
2248         Reviewed by Pavel Feldman.
2249
2250         This will cause CSS loading problems after "show".
2251
2252         * inspector/front-end/Drawer.js:
2253         Ensure child view is detached before marked as root.
2254         * inspector/front-end/View.js:
2255         (WebInspector.View.prototype.markAsRoot): Added assertion.
2256
2257 2013-02-20  Nils Barth  <nbarth@google.com>
2258
2259         File upload control doesn't apply CSS vertical padding or border to file name
2260         https://bugs.webkit.org/show_bug.cgi?id=109011
2261
2262         Reviewed by Hajime Morrita.
2263
2264         Test: fast/forms/file/file-vertical-padding-border.html
2265
2266         * rendering/RenderFileUploadControl.cpp:
2267             Add borderTop() and paddingTop() when computing position.
2268         (WebCore::RenderFileUploadControl::paintObject):
2269
2270 2013-02-19  Andrey Adaikin  <aandrey@chromium.org>
2271
2272         Few methods in WebGLRenderingContext.idl have incorrect signatures
2273         https://bugs.webkit.org/show_bug.cgi?id=110305
2274
2275         Reviewed by Kentaro Hara.
2276
2277         * html/canvas/WebGLRenderingContext.idl:
2278
2279 2013-02-19  Tim Horton  <timothy_horton@apple.com>
2280
2281         Clarify isInWindow vs. isVisible path through to RenderLayerCompositor
2282         https://bugs.webkit.org/show_bug.cgi?id=110261
2283         <rdar://problem/13196122>
2284
2285         Reviewed by Simon Fraser.
2286
2287         Remove RenderLayerCompositor::willMoveOffscreen/didMoveOnscreen.
2288         Add RenderLayerCompositor::setIsInWindow, and pipe in-window changes through from Page::setIsInWindow.
2289         Adjust a few Document functions that previously called RenderView::didMoveOnscreen/willMoveOffscreen to use setIsInWindow instead, since in-window state changes are occurring when attaching and detaching documents.
2290
2291         * WebCore.exp.in: Export Page::setIsInWindow.
2292         * dom/Document.cpp:
2293         (WebCore::Document::attach): Use setIsInWindow instead of didMoveOnscreen.
2294         (WebCore::Document::documentWillBecomeInactive): Use setIsInWindow instead of willMoveOffscreen.
2295         (WebCore::Document::documentDidResumeFromPageCache): Use setIsInWindow instead of didMoveOnscreen.
2296         * page/FrameView.cpp:
2297         (WebCore::FrameView::didMoveOnscreen):
2298         (WebCore::FrameView::willMoveOffscreen):
2299         RenderView doesn't care about moving on/offscreen, just in-window state.
2300         (WebCore::FrameView::setIsInWindow): Added. Forward isInWindow changes to our RenderView.
2301         * page/FrameView.h:
2302         (FrameView): Add setIsInWindow.
2303         * page/Page.cpp:
2304         (WebCore::Page::setIsInWindow): Added. Forward isInWindow changes to the Page's FrameViews.
2305         * page/Page.h:
2306         (Page): Add setIsInWindow.
2307         (WebCore::Page::isInWindow):
2308         * rendering/RenderLayerCompositor.cpp:
2309         (WebCore::RenderLayerCompositor::setIsInWindow): Added. Replace willMoveOffscreen/didMoveOnscreen with setIsInWindow,
2310         since that's the only change we actually care about.
2311         * rendering/RenderLayerCompositor.h:
2312         (RenderLayerCompositor): Add setIsInWindow.
2313         * rendering/RenderView.cpp:
2314         (WebCore::RenderView::setIsInWindow): Added. Replace willMoveOffscreen/didMoveOnscreen with setIsInWindow,
2315         since that's the only change RenderLayerCompositor actually cares about.
2316         * rendering/RenderView.h:
2317         (RenderView): Add setIsInWindow.
2318
2319 2013-02-19  Eugene Klyuchnikov  <eustas@chromium.org>
2320
2321         Web Inspector: Cleanup and add JSDocs to SuggestBox
2322         https://bugs.webkit.org/show_bug.cgi?id=110202
2323
2324         Reviewed by Pavel Feldman.
2325
2326         SuggestBox contains some obsolete/unused code and not fully
2327         covered with JSDocs.
2328
2329         * inspector/front-end/SuggestBox.js:
2330         (WebInspector.SuggestBox.prototype.visible):
2331         Replaced getter with function.
2332         (WebInspector.SuggestBox.prototype._onScrollOrResize):
2333         Use camel-case for function names.
2334         (WebInspector.SuggestBox.prototype._onBoxMouseDown): Ditto.
2335         (WebInspector.SuggestBox.prototype.updateSuggestions):
2336         Removed unused code.
2337         (WebInspector.SuggestBox.prototype.hide): Adopt changes.
2338         (WebInspector.SuggestBox.prototype._applySuggestion): Ditto.
2339         * inspector/front-end/TextPrompt.js:
2340         (WebInspector.TextPrompt.prototype.isSuggestBoxVisible): Ditto.
2341
2342 2013-02-19  Hayato Ito <hayato@chromium.org>
2343
2344         Calculate EventPath in EventDispatcher's constructor.
2345         https://bugs.webkit.org/show_bug.cgi?id=109905
2346
2347         Reviewed by Dimitri Glazkov.
2348
2349         This patch calculates an EventPath in EventDispatcher's
2350         constructor and removes EventDispatcher::ensureEventPath().
2351         We don't have any reason to initialize an EventPath lazily.
2352
2353         No tests. No change in behavior.
2354
2355         * dom/EventDispatcher.cpp:
2356         (WebCore::EventDispatcher::EventDispatcher):
2357         (WebCore::EventDispatcher::dispatch):
2358         * dom/EventDispatcher.h:
2359         (WebCore::EventDispatcher::eventPath):
2360         (EventDispatcher):
2361         * dom/FocusEvent.cpp:
2362         (WebCore::FocusEventDispatchMediator::dispatchEvent):
2363         (WebCore::BlurEventDispatchMediator::dispatchEvent):
2364         (WebCore::FocusInEventDispatchMediator::dispatchEvent):
2365         (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
2366         * dom/MouseEvent.cpp:
2367         (WebCore::MouseEventDispatchMediator::dispatchEvent):
2368
2369 2013-02-19  Simon Fraser  <simon.fraser@apple.com>
2370
2371         Fix TileCache tile size when zoomed on slow-scrolling site
2372         https://bugs.webkit.org/show_bug.cgi?id=110289
2373
2374         Reviewed by Tim Horton.
2375         
2376         In slow scrolling mode, we use the tile coverage rect as the tile size
2377         (so a single tile covers the viewport). When zoomed, the tile coverage rect
2378         shrinks relative to the TileCache, so scale the tile size back up.
2379
2380         Test: platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed.html
2381
2382         * platform/graphics/ca/mac/TileCache.mm:
2383         (WebCore::TileCache::tileSizeForCoverageRect):
2384
2385 2013-02-19  Hayato Ito  <hayato@chromium.org>
2386
2387         Rename AncestorChainWalker.
2388         https://bugs.webkit.org/show_bug.cgi?id=110146
2389
2390         Reviewed by Dimitri Glazkov.
2391
2392         Rename AncestorChainWalker to EventPathWalker.
2393         The term of EventPath is used in DOM Core spec.  EventPath was
2394         already introduced into a EventContext.h in r112055. We should
2395         spread this term into the Walker class since they share the same
2396         purpose.
2397
2398         No new tests, no behavior change.
2399
2400         * CMakeLists.txt:
2401         * GNUmakefile.list.am:
2402         * Target.pri:
2403         * WebCore.gypi:
2404         * WebCore.xcodeproj/project.pbxproj:
2405         * dom/DOMAllInOne.cpp:
2406         * dom/EventDispatcher.cpp:
2407         * dom/EventPathWalker.cpp: Renamed from Source/WebCore/dom/AncestorChainWalker.cpp.
2408         (WebCore):
2409         (WebCore::EventPathWalker::EventPathWalker):
2410         (WebCore::EventPathWalker::parent): parent() is now a static function to cover simple use cases.
2411         (WebCore::EventPathWalker::moveToParent): Renamed from parent().
2412         * dom/EventPathWalker.h: Renamed from Source/WebCore/dom/AncestorChainWalker.h.
2413         (WebCore):
2414         (EventPathWalker):
2415         (WebCore::EventPathWalker::node):
2416         (WebCore::EventPathWalker::isVisitingInsertionPointInReprojection): Renamed from isCrossingInsertionPoint().
2417         * dom/EventRetargeter.cpp:
2418         (WebCore::EventRetargeter::calculateEventPath):
2419         (WebCore::EventRetargeter::buildRelatedNodeMap):
2420         * dom/TreeScope.cpp:
2421         (WebCore::TreeScope::focusedNode):
2422         * html/HTMLLIElement.cpp:
2423         (WebCore::HTMLLIElement::attach):
2424         * page/EventHandler.cpp:
2425         (WebCore::EventHandler::updateMouseEventTargetNode):
2426         (WebCore::EventHandler::handleWheelEvent):
2427
2428 2013-02-19  Dean Jackson  <dino@apple.com>
2429
2430         Snapshotted plugin label should not be selectable
2431         https://bugs.webkit.org/show_bug.cgi?id=110286
2432
2433         Reviewed by Simon Fraser.
2434
2435         Update the CSS to make it clear that you should click
2436         on a snapshot (use the finger pointer) and disable
2437         text selection.
2438
2439         * css/plugIns.css:
2440         (embed::-webkit-snapshotted-plugin-content .snapshot-container .snapshot-label):
2441
2442 2013-02-19  Hans Muller  <hmuller@adobe.com>
2443
2444         [CSS Exclusions] Enable shape-inside support for ellipses
2445         https://bugs.webkit.org/show_bug.cgi?id=109868
2446
2447         Reviewed by Dirk Schulze.
2448
2449         This change is very similar to the one recently made for circles:
2450         removed the test that disabled ellipse values for shape-inside.
2451         The remaining support for ellipses, which is based on rounded rectangles
2452         whose width/height is equal to their radiusX/radiusY, has not changed.
2453
2454         Test: fast/exclusions/shape-inside/shape-inside-ellipse.html
2455
2456         * rendering/ExclusionShapeInsideInfo.h:
2457         (WebCore::ExclusionShapeInsideInfo::isEnabledFor): No longer disallows any BasicShape type.
2458
2459 2013-02-19  Uday Kiran  <udaykiran@motorola.com>
2460
2461         'round' not implemented in border-image
2462         https://bugs.webkit.org/show_bug.cgi?id=14185
2463
2464         Reviewed by David Hyatt.
2465
2466         Add rendering support for 'round' keyword of border-image-repeat CSS property
2467         http://dev.w3.org/csswg/css3-background/#border-image-repeat
2468         Rebased original patch by Benjamin Otte <otte@gnome.org> and made few fixes.
2469
2470         Test: fast/borders/border-image-02.html
2471
2472         * platform/graphics/GraphicsContext.cpp:
2473         (WebCore::GraphicsContext::drawTiledImage):
2474         * platform/graphics/GraphicsContext.h:
2475         (GraphicsContext):
2476         * platform/graphics/Image.cpp:
2477         (WebCore::Image::drawTiled):
2478         * platform/graphics/Image.h:
2479         (Image):
2480         * rendering/RenderBoxModelObject.cpp:
2481         (WebCore::RenderBoxModelObject::paintNinePieceImage): For 'round' keyword,
2482         the image is tiled (repeated) to fill the area. If it does not fill the area
2483         with a whole number of tiles, the image is rescaled so that it does.
2484
2485 2013-02-19  Conrad Shultz  <conrad_shultz@apple.com>
2486
2487         Allow UI clients to handle vertical wheel events.
2488         https://bugs.webkit.org/show_bug.cgi?id=110006
2489
2490         Reviewed by Tim Horton.
2491
2492         Add API to allow matching changes in WebKit2 to control rubber-banding behavior at vertical page extrema.
2493         If rubber-banding is disabled during a scroll event that would otherwise trigger rubber-banding, dispatch
2494         didNotHandleWheelEvent() to the page UI client.
2495
2496         * WebCore.exp.in:
2497         Export new rubber-banding API.
2498
2499         * page/Page.cpp:
2500         (WebCore):
2501         (WebCore::Page::rubberBandsAtBottom):
2502         Proxy for the corresponding function in ScrollingCoordinator.
2503         (WebCore::Page::setRubberBandsAtBottom):
2504         Ditto.
2505         (WebCore::Page::rubberBandsAtTop):
2506         Ditto.
2507         (WebCore::Page::setRubberBandsAtTop):
2508         Ditto.
2509
2510         * page/Page.h:
2511         (Page):
2512         Declare new rubber-banding API (above).
2513
2514         * page/scrolling/ScrollingCoordinator.h:
2515         (WebCore::ScrollingCoordinator::rubberBandsAtBottom):
2516         Stub API implementation.
2517         (WebCore::ScrollingCoordinator::setRubberBandsAtBottom):
2518         Ditto.
2519         (WebCore::ScrollingCoordinator::rubberBandsAtTop):
2520         Ditto.
2521         (WebCore::ScrollingCoordinator::setRubberBandsAtTop):
2522         Ditto.
2523
2524         * page/scrolling/ScrollingTree.cpp:
2525         (WebCore::ScrollingTree::ScrollingTree):
2526         Initialize new member variables.
2527         (WebCore::ScrollingTree::setMainFramePinState):
2528         Set top/bottom pinned states.
2529         (WebCore::ScrollingTree::rubberBandsAtBottom):
2530         New accessor function.
2531         (WebCore::ScrollingTree::setRubberBandsAtBottom):
2532         New mutator function.
2533         (WebCore::ScrollingTree::rubberBandsAtTop):
2534         New accessor function.
2535         (WebCore::ScrollingTree::setRubberBandsAtTop):
2536         New mutator function.
2537         (WebCore::ScrollingTree::willWheelEventStartSwipeGesture):
2538         Start a vertical swipe event if the frame is pinned at the top or bottom and associated rubber-banding is disabled.
2539
2540         * page/scrolling/ScrollingTree.h:
2541         (ScrollingTree):
2542         Declare new rubber-banding API and associated member variables.
2543
2544         * page/scrolling/mac/ScrollingCoordinatorMac.h:
2545         (ScrollingCoordinatorMac):
2546         Declare API overrides.
2547
2548         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
2549         (WebCore::ScrollingCoordinatorMac::rubberBandsAtBottom):
2550         Method override; proxy to corresponding function in ScrollingTree.
2551         (WebCore::ScrollingCoordinatorMac::setRubberBandsAtBottom):
2552         Ditto.
2553         (WebCore::ScrollingCoordinatorMac::rubberBandsAtTop):
2554         Ditto.
2555         (WebCore::ScrollingCoordinatorMac::setRubberBandsAtTop):
2556         Ditto.
2557
2558         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
2559         (WebCore::ScrollingTreeScrollingNodeMac::pinnedInDirection):
2560         Remove trailing whitespace.
2561         (WebCore::ScrollingTreeScrollingNodeMac::updateMainFramePinState):
2562         Calculate and pass vertical pinning state to ScrollingTree::setMainFramePinState().
2563
2564 2013-02-19  Simon Fraser  <simon.fraser@apple.com>
2565
2566         Rubber-banding should not affect the visibleRect of the TileCache
2567         https://bugs.webkit.org/show_bug.cgi?id=110278
2568
2569         Reviewed by Beth Dakin.
2570         
2571         When rubber-banding a slow-scrolling page, or image document, we would constantly re-create
2572         the bottom tile because of the logic that adapts the tile size to the visible rect when slow
2573         scrolling.
2574         
2575         Avoid that by ensuring that the visibleRect is not affected by rubber-banding. This is done
2576         via a GraphicsLayerClient function that allows RenderLayerCompositor to provide a custom
2577         position for the scroll layer. We constrain that scroll position to remove the overhang that
2578         results from rubber-banding.
2579
2580         I wasn't able to make a test for this, even with internals.setScrollViewPosition().
2581
2582         * platform/graphics/GraphicsLayerClient.h:
2583         (GraphicsLayerClient):
2584         (WebCore::GraphicsLayerClient::customPositionForVisibleRectComputation):
2585         * platform/graphics/ca/GraphicsLayerCA.cpp:
2586         (WebCore::GraphicsLayerCA::computeVisibleRect):
2587         * rendering/RenderLayerCompositor.cpp:
2588         (WebCore::RenderLayerCompositor::customPositionForVisibleRectComputation):
2589         * rendering/RenderLayerCompositor.h:
2590
2591 2013-02-19  Tony Gentilcore  <tonyg@chromium.org>
2592
2593         Fix crash in preloading scanning base tags with no href attribute for background parser
2594         https://bugs.webkit.org/show_bug.cgi?id=110276
2595
2596         Reviewed by Eric Seidel.
2597
2598         Previously a <base> tag without an href attribute (like the one in fast/dom/HTMLAnchorElement/set-href-attribute-rebase.html)
2599         would crash the background parser's preload scanner.
2600
2601         To fix that, we only call stripLeadingAndTrailingHTMLSpaces() if the href attribute is non-null. This matches the main thread parser.
2602
2603         Along with this, I decided to templatize updatePredictedBaseURL() so that the main and background parser can share the same impl.
2604
2605         This required making CompactHTMLToken and HTMLToken a little more similar:
2606         1. Give HTMLToken a getAttributeItem() method.
2607         2. Move CompactAttribute to CompactHTMLToken::Attribute and make it a struct.
2608
2609         No new tests because covered by existing tests.
2610
2611         * html/parser/AtomicHTMLToken.h:
2612         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
2613         * html/parser/CompactHTMLToken.cpp:
2614         (SameSizeAsCompactHTMLToken):
2615         (WebCore::CompactHTMLToken::CompactHTMLToken):
2616         (WebCore::CompactHTMLToken::getAttributeItem):
2617         (WebCore::CompactHTMLToken::isSafeToSendToAnotherThread):
2618         * html/parser/CompactHTMLToken.h:
2619         (WebCore::CompactHTMLToken::Attribute::Attribute):
2620         (Attribute):
2621         (WebCore::CompactHTMLToken::attributes):
2622         (CompactHTMLToken):
2623         (WebCore::CompactHTMLToken::publicIdentifier):
2624         (WebCore::CompactHTMLToken::systemIdentifier):
2625         * html/parser/HTMLParserIdioms.h:
2626         (WebCore):
2627         (WebCore::stripLeadingAndTrailingHTMLSpaces):
2628         * html/parser/HTMLPreloadScanner.cpp:
2629         (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
2630         (WebCore):
2631         (WebCore::TokenPreloadScanner::updatePredictedBaseURL):
2632         * html/parser/HTMLPreloadScanner.h:
2633         * html/parser/HTMLToken.h:
2634         (WebCore::HTMLToken::getAttributeItem):
2635         (HTMLToken):
2636
2637 2013-02-19  Mark Lam  <mark.lam@apple.com>
2638
2639         Introducing AbstractSQLTransaction and AbstractSQLTransactionBackend.
2640         https://bugs.webkit.org/show_bug.cgi?id=110273.
2641
2642         Reviewed by Anders Carlsson.
2643
2644         This is part of the webdatabase refactoring for webkit2.
2645         - Also changed the frontend and backend to only refer to the
2646           abstract interface of each other.
2647
2648         No new tests.
2649
2650         * Modules/webdatabase/AbstractSQLTransaction.h: Added.
2651         (AbstractSQLTransaction):
2652         (WebCore::AbstractSQLTransaction::~AbstractSQLTransaction):
2653         * Modules/webdatabase/AbstractSQLTransactionBackend.h: Added.
2654         (AbstractSQLTransactionBackend):
2655         (WebCore::AbstractSQLTransactionBackend::~AbstractSQLTransactionBackend):
2656         * Modules/webdatabase/SQLTransaction.cpp:
2657         (WebCore::SQLTransaction::hasCallback):
2658         (WebCore::SQLTransaction::hasSuccessCallback):
2659         (WebCore::SQLTransaction::hasErrorCallback):
2660         (WebCore::SQLTransaction::setBackend):
2661         * Modules/webdatabase/SQLTransaction.h:
2662         (SQLTransaction):
2663         * Modules/webdatabase/SQLTransactionBackend.cpp:
2664         (WebCore::SQLTransactionBackend::create):
2665         (WebCore::SQLTransactionBackend::SQLTransactionBackend):
2666         * Modules/webdatabase/SQLTransactionBackend.h:
2667         (SQLTransactionBackend):
2668         * Modules/webdatabase/SQLTransactionStateMachine.h:
2669
2670 2013-02-19  Emil A Eklund  <eae@chromium.org>
2671
2672         Change computeStickyPositionConstraints to use LayoutBoxExtent for margins
2673         https://bugs.webkit.org/show_bug.cgi?id=108872
2674
2675         Reviewed by Levi Weintraub.
2676         
2677         Change RenderBoxModelObject::computeStickyPositionConstraints to
2678         use a LayoutBoxExtent to represent margins.
2679
2680         No new tests, no change in functionality.
2681
2682         * platform/graphics/LayoutRect.h:
2683         (WebCore::LayoutRect::contract):
2684         Add version contract methods that takes a LayoutBoxExtent object.
2685         
2686         * platform/graphics/LayoutSize.h:
2687         (WebCore::LayoutSize::shrink):
2688         Add shrink method.
2689         
2690         * rendering/RenderBoxModelObject.cpp:
2691         (WebCore::RenderBoxModelObject::computeStickyPositionConstraints):
2692         Change to use a LayoutBoxExtent object to represent margins.
2693
2694 2013-02-19  Tony Gentilcore  <tonyg@chromium.org>
2695
2696         Disable ASSERT(!hasInsertionPoint()) for background parser
2697         https://bugs.webkit.org/show_bug.cgi?id=110251
2698
2699         Reviewed by Adam Barth.
2700
2701         The background parser crashes about 10 layout tests by hitting ASSERT(!hasInsertionPoint()).
2702         Now, finish() is the thing that closes the HTMLInputStream which removes the insertion point.
2703         In these tests, a document.open() calls insert() which clears the HTMLInputStream which causes
2704         there to be an insertion point again.
2705
2706         With the main thread parser, insert() is called before finish() so the ASSERT passes.
2707         However, with the threaded parser, finish() is called before insert(), so we fail the ASSERT.
2708
2709         This patch disables the ASSERT for the background parser because m_input isn't really relevant.
2710         This causes us to pass the tests. However, there is a risk that now hasInsertionPoint() may be incorrect
2711         and Document has a non-debug branch that tests hasInsertionPoint().
2712
2713         No new tests because covered by existing tests.
2714
2715         * html/parser/HTMLDocumentParser.cpp:
2716         (WebCore::HTMLDocumentParser::prepareToStopParsing):
2717         (WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd):
2718
2719 2013-02-19  Hans Muller  <hmuller@adobe.com>
2720
2721         [CSS Exclusions] Enable shape-inside support for ellipses
2722         https://bugs.webkit.org/show_bug.cgi?id=109868
2723
2724         Reviewed by Dirk Schulze.
2725
2726         This change is very similar to the one recently made for circles:
2727         removed the test that disabled ellipse values for shape-inside.
2728         The remaining support for ellipses, which is based on rounded rectangles
2729         whose width/height is equal to their radiusX/radiusY, has not changed.
2730
2731         Test: fast/exclusions/shape-inside/shape-inside-ellipse.html
2732
2733         * rendering/ExclusionShapeInsideInfo.h:
2734         (WebCore::ExclusionShapeInsideInfo::isEnabledFor): No longer disallows any BasicShape type.
2735
2736 2013-02-19  Simon Fraser  <simon.fraser@apple.com>
2737
2738         Separate constraining for overhang from fixed-position zooming behavior in scrollOffsetForFixedPosition()
2739         https://bugs.webkit.org/show_bug.cgi?id=110267
2740
2741         Reviewed by Beth Dakin.
2742
2743         The static scrollOffsetForFixedPosition() function in ScrollingCoordinator did two things;
2744         it constrained the scroll position when rubber-banding, and applied the special scaling for
2745         fixed position when zoomed.
2746         
2747         Separate these out so that we can use the rubber-banding constrained elsewhere.
2748
2749         * page/FrameView.cpp:
2750         (WebCore::FrameView::scrollOffsetForFixedPosition): The static function is here now.
2751         * page/FrameView.h:
2752         * page/scrolling/ScrollingCoordinator.cpp: Code moved to FrameView.
2753         * page/scrolling/ScrollingCoordinator.h:
2754         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
2755         (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition): scrollOffsetForFixedPosition()
2756         is now on FrameView.
2757         * platform/ScrollableArea.cpp:
2758         (WebCore::constrainedScrollPosition): Helper to constrain one axis for overhang.
2759         (WebCore::ScrollableArea::constrainScrollPositionForOverhang): Static function that
2760         can be called by FrameView::scrollOffsetForFixedPosition().
2761         * platform/ScrollableArea.h: Static function constrainScrollPositionForOverhang()
2762         so we can call it from another thread. Also a member fuction of the same name, which takes
2763         the scrollPosition as input (so we can feed it a layer position in a later patch).
2764
2765 2013-02-19  Tony Gentilcore  <tonyg@chromium.org>
2766
2767         Fix checkThatTokensAreSafeToSendToAnotherThread() now that the preload scanner is enabled
2768         https://bugs.webkit.org/show_bug.cgi?id=110258
2769
2770         Reviewed by Adam Barth.
2771
2772         We were hitting this ASSERT on numerous tests with the background parser enabled. This copy fixes the assertion.
2773
2774         No new tests becuase covered by existing tests.
2775
2776         * html/parser/HTMLResourcePreloader.h:
2777         (WebCore::PreloadRequest::setCharset):
2778
2779 2013-02-19  Tony Gentilcore  <tonyg@chromium.org>
2780
2781         Fix typo: inititatorFor->initiatorFor
2782         https://bugs.webkit.org/show_bug.cgi?id=110260
2783
2784         Reviewed by Adam Barth.
2785
2786         No new tests because no changed functionality.
2787
2788         * html/parser/HTMLPreloadScanner.cpp:
2789         (WebCore::TokenPreloadScanner::initiatorFor):
2790         (WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
2791         * html/parser/HTMLPreloadScanner.h:
2792
2793 2013-02-19  Tony Chang  <tony@chromium.org>
2794
2795         Convert 3 settings to use Settings.in
2796         https://bugs.webkit.org/show_bug.cgi?id=109875
2797
2798         Reviewed by Ryosuke Niwa.
2799
2800         Convert mediaEnabled, applicationChromeMode and DOMPasteAllowed to
2801         use Settings.in. They previously had inconsistently named setters.
2802
2803         No new tests, this is a refactoring.
2804
2805         * Source/WebCore/WebCore.exp.in: Remove symbols that are now inlined from exports.
2806         * Source/WebCore/WebCore.order: Remove symbols that no longer exist.
2807         * dom/make_names.pl:
2808         (printConstructorInterior): Rename isMediaEnabled to mediaEnabled.
2809         (printWrapperFunctions): Rename isMediaEnabled to mediaEnabled.
2810         * editing/EditorCommand.cpp:
2811         (WebCore::supportedPaste): Rename isDOMPasteAllowed to DOMPasteAllowed.
2812         * page/Settings.cpp:
2813         (WebCore::Settings::Settings): Remove custom code.
2814         * page/Settings.h:
2815         (Settings): Remove custom code.
2816         * page/Settings.in: Add entries for mediaEnabled, applicationChromeMode and DOMPasteAllowed.
2817         * page/make_settings.pl:
2818         (setterFunctionName): Expand uppercase rules to include DOM.
2819         * rendering/RenderTheme.cpp:
2820         (WebCore::RenderTheme::isDefault): Rename inApplicationChromeMode to applicationChromeMode.
2821         * rendering/RenderThemeWin.cpp:
2822         (WebCore::documentIsInApplicationChromeMode): Rename inApplicationChromeMode to applicationChromeMode.
2823
2824 2013-02-19  Julien Chaffraix  <jchaffraix@webkit.org>
2825
2826         [CSS Grid Layout] Refactor the code in preparation of auto placement support
2827         https://bugs.webkit.org/show_bug.cgi?id=110244
2828
2829         Reviewed by Ojan Vafai.
2830
2831         Test: fast/css-grid-layout/grid-auto-flow-resolution.html
2832
2833         In order to support auto placement, we need to iterate over the grid items with
2834         auto row / column several times. This changes makes us do that in a very simple,
2835         not-yet-conformant way. While touching this code, the distinction between grid-auto-flow
2836         none and row / column was better drawn (and enforced).
2837
2838         * rendering/RenderGrid.cpp:
2839         (WebCore::RenderGrid::resolveGridPositionFromStyle):
2840         Made it illegal to call resolveGridPositionFromStyle if the grid track is auto and
2841         grid-auto-flow is not none. This would catch bad use of the function.
2842
2843         (WebCore::RenderGrid::maximumIndexInDirection):
2844         Updated to bail out if the grid track is auto. Also improved the comment.
2845
2846         (WebCore::RenderGrid::placeItemsOnGrid):
2847         Updated the function to do several iterations. Also handled the grid-auto-flow: none
2848         case differently as it shouldn't need the extra iteration(s).
2849
2850 2013-02-19  David Hyatt  <hyatt@apple.com>
2851
2852         [New Multicolumn] REGRESSION: RenderMultiColumnSets broken by the RenderRegion -> RenderBlock subclassing.
2853         https://bugs.webkit.org/show_bug.cgi?id=110239.
2854
2855         Reviewed by Simon Fraser.
2856
2857         Test: fast/multicol/newmulticol/column-rules-fixed-height.html
2858
2859         * rendering/RenderBlock.cpp:
2860         (WebCore::RenderBlock::columnRectAt):
2861         Make sure the columnGap() in the old multicolumn code is always expressed as a LayoutUnit. This was the
2862         one place where it was still an int.
2863
2864         * rendering/RenderFlowThread.cpp:
2865         (WebCore::RenderFlowThread::paintFlowThreadPortionInRegion):
2866         Rework the painting of flow thread portions to account for the fact that regions paint at an integral
2867         translation. This means you have to construct clipping around that integral destination. Subpixel layout
2868         regions did not clip correctly as a result of this issue.
2869
2870         * rendering/RenderMultiColumnSet.cpp:
2871         (WebCore::RenderMultiColumnSet::columnRectAt):
2872         Fix the same bug with columnGap() that the old column code has, i.e., one spot where it was an int.
2873
2874         (WebCore::RenderMultiColumnSet::paintObject):
2875         RenderMultiColumnSet should be using paintObject and not paint and it needs to check for visibility
2876         and phases now that it is a RenderBlock subclass.
2877
2878         (WebCore::RenderMultiColumnSet::paintColumnRules):
2879         Fix the bug that Opera guys fixed in the old multi-column code. They didn't patch the new code, so this
2880         takes care of that.
2881
2882         * rendering/RenderMultiColumnSet.h:
2883         (RenderMultiColumnSet):
2884         Change to use paintObject instead of paint.
2885
2886 2013-02-19  Branimir Lambov  <blambov@google.com>
2887
2888         Fix 'slice' aspect ratio calculation
2889         https://bugs.webkit.org/show_bug.cgi?id=99984
2890
2891         Reviewed by Dirk Schulze.
2892
2893         Previously the calculation for the 'slice' aspect ratio would incorrectly calculate the
2894         source rect location based on the destination rect offset. This caused our source rect to be
2895         incorrect, and sometimes render outside the visible area completely. After this patch
2896         our implementation matches the implementation of both Gecko and Presto.
2897
2898         The relevant spec section:
2899         http://www.w3.org/TR/SVG/single-page.html#coords-PreserveAspectRatioAttribute
2900
2901         Tests: svg/as-image/image-preserveAspectRatio-all.svg
2902                svg/filters/feImage-preserveAspectRatio-all.svg
2903
2904         * svg/SVGPreserveAspectRatio.cpp:
2905         (WebCore::SVGPreserveAspectRatio::transformRect):
2906
2907 2013-02-19  Kentaro Hara  <haraken@google.com>
2908
2909         [V8] ScriptRunner::runCompiledScript() should return Handle<Value>() when OOM occurs
2910         https://bugs.webkit.org/show_bug.cgi?id=110254
2911
2912         Reviewed by Adam Barth.
2913
2914         Chromium bug: https://code.google.com/p/chromium/issues/detail?id=176951
2915
2916         Currently ScriptRunner::runCompiledScript() calls
2917         ASSERT(script.IsEmpty()) when OOM occurs. The Chromium bug is
2918         hitting the ASSERT(). The ASSERT() does not make sense at all.
2919         Instead, we should return an empty handle when OOM occurs.
2920
2921         No tests. The bug happens only when OOM occurs.
2922
2923         * bindings/v8/ScriptRunner.cpp:
2924         (WebCore::ScriptRunner::runCompiledScript):
2925
2926 2013-02-19  Elliott Sprehn  <esprehn@chromium.org>
2927
2928         Support both MutationObserver and WebKitMutationObserver
2929         https://bugs.webkit.org/show_bug.cgi?id=109776
2930
2931         Reviewed by Ojan Vafai.
2932
2933         We should allow new MutationObserver now that we support parser generated
2934         mutations. This leaves the old prefixed constructor in until we decide
2935         people don't depend on it.
2936
2937         Test: fast/dom/MutationObserver/mutation-observer-prefix.html
2938
2939         * page/DOMWindow.idl:
2940
2941 2013-02-19  Elliott Sprehn  <esprehn@chromium.org>
2942
2943         Remove RenderText::updateText
2944         https://bugs.webkit.org/show_bug.cgi?id=109991
2945
2946         Reviewed by Eric Seidel.
2947
2948         There's no reason for the generic RenderText::updateText virtual hook
2949         anymore now that r143060 made RenderQuote stop setting dirty bits during
2950         layout since the hook is only used by RenderCounter.
2951
2952         Instead add updateCounterIfNeeded and make it clear this is a hack for
2953         counters.
2954
2955         * rendering/RenderBlockLineLayout.cpp:
2956         (WebCore::updateCounterIfNeeded): Added, not handles the counter specific hack.
2957         (WebCore::dirtyLineBoxesForRenderer):
2958         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
2959         * rendering/RenderCounter.cpp:
2960         (WebCore::RenderCounter::updateCounter):
2961         * rendering/RenderCounter.h:
2962         (RenderCounter):
2963         * rendering/RenderQuote.cpp:
2964         (WebCore::RenderQuote::styleDidChange):
2965         (WebCore::RenderQuote::updateDepth):
2966         * rendering/RenderQuote.h:
2967         (RenderQuote):
2968         * rendering/RenderText.h:
2969         (RenderText):
2970
2971 2013-02-19  Tony Chang  <tony@chromium.org>
2972
2973         Border changes on tables with collapsed borders doesn't relayout table cells
2974         https://bugs.webkit.org/show_bug.cgi?id=109774
2975
2976         Reviewed by David Hyatt.
2977
2978         Test: fast/table/border-collapsing/dynamic-border-width-change.html
2979
2980         Changes to border top and border bottom on table rows also changes the size
2981         of the table cell causing a relayout to be needed.
2982
2983         * rendering/RenderTableRow.cpp:
2984         (WebCore::borderWidthChanged): Also include border top and bottom.
2985         (WebCore::RenderTableRow::styleDidChange): Remove logical from the helper function name.
2986
2987 2013-02-19  Kentaro Hara  <haraken@chromium.org>
2988
2989         Unreviewed. Rebaselined run-bindings-tests.
2990
2991         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2992         (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
2993         * bindings/scripts/test/JS/JSTestObj.cpp:
2994         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
2995
2996 2013-02-19  ChangSeok Oh  <changseok.oh@collabora.com>
2997
2998         [GTK][AC] Implement matrix transform animation with clutter ac backend
2999         https://bugs.webkit.org/show_bug.cgi?id=109848
3000
3001         Reviewed by Gustavo Noronha Silva.
3002
3003         Clutter 1.12 doesn't support additive transform animations yet, so the combination
3004         of two or more transformations(such as rotation after translation) runs unexpectedly.
3005         So we use a matrix transformation instead for the case.
3006
3007         Covered by existing animation tests.
3008
3009         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
3010         (WebCore::getValueFunctionNameForTransformOperation):
3011         (WebCore::GraphicsLayerClutter::createTransformAnimationsFromKeyframes):
3012         * platform/graphics/clutter/PlatformClutterAnimation.cpp:
3013         (WebCore::toClutterActorPropertyString): Add actor property "transform"
3014         (WebCore::clutterMatrixProgress): Handle interpolation between two matrices instead of default clutter_matrix_progress.
3015         (WebCore):
3016         (WebCore::PlatformClutterAnimation::supportsAdditiveValueFunction):
3017         (WebCore::PlatformClutterAnimation::setFromValue): for TransformationMatrix.
3018         (WebCore::PlatformClutterAnimation::setToValue): ditto.
3019         (WebCore::PlatformClutterAnimation::addClutterTransitionForProperty):
3020         (WebCore::PlatformClutterAnimation::addTransformTransition):
3021         * platform/graphics/clutter/PlatformClutterAnimation.h:
3022         (PlatformClutterAnimation):
3023         * platform/graphics/clutter/TransformationMatrixClutter.cpp: Add copy constructor for CoglMatrix.
3024         (WebCore::TransformationMatrix::TransformationMatrix):
3025         (WebCore):
3026         * platform/graphics/transforms/TransformationMatrix.h:
3027         (TransformationMatrix):
3028
3029 2013-02-19  Kassy Coan  <kassycoan@chromium.org>
3030
3031         Update FeatureObserver on top level navigation in addition to page destruction.
3032         https://bugs.webkit.org/show_bug.cgi?id=109874
3033
3034         Reviewed by Adam Barth.
3035
3036         No new tests. Only effect is to histogram more frequently.
3037
3038         * loader/FrameLoader.cpp:
3039         (WebCore::FrameLoader::dispatchDidCommitLoad):
3040         * page/FeatureObserver.cpp:
3041         (WebCore::FeatureObserver::~FeatureObserver):
3042         (WebCore):
3043         (WebCore::FeatureObserver::updateMeasurements):
3044         (WebCore::FeatureObserver::didCommitLoad):
3045         * page/FeatureObserver.h:
3046         (FeatureObserver):
3047
3048 2013-02-19  Morten Stenshorne  <mstensho@opera.com>
3049
3050         Remove unnecessary (and problematic) copy-constructor from LayoutUnit
3051         https://bugs.webkit.org/show_bug.cgi?id=110121
3052
3053         This copy constructor does what a default copy constructor would do, so
3054         it's not necessary. Furthermore, this copy constructor is the only
3055         reason why LayoutUnit becomes non-POD, and that triggers a gdb bug,
3056         making it impossible to do things like "print location()" when inside
3057         some RenderBlock, for instance.
3058
3059         Gdb bug http://sourceware.org/bugzilla/show_bug.cgi?id=15154 reported.
3060
3061         Reviewed by Benjamin Poulain.
3062
3063         No tests. Apart from dealing with buggy debuggers, this is just code cleanup.
3064
3065         * platform/LayoutUnit.h:
3066
3067 2013-02-19  Emil A Eklund  <eae@chromium.org>
3068
3069         LayoutUnit::epsilon shouldn't be necessary to place floats
3070         https://bugs.webkit.org/show_bug.cgi?id=94000
3071
3072         Reviewed by Levi Weintraub.
3073         
3074         Currently, to get float placement correct, we need to have an
3075         epsilon tolerance in RenderBlock::computeLogicalLocationForFloat
3076         for the width of the line to fit them on. This really shouldn't
3077         be necessary, and probably indicates we're losing precision
3078         elsewhere.
3079         
3080         Remove epsilon as it no longer appears to be needed. All layout
3081         tests pass without it.
3082
3083         No new tests, covered by existing tests.
3084
3085         * rendering/RenderBlock.cpp:
3086         (WebCore::RenderBlock::computeLogicalLocationForFloat):
3087
3088 2013-02-19  Tim Volodine  <timvolodine@chromium.org>
3089
3090         Text Autosizing: prevent oscillation of font sizes during autosizing
3091         https://bugs.webkit.org/show_bug.cgi?id=108205
3092
3093         Reviewed by Kenneth Rohde Christiansen.
3094
3095         On some websites autosized font-sizes oscillate due to layouts caused by
3096         hovering or incremental page loading (and on other sites font sizes do
3097         eventually stabilize, but it takes many layouts before they reach a steady
3098         size). To prevent all these cases, we no longer allow the autosizing
3099         multiplier to change after it has been set (to a value other than 1).
3100
3101         This won't always give exactly the same results, but testing on 2000 top
3102         sites shows that this makes little difference in practice, and it prevents
3103         these very jarring cases. As a happy side-effect, this speeds up layouts
3104         as font sizes change less.
3105
3106         Test: fast/text-autosizing/oscillation-javascript-fontsize-change.html
3107
3108         * page/FrameView.cpp:
3109         (WebCore::FrameView::setFrameRect):
3110         * page/Settings.cpp:
3111         (WebCore::Settings::setTextAutosizingFontScaleFactor):
3112         * rendering/TextAutosizer.cpp:
3113         (WebCore::TextAutosizer::recalculateMultipliers):
3114         (WebCore):
3115         (WebCore::TextAutosizer::processContainer):
3116         * rendering/TextAutosizer.h:
3117         (TextAutosizer):
3118
3119 2013-02-19  Youenn Fablet  <youennf@gmail.com>
3120
3121         [EFL][DRT] http/tests/loading/307-after-303-after-post.html times out
3122         https://bugs.webkit.org/show_bug.cgi?id=93214
3123
3124         Ensured that GET verb is consistently used for any request
3125         coming after a redirection that triggers switching to GET.
3126
3127         Reviewed by Martin Robinson.
3128
3129         * platform/network/soup/ResourceHandleSoup.cpp:
3130         (WebCore::doRedirect):
3131
3132 2013-02-19  Andras Becsi  <andras.becsi@digia.com>
3133
3134         [Qt] Fix compilation if Qt was configured with -no-rtti
3135         https://bugs.webkit.org/show_bug.cgi?id=110234
3136
3137         Reviewed by Noam Rosenthal.
3138
3139         Availability of dynamic_cast should be checked.
3140
3141         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
3142         (WebCore::GraphicsLayerTextureMapper::updateBackingStoreIfNeeded):
3143
3144 2013-02-18  Alexey Proskuryakov  <ap@apple.com>
3145
3146         Unregistered blob URLs have incorrect MIME type
3147         https://bugs.webkit.org/show_bug.cgi?id=110166
3148
3149         Reviewed by Sam Weinig.
3150
3151         * page/SecurityOrigin.cpp: (WebCore::SecurityOrigin::shouldUseInnerURL): Added a FIXME.
3152
3153         * platform/network/BlobResourceHandle.cpp: (WebCore::BlobResourceHandle::notifyResponseOnError):
3154         Pass an accurate MIME type (for a delegate to see).
3155
3156 2013-02-19  Joshua Bell  <jsbell@chromium.org>
3157
3158         IndexedDB: additional checks on LevelDB decoding
3159         https://bugs.webkit.org/show_bug.cgi?id=109711
3160
3161         Reviewed by Tony Chang.
3162
3163         Watch out for decoding errors caused by corrupted data, and exit various
3164         decode/compare operations earlier.
3165
3166         Covered by existing LayoutTests and Chromium's webkit_unit_tests
3167
3168         * Modules/indexeddb/IDBLevelDBCoding.cpp:
3169         (WebCore::IDBLevelDBCoding::decodeStringWithLength): Bail if length is negative.
3170         (WebCore::IDBLevelDBCoding::compareEncodedStringsWithLength): Distinguish error case.
3171         (WebCore::IDBLevelDBCoding::extractEncodedIDBKey): Bail if length is negative.
3172         (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys): Distinguish error case.
3173         (WebCore::IDBLevelDBCoding::compare): Plumb through "ok".
3174         (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::compare): Ditto.
3175         (WebCore::IDBLevelDBCoding::ExistsEntryKey::compare): Ditto.
3176         (WebCore::IDBLevelDBCoding::IndexDataKey::compare): Ditto.
3177         * Modules/indexeddb/IDBLevelDBCoding.h: Updated method signatures.
3178
3179 2013-02-19  ChangSeok Oh  <changseok.oh@collabora.com>
3180
3181         [GTK][AC] Implement keyframe animations with clutter ac backend
3182         https://bugs.webkit.org/show_bug.cgi?id=110057
3183
3184         Reviewed by Gustavo Noronha Silva.
3185
3186         This patch brings accelerated keyframe animation with clutter to WebKitGtk+.
3187         Changes of GraphicsLayerClutter are based on GraphicsLayerCA. But major changes
3188         of PlatformClutterAnimation are implemented with clutter keyframe transition apis.
3189         See http://developer.gnome.org/clutter/stable/ClutterKeyframeTransition.html
3190
3191         Covered by existing animation tests.
3192
3193         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
3194         (WebCore::GraphicsLayerClutter::createKeyframeAnimation):
3195         (WebCore::GraphicsLayerClutter::setTransformAnimationKeyframes):
3196         (WebCore::GraphicsLayerClutter::setAnimationKeyframes):
3197         * platform/graphics/clutter/PlatformClutterAnimation.cpp:
3198         (WebCore::toClutterActorPropertyString):
3199         (WebCore::PlatformClutterAnimation::PlatformClutterAnimation):
3200         (WebCore::PlatformClutterAnimation::setTimingFunction):
3201         (WebCore::PlatformClutterAnimation::setValues):
3202         (WebCore::PlatformClutterAnimation::setKeyTimes):
3203         (WebCore::PlatformClutterAnimation::setTimingFunctions):
3204         (WebCore::PlatformClutterAnimation::addClutterTransitionForProperty):
3205         (WebCore):
3206         (WebCore::PlatformClutterAnimation::addClutterKeyframeTransitionForProperty):
3207         (WebCore::PlatformClutterAnimation::addOpacityTransition):
3208         (WebCore::PlatformClutterAnimation::addTransformTransition):
3209         (WebCore::PlatformClutterAnimation::addAnimationForKey):
3210         (WebCore::PlatformClutterAnimation::removeAnimationForKey):
3211         * platform/graphics/clutter/PlatformClutterAnimation.h:
3212         (PlatformClutterAnimation):
3213
3214 2013-02-19  Claudio Saavedra  <csaavedra@igalia.com>
3215
3216         [harfbuzz] Crash in harfbuzz related code
3217         https://bugs.webkit.org/show_bug.cgi?id=110145
3218
3219         Reviewed by Martin Robinson.
3220
3221         Patch by Behdad Esfahbod <behdad@google.com>
3222
3223         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
3224         (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): Ask harfbuzz
3225         to guess the segment properties.
3226
3227 2013-02-19  Pavel Podivilov  <podivilov@chromium.org>
3228
3229         Web Inspector: release backtrace object group on each step.
3230         https://bugs.webkit.org/show_bug.cgi?id=110223
3231
3232         Reviewed by Pavel Feldman.
3233
3234         * inspector/InspectorDebuggerAgent.cpp:
3235         (WebCore):
3236         (WebCore::InspectorDebuggerAgent::stepOver):
3237         (WebCore::InspectorDebuggerAgent::stepInto):
3238         (WebCore::InspectorDebuggerAgent::stepOut):
3239
3240 2013-02-19  Sheriff Bot  <webkit.review.bot@gmail.com>
3241
3242         Unreviewed, rolling out r142975.
3243         http://trac.webkit.org/changeset/142975
3244         https://bugs.webkit.org/show_bug.cgi?id=110225
3245
3246         Introduces hard-to-reproduce crashes upon inspected page
3247         navigation on Mac (Requested by apavlov on #webkit).
3248
3249         * dom/DocumentStyleSheetCollection.cpp:
3250         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
3251         * inspector/Inspector.json:
3252         * inspector/InspectorCSSAgent.cpp:
3253         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
3254         (WebCore::InspectorCSSAgent::clearFrontend):
3255         (WebCore::InspectorCSSAgent::enable):
3256         (WebCore::InspectorCSSAgent::getAllStyleSheets):
3257         (WebCore::InspectorCSSAgent::collectStyleSheets):
3258         (WebCore::InspectorCSSAgent::bindStyleSheet):
3259         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
3260         (WebCore::InspectorCSSAgent::detectOrigin):
3261         (WebCore::InspectorCSSAgent::buildObjectForRule):
3262         * inspector/InspectorCSSAgent.h:
3263         (InspectorCSSAgent):
3264         * inspector/InspectorInstrumentation.cpp:
3265         (WebCore):
3266         * inspector/InspectorInstrumentation.h:
3267         (WebCore):
3268         (InspectorInstrumentation):
3269         * inspector/front-end/CSSStyleModel.js:
3270         (WebInspector.CSSStyleModel.prototype.getViaInspectorResourceForRule):
3271         (WebInspector.CSSStyleModelResourceBinding.prototype.):
3272         (WebInspector.CSSStyleModelResourceBinding.prototype.requestStyleSheetIdForResource):
3273         (WebInspector.CSSStyleModelResourceBinding.prototype.requestResourceURLForStyleSheetId):
3274         (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetIdForResource):
3275         (WebInspector.CSSStyleModelResourceBinding.prototype._loadStyleSheetHeaders):
3276         (WebInspector.CSSStyleModelResourceBinding.prototype.headersLoaded):
3277         (WebInspector.CSSStyleModelResourceBinding.prototype._requestViaInspectorResource):
3278         (WebInspector.CSSStyleModelResourceBinding.prototype._getOrCreateInspectorResource):
3279         (WebInspector.CSSStyleModelResourceBinding.prototype._reset):
3280         * inspector/front-end/SASSSourceMapping.js:
3281         (WebInspector.SASSSourceMapping.prototype._styleSheetChanged.callback):
3282         (WebInspector.SASSSourceMapping.prototype._styleSheetChanged):
3283         * inspector/front-end/StylesSidebarPane.js:
3284         (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode.callback):
3285         (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode):
3286         * inspector/front-end/StylesSourceMapping.js:
3287         (WebInspector.StyleContentBinding.prototype.callback):
3288         (WebInspector.StyleContentBinding.prototype.setStyleContent):
3289         (WebInspector.StyleContentBinding.prototype.):
3290         (WebInspector.StyleContentBinding.prototype._innerStyleSheetChanged):
3291
3292 2013-02-19  Julien Chaffraix  <jchaffraix@webkit.org>
3293
3294         RenderGrid::computedUsedBreadthOfGridTracks can read past m_grid's size
3295         https://bugs.webkit.org/show_bug.cgi?id=110126
3296
3297         Reviewed by Ojan Vafai.
3298
3299         The issue comes from how we store the column information inside m_grid.
3300         Because m_grid is a Vector of rows, we could lose the column information
3301         if we had no row, no grid item but some columns defined in CSS. As the
3302         logic would assume that our row / column size would be greater than what
3303         the style defines explicitely, we would access past our Vector's boundary.
3304
3305         The fix is to ensure that we have at least a row so that we can store the
3306         column information in every case. This fix is overly broad as it also forces
3307         the grid to have one column, which shouldn't be an issue.
3308
3309         Test: fast/css-grid-layout/grid-element-empty-row-column.html
3310
3311         * rendering/RenderGrid.cpp:
3312         (WebCore::RenderGrid::maximumIndexInDirection):
3313         Forced this function to return at least one as the maximum index so that
3314         m_grid has at least one row / column.
3315
3316         (WebCore::RenderGrid::placeItemsOnGrid):
3317         Added a ASSERT that m_grid is bigger than the explicit grid-rows / grid-columns.
3318         Also changed an existing ASSERT to use gridWasPopulated for consistency and changed
3319         the code not to call gridRowCount as it would ASSERT (we are in the middle of populating
3320         the grid).
3321
3322         * rendering/RenderGrid.h:
3323         (WebCore::RenderGrid::gridWasPopulated):
3324         Added this helper function.
3325
3326         (WebCore::RenderGrid::gridColumnCount):
3327         Replaced a now unneeded branch with an ASSERT. As placeItemsOnGrid should be called
3328         prior to read m_grid, this change should be fine.
3329
3330         (WebCore::RenderGrid::gridRowCount):
3331         Added an ASSERT.
3332
3333 2013-02-19  Sergio Villar Senin  <svillar@igalia.com>
3334
3335         [Soup] Use synchronous calls to close completely processed streams
3336         https://bugs.webkit.org/show_bug.cgi?id=107432
3337
3338         Reviewed by Martin Robinson.
3339
3340         There is no need to close already processed streams in asynchronous
3341         calls since they won't block. Using the synchronous call will save
3342         us some code and unnecessary asynchronous burden. This is kind of
3343         a code refactor so no new tests needed.
3344
3345         * platform/network/soup/ResourceHandleSoup.cpp:
3346         (WebCore):
3347         (WebCore::redirectSkipCallback):
3348         (WebCore::readCallback):
3349
3350 2013-02-19  Andrey Adaikin  <aandrey@chromium.org>
3351
3352         Web Inspector: [Canvas] use timeline's didBeginFrame for marking frame end calls
3353         https://bugs.webkit.org/show_bug.cgi?id=110130
3354
3355         Reviewed by Pavel Feldman.
3356
3357         In Web Inspector canvas profiler use timeline's didBeginFrame for marking frame end calls instead of an ad-hoc timeout-based solution.
3358
3359         * inspector/InjectedScriptCanvasModule.cpp:
3360         (WebCore::InjectedScriptCanvasModule::markFrameEnd):
3361         (WebCore):
3362         * inspector/InjectedScriptCanvasModule.h:
3363         (InjectedScriptCanvasModule):
3364         * inspector/InjectedScriptCanvasModuleSource.js:
3365         (.):
3366         * inspector/InspectorCanvasAgent.cpp:
3367         (WebCore::InspectorCanvasAgent::hasUninstrumentedCanvases):
3368         (WebCore::InspectorCanvasAgent::notifyRenderingContextWasWrapped):
3369         (WebCore::InspectorCanvasAgent::findFramesWithUninstrumentedCanvases):
3370         (WebCore::InspectorCanvasAgent::frameNavigated):
3371         (WebCore::InspectorCanvasAgent::didBeginFrame):
3372         (WebCore):
3373         * inspector/InspectorCanvasAgent.h:
3374         (InspectorCanvasAgent):
3375         * inspector/InspectorController.cpp:
3376         (WebCore::InspectorController::didBeginFrame):
3377
3378 2013-02-19  Vsevolod Vlasov  <vsevik@chromium.org>
3379
3380         Web Inspector: Decouple various file system project implementation parts for better testability and cover with tests.
3381         https://bugs.webkit.org/show_bug.cgi?id=110204
3382
3383         Reviewed by Pavel Feldman.
3384
3385         Extracted FileSystemWorkspaceProvider from IsolatedFileSystemManager to take care of managing workspace projects and projectDelegates.
3386         Replaced FileMapping.urlForURI with urlForPath method that does not need any information about workspace structure anymore.
3387
3388         Test: inspector/file-system-project.html
3389
3390         * inspector/front-end/FileMapping.js:
3391         (WebInspector.FileMapping.prototype.urlForPath):
3392         * inspector/front-end/FileSystemProjectDelegate.js:
3393         (WebInspector.FileSystemProjectDelegate):
3394         (WebInspector.FileSystemProjectDelegate.prototype.populate.filesLoaded):
3395         (WebInspector.FileSystemProjectDelegate.prototype.populate):
3396         (WebInspector.FileSystemWorkspaceProvider):
3397         (WebInspector.FileSystemWorkspaceProvider.prototype._fileSystemAdded):
3398         (WebInspector.FileSystemWorkspaceProvider.prototype._fileSystemRemoved):
3399         * inspector/front-end/IsolatedFileSystem.js:
3400         (WebInspector.IsolatedFileSystem):
3401         (WebInspector.IsolatedFileSystem.prototype.name):
3402         (WebInspector.IsolatedFileSystem.prototype.rootURL):
3403         * inspector/front-end/IsolatedFileSystemManager.js:
3404         (WebInspector.IsolatedFileSystemManager):
3405         (WebInspector.IsolatedFileSystemManager.prototype._innerAddFileSystem):
3406         (WebInspector.IsolatedFileSystemManager.prototype._fileSystemRemoved):
3407         (WebInspector.IsolatedFileSystemManager.prototype._isolatedFileSystem):
3408         (WebInspector.IsolatedFileSystemManager.prototype.requestDOMFileSystem):
3409         * inspector/front-end/inspector.js:
3410
3411 2013-02-19  Andrey Adaikin  <aandrey@chromium.org>
3412
3413         Web Inspector: [Canvas] do not replace replay image with spinner icon
3414         https://bugs.webkit.org/show_bug.cgi?id=110213
3415
3416         Reviewed by Pavel Feldman.
3417
3418         Otherwise it's visually hard to see changes in the replay image. Instead show a small spinner icon in the bottom right corner.
3419
3420         * inspector/front-end/CanvasProfileView.js:
3421         (WebInspector.CanvasProfileView):
3422         (WebInspector.CanvasProfileView.prototype._enableWaitIcon):
3423         * inspector/front-end/canvasProfiler.css:
3424         (#canvas-replay-image-container):
3425         (.canvas-debug-info):
3426         (.canvas-spinner-icon):
3427
3428 2013-02-19  Andrey Adaikin  <aandrey@chromium.org>
3429
3430         Web Inspector: [Canvas] UI: tweak replay control buttons behavior
3431         https://bugs.webkit.org/show_bug.cgi?id=110207
3432
3433         Reviewed by Pavel Feldman.
3434
3435         New behavior for control buttons in the Canvas profiler.
3436         - The NextCall button (~StepInto) on a node group should expand it and move into its first child (instead of expanding and moving into the next node group)
3437         - The NextDrawCall button (~StepOver) should move to a next node that has children (instead of just iterating call group nodes, ignoring frame nodes).
3438         - The ReplayLast button should select the last expanded node (instead of always selecting last frame group node).
3439
3440         * inspector/front-end/CanvasProfileView.js:
3441         (WebInspector.CanvasProfileView.prototype._onReplayStepClick):
3442         (WebInspector.CanvasProfileView.prototype._onReplayDrawingCallClick):
3443         (WebInspector.CanvasProfileView.prototype._onReplayLastStepClick):
3444
3445 2013-02-19  Andrei Bucur  <abucur@adobe.com>
3446
3447         [CSS Regions] Assertion in RenderFlowThread::removeRenderBoxRegionInfo
3448         https://bugs.webkit.org/show_bug.cgi?id=109914
3449
3450         Reviewed by David Hyatt.
3451
3452         This patch moves a part of the invalidation operations inside the RenderFlowThread::invalidateRegions call. The maps
3453         are cleared anyway at layout time but doing this earlier makes sure the flow thread is in a more consistent state