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