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