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