Respect system setting for rubber-banding in ScrollAnimatorMac.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-08-22  Alexei Svitkine  <asvitkine@chromium.org>
2
3         Respect system setting for rubber-banding in ScrollAnimatorMac.
4         https://bugs.webkit.org/show_bug.cgi?id=94356
5
6         Reviewed by James Robinson.
7
8         Respects user defaults setting of NSScrollViewRubberbanding,
9         which controls rubber-banding in other Mac OS X applications.
10
11         If NSScrollViewRubberbanding is not set, defaults to enabling
12         rubber banding. Otherwise, rubber banding is disabled if the
13         value is 0 and enabled otherwise.
14
15         No new tests since the behavior depends on system settings.
16
17         * platform/mac/ScrollAnimatorMac.mm:
18         (WebCore):
19         (WebCore::rubberBandingEnabledForSystem):
20         (WebCore::ScrollAnimatorMac::handleWheelEvent):
21
22 2012-08-22  James Robinson  <jamesr@chromium.org>
23
24         [chromium/mac] Remove unnecessary checks for OS version <= 10.5. We don't support those
25         https://bugs.webkit.org/show_bug.cgi?id=94658
26
27         Reviewed by Tony Chang.
28
29         The chromium mac port hasn't supported Leopard for a while now, so remove chromium-specific code that checks
30         for OS X version <= Leopard.
31
32         * platform/graphics/chromium/CrossProcessFontLoading.mm:
33         (WebCore::FontPlatformData::loadFont):
34         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
35         (WebCore::canSetCascadeListForCustomFont):
36
37 2012-08-22  W. James MacLean  <wjmaclean@chromium.org>
38
39         [chromium] Add touch link highlight animation layers.
40         https://bugs.webkit.org/show_bug.cgi?id=84487
41
42         Reviewed by James Robinson.
43
44         Adds support for creating composited touch link highlights in renderer thread. Clipping not yet
45         implemented for non-composited frames/overflow divs, but scrolling and layout changes are supported.
46         Transform support currently limited to translation.
47
48         Unit tests for LinkHighlight revised.
49
50         Tests: platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped.html
51                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite.html
52                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite.html
53                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled.html
54                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited.html
55                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled-clipped.html
56                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled.html
57                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe.html
58                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip.html
59                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled.html
60                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited.html
61                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2.html
62                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change.html
63                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scroll-clip.html
64                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite.html
65                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite.html
66                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled.html
67                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div.html
68                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner.html
69                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer.html
70                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-clipped.html
71                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite.html
72                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner.html
73                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-clipped.html
74                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite.html
75                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer.html
76                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe.html
77                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner.html
78                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer.html
79                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner.html
80                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner.html
81                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer.html
82                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer.html
83                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner.html
84                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer.html
85                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div.html
86                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-rotated.html
87                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaledX.html
88                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaledY.html
89                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll.html
90                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple.html
91
92         * WebCore.gypi:
93         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
94         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
95         (WebCore::GraphicsLayerChromium::willBeDestroyed): Adds notification to LinkHighlight when layer goes away.
96         (WebCore::GraphicsLayerChromium::updateNames): Now sets debug name for LinkHighlight layer.
97         (WebCore::GraphicsLayerChromium::setSize): Invalidates LinkHighlight if present.
98         (WebCore::GraphicsLayerChromium::setNeedsDisplay): Invalidates LinkHighlight if present.
99         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect): Invalidates LinkHighlight if present.
100         (WebCore::GraphicsLayerChromium::setLinkHighlight): Registers LinkHighlightClient* with GraphicsLayerChromium.
101         (WebCore::GraphicsLayerChromium::updateChildList): Now adds LinkHighlight WebLayer if highlight active.
102         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable): Invalidates LinkHighlight if present.
103         * platform/graphics/chromium/GraphicsLayerChromium.h:
104         (WebCore):
105         (LinkHighlightClient): Abstract interface seen by GraphicsLayerChromium.
106         (WebCore::LinkHighlightClient::~LinkHighlightClient):
107         (GraphicsLayerChromium):
108         (WebCore::GraphicsLayerChromium::linkHighlight):
109         * platform/graphics/chromium/LinkHighlight.cpp: Removed.
110
111 2012-08-22  Gustavo Noronha Silva  <gns@gnome.org>
112
113         Unreviewed build fix. Missing PANGO_CFLAGS.
114
115         * GNUmakefile.am:
116
117 2012-08-22  Pavel Feldman  <pfeldman@chromium.org>
118
119         Web Inspector: make "sdk" component compile independently from the rest of the front-end.
120         https://bugs.webkit.org/show_bug.cgi?id=94705
121
122         Reviewed by Vsevolod Vlasov.
123
124         This change refactors the way we compile. Running "compile-front-end.py sdk" will compile sdk only.
125         It also introduces DOMStorageModel and DatabaseModel that are used to split model / UI layers.
126
127         * WebCore.gypi:
128         * WebCore.vcproj/WebCore.vcproj:
129         * inspector/InjectedScriptExterns.js:
130         (InjectedScriptHost.prototype.evaluate):
131         * inspector/Inspector.json:
132         * inspector/compile-front-end.py:
133         (dump_module):
134         * inspector/front-end/CompilerScriptMapping.js:
135         * inspector/front-end/ConsoleModel.js:
136         (WebInspector.ConsoleMessage):
137         (WebInspector.ConsoleMessage.prototype.clone):
138         (WebInspector.ConsoleMessage.prototype.location):
139         * inspector/front-end/DOMAgent.js:
140         * inspector/front-end/DOMStorage.js:
141         (WebInspector.DOMStorageModel):
142         (WebInspector.DOMStorageModel.prototype._addDOMStorage):
143         (WebInspector.DOMStorageModel.prototype._domStorageUpdated):
144         (WebInspector.DOMStorageModel.prototype.storageForId):
145         (WebInspector.DOMStorageModel.prototype.storages):
146         (WebInspector.DOMStorageDispatcher):
147         (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
148         (WebInspector.DOMStorageDispatcher.prototype.domStorageUpdated):
149         * inspector/front-end/Database.js:
150         (WebInspector.Database):
151         (WebInspector.Database.prototype.executeSql):
152         (WebInspector.DatabaseModel):
153         (WebInspector.DatabaseModel.prototype.databases):
154         (WebInspector.DatabaseModel.prototype.databaseForId):
155         (WebInspector.DatabaseModel.prototype._addDatabase):
156         (WebInspector.DatabaseModel.prototype._sqlTransactionSucceeded):
157         (WebInspector.DatabaseModel.prototype._sqlTransactionFailed):
158         (WebInspector.DatabaseDispatcher):
159         (WebInspector.DatabaseDispatcher.prototype.addDatabase):
160         (WebInspector.DatabaseDispatcher.prototype.sqlTransactionSucceeded):
161         (WebInspector.DatabaseDispatcher.prototype.sqlTransactionFailed):
162         * inspector/front-end/DebuggerModel.js:
163         * inspector/front-end/FileUtils.js:
164         (WebInspector.OutputStreamDelegate.prototype.onTransferStarted):
165         (WebInspector.OutputStreamDelegate.prototype.onChunkTransferred):
166         (WebInspector.OutputStreamDelegate.prototype.onTransferFinished):
167         (WebInspector.OutputStreamDelegate.prototype.onError):
168         (WebInspector.OutputStream):
169         (WebInspector.OutputStream.prototype.startTransfer):
170         (WebInspector.OutputStream.prototype.transferChunk):
171         (WebInspector.OutputStream.prototype.finishTransfer):
172         (WebInspector.OutputStream.prototype.dispose):
173         * inspector/front-end/HandlerRegistry.js:
174         * inspector/front-end/HeapSnapshotView.js:
175         * inspector/front-end/InspectorFrontendHostStub.js:
176         * inspector/front-end/PresentationConsoleMessageHelper.js:
177         (WebInspector.PresentationConsoleMessageHelper.prototype._parsedScriptSource):
178         * inspector/front-end/ResourcesPanel.js:
179         (WebInspector.ResourcesPanel):
180         (WebInspector.ResourcesPanel.prototype._reset):
181         (WebInspector.ResourcesPanel.prototype._databaseAdded):
182         (WebInspector.ResourcesPanel.prototype._addDatabase):
183         (WebInspector.ResourcesPanel.prototype._domStorageAdded):
184         (WebInspector.ResourcesPanel.prototype._addDOMStorage):
185         (WebInspector.ResourcesPanel.prototype._showDatabase.get if):
186         (WebInspector.ResourcesPanel.prototype._showDatabase.else.get if):
187         (WebInspector.ResourcesPanel.prototype._showDatabase):
188         (WebInspector.ResourcesPanel.prototype._showDOMStorage.get if):
189         (WebInspector.ResourcesPanel.prototype._showDOMStorage):
190         (WebInspector.ResourcesPanel.prototype._updateDatabaseTables.get if):
191         (WebInspector.ResourcesPanel.prototype._updateDatabaseTables.tableNamesCallback):
192         (WebInspector.DatabaseTreeElement.prototype.onselect):
193         (WebInspector.DatabaseTableTreeElement.prototype.onselect):
194         (WebInspector.DOMStorageTreeElement.prototype.onselect):
195         * inspector/front-end/ScriptsPanel.js:
196         (WebInspector.ScriptsPanel.prototype.showFunctionDefinition):
197         * inspector/front-end/SearchController.js:
198         (WebInspector.SearchController.prototype.disableSearchUntilExplicitAction):
199         * inspector/front-end/Settings.js:
200         * inspector/front-end/Spectrum.js:
201         * inspector/front-end/TextEditorModel.js:
202         * inspector/front-end/UIString.js: Added.
203         (WebInspector.UIString):
204         * inspector/front-end/UIUtils.js:
205         * inspector/front-end/WebKit.qrc:
206         * inspector/front-end/externs.js:
207         (InspectorFrontendHostAPI.prototype.platform):
208         (InspectorFrontendHostAPI.prototype.port):
209         (InspectorFrontendHostAPI.prototype.bringToFront):
210         (InspectorFrontendHostAPI.prototype.closeWindow):
211         (InspectorFrontendHostAPI.prototype.requestAttachWindow):
212         (InspectorFrontendHostAPI.prototype.requestDetachWindow):
213         (InspectorFrontendHostAPI.prototype.requestSetDockSide):
214         (InspectorFrontendHostAPI.prototype.setAttachedWindowHeight):
215         (InspectorFrontendHostAPI.prototype.moveWindowBy):
216         (InspectorFrontendHostAPI.prototype.setInjectedScriptForOrigin):
217         (InspectorFrontendHostAPI.prototype.loaded):
218         (InspectorFrontendHostAPI.prototype.localizedStringsURL):
219         (InspectorFrontendHostAPI.prototype.hiddenPanels):
220         (InspectorFrontendHostAPI.prototype.inspectedURLChanged):
221         (InspectorFrontendHostAPI.prototype.documentCopy):
222         (InspectorFrontendHostAPI.prototype.copyText):
223         (InspectorFrontendHostAPI.prototype.openInNewTab):
224         (InspectorFrontendHostAPI.prototype.canSave):
225         (InspectorFrontendHostAPI.prototype.save):
226         (InspectorFrontendHostAPI.prototype.canAppend):
227         (InspectorFrontendHostAPI.prototype.append):
228         (InspectorFrontendHostAPI.prototype.sendMessageToBackend):
229         (InspectorFrontendHostAPI.prototype.recordActionTaken):
230         (InspectorFrontendHostAPI.prototype.recordPanelShown):
231         (InspectorFrontendHostAPI.prototype.recordSettingChanged):
232         (InspectorFrontendHostAPI.prototype.loadResourceSynchronously):
233         (InspectorFrontendHostAPI.prototype.setZoomFactor):
234         (InspectorFrontendHostAPI.prototype.canInspectWorkers):
235         (SourceMapV3):
236         (SourceMapV3.Section):
237         (SourceMapV3.Offset):
238         * inspector/front-end/inspector.html:
239         * inspector/front-end/inspector.js:
240         (WebInspector.inspect):
241
242 2012-08-22  Gustavo Noronha Silva  <gns@gnome.org>
243
244         Unreviewed build fix. libWebCore needs include paths
245         for some bits of WebCoreGtk.
246
247         * GNUmakefile.am:
248
249 2012-08-22  Koji Ishii  <kojiishi@gmail.com>
250
251         FontMetrics.unitsPerEm(), FontPlatformData.orientation(), SimpleFontData::platformBoundsForGlyph are not implemented on Chromium Windows
252         https://bugs.webkit.org/show_bug.cgi?id=83512
253
254         Reviewed by Tony Chang.
255
256         Chromium Windows does not implement following 3 functions that are required for bug 51450.
257         1. FontMetrics.unitsPerEm() always returns the default value (gDefaultUnitsPerEm = 1000).
258         2. FontPlatformData.orientation() always returns Horizontal.
259         3. SimpleFontData::platformBoundsForGlyph() always returns FloatRect().
260         Tony suggested in bug 51450 review to split code that is not behind
261         #if ENABLE(OPENTYPE_VERTICAL) to a separate patch.
262
263         Test: Following 3 existing but skipped tests are now enabled and pass.
264               fast/text/emphasis-overlap.html
265               fast/text/emphasis-avoid-ruby.html
266               fast/repaint/text-emphasis-v.html
267
268         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
269         (WebCore::FontCache::createFontPlatformData): Add orientation.
270         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
271         (WebCore::FontPlatformData::FontPlatformData): Add orientation.
272         (WebCore::FontPlatformData::operator=): Add orientation.
273         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
274         (FontPlatformData):
275         (WebCore::FontPlatformData::orientation): Add orientation.
276         (WebCore::FontPlatformData::setOrientation): Add orientation.
277         (WebCore::FontPlatformData::operator==): Add orientation.
278         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
279         (WebCore::SimpleFontData::platformInit): Set FontMetrics.unitsPerEm.
280         (WebCore::SimpleFontData::createScaledFontData): Add orientation.
281         (WebCore::SimpleFontData::platformBoundsForGlyph): Implemented.
282         * platform/graphics/skia/FontCustomPlatformData.cpp:
283         (WebCore::FontCustomPlatformData::fontPlatformData): Add orientation.
284
285 2012-08-22  Robert Hogan  <robert@webkit.org>
286
287         REGRESSION(r125578): fast/regex/unicodeCaseInsensitive.html crash on Linux Debug Chromium
288         https://bugs.webkit.org/show_bug.cgi?id=94010
289
290         Reviewed by Tony Chang.
291
292         r125578 inspected the raw text run for word-end but the index it used to do so was for a normalized
293         version of the run that could be longer than the raw text run. So to allow proper detection of word-end
294         in complex text (i) do not normalize tabs to plain white-space and (ii) go back to using the normalized version
295         of the run for detecting word-end. There is a risk that some fonts may create glyphs for the '\t' character 
296         but this does not turn up in any of our regression tests and the more common risk appears to be the new-line.
297
298         Test: fast/regex/unicodeCaseInsensitive.html
299
300         * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp:
301         (WebCore::normalizeSpacesAndMirrorChars):
302
303 2012-08-22  Andrey Adaikin  <aandrey@chromium.org>
304
305         Web Inspector: [WebGL] Support the communication protocol from the injected script
306         https://bugs.webkit.org/show_bug.cgi?id=94689
307
308         Reviewed by Pavel Feldman.
309
310         Support the WebGL communication protocol from the injected script module.
311
312         * inspector/InjectedScriptWebGLModuleSource.js:
313         (.):
314
315 2012-08-22  Gustavo Noronha Silva  <gns@gnome.org>
316
317         [GTK] Split WebCore/platform into a separate library
318         https://bugs.webkit.org/show_bug.cgi?id=94435
319
320         Reviewed by Martin Robinson.
321
322         More people have been reporting problems when linking WebCore because
323         the command line limit is being exceeded. Splitting WebCore a bit more
324         is in order.
325
326         * GNUmakefile.am: add new libWebCorePlatform convenience library.
327         * GNUmakefile.list.am: move list of platform/* files to its own variable.
328
329 2012-08-22  Raphael Kubo da Costa  <rakuco@webkit.org>
330
331         [EFL] Build failures with harfbuzz outside standard locations
332         https://bugs.webkit.org/show_bug.cgi?id=93030
333
334         Reviewed by Rob Buis.
335
336         Add ${HARFBUZZ_INCLUDE_DIRS} to the list of included paths: so far
337         it was being implicitly pulled from evas's pkg-config file, and
338         used to work when WebKit-EFL's dependencies were built with
339         jhbuild -- in this case, harfbuzz is built before evas, which is
340         then built with harfbuzz support and adds the required paths to
341         its .pc file.
342
343         We need to include things directly to account for the case of
344         people not using jhbuild and thus not necessarily having harfbuzz
345         as an evas dependency.
346
347         * PlatformEfl.cmake:
348
349 2012-08-22  Raul Hudea  <rhudea@adobe.com>
350
351         Crash in WebCore::RenderBlock::removeChild
352         https://bugs.webkit.org/show_bug.cgi?id=93879
353
354         Reviewed by Abhishek Arya.
355
356         By adding the lifetime state to the RenderNamedFlowThread (r122556), it become possible for the a RenderRegion object to delete its sibling,
357         the RenderNamedFlowThread. This is unexpected in the rendering world and cause problems in RenderBlock::removeChild where we retain previous
358         and next sibling pointers.
359         So, all the RenderNamedFlowThread are created under a RenderFlowThreadContainer object insted of the RenderView. The new object is created only
360         when the first named flow is created.
361
362         Test: fast/regions/remove-flow-thread-crash.html
363
364         * CMakeLists.txt:
365         * GNUmakefile.list.am:
366         * Target.pri:
367         * WebCore.gypi:
368         * WebCore.vcproj/WebCore.vcproj:
369         * WebCore.xcodeproj/project.pbxproj:
370         * rendering/FlowThreadController.cpp:
371         (WebCore::FlowThreadController::FlowThreadController): Added initialization for the new RenderFlowThreadContainer member
372         (WebCore::FlowThreadController::ensureRenderFlowThreadWithName): Added the creation of the RenderFlowThreadContainer object and use it as a parent for all RenderNamedFlowThreads
373         (WebCore::FlowThreadController::styleDidChange): Inform all the RenderNamedFlowThreads that the style changed in regions (initially this code was in RenderView, but now all RenderNamedFlowThreads are children of RenderFlowThreadContainer)
374         (WebCore):
375         * rendering/FlowThreadController.h:
376         (WebCore):
377         (FlowThreadController):
378         * rendering/RenderFlowThreadContainer.cpp: Added.
379         (WebCore):
380         (WebCore::RenderFlowThreadContainer::RenderFlowThreadContainer):
381         (WebCore::RenderFlowThreadContainer::layout):
382         * rendering/RenderFlowThreadContainer.h: Added.
383         * rendering/RenderObject.cpp:
384         (WebCore::RenderObject::markContainingBlocksForLayout): Skip to RenderView if the current object is an RenderFlowThreadContainer.
385         * rendering/RenderObject.h:
386         (WebCore::RenderObject::isRenderFlowThreadContainer):
387         * rendering/RenderView.cpp:
388         (WebCore::RenderView::styleDidChange): Moved the code associated to RenderNamedFlowThreads to FlowThreadController:styleDidChange and call it instead.
389
390 2012-08-22  Rob Buis  <rbuis@rim.com>
391
392         [BlackBerry] Add RSS content handling support
393         https://bugs.webkit.org/show_bug.cgi?id=93496
394
395         Reviewed by Yong Li.
396
397         Cleanup some more.
398
399         * platform/network/blackberry/rss/RSSFilterStream.cpp:
400         (WebCore):
401         (WebCore::createParser):
402         (WebCore::defaultEncodingForLanguage):
403         (WebCore::isTranscodingNeeded):
404
405 2012-08-21  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
406
407         Remove unused TextDrawingMode flags from GraphicsContext
408         https://bugs.webkit.org/show_bug.cgi?id=21898
409
410         Reviewed by Benjamin Poulain.
411
412         Remove TextModeClip and TextModeInvisible. These are not used by any port, and
413         according to https://bugs.webkit.org/show_bug.cgi?id=42110#c2 these were added
414         just to map CG existing flags, but are not used.
415
416         * platform/graphics/GraphicsContext.h:
417         * platform/graphics/cg/GraphicsContextCG.cpp:
418         (WebCore::GraphicsContext::setPlatformTextDrawingMode):
419         * platform/graphics/openvg/PainterOpenVG.cpp:
420         (WebCore::PainterOpenVG::drawText):
421         * platform/graphics/skia/PlatformContextSkia.cpp:
422         (WebCore::PlatformContextSkia::setTextDrawingMode):
423
424 2012-08-22  Sheriff Bot  <webkit.review.bot@gmail.com>
425
426         Unreviewed, rolling out r126287.
427         http://trac.webkit.org/changeset/126287
428         https://bugs.webkit.org/show_bug.cgi?id=94708
429
430         It made WK1 layout testing 3.7x slower (>1hours) (Requested by
431         ossy on #webkit).
432
433         * bridge/qt/qt_instance.cpp:
434         (JSC::Bindings::unusedWeakObjectMapCallback):
435         (Bindings):
436         (JSC::Bindings::WeakMapImpl::WeakMapImpl):
437         (JSC::Bindings::WeakMapImpl::~WeakMapImpl):
438         (JSC::Bindings::WeakMap::~WeakMap):
439         (JSC::Bindings::WeakMap::set):
440         (JSC::Bindings::WeakMap::get):
441         (JSC::Bindings::WeakMap::remove):
442         * bridge/qt/qt_instance.h:
443         (QtInstance):
444         * bridge/qt/qt_runtime.cpp:
445         (JSC::Bindings::prototypeForSignalsAndSlots):
446         (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod):
447         (JSC::Bindings::QtRuntimeMethod::call):
448         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
449         (JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
450         * bridge/qt/qt_runtime.h:
451         (QtRuntimeMethod):
452
453 2012-08-22  Pavel Feldman  <pfeldman@chromium.org>
454
455         Not reviewed: follow up to r126297, fixing WebCore.gypi.
456
457         * WebCore.gypi:
458
459 2012-08-22  Carlos Garcia Campos  <cgarcia@igalia.com>
460
461         [GTK] Preferred languages and spellchecker APIs are not consistent in WebKit2
462         https://bugs.webkit.org/show_bug.cgi?id=94683
463
464         Reviewed by Alejandro G. Castro.
465
466         Use a Vector<String> instead of a comma-separated string to
467         get/set languages.
468
469         * platform/text/gtk/TextCheckerEnchant.cpp:
470         (TextCheckerEnchant::updateSpellCheckingLanguages):
471         (TextCheckerEnchant::getSpellCheckingLanguages):
472         * platform/text/gtk/TextCheckerEnchant.h:
473         (TextCheckerEnchant):
474
475 2012-08-22  Pavel Feldman  <pfeldman@chromium.org>
476
477         Web Inspector: move NavigatorView and NavigatorOverlayController to ScriptsPanel module
478         https://bugs.webkit.org/show_bug.cgi?id=94693
479
480         Reviewed by Vsevolod Vlasov.
481
482         Loading them via importScript now.
483
484         * inspector/compile-front-end.py:
485         * inspector/front-end/ScriptsPanel.js:
486         * inspector/front-end/inspector.html:
487
488 2012-08-22  KwangYong Choi  <ky0.choi@samsung.com>
489
490         [EFL] Support slider tick mark snapping
491         https://bugs.webkit.org/show_bug.cgi?id=94560
492
493         Reviewed by Kenneth Rohde Christiansen.
494
495         Increased the threshold for the EFL port. The value is snapped
496         when it clicked near tick mark.
497
498         No new tests. Covered by fast/forms/datalist/range-snap-to-datalist.html.
499
500         * platform/efl/RenderThemeEfl.cpp:
501         (WebCore):
502         (WebCore::RenderThemeEfl::sliderTickSnappingThreshold):
503         * platform/efl/RenderThemeEfl.h:
504         (RenderThemeEfl):
505
506 2012-08-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
507
508         [Qt] Optionally support smooth-scrolling on all platforms
509         https://bugs.webkit.org/show_bug.cgi?id=74926
510
511         Reviewed by Simon Hausmann.
512
513         Make GestureAnimations depend on the GESTURE_ANIMATION feature flag,
514         since GestureAnimations are unused on some platforms.
515
516         * Target.pri:
517         * platform/ScrollAnimatorNone.cpp:
518         (WebCore::ScrollAnimatorNone::fireUpAnAnimation):
519         (WebCore::ScrollAnimatorNone::cancelAnimations):
520         (WebCore::ScrollAnimatorNone::animationTimerFired):
521         * platform/ScrollAnimatorNone.h:
522         (ScrollAnimatorNone):
523
524 2012-08-22  Simon Hausmann  <simon.hausmann@nokia.com>
525
526         [Qt] Port convertQVariantToValue to use the JSC C API
527         https://bugs.webkit.org/show_bug.cgi?id=93889
528
529         Reviewed by Kenneth Rohde Christiansen.
530
531         Based on patch by Noam Rosenthal.
532
533         This patch is another step towards reducing the use of internal JSC API
534         in the Qt bridge. Most of the conversion from QVariant to JS values is
535         straight-forward. The biggest behavioural change is that QVariant lists
536         are converted on-the-spot instead of lazily. Bug #94691 tracks fixing
537         that.
538
539         * bridge/qt/qt_instance.cpp:
540         (Bindings):
541         (JSC::Bindings::QtField::valueFromInstance):
542         * bridge/qt/qt_runtime.cpp:
543         (JSC::Bindings::convertQVariantToValue):
544         (JSC::Bindings::QtRuntimeMethod::call):
545         (JSC::Bindings::QtConnectionObject::execute):
546         (JSC::Bindings::::valueAt):
547         * bridge/qt/qt_runtime.h:
548         (Bindings):
549
550 2012-08-22  Simon Hausmann  <simon.hausmann@nokia.com>
551
552         [Qt] REGRESSION(r125428): fast/profiler/nested-start-and-stop-profiler.html fails
553         https://bugs.webkit.org/show_bug.cgi?id=93897
554
555         Reviewed by Kenneth Rohde Christiansen.
556
557         Before r125428 run-time methods (wrapped signals, slots or invokable
558         functions) were subclasses of JSInternalFunction and therefore real
559         function objects in the JavaScript sense. r125428 changed them to be
560         just callable objects, but they did not have Function.prototype as
561         prototype anymore for example nor was their name correct (resulting in
562         a layout test failure).
563
564         This patch changes run-time methods back to being real function objects
565         that have a correct name and have Function.prototype in their prototype
566         change
567
568         The objects returned by JSObjectMakeFunctionWithCallbackInjected are
569         light-weight internal function objects that do not support
570         JSObject{Set/Get}Private. Therefore we inject our own prototype right
571         before the Function.prototype prototype, which uses private data to
572         store a pointer to our C++ QtRuntimeMethod object.  This complicates
573         the retrieval of the pointer to that instance slightly, which is why
574         this patch introduces the toRuntimeMethod convenience function that
575         looks up our prototype first and does a check for type-safety.
576
577         At the same time the patch removes the length properties from the
578         run-time method itself as well as connect/disconnect.  The length
579         property on a function signifies the number of arguments, but in all
580         three cases that number is actually variable, because of overloading.
581         That is why we choose not to expose it in the first place.
582
583         In QtInstance we cache the JS wrapper objects for QtRuntimeMethod in a
584         JSWeakObjectMap. JSWeakObjectMap requires the stored objects to be
585         either the result of JSObjectMake or the global object of a context ref
586         (AFAICS), which is ensured using an ASSERT. Objects created via
587         JSObjectMakeFunctionWithCalllback do not fall into the required
588         category, cause a failing assertion and can therefore not be stored in
589         the weak object map.
590
591         Consequently this patch removes the use of JSWeakObjectMap again and
592         goes back to the old way of using the internal Weak<> API, for the time
593         being. In a future patch the storage will be simplified to not require
594         the use of a weak object map cache for the run-time methods anymore.
595
596         * bridge/qt/qt_instance.cpp: Remove unused WeakMap code.
597         * bridge/qt/qt_instance.h: Remove method cache.
598         (QtInstance):
599         * bridge/qt/qt_runtime.cpp:
600         (JSC::Bindings::prototypeForSignalsAndSlots):
601         (JSC::Bindings::QtRuntimeMethod::call):
602         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
603         (JSC::Bindings::QtRuntimeMethod::toRuntimeMethod):
604         (Bindings):
605         (JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
606         * bridge/qt/qt_runtime.h:
607         (QtRuntimeMethod): Remove unused member variables.
608
609 2012-08-22  Christophe Dumez  <christophe.dumez@intel.com>
610
611         window.postMessage() / MessagePort.postMessage() throw wrong exception for invalid ports argument
612         https://bugs.webkit.org/show_bug.cgi?id=94581
613
614         Reviewed by Kentaro Hara.
615
616         Update JSC and V8 implementations of window.postMessage() and
617         MessagePort.postMessage() in order to throw an
618         INVALID_STATE_ERR instead of a DATA_CLONE_ERR when values
619         in the "ports" argument are invalid. Additionally, we now
620         check for duplicate ports and throw an exception for this
621         case as well.
622
623         This change was made to comply with the latest HTML5
624         specification at:
625         http://www.w3.org/TR/html5/comms.html
626
627         No new tests, already tested by:
628         fast/events/constructors/message-event-constructor.html
629         fast/events/message-port-clone.html
630         fast/events/message-port-multi.html
631         fast/workers/worker-context-multi-port.html
632         fast/workers/worker-multi-port.html
633
634         * bindings/js/JSMessagePortCustom.cpp:
635         (WebCore::fillMessagePortArray):
636         * bindings/v8/V8Utilities.cpp:
637         (WebCore::extractTransferables):
638         * dom/MessagePort.cpp:
639         (WebCore::MessagePort::postMessage):
640
641 2012-08-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
642
643         [TouchAdjustment] Adjust to word or selection
644         https://bugs.webkit.org/show_bug.cgi?id=94449
645
646         Reviewed by Antonio Gomes.
647
648         Makes each separate word a separate subtarget when context menu triggers
649         selections, and only the selected part of a partial selected node a 
650         target when selections are not overridden.
651
652         Fix of reverted commit r126026, fix misplaced ASSERT.
653
654         Test: touchadjustment/context-menu-text-subtargets.html
655
656         * page/TouchAdjustment.cpp:
657         (TouchAdjustment):
658         (WebCore::TouchAdjustment::providesContextMenuItems):
659         (WebCore::TouchAdjustment::appendQuadsToSubtargetList):
660         (WebCore::TouchAdjustment::appendBasicSubtargetsForNode):
661         (WebCore::TouchAdjustment::appendContextSubtargetsForNode):
662         (WebCore::TouchAdjustment::compileSubtargetList):
663         (WebCore::findBestClickableCandidate):
664         (WebCore::findBestContextMenuCandidate):
665
666 2012-08-22  Andrey Adaikin  <aandrey@chromium.org>
667
668         Web Inspector: [WebGL] Generic framework draft for tracking WebGL resources
669         https://bugs.webkit.org/show_bug.cgi?id=90597
670
671         Reviewed by Pavel Feldman.
672
673         Wrap WebGL rendering context methods and collect a trace log if we are in capturing mode.
674         Stubbed code for collecting calls contributing to a WebGL resource state so that we could replay them later.
675
676         Typical scenario:
677         - we wrap a GL context with InjectedScript.wrapWebGLContext() and return a proxy to the inspected page
678         - the proxy saves all calls necessary to do a replay later - only those that modify a resource's state
679         - when we turn on capturing mode (InjectedScript.captureFrame), we save all WebGL calls to a trace log
680
681         * inspector/InjectedScriptSource.js:
682         (.):
683         * inspector/InjectedScriptWebGLModuleSource.js:
684         (.):
685
686 2012-08-22  Andrey Adaikin  <aandrey@chromium.org>
687
688         Web Inspector: [WebGL] Add minimum transport protocol from backend to frontend
689         https://bugs.webkit.org/show_bug.cgi?id=88973
690
691         Reviewed by Pavel Feldman.
692
693         Added the following protocol methods to communicate with the WebGL injected
694         module: captureFrame, getTraceLog, dropTraceLog, replayTraceLog.
695
696         * inspector/CodeGeneratorInspector.py:
697         * inspector/InjectedScriptWebGLModule.cpp:
698         (WebCore::InjectedScriptWebGLModule::captureFrame):
699         (WebCore):
700         (WebCore::InjectedScriptWebGLModule::dropTraceLog):
701         (WebCore::InjectedScriptWebGLModule::getTraceLog):
702         (WebCore::InjectedScriptWebGLModule::replayTraceLog):
703         * inspector/InjectedScriptWebGLModule.h:
704         (InjectedScriptWebGLModule):
705         * inspector/Inspector.json:
706         * inspector/InspectorController.cpp:
707         (WebCore::InspectorController::InspectorController):
708         * inspector/InspectorWebGLAgent.cpp:
709         (WebCore::InspectorWebGLAgent::InspectorWebGLAgent):
710         (WebCore::InspectorWebGLAgent::dropTraceLog):
711         (WebCore):
712         (WebCore::InspectorWebGLAgent::captureFrame):
713         (WebCore::InspectorWebGLAgent::getTraceLog):
714         (WebCore::InspectorWebGLAgent::replayTraceLog):
715         * inspector/InspectorWebGLAgent.h:
716         (WebCore):
717         (WebCore::InspectorWebGLAgent::create):
718         (InspectorWebGLAgent):
719
720 2012-08-22  Hans Wennborg  <hans@chromium.org>
721
722         Remove unused field DeleteEntryRequest::m_type
723         https://bugs.webkit.org/show_bug.cgi?id=94680
724
725         Unreviewed build fix.
726
727         Remove this unused field. Clang warns about it and it breaks the
728         Chromium build.
729
730         No change in functionality, no new tests.
731
732         * inspector/InspectorFileSystemAgent.cpp:
733         (WebCore):
734
735 2012-08-21  Andrey Kosyakov  <caseq@chromium.org>
736
737         Web Inspector: console.time() should use performance.now()
738         https://bugs.webkit.org/show_bug.cgi?id=94263
739
740         Reviewed by Pavel Feldman.
741
742         - use monotonicallyIncreasingTime() instead of currentTime() for measuring time intervals
743             with console.time()/console.timeEnd()
744         - adjust precision to 3 digits after decimal point (i.e. microseconds) when formatting intervals;
745
746         * inspector/InspectorConsoleAgent.cpp:
747         (WebCore::InspectorConsoleAgent::stopTiming):
748
749 2012-08-22  Takashi Sakamoto  <tasak@google.com>
750
751         Dynamically styling ShadowDom content on a node distributed to another shadow insertion point fails.
752         https://bugs.webkit.org/show_bug.cgi?id=92899
753
754         Reviewed by Hajime Morita.
755
756         Since childNeedsStyleRecalc is not cleared when parent nodes are
757         attached, setNeedsStyleRecalc flag is not reached Document. So,
758         document() doesn't run re-layout.
759
760         Test: fast/dom/shadow/shadowdom-dynamic-styling.html
761
762         * dom/ContainerNode.h:
763         (ContainerNode):
764         (WebCore::ContainerNode::detachAsNode):
765         Removed detachAsNode, because the below change made the method
766         not-used.
767         * dom/Element.cpp:
768         (WebCore::Element::detach):
769         Modify to invoke ContainerNode::detach when any shadow subtree is
770         attached. ContainerNode::detach takes care of childNeedsStyleRecalc
771         flag.
772         * dom/ElementShadow.cpp:
773         (WebCore::ElementShadow::invalidateDistribution):
774         Use SetAttached for lazyAttach instead of DoNotSetAttached, because
775         it is reuired to invoke ContainerNode::detach. If not, attached() is
776         false and reattach() invokes only attach(). This causes to leave
777         shadow host's childNeedsStyleRecalc flag true after
778         Element::recalcStyle.
779
780 2012-08-22  Taiju Tsuiki  <tzik@chromium.org>
781
782         Web Inspector: Add deleteEntry command and deletionCompleted event to FileSystemAgent
783         https://bugs.webkit.org/show_bug.cgi?id=91831
784
785         Reviewed by Vsevolod Vlasov.
786
787         InspectorAgent-side implementation of deleteEntry command.
788
789         Test will be added after JS-side implementation landed.
790
791         * inspector/Inspector.json:
792         * inspector/InspectorFileSystemAgent.cpp:
793         (WebCore):
794         (WebCore::InspectorFileSystemAgent::requestFileSystemRoot):
795         (WebCore::InspectorFileSystemAgent::requestDirectoryContent):
796         (WebCore::InspectorFileSystemAgent::requestMetadata):
797         (WebCore::InspectorFileSystemAgent::requestFileContent):
798         (WebCore::InspectorFileSystemAgent::deleteEntry):
799         (WebCore::InspectorFileSystemAgent::assertFrontend):
800         * inspector/InspectorFileSystemAgent.h:
801         (InspectorFileSystemAgent):
802         * inspector/front-end/FileSystemModel.js:
803         (WebInspector.FileSystemDispatcher.prototype.fileContentReceived):
804         (WebInspector.FileSystemDispatcher.prototype.deletionCompleted):
805
806 2012-08-21  Pavel Feldman  <pfeldman@chromium.org>
807
808         Web Inspector: TabbedPane: measure tab widths in batches.
809         https://bugs.webkit.org/show_bug.cgi?id=94484
810
811         Reviewed by Vsevolod Vlasov.
812
813         - Introduces global batch update schema
814         - Migrates Toolbar and TabbedPane to the new schema
815
816         * inspector/front-end/ScriptsPanel.js:
817         (WebInspector.ScriptsPanel):
818         * inspector/front-end/TabbedPane.js:
819         (WebInspector.TabbedPane.prototype.appendTab):
820         (WebInspector.TabbedPane.prototype._updateTabElements):
821         (WebInspector.TabbedPane.prototype._innerUpdateTabElements):
822         (WebInspector.TabbedPane.prototype._updateWidths):
823         (WebInspector.TabbedPane.prototype._measureWidths):
824         (WebInspector.TabbedPaneTab):
825         (WebInspector.TabbedPaneTab.prototype.width):
826         (WebInspector.TabbedPaneTab.prototype.setWidth):
827         * inspector/front-end/Toolbar.js:
828         (WebInspector.Toolbar):
829         (WebInspector.Toolbar.prototype._updateDropdownButtonAndHideDropdown):
830         (WebInspector.Toolbar.prototype._innerUpdateDropdownButtonAndHideDropdown):
831         * inspector/front-end/UIUtils.js:
832         (WebInspector.startBatchUpdate):
833         (WebInspector.invokeOnceAfterBatchUpdate.get if):
834         (WebInspector.invokeOnceAfterBatchUpdate):
835         * inspector/front-end/inspector.js:
836         * inspector/front-end/utilities.js:
837
838 2012-08-21  Kentaro Hara  <haraken@chromium.org>
839
840         [V8] Move String related code in V8Binding to a separate file
841         https://bugs.webkit.org/show_bug.cgi?id=94571
842
843         Reviewed by Adam Barth.
844
845         This patch moves V8Parameter, V8ParameterBase and String related code
846         in V8Binding to a separate file.
847
848         No tests. No change in behavior.
849
850         * UseV8.cmake:
851         * WebCore.gypi:
852         * bindings/v8/V8Binding.cpp:
853         * bindings/v8/V8Binding.h:
854         * bindings/v8/V8StringResource.cpp: Added.
855         * bindings/v8/V8StringResource.h: Added.
856         (WebCore):
857
858 2012-08-21  Sukolsak Sakshuwong  <sukolsak@google.com>
859
860         Implement UndoManager's automatic DOM transactions
861         https://bugs.webkit.org/show_bug.cgi?id=91812
862
863         Reviewed by Ryosuke Niwa.
864
865         This patch implements automatic DOM transactions in UndoManager
866         by recording changes in tree structure, attributes, and character data
867         of nodes under undo scope host.
868
869         Tests: editing/undomanager/automatic-transaction-attribute.html
870                editing/undomanager/automatic-transaction-data.html
871                editing/undomanager/automatic-transaction-node.html
872
873         * CMakeLists.txt:
874         * GNUmakefile.list.am:
875         * WebCore.gypi:
876         * WebCore.vcproj/WebCore.vcproj:
877         * WebCore.xcodeproj/project.pbxproj:
878         * bindings/js/DOMTransaction.h:
879         (WebCore::DOMTransaction::addTransactionStep):
880         (DOMTransaction):
881         * bindings/v8/DOMTransaction.cpp:
882         (DOMTransactionScope):
883         (WebCore::DOMTransactionScope::DOMTransactionScope):
884         (WebCore::DOMTransactionScope::~DOMTransactionScope):
885         (WebCore):
886         (WebCore::DOMTransaction::apply):
887         (WebCore::DOMTransaction::unapply):
888         (WebCore::DOMTransaction::reapply):
889         * bindings/v8/DOMTransaction.h:
890         (WebCore::DOMTransaction::addTransactionStep):
891         (DOMTransaction):
892         * css/PropertySetCSSStyleDeclaration.cpp:
893         (WebCore::PropertySetCSSStyleDeclaration::setCssText):
894         (WebCore::PropertySetCSSStyleDeclaration::setProperty):
895         (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
896         (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
897         * dom/CharacterData.cpp:
898         (WebCore::CharacterData::setDataAndUpdate):
899         * dom/ContainerNode.cpp:
900         (WebCore::willRemoveChild):
901         (WebCore::willRemoveChildren):
902         (WebCore::updateTreeAfterInsertion):
903         * dom/Element.cpp:
904         (WebCore::Element::willModifyAttribute):
905         * editing/DOMTransactionStep.cpp: Added.
906         (WebCore):
907         (WebCore::NodeInsertingDOMTransactionStep::NodeInsertingDOMTransactionStep):
908         (WebCore::NodeInsertingDOMTransactionStep::create):
909         (WebCore::NodeInsertingDOMTransactionStep::unapply):
910         (WebCore::NodeInsertingDOMTransactionStep::reapply):
911         (WebCore::NodeRemovingDOMTransactionStep::NodeRemovingDOMTransactionStep):
912         (WebCore::NodeRemovingDOMTransactionStep::create):
913         (WebCore::NodeRemovingDOMTransactionStep::unapply):
914         (WebCore::NodeRemovingDOMTransactionStep::reapply):
915         (WebCore::DataReplacingDOMTransactionStep::DataReplacingDOMTransactionStep):
916         (WebCore::DataReplacingDOMTransactionStep::create):
917         (WebCore::DataReplacingDOMTransactionStep::unapply):
918         (WebCore::DataReplacingDOMTransactionStep::reapply):
919         (WebCore::AttrChangingDOMTransactionStep::AttrChangingDOMTransactionStep):
920         (WebCore::AttrChangingDOMTransactionStep::create):
921         (WebCore::AttrChangingDOMTransactionStep::unapply):
922         (WebCore::AttrChangingDOMTransactionStep::reapply):
923         * editing/DOMTransactionStep.h: Added.
924         (WebCore):
925         (DOMTransactionStep):
926         (WebCore::DOMTransactionStep::~DOMTransactionStep):
927         (NodeInsertingDOMTransactionStep):
928         (NodeRemovingDOMTransactionStep):
929         (DataReplacingDOMTransactionStep):
930         (AttrChangingDOMTransactionStep):
931         * editing/UndoManager.cpp:
932         (WebCore):
933         (WebCore::UndoManager::isRecordingAutomaticTransaction):
934         (WebCore::UndoManager::addTransactionStep):
935         * editing/UndoManager.h:
936         (WebCore):
937         (WebCore::UndoManager::setRecordingDOMTransaction):
938         (UndoManager):
939
940 2012-08-21  Shezan Baig  <sbaig1@bloomberg.net>
941
942         Fix cross-direction stretch for replaced elements in row flexbox
943         https://bugs.webkit.org/show_bug.cgi?id=94237
944
945         Reviewed by Ojan Vafai.
946
947         When stretching, don't take into account the instrinsic size of child
948         replaced elements. Only the fixed size, min size, and max size of the
949         child should be taken into account. The logic that computed this was
950         moved from RenderBox::computeLogicalHeight to a new helper method
951         called logicalHeightConstrainedByMinMax.  This helper method is now
952         used from RenderFlexibleBox::applyStretchAlignmentToChild, instead of
953         using RenderBox::computeLogicalHeight.
954
955         A similar change will need to be made for column-flowing flexboxes.
956         This will be addressed in https://webkit.org/b/94604.
957
958         No new tests.  The existing css3/flexbox/flexitem.html test was
959         extended to cover this case.
960
961         * rendering/RenderBox.cpp:
962         (WebCore::RenderBox::logicalHeightConstrainedByMinMax): New helper
963         method that is used by RenderBox::computeLogicalHeight and also by
964         RenderFlexibleBox::applyStretchAlignmentToChild.
965         (WebCore):
966         (WebCore::RenderBox::computeLogicalHeight): Updated to use the new
967         logicalHeightConstrainedByMinMax helper method.
968         * rendering/RenderBox.h:
969         (RenderBox):
970         * rendering/RenderFlexibleBox.cpp:
971         (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild): Use
972         logicalHeightConstrainedByMinMax instead of computeLogicalHeight.
973
974 2012-08-21  Hayato Ito  <hayato@chromium.org>
975
976         Make an event object clonable to support an event propagation across seamless iframes.
977         https://bugs.webkit.org/show_bug.cgi?id=93678
978
979         Reviewed by Dimitri Glazkov.
980
981         We should clone an event object when a event propagates across
982         seamless iframes.  Currently Event and MouseEvent are
983         supported. Support for other kinds of events will be addressed
984         later.
985
986         This is one of the pre-requirements to support an event
987         propagation across seamless iframes.
988
989         No new tests, no behavior change.
990
991         * dom/Event.cpp:
992         (WebCore::Event::cloneFor):
993         (WebCore):
994         * dom/Event.h:
995         (WebCore):
996         (Event):
997         * dom/MouseEvent.cpp:
998         (WebCore::adjustedClinetX):
999         (WebCore):
1000         (WebCore::adjustedClinetY):
1001         (WebCore::MouseEvent::cloneFor):
1002         * dom/MouseEvent.h:
1003         (MouseEvent):
1004
1005 2012-08-21  Joshua Bell  <jsbell@chromium.org>
1006
1007         IndexedDB: IDBRequest can be GCd during event dispatch
1008         https://bugs.webkit.org/show_bug.cgi?id=94235
1009
1010         Reviewed by Ojan Vafai.
1011
1012         Avoid a "race" where GC may attempt to reclaim IDB objects that are marked
1013         "done" prior to the completion of the event dispatch. The script runtime
1014         may decide to do a GC pass before calling the event handler, releasing the
1015         object and turning the dispatch into a no-op.
1016
1017         This is a partial reversion (with renames, etc) of r123275, r124842,
1018         and r121492. Added a new test, although it does not exercise the "race"
1019         condition directly.
1020
1021         Test: storage/indexeddb/pending-activity.html
1022               storage/indexeddb/pending-activity-workers.html
1023
1024         * Modules/indexeddb/IDBCursor.cpp:
1025         (WebCore::IDBCursor::close): Let the IDBRequest know it this cursor won't
1026         make it fire again.
1027         * Modules/indexeddb/IDBRequest.cpp:
1028         (WebCore::IDBRequest::IDBRequest): Reintroduce "am I done?" flag.
1029         (WebCore::IDBRequest::finishCursor): Cursors may fire events at the same
1030         IDBRequest repeatedly, so we need to know when they're are really done.
1031         (WebCore):
1032         (WebCore::IDBRequest::hasPendingActivity): Test the flag.
1033         (WebCore::IDBRequest::dispatchEvent): Set the flag.
1034         * Modules/indexeddb/IDBRequest.h:
1035         (IDBRequest):
1036         * Modules/indexeddb/IDBTransaction.cpp:
1037         (WebCore::IDBTransaction::IDBTransaction): Reintroduce "am I done?" flag.
1038         (WebCore::IDBTransaction::hasPendingActivity): Test the flag.
1039         (WebCore::IDBTransaction::dispatchEvent): Set the flag.
1040         * Modules/indexeddb/IDBTransaction.h:
1041
1042 2012-08-21  Pavel Feldman  <pfeldman@chromium.org>
1043
1044         Web Inspector: [regression] Settings panel fails to open.
1045         https://bugs.webkit.org/show_bug.cgi?id=94647
1046
1047         Unreviewed: one line JS front-end fix.
1048
1049         * inspector/front-end/ScriptsSearchScope.js:
1050         * inspector/front-end/Settings.js:
1051
1052 2012-08-21  Julien Chaffraix  <jchaffraix@webkit.org>
1053
1054         Crash in RenderTableSection::setCellLogicalWidths
1055         https://bugs.webkit.org/show_bug.cgi?id=94291
1056
1057         Reviewed by Abhishek Arya.
1058
1059         This issue was that splitAnonymousBoxesAroundChild would move a table section
1060         into a newly created table *without* marking it as needing cell recalc. The table
1061         would thus never build its structure to match its sections. The fix is to hop on
1062         the new willBeRemovedFromTree signal so that the section invalidates itself properly.
1063
1064         Test: fast/table/crash-split-table-section-no-cell-recalc.html
1065
1066         * rendering/RenderTableSection.cpp:
1067         (WebCore::RenderTableSection::willBeRemovedFromTree):
1068         * rendering/RenderTableSection.h:
1069         Replaced willBeDestroyed by willBeRemovedFromTree in RenderTableSection. This ensures that it is called
1070         when moving sections in the tree to mark them as needing cell recalc.
1071
1072 2012-08-21  Yoshifumi Inoue  <yosin@chromium.org>
1073
1074         [Forms] multiple fields time input UI should not have two focus ring.
1075         https://bugs.webkit.org/show_bug.cgi?id=94579
1076
1077         Reviewed by Hajime Morita.
1078
1079         This patch adds CSS selectors to override focus style for multiple
1080         fields time input UI.
1081
1082         No new tests. fast/forms/time-multiple-fields/time-multiple-fields-appearance-basic.html
1083         is updated for including focus state appearance.
1084
1085         * css/html.css:
1086         (input::-webkit-datetime-edit-ampm-field:focus): Override default focus appearance.
1087         (input::-webkit-datetime-edit-hour-field:focus): ditto
1088         (input::-webkit-datetime-edit-millisecond-field:focus): ditto
1089         (input::-webkit-datetime-edit-minute-field:focus): ditto
1090         (input::-webkit-datetime-edit-second-field:focus): ditto
1091
1092 2012-08-21  Adam Barth  <abarth@webkit.org>
1093
1094         V8 shouldn't have its own way of printing cross-origin error messages
1095         https://bugs.webkit.org/show_bug.cgi?id=94641
1096
1097         Reviewed by Eric Seidel.
1098
1099         V8 used to re-implement (poorly) the code for printing out an error
1100         message when a same-origin check failed. This patch deletes that code
1101         in favor of just calling the WebCore version of the code. There more to
1102         clean up here, but I had to stop before spidering over the whole
1103         codebase.
1104
1105         * bindings/generic/BindingSecurity.cpp:
1106         (WebCore::canAccessDocument):
1107         * bindings/js/BindingState.cpp:
1108         * bindings/js/BindingState.h:
1109         * bindings/v8/BindingState.cpp:
1110         (WebCore::printErrorMessageForFrame):
1111         * bindings/v8/BindingState.h:
1112         (WebCore):
1113         * bindings/v8/V8DOMWindowShell.cpp:
1114         (WebCore::reportUnsafeJavaScriptAccess):
1115         * bindings/v8/V8Proxy.cpp:
1116         * bindings/v8/V8Proxy.h:
1117         (V8Proxy):
1118
1119 2012-08-21  Shinya Kawanaka  <shinyak@chromium.org>
1120
1121         A shadow element in ShadowDOM of a button element does not work.
1122         https://bugs.webkit.org/show_bug.cgi?id=91486
1123
1124         Reviewed by Dimitri Glazkov.
1125
1126         Since a button element is extended from an HTMLFormControlElement, it creates a UserAgentShadowDOM
1127         just before adding an AuthorShadowDOM. However, actually a button element does not need any UserAgentShadowDOM.
1128         So we have to prevent it from creating UserAgentShadowDOM.
1129
1130         Test: fast/dom/shadow/shadowdom-for-button.html
1131
1132         * html/HTMLButtonElement.cpp:
1133         (WebCore::HTMLButtonElement::willAddAuthorShadowRoot):
1134         (WebCore):
1135         * html/HTMLButtonElement.h:
1136
1137 2012-08-21  Sukolsak Sakshuwong  <sukolsak@google.com>
1138
1139         Remove UndoManager's undoscope content attribute
1140         https://bugs.webkit.org/show_bug.cgi?id=94637
1141
1142         Reviewed by Ryosuke Niwa.
1143
1144         No new tests. Covered by existing tests.
1145
1146         * bindings/v8/DOMTransaction.cpp:
1147         (WebCore::DOMTransaction::callFunction):
1148         * dom/Document.cpp:
1149         (WebCore::Document::undoManager):
1150         * dom/Element.cpp:
1151         (WebCore::Element::~Element):
1152         (WebCore):
1153         * dom/Element.h:
1154         (Element):
1155         * dom/Element.idl:
1156         * dom/ElementRareData.h:
1157         (ElementRareData):
1158         * editing/UndoManager.cpp:
1159         (WebCore::UndoManager::create):
1160         (WebCore::UndoManager::UndoManager):
1161         (WebCore::UndoManager::disconnect):
1162         (WebCore::UndoManager::transact):
1163         (WebCore::UndoManager::undo):
1164         (WebCore::UndoManager::redo):
1165         (WebCore::UndoManager::clearUndo):
1166         (WebCore::UndoManager::clearRedo):
1167         (WebCore):
1168         * editing/UndoManager.h:
1169         (WebCore):
1170         (UndoManager):
1171         (WebCore::UndoManager::document):
1172         (WebCore::UndoManager::ownerNode):
1173         * html/HTMLAttributeNames.in:
1174         * html/HTMLElement.cpp:
1175         (WebCore::HTMLElement::parseAttribute):
1176         (WebCore::HTMLElement::setContentEditable):
1177
1178 2012-08-21  Joanmarie Diggs  <jdiggs@igalia.com>
1179
1180         [Gtk] No accessible caret-moved events found in certain content
1181         https://bugs.webkit.org/show_bug.cgi?id=72811
1182
1183         Reviewed by Chris Fleizach.
1184
1185         Part of the bug is due to objects which should claim to implement AtkText
1186         failed to do so as a result of containing a mixture of inline and block
1187         spans.
1188
1189         An updated unit test was provided.
1190
1191         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
1192         (roleIsTextType): New method to check if a role is one expected to have
1193         implemented the AtkText interface. Currently that is defined as:
1194          - ParagraphRole
1195          - HeadingRole
1196          - DivRole
1197          - CellRole
1198         (getInterfaceMaskFromObject): If a role is one of the text type roles,
1199         automatically add WAI_TEXT to the accessible object's interface mask.
1200
1201 2012-08-21  Tony Chang  <tony@chromium.org>
1202
1203         Force XML comments to maintain whitespace
1204         https://bugs.webkit.org/show_bug.cgi?id=94620
1205
1206         Reviewed by Pavel Feldman.
1207
1208         Fix a typo in XMLViewer.css for white-space formatting. This seems
1209         like the desired behavior so you can see, e.g., code formatted in an
1210         XML comment.
1211
1212         Covered by existing xmlviewer tests in http/tests/xmlviewer/dumpAsText
1213
1214         * xml/XMLViewer.css:
1215         (.comment): Fix typo.
1216         * xml/XMLViewer.js:
1217         (createComment): Add style to comment nodes.
1218
1219 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
1220
1221         Unreviewed, rolling out r126202.
1222         http://trac.webkit.org/changeset/126202
1223         https://bugs.webkit.org/show_bug.cgi?id=94657
1224
1225         Causes assertion failures on Chromium Linux dbg compositing
1226         layout tests (Requested by dominicc on #webkit).
1227
1228         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
1229         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
1230         * platform/graphics/chromium/LayerRendererChromium.cpp:
1231         (WebCore::applyFilters):
1232         (WebCore::LayerRendererChromium::drawRenderPassQuad):
1233         (WebCore::LayerRendererChromium::drawTileQuad):
1234         (WebCore::LayerRendererChromium::drawYUVVideoQuad):
1235         (WebCore::LayerRendererChromium::drawTextureQuad):
1236         (WebCore::LayerRendererChromium::getFramebufferTexture):
1237         (WebCore::LayerRendererChromium::bindFramebufferToTexture):
1238         * platform/graphics/chromium/LayerRendererChromium.h:
1239         (LayerRendererChromium):
1240         * platform/graphics/chromium/cc/CCResourceProvider.cpp:
1241         (WebCore::CCResourceProvider::createResource):
1242         (WebCore::CCResourceProvider::createResourceFromExternalTexture):
1243         (WebCore::CCResourceProvider::deleteResource):
1244         (WebCore::CCResourceProvider::upload):
1245         (WebCore::CCResourceProvider::lockForWrite):
1246         (WebCore::CCResourceProvider::unlockForWrite):
1247         (WebCore::CCResourceProvider::flush):
1248         (WebCore::CCResourceProvider::shallowFlushIfSupported):
1249         (WebCore::CCResourceProvider::lockForRead):
1250         (WebCore::CCResourceProvider::unlockForRead):
1251         (WebCore::CCResourceProvider::CCResourceProvider):
1252         * platform/graphics/chromium/cc/CCResourceProvider.h:
1253         (WebCore):
1254         (CCResourceProvider):
1255         (WebCore::CCResourceProvider::Resource::Resource):
1256         (Resource):
1257         (CCScopedLockResourceForRead):
1258         (WebCore::CCScopedLockResourceForRead::CCScopedLockResourceForRead):
1259         (WebCore::CCScopedLockResourceForRead::~CCScopedLockResourceForRead):
1260         (WebCore::CCScopedLockResourceForRead::textureId):
1261         (CCScopedLockResourceForWrite):
1262         (WebCore::CCScopedLockResourceForWrite::CCScopedLockResourceForWrite):
1263         (WebCore::CCScopedLockResourceForWrite::~CCScopedLockResourceForWrite):
1264         (WebCore::CCScopedLockResourceForWrite::textureId):
1265
1266 2012-08-21  David Grogan  <dgrogan@chromium.org>
1267
1268         IndexedDB: Fire error at request when abort is called in upgradeneeded
1269         https://bugs.webkit.org/show_bug.cgi?id=94402
1270
1271         Reviewed by Tony Chang.
1272
1273         Tests - updated intversion-abort-in-initial-upgradeneeded-expected.txt
1274
1275         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1276         (WebCore::IDBDatabaseBackendImpl::transactionFinishedAndAbortFired):
1277         (WebCore::IDBDatabaseBackendImpl::transactionFinishedAndCompleteFired):
1278         (WebCore):
1279         (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
1280         Now that second-half open calls don't get abandoned on the queue, we
1281         can ASSERT that there's at most one of them at any time.
1282
1283         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
1284         (IDBDatabaseBackendImpl):
1285         * Modules/indexeddb/IDBRequest.cpp:
1286         (WebCore::IDBRequest::dispatchEvent):
1287         Move setting m_didFireUpgradeNeededEvent before dispatching the event.
1288         If abort is called in the event handler an error event will be
1289         enqueued and ASSERT_WITH_MESSAGE(m_readyState == PENDING ||
1290         m_didFireUpgradeNeededEvent, ...) needs to pass.
1291
1292         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
1293         (WebCore::IDBTransactionBackendImpl::abort):
1294         (WebCore::IDBTransactionBackendImpl::commit):
1295
1296 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
1297
1298         Unreviewed, rolling out r126233.
1299         http://trac.webkit.org/changeset/126233
1300         https://bugs.webkit.org/show_bug.cgi?id=94656
1301
1302         Broke Chromium Mac build (Requested by dominicc on #webkit).
1303
1304         * CMakeLists.txt:
1305         * GNUmakefile.list.am:
1306         * Target.pri:
1307         * WebCore.gypi:
1308         * WebCore.vcproj/WebCore.vcproj:
1309         * WebCore.xcodeproj/project.pbxproj:
1310         * css/mediaControls.css:
1311         (video::-webkit-media-text-track-display):
1312         * html/shadow/MediaControlElements.cpp:
1313         (RenderTextTrackContainerElement):
1314         (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
1315         * html/track/TextTrack.cpp:
1316         * html/track/TextTrack.h:
1317         (TextTrack):
1318         * html/track/TextTrackCue.cpp:
1319         (WebCore::TextTrackCue::TextTrackCue):
1320         (WebCore::TextTrackCue::calculateComputedLinePosition):
1321         (WebCore::TextTrackCue::calculateDisplayParameters):
1322         (WebCore::TextTrackCue::getDisplayTree):
1323         (WebCore::TextTrackCue::getPositionCoordinates):
1324         * html/track/TextTrackCue.h:
1325         (WebCore):
1326         (TextTrackCue):
1327         * rendering/RenderTextTrackCue.cpp: Removed.
1328         * rendering/RenderTextTrackCue.h: Removed.
1329
1330 2012-08-20  Kentaro Hara  <haraken@chromium.org>
1331
1332         [V8] Remove getToStringName() and getToStringTemplate() from V8Binding
1333         https://bugs.webkit.org/show_bug.cgi?id=94573
1334
1335         Reviewed by Adam Barth.
1336
1337         - Remove V8Binding::getToStringName() and V8Binding::getToStringTemplate().
1338
1339         - Replace getToStringName() with String::NewSymbol("toString").
1340
1341         - Fix V8PerIsolateData::getToStringTemplate() so that it caches a persistent
1342         handle of a created FunctionTemplate. Before this patch, a FunctionTemplate
1343         had been created for each toString().
1344
1345         No tests. No change in behavior.
1346
1347         * bindings/v8/V8Binding.cpp:
1348         (WebCore::constructorToString):
1349         * bindings/v8/V8Binding.h:
1350         (WebCore):
1351         * bindings/scripts/CodeGeneratorV8.pm:
1352         (GenerateImplementation):
1353         * bindings/scripts/test/V8/V8Float64Array.cpp:
1354         (WebCore::ConfigureV8Float64ArrayTemplate):
1355         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1356         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
1357         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1358         (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
1359         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1360         (WebCore::ConfigureV8TestEventConstructorTemplate):
1361         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1362         (WebCore::ConfigureV8TestEventTargetTemplate):
1363         * bindings/scripts/test/V8/V8TestException.cpp:
1364         (WebCore::ConfigureV8TestExceptionTemplate):
1365         * bindings/scripts/test/V8/V8TestInterface.cpp:
1366         (WebCore::ConfigureV8TestInterfaceTemplate):
1367         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1368         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
1369         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1370         (WebCore::ConfigureV8TestNamedConstructorTemplate):
1371         * bindings/scripts/test/V8/V8TestNode.cpp:
1372         (WebCore::ConfigureV8TestNodeTemplate):
1373         * bindings/scripts/test/V8/V8TestObj.cpp:
1374         (WebCore::ConfigureV8TestObjTemplate):
1375         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1376         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
1377         * bindings/v8/V8PerIsolateData.h:
1378         (V8PerIsolateData):
1379
1380 2012-08-21  Arvid Nilsson  <anilsson@rim.com>
1381
1382         [BlackBerry] WebGL Aquarium fails to render
1383         https://bugs.webkit.org/show_bug.cgi?id=94634
1384
1385         The aquarium leaves with a glColorMask(false, false, false, true) which
1386         caused us to fail to blit the color components of the aquarium to the
1387         EGLImage.
1388
1389         Fixed by setting an appropriate color mask for a blit operation.
1390
1391         Reviewed by Yong Li.
1392
1393         No new tests, tested manually.
1394
1395         * platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp:
1396         (WebCore::EGLImageLayerWebKitThread::blitToFrontBuffer):
1397
1398 2012-08-21  Victor Carbune  <victor@rosedu.org>
1399
1400         Display a TextTrackCue when snap-to-lines flag is set
1401         https://bugs.webkit.org/show_bug.cgi?id=79751
1402
1403         Reviewed by Tony Chang.
1404
1405         This patch implements rendering functionality for a given text track,
1406         following closer the exact WebVTT specification. There are two new classes
1407         which have been added in order to succesfully cover rendering when of a text
1408         track cue.
1409
1410         RenderTextTrackCue handles the specific rendering algorithm required,
1411         by checking for overlaps with other boxes that are in the same
1412         container (these can be any other boxes, not necessarily other cues,
1413         the video controls, for example).
1414
1415         TextTrackCueBox extends HTMLDivElement and is an intermediate layer
1416         between the renderer class and the actual cue object. Its purpose is
1417         to instantiate the particular renderer and cover all the default CSS
1418         styling that needs to be applied to the cue.
1419
1420         The layout is done in two steps:
1421           - Step 1: Layout the TextTrackCue with default CSS properties set (this is
1422         the TextTrackCueBox decorated with the respective CSS elements)
1423           - Step 2: RenderTextTrackCue adjusts the box position depending on the
1424         parameters of the TextTrackCue object and the overlaps that may occur with
1425         previously positioned cues.
1426
1427         Tests: media/track/track-cue-rendering-horizontal.html
1428                media/track/track-cue-rendering-vertical.html
1429
1430         * CMakeLists.txt: Updated to include RenderTextTrackCue.
1431         * GNUmakefile.list.am: Updated to include RenderTextTrackCue.
1432         * Target.pri: Updated to include RenderTextTrackCue.
1433         * WebCore.gypi: Updated to include RenderTextTrackCue.
1434         * WebCore.vcproj/WebCore.vcproj: Updated to include RenderTextTrackCue.
1435         * WebCore.xcodeproj/project.pbxproj: Updated to include RenderTextTrackCue.
1436         * css/mediaControls.css: Removed unreliable CSS.
1437         (video::-webkit-media-text-track-display): Removed properties.
1438         * html/shadow/MediaControlElements.cpp: Updated to not use the new class.
1439         (RenderTextTrackContainerElement):
1440         (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Simplified
1441         the function by moving the check if track is rendered in TextTrack and used
1442         the TextTrackCueBox for cues.
1443         * html/track/TextTrack.cpp: Added a new method.
1444         (WebCore::TextTrack::isRendered): Method that returns whether the track should
1445         be rendered or not.
1446         (WebCore):
1447         * html/track/TextTrack.h: Added the isRendered method.
1448         (TextTrack):
1449         * html/track/TextTrackCue.cpp: Added several helper methods and
1450         the TextTrackCueBox.
1451         (WebCore):
1452         (WebCore::TextTrackCueBox::TextTrackCueBox): The TextTrackCueBox extends
1453         the HTMLDivElement and represents a bridge class between RenderTextTrackCue
1454         and TextTrackCue. This is required as the layout is done in two steps, as
1455         explained on top of the ChangeLog entry.
1456         (WebCore::TextTrackCueBox::getCue): Returns the associated TextTrackCue object.
1457         (WebCore::TextTrackCueBox::applyCSSProperties): Applies a part of the default CSS
1458         properties, as defined by section 3.5.1 of the WebVTT specification.
1459         (WebCore::TextTrackCueBox::shadowPseudoId): Moved the shadow pseudo id.
1460         (WebCore::TextTrackCueBox::createRenderer): Creates the particular renderer.
1461         (WebCore::TextTrackCue::TextTrackCue): Corrected the internal writing mode map.
1462         (WebCore::TextTrackCue::calculateComputedLinePosition): Updated the compute line
1463         position algorithm. This requires, however, a method to consider only rendered
1464         tracks (and therefore will be addressed completely in subsequent changeset).
1465         (WebCore::TextTrackCue::calculateDisplayParameters): Updated and corrected the
1466         computed display parameters to match the current specification.
1467         (WebCore::TextTrackCue::getDisplayTree): Update to use the TextTrackCueBox class
1468         and moved CSS application to the respective class.
1469         (WebCore::TextTrackCue::getPositionCoordinates): Added comment to specify in which
1470         situation this method is used and change visibility to private.
1471         (WebCore::TextTrackCue::getCSSWritingMode): Returns the CSS writing mode corresponding
1472         to the cue writing mode.
1473         (WebCore::TextTrackCue::getCSSSize): Returns the cue width / height (depending on the
1474         writing direction.
1475         (WebCore::TextTrackCue::getCSSPosition): Returns the default display position, that is
1476         used in the first layout step.
1477         * html/track/TextTrackCue.h:
1478         (WebCore):
1479         (TextTrackCueBox):
1480         (WebCore::TextTrackCueBox::create): Initialization method.
1481         (TextTrackCue):
1482         (WebCore::TextTrackCue::getWritingDirection): Helper method to return the internal
1483         values used to represent the writing direction.
1484         * rendering/RenderTextTrackCue.cpp: Added.
1485         (WebCore):
1486         (WebCore::RenderTextTrackCue::RenderTextTrackCue):
1487         (WebCore::RenderTextTrackCue::layout): The rendering steps, as mentioned in
1488         the WebVTT rendering rules. Currently, this treats only the snap-to-lines set
1489         case. It is implemented following closely the spec, and might be subject to
1490         change as discussions on various bugs evolve.
1491         (WebCore::RenderTextTrackCue::initializeLayoutParameters): Steps 1 - 7.
1492         (WebCore::RenderTextTrackCue::placeBoxInDefaultPosition): Steps 8 - 10.
1493         (WebCore::RenderTextTrackCue::isOutside): Inline method to check if the cue is outside.
1494         (WebCore::RenderTextTrackCue::isOverlapping): Inline method to check if the cue overlaps other boxes.
1495         (WebCore::RenderTextTrackCue::shouldSwitchDirection): Step 12.
1496         (WebCore::RenderTextTrackCue::moveBoxesByStep): Step 13.
1497         (WebCore::RenderTextTrackCue::switchDirection): Steps 15 - 18.
1498         (WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet): Cue repositioning
1499         for text track cue when the snap to lines flag is set.
1500         (WebCore::RenderTextTrackCue::repositionCueSnapToLinesNotSet): Cue repositioning
1501         for text track cue when the snap to lines flag is not set. Not implemented yet.
1502         * rendering/RenderTextTrackCue.h: Added.
1503         (WebCore):
1504         (RenderTextTrackCue): Rendering class, handling the display of cues.
1505
1506 2012-08-21  Lianghui Chen  <liachen@rim.com>
1507
1508         [BlackBerry] Add RSS content handling support
1509         https://bugs.webkit.org/show_bug.cgi?id=93496
1510
1511         Reviewed by Rob Buis.
1512
1513         Add code to filter RSS content, and properly convert them to HTML
1514         content so they can display nicely, instead of as plain text.
1515
1516         Following modules are included:
1517
1518         RSSFilterStream: the code for detecting RSS content, and controlling
1519         the handling of these content.
1520
1521         RSSParserBase: the base class for the following 3 RSS parser.
1522         RSS10Parser: the code for decoding RSS 1.0 content.
1523         RSS20Parser: the code for decoding RSS 2.0 content.
1524         RSSAtomParser: the code for decoding Atom format RSS content.
1525         RSSGenerator: the code for generating HTML content based on RSS feed.
1526
1527         No new tests as it's not changing how HTML content is handled.
1528
1529         * PlatformBlackBerry.cmake:
1530         * platform/network/blackberry/NetworkJob.cpp:
1531         (WebCore::NetworkJob::initialize):
1532         * platform/network/blackberry/rss/RSS10Parser.cpp: Added.
1533         (WebCore):
1534         (WebCore::RSS10Parser::RSS10Parser):
1535         (WebCore::RSS10Parser::parseBuffer):
1536         (WebCore::RSS10Parser::parseXmlDoc):
1537         (WebCore::RSS10Parser::parseItemBaseAttribute):
1538         (WebCore::RSS10Parser::parseItem):
1539         (WebCore::RSS10Parser::parseFeed):
1540         * platform/network/blackberry/rss/RSS10Parser.h: Added.
1541         (WebCore):
1542         (RSS10Parser):
1543         * platform/network/blackberry/rss/RSS20Parser.cpp: Added.
1544         (WebCore):
1545         (WebCore::RSS20Parser::RSS20Parser):
1546         (WebCore::RSS20Parser::parseBuffer):
1547         (WebCore::RSS20Parser::parseXmlDoc):
1548         (WebCore::RSS20Parser::parseItemBaseAttribute):
1549         (WebCore::RSS20Parser::parseItem):
1550         (WebCore::RSS20Parser::parseFeed):
1551         (WebCore::RSS20Parser::parseEnclosure):
1552         * platform/network/blackberry/rss/RSS20Parser.h: Added.
1553         (WebCore):
1554         (RSS20Parser):
1555         * platform/network/blackberry/rss/RSSAtomParser.cpp: Added.
1556         (WebCore):
1557         (WebCore::isRelativePath):
1558         (WebCore::RSSAtomLink::relType):
1559         (WebCore::RSSAtomParser::RSSAtomParser):
1560         (WebCore::RSSAtomParser::parseBuffer):
1561         (WebCore::RSSAtomParser::parseXmlDoc):
1562         (WebCore::RSSAtomParser::parseItemBaseAttribute):
1563         (WebCore::RSSAtomParser::parseItem):
1564         (WebCore::RSSAtomParser::parseFeed):
1565         (WebCore::RSSAtomParser::parseLink):
1566         (WebCore::RSSAtomParser::enclosureFromLink):
1567         (WebCore::RSSAtomParser::parseContent):
1568         (WebCore::RSSAtomParser::parseAuthor):
1569         (WebCore::RSSAtomParser::parseCategory):
1570         * platform/network/blackberry/rss/RSSAtomParser.h: Added.
1571         (WebCore):
1572         (RSSAtomLink):
1573         (WebCore::RSSAtomLink::RSSAtomLink):
1574         (RSSAtomParser):
1575         * platform/network/blackberry/rss/RSSFilterStream.cpp: Added.
1576         (WebCore):
1577         (WebCore::isASCIISpaceLowerByte):
1578         (WebCore::stripWhiteSpace):
1579         (WebCore::equalIgnoringCase):
1580         (WebCore::isAtomMIMEType):
1581         (WebCore::isRSSMIMEType):
1582         (WebCore::isPotentialRSSMIMEType):
1583         (WebCore::isRSSContent):
1584         (WebCore::RSSTypeFromContentType):
1585         (WebCore::RSSTypeFromContent):
1586         (WebCore::createParser):
1587         (WebCore::findXMLEncodingPosition):
1588         (WebCore::findXMLLanguagePosition):
1589         (WebCore::defaultEncodingForLanguage):
1590         (WebCore::isTranscodingNeeded):
1591         (WebCore::transcode):
1592         (WebCore::transcodeContent):
1593         (WebCore::RSSFilterStream::RSSFilterStream):
1594         (WebCore::RSSFilterStream::notifyStatusReceived):
1595         (WebCore::RSSFilterStream::notifyHeadersReceived):
1596         (WebCore::RSSFilterStream::notifyDataReceived):
1597         (WebCore::RSSFilterStream::notifyClose):
1598         (WebCore::RSSFilterStream::convertContentToHtml):
1599         (WebCore::RSSFilterStream::handleRSSContent):
1600         (WebCore::RSSFilterStream::charset):
1601         (WebCore::RSSFilterStream::encoding):
1602         (WebCore::RSSFilterStream::saveHeaders):
1603         (WebCore::RSSFilterStream::removeHeader):
1604         (WebCore::RSSFilterStream::updateHeader):
1605         (WebCore::RSSFilterStream::updateRSSHeaders):
1606         (WebCore::RSSFilterStream::sendSavedHeaders):
1607         (WebCore::RSSFilterStream::appendData):
1608         * platform/network/blackberry/rss/RSSFilterStream.h: Added.
1609         (WebCore):
1610         (RSSFilterStream):
1611         * platform/network/blackberry/rss/RSSGenerator.cpp: Added.
1612         (WebCore):
1613         (WebCore::RSSGenerator::RSSGenerator):
1614         (WebCore::RSSGenerator::~RSSGenerator):
1615         (WebCore::RSSGenerator::generateHtml):
1616         * platform/network/blackberry/rss/RSSGenerator.h: Added.
1617         (WebCore):
1618         (RSSGenerator):
1619         * platform/network/blackberry/rss/RSSParserBase.cpp: Added.
1620         (WebCore):
1621         (WebCore::RSSEnclosure::RSSEnclosure):
1622         (WebCore::RSSEnclosure::typeInEnum):
1623         (WebCore::RSSEnclosure::suggestedName):
1624         (WebCore::RSSFeed::RSSFeed):
1625         (WebCore::RSSFeed::~RSSFeed):
1626         (WebCore::RSSFeed::clear):
1627         (WebCore::RSSItem::RSSItem):
1628         (WebCore::RSSItem::~RSSItem):
1629         (WebCore::RSSItem::clear):
1630         (WebCore::RSSParserBase::RSSParserBase):
1631         (WebCore::RSSParserBase::~RSSParserBase):
1632         (WebCore::textFromXMLAttr):
1633         (WebCore::textFromXMLNode):
1634         * platform/network/blackberry/rss/RSSParserBase.h: Added.
1635         (WebCore):
1636         (RSSEnclosure):
1637         (RSSItemBase):
1638         (RSSParserBase):
1639
1640 2012-08-21  Andrew Lo  <anlo@rim.com>
1641
1642         [BlackBerry] requestAnimationFrame: Unscheduled display link frames need to be sent to main thread
1643         https://bugs.webkit.org/show_bug.cgi?id=94600
1644
1645         Reviewed by Rob Buis.
1646
1647         http://trac.webkit.org/changeset/116792 implements destroying
1648         DisplayRefreshMonitor after the number of unscheduled frames exceeds 10.
1649
1650         Part of that change involves dispatching to the main thread whether
1651         the frame was scheduled or not.
1652
1653         Make the corresponding change for the BlackBerry port that was made for
1654         DisplayRefreshMonitorMac.cpp.
1655
1656         Tests covered by http://trac.webkit.org/changeset/116792
1657
1658         * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:
1659         (WebCore::DisplayRefreshMonitor::displayLinkFired):
1660
1661 2012-08-21  Brian Salomon  <bsalomon@google.com>
1662
1663         [Chromium/Skia] Filters should flush the SkCanvas
1664         https://bugs.webkit.org/show_bug.cgi?id=94602
1665
1666         Reviewed by Stephen White.
1667
1668         Adds a SkCanvas::flush call to FilterBufferState::swap() to ensure the textures are updated before they are consumed by the compositor.
1669
1670         Covered by existing css3/filters layout tests.
1671
1672         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
1673
1674 2012-08-21  Lianghui Chen  <liachen@rim.com>
1675
1676         [BlackBerry] Use new method to create socket handle
1677         https://bugs.webkit.org/show_bug.cgi?id=89991
1678
1679         Reviewed by Rob Buis.
1680
1681         Update the way to create SocketStream as the platform API has changed.
1682
1683         No new tests as no change of behaviour, just API change adaptation.
1684
1685         * platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:
1686         (WebCore::SocketStreamHandle::SocketStreamHandle):
1687
1688 2012-08-21  Kentaro Hara  <haraken@chromium.org>
1689
1690         [V8] Move compileScript() from V8Proxy to ScriptSourceCode
1691         https://bugs.webkit.org/show_bug.cgi?id=94561
1692
1693         Reviewed by Adam Barth.
1694
1695         To kill V8Proxy, this patch moves compileScript() from V8Proxy
1696         to ScriptSourceCode. This patch also removes fromWebCoreString().
1697
1698         No tests. No change in behavior.
1699
1700         * UseV8.cmake:
1701         * WebCore.gypi:
1702         * bindings/v8/ScriptController.h:
1703         (ScriptController):
1704         * bindings/v8/ScriptSourceCode.cpp: Added.
1705         (WebCore):
1706         (WebCore::ScriptSourceCode::compileScript):
1707         * bindings/v8/ScriptSourceCode.h:
1708         (ScriptSourceCode):
1709         * bindings/v8/V8Binding.h:
1710         * bindings/v8/V8LazyEventListener.cpp:
1711         (WebCore::V8LazyEventListener::prepareListenerObject):
1712         * bindings/v8/V8Proxy.cpp:
1713         (WebCore::V8Proxy::evaluate):
1714         * bindings/v8/V8Proxy.h:
1715         (V8Proxy):
1716         * bindings/v8/WorkerContextExecutionProxy.cpp:
1717         (WebCore::WorkerContextExecutionProxy::evaluate):
1718         (WebCore::WorkerContextExecutionProxy::runScript):
1719         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1720         (WebCore::V8InjectedScriptHost::getEventListenersCallback):
1721         * bindings/v8/custom/V8MessageEventCustom.cpp:
1722         (WebCore::V8MessageEvent::dataAccessorGetter):
1723         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1724         (WebCore::toV8Object):
1725         (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback):
1726
1727 2012-08-21  Kentaro Hara  <haraken@chromium.org>
1728
1729         [V8] Move toV8Context() from V8Proxy to V8Binding
1730         https://bugs.webkit.org/show_bug.cgi?id=94597
1731
1732         Reviewed by Adam Barth.
1733
1734         To kill V8Proxy, we can move toV8Context() from V8Proxy to V8Binding.
1735
1736         No tests. No change in behavior.
1737
1738         * bindings/v8/V8Binding.cpp:
1739         (WebCore::toV8Context):
1740         (WebCore):
1741         * bindings/v8/V8Binding.h:
1742         (WebCore):
1743         * bindings/v8/V8Proxy.cpp:
1744         * bindings/v8/V8Proxy.h:
1745
1746 2012-08-21  Gabriel Peal  <gpeal@google.com>
1747
1748         Web Inspector: Embeddable Web Inspector
1749         https://bugs.webkit.org/show_bug.cgi?id=91528
1750
1751         Reviewed by Pavel Feldman.
1752
1753         Adds functionality to the inspector such that it is better suited to run embedded in another webpage. It adds the ability to prepopulate the timeline panel with an existing recording among other controls.
1754
1755         * English.lproj/localizedStrings.js:
1756         * inspector/front-end/InspectorFrontendAPI.js:
1757         (InspectorFrontendAPI.dispatchQueryParameters):
1758         (InspectorFrontendAPI.loadTimelineFromURL):
1759         * inspector/front-end/InspectorFrontendHostStub.js:
1760         (.WebInspector.InspectorFrontendHostStub.prototype.hiddenPanels):
1761         (.WebInspector.InspectorFrontendHostStub.prototype.loadResourceSynchronously):
1762         * inspector/front-end/InspectorView.js:
1763         * inspector/front-end/TimelineModel.js:
1764         (WebInspector.TimelineModel.prototype.loadFromURL.onDataReceived):
1765         (WebInspector.TimelineModel.prototype.loadFromURL.parseAndImportData):
1766         (WebInspector.TimelineModel.prototype.loadFromURL.onLoad):
1767         (WebInspector.TimelineModel.prototype.loadFromURL):
1768         * inspector/front-end/TimelinePanel.js:
1769         (WebInspector.TimelinePanel.prototype.loadFromURL):
1770         * inspector/front-end/inspector.js:
1771         (WebInspector._createPanels):
1772         (WebInspector.loaded):
1773         * inspector/front-end/utilities.js:
1774
1775 2012-08-21  Robin Cao  <robin.cao@torchmobile.com.cn>
1776
1777         [BlackBerry] Add support for getUserMedia
1778         https://bugs.webkit.org/show_bug.cgi?id=94591
1779
1780         Reviewed by George Staikos.
1781
1782         Implement getUserMedia feature using the platform API.
1783
1784         Tests in fast/mediastream cover this.
1785
1786         PR #153571
1787
1788         Reviewed internally by George Staikos.
1789
1790         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
1791         (WebCore::toWebMediaStreamSource):
1792         (WebCore):
1793         (WebCore::toWebMediaStreamDescriptor):
1794         (WebCore::MediaPlayerPrivate::lookupMediaStream):
1795         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
1796         (MediaPlayerPrivate):
1797
1798 2012-08-21  Pavel Feldman  <pfeldman@chromium.org>
1799
1800         Web Inspector: remove DOMNodeRemoved listener from the DefaultTextEditor
1801         https://bugs.webkit.org/show_bug.cgi?id=94592
1802
1803         Reviewed by Yury Semikhatsky.
1804
1805         It seems to be not necessary.
1806
1807         * inspector/front-end/DefaultTextEditor.js:
1808         (WebInspector.TextEditorMainPanel):
1809         (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
1810         (WebInspector.TextEditorMainChunk):
1811         (WebInspector.TextEditorMainChunk.prototype.set expanded):
1812
1813 2012-08-21  Thiago Marcos P. Santos  <thiago.santos@intel.com>
1814
1815         CodeGeneratorInspector.py: Generate guards for type validators
1816         https://bugs.webkit.org/show_bug.cgi?id=94511
1817
1818         Reviewed by Yury Semikhatsky.
1819
1820         Fix regression when building debug and one of the generated types is
1821         disabled by a compile flag. We should generate guards for these type
1822         validators the same way as we are doing on the include headers.
1823
1824         * inspector/CodeGeneratorInspector.py:
1825         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
1826
1827 2012-08-21  Florin Malita  <fmalita@chromium.org>
1828
1829         ASSERT triggered in SVGTRefTargetEventListener::handleEvent()
1830         https://bugs.webkit.org/show_bug.cgi?id=94487
1831
1832         Reviewed by Nikolas Zimmermann.
1833
1834         The current way of tracking tref target elements by id can leave stale event listeners
1835         under certain circumstances. This patch switches to storing a target RefPtr instead
1836         to avoid an id lookup which may not return the original/attached element.
1837
1838         Test: svg/custom/tref-stale-listener-crash.html
1839
1840         * svg/SVGTRefElement.cpp:
1841         (SVGTRefTargetEventListener):
1842         (WebCore::SVGTRefTargetEventListener::isAttached): use m_target instead of an explicit bool.
1843         (WebCore::SVGTRefTargetEventListener::SVGTRefTargetEventListener):
1844         (WebCore::SVGTRefTargetEventListener::attach): save a target RefPtr instead of an id.
1845         (WebCore::SVGTRefTargetEventListener::detach): detach the target element directly without
1846         going through a lookup.
1847         (WebCore::SVGTRefTargetEventListener::handleEvent):
1848         (WebCore::SVGTRefElement::updateReferencedText): use an explicit target pointer instead of
1849         the id-based lookup.
1850         (WebCore::SVGTRefElement::buildPendingResource):
1851         * svg/SVGTRefElement.h:
1852         (SVGTRefElement):
1853
1854 2012-08-21  Alexandre Elias  <aelias@google.com>
1855
1856         [chromium] Add software bitmap resources to CCResourceProvider
1857         https://bugs.webkit.org/show_bug.cgi?id=93677
1858
1859         Reviewed by Adrienne Walker.
1860
1861         This adds the ability to CCResourceProvider to use software bitmaps.
1862         They are allocated as plain-old-memory, and exposed as Skia objects.
1863
1864         We want the ResourceProvider to be able to handle different resource
1865         types at the same time.  In practice, a default resource type is
1866         desired for most uses within a single compositor instance, which is
1867         specified by the default resource type.  Default resource types are
1868         expected to be mostly 1-to-1 with CCRenderer types.
1869
1870         New tests added by parametrizing existing CCResourceProvider tests.
1871
1872         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
1873         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
1874         * platform/graphics/chromium/LayerRendererChromium.cpp:
1875         (WebCore::applyFilters):
1876         (WebCore::LayerRendererChromium::drawRenderPassQuad):
1877         (WebCore::LayerRendererChromium::drawTileQuad):
1878         (WebCore::LayerRendererChromium::drawYUVVideoQuad):
1879         (WebCore::LayerRendererChromium::drawTextureQuad):
1880         (WebCore::LayerRendererChromium::getFramebufferTexture):
1881         (WebCore::LayerRendererChromium::bindFramebufferToTexture):
1882         * platform/graphics/chromium/LayerRendererChromium.h:
1883         (DrawingFrame):
1884         * platform/graphics/chromium/cc/CCResourceProvider.cpp:
1885         (WebCore::CCResourceProvider::createResource):
1886         (WebCore):
1887         (WebCore::CCResourceProvider::createGLTexture):
1888         (WebCore::CCResourceProvider::createBitmap):
1889         (WebCore::CCResourceProvider::createResourceFromExternalTexture):
1890         (WebCore::CCResourceProvider::deleteResource):
1891         (WebCore::CCResourceProvider::upload):
1892         (WebCore::CCResourceProvider::flush):
1893         (WebCore::CCResourceProvider::shallowFlushIfSupported):
1894         (WebCore::CCResourceProvider::lockForRead):
1895         (WebCore::CCResourceProvider::unlockForRead):
1896         (WebCore::CCResourceProvider::lockForWrite):
1897         (WebCore::CCResourceProvider::unlockForWrite):
1898         (WebCore::CCResourceProvider::ScopedReadLockGL::ScopedReadLockGL):
1899         (WebCore::CCResourceProvider::ScopedReadLockGL::~ScopedReadLockGL):
1900         (WebCore::CCResourceProvider::ScopedWriteLockGL::ScopedWriteLockGL):
1901         (WebCore::CCResourceProvider::ScopedWriteLockGL::~ScopedWriteLockGL):
1902         (WebCore::CCResourceProvider::populateSkBitmapWithResource):
1903         (WebCore::CCResourceProvider::ScopedReadLockSoftware::ScopedReadLockSoftware):
1904         (WebCore::CCResourceProvider::ScopedReadLockSoftware::~ScopedReadLockSoftware):
1905         (WebCore::CCResourceProvider::ScopedWriteLockSoftware::ScopedWriteLockSoftware):
1906         (WebCore::CCResourceProvider::ScopedWriteLockSoftware::~ScopedWriteLockSoftware):
1907         (WebCore::CCResourceProvider::CCResourceProvider):
1908         * platform/graphics/chromium/cc/CCResourceProvider.h:
1909         (WebCore):
1910         (WebCore::CCResourceProvider::setCreationPolicy):
1911         (WebCore::CCResourceProvider::creationPolicy):
1912         (CCResourceProvider):
1913         (ScopedReadLockGL):
1914         (WebCore::CCResourceProvider::ScopedReadLockGL::textureId):
1915         (ScopedWriteLockGL):
1916         (WebCore::CCResourceProvider::ScopedWriteLockGL::textureId):
1917         (ScopedReadLockSoftware):
1918         (WebCore::CCResourceProvider::ScopedReadLockSoftware::skBitmap):
1919         (ScopedWriteLockSoftware):
1920         (WebCore::CCResourceProvider::ScopedWriteLockSoftware::skCanvas):
1921         (Resource):
1922
1923 2012-08-21  Tab Atkins  <tabatkins@google.com>
1924
1925         Track -webkit property usage.
1926         https://bugs.webkit.org/show_bug.cgi?id=93420
1927
1928         Reviewed by Ojan Vafai.
1929
1930         First draft of an attempt to track all usage of -webkit prefixed properties across the web.
1931         This attempt is dumb, but should provide useful data as a first-pass.
1932         I plan to optimize this for better data collection in the future.
1933
1934         No tests added, as this is untestable currently.
1935         It should have zero effect besides histogramming.
1936
1937         * css/CSSParser.cpp:
1938         (WebCore::cssPropertyID):
1939
1940 2012-08-21  Alec Flett  <alecflett@chromium.org>
1941
1942         IndexedDB: remove old update/openCursor glue
1943         https://bugs.webkit.org/show_bug.cgi?id=94378
1944
1945         Reviewed by Tony Chang.
1946
1947         Remove old openCursor and update methods after landing
1948         https://bugs.webkit.org/show_bug.cgi?id=91125 and removing
1949         Chromium-side glue.
1950
1951         No new tests: this code is dead.
1952
1953         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
1954         * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
1955         (IDBObjectStoreBackendImpl):
1956         * Modules/indexeddb/IDBObjectStoreBackendInterface.h:
1957         * inspector/InspectorIndexedDBAgent.cpp:
1958         (WebCore):
1959
1960 2012-08-21  James Robinson  <jamesr@chromium.org>
1961
1962         [chromium] Should be able to destroy a CCLayerTreeHost without manually setting the root layer
1963         https://bugs.webkit.org/show_bug.cgi?id=94631
1964
1965         Reviewed by Adrienne Walker.
1966
1967         In the depths of time when dinosaurs roamed the earth, LayerChromium and CCLayerTreeHost were both reference
1968         counted and there was a cycle between the root LayerChromium and CCLayerTreeHost. This required all users of
1969         CCLayerTreeHost to manually break the cycle by calling setRootLayer(0) before dropping their reference to the
1970         host. Nowadays, CCLayerTreeHost has a single owner and LayerChromiums only have a weak pointer to their host
1971         so we should just do this cleanup ourselves instead of imposing it on callers.
1972
1973         Unit test added to LayerChromiumTest.cpp
1974
1975         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1976         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
1977
1978 2012-08-21  Ulan Degenbaev  <ulan@chromium.org>
1979
1980         Call AdjustAmountOfExternalAllocatedMemory when V8ArrayBuffer constructed and destructed
1981         https://bugs.webkit.org/show_bug.cgi?id=92993
1982
1983         Reviewed by Kenneth Russell.
1984
1985         Call AdjustAmountOfExternalAllocatedMemory when V8ArrayBuffer
1986         is constructed and destructed so that V8's garbage collection
1987         heuristics can account for the memory held by these objects.
1988
1989         * WebCore.gypi:
1990         * bindings/v8/SerializedScriptValue.cpp:
1991         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
1992         (WebCore::V8ArrayBufferDeallocationObserver::instance):
1993         (WebCore):
1994         (WebCore::V8ArrayBuffer::constructorCallback):
1995         * bindings/v8/custom/V8ArrayBufferCustom.h: Added.
1996         (WebCore):
1997         * bindings/v8/custom/V8ArrayBufferViewCustom.cpp:
1998         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1999         (WebCore::constructWebGLArray):
2000         * dom/MessageEvent.cpp:
2001         (WebCore::MessageEvent::MessageEvent):
2002         (WebCore::MessageEvent::initMessageEvent):
2003
2004 2012-08-21  Taiju Tsuiki  <tzik@chromium.org>
2005
2006         Web Inspector: Completion events of InspectorFileSystemAgent should be fired asynchronously.
2007         https://bugs.webkit.org/show_bug.cgi?id=93933
2008
2009         Reviewed by Yury Semikhatsky.
2010
2011         InspectorFileSystemAgent fires completion event too early in error case. It should wait
2012         until JS code is ready.
2013
2014         Test: http/tests/inspector/filesystem/request-directory-content.html
2015               http/tests/inspector/filesystem/request-file-content.html
2016               http/tests/inspector/filesystem/request-metadata.html
2017
2018         * inspector/InspectorFileSystemAgent.cpp:
2019         (WebCore): Add ReportErrorTask class
2020
2021 2012-08-21  Mike West  <mkwst@chromium.org>
2022
2023         Blocking a resource via Content Security Policy should trigger an Error event.
2024         https://bugs.webkit.org/show_bug.cgi?id=89440
2025
2026         Reviewed by Jochen Eisinger.
2027
2028         If a CSP directive is violated, CachedResourceLoader will trigger a
2029         console error, and return a null image. In that case, we now dispatch
2030         an error on the relevant element.
2031
2032         Adjusted http/tests/security/contentSecurityPolicy/image-blocked.html
2033         and http/tests/security/contentSecurityPolicy/register-bypassing-scheme.html
2034         to test the new behavior.
2035
2036         This has the side-effect of also generating errors for images blocked by
2037         Chromium's content settings. Adjusted
2038         platform/chromium/permissionclient/image-permissions.html to agree with
2039         the new behavior.
2040
2041         * loader/ImageLoader.cpp:
2042         (WebCore::ImageLoader::updateFromElement):
2043
2044 2012-08-21  Taiju Tsuiki  <tzik@chromium.org>
2045
2046         Web Inspector: Split out crumb list part of styles from elementsPanel.css
2047         https://bugs.webkit.org/show_bug.cgi?id=94301
2048
2049         Reviewed by Pavel Feldman.
2050
2051         As a preparation to use BreadcrumbList on FileSystem, introduce breadcrumbList.css and
2052         move crumb-related style entries into it from elementsPanel.css.
2053
2054         No new tests. This change does not make functional change.
2055
2056         * WebCore.gypi:
2057         * WebCore.vcproj/WebCore.vcproj:
2058         * inspector/front-end/ElementsPanel.js:
2059         * inspector/front-end/WebKit.qrc:
2060         * inspector/front-end/breadcrumbList.css: Added.
2061         (.crumbs):
2062         (.crumbs .crumb):
2063         (.crumbs .crumb.collapsed > *):
2064         (.crumbs .crumb.collapsed::before):
2065         (.crumbs .crumb.compact .extra):
2066         (.crumbs .crumb.dimmed):
2067         (.crumbs .crumb.start):
2068         (.crumbs .crumb.end):
2069         (.crumbs .crumb.selected):
2070         (.crumbs .crumb.selected:hover):
2071         (.crumbs .crumb.selected.end, .crumbs .crumb.selected.end:hover):
2072         (.crumbs .crumb:hover):
2073         (.crumbs .crumb.dimmed:hover):
2074         (.crumbs .crumb.end:hover):
2075         * inspector/front-end/elementsPanel.css:
2076
2077 2012-08-21  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
2078
2079         canvas/philip/tests/2d.fillStyle.parse.invalid.rgba-6.html fails
2080         https://bugs.webkit.org/show_bug.cgi?id=50797
2081
2082         Reviewed by Andreas Kling.
2083
2084         Add a check in fast-path parseAlphaValue() to return early
2085         if the CSS <alphavalue> ended with an invalid digit.
2086
2087         Test: canvas/philip/tests/2d.fillStyle.parse.invalid.rgba-6.html
2088
2089         * css/CSSParser.cpp:
2090         (WebCore::parseAlphaValue):
2091
2092 2012-08-21  Benjamin Poulain  <bpoulain@apple.com>
2093
2094         Store CString data in the CStringBuffer to avoid the double indirection
2095         https://bugs.webkit.org/show_bug.cgi?id=94562
2096
2097         Reviewed by Darin Adler.
2098
2099         * bindings/cpp/WebDOMCString.cpp:
2100         (WebDOMCString::length): With the patch, CStringBuffer hold the real string length instead of the
2101         size of the buffer including the terminating zero. WebDOMCString is updated accordingly.
2102
2103 2012-08-21  Benjamin Poulain  <bpoulain@apple.com>
2104
2105         Create CSS color output string on 8 bits
2106         https://bugs.webkit.org/show_bug.cgi?id=94625
2107
2108         Reviewed by Andreas Kling.
2109
2110         * css/CSSPrimitiveValue.cpp:
2111         (WebCore::CSSPrimitiveValue::customCssText):
2112         Previously, the output string for a CSS color was computed on 16 bits.
2113         This was mainly forced by the use of String::number().
2114
2115         Since the double to string conversion is done on 8bits anyway, I changed
2116         the code to use dtoa's numberToFixedPrecisionString directly instead of
2117         String::number().
2118         All the other parts were already on 8bits.
2119
2120 2012-08-21  Martin Robinson  <mrobinson@igalia.com>
2121
2122         [GTK] Using a native window for the WebView breaks GtkOverlay
2123         https://bugs.webkit.org/show_bug.cgi?id=90085
2124
2125         Reviewed by Alejandro G. Castro.
2126
2127         No new tests. This will be covered by pixel test for accelerated
2128         compositing when they are activated.
2129
2130         * GNUmakefile.am: Add XComposite libraries to the linker list.
2131         * GNUmakefile.list.am: Add RedirectedXCompositeWindow files to the source list.
2132         Make a new section for GLX specific files.
2133         * platform/graphics/glx/GLContextGLX.cpp:
2134         (WebCore::GLContextGLX::sharedDisplay): Expose sharedDisplay as a static method
2135         so that it can be called by other X11 specific code.
2136         * platform/graphics/glx/GLContextGLX.h: Ditto.
2137         * platform/gtk/RedirectedXCompositeWindow.cpp: Added. An implementation of a GL surface
2138         that renders to an X-window which redirects to a pixmap.
2139         * platform/gtk/RedirectedXCompositeWindow.h: Added.
2140
2141 2012-08-21  David Hyatt  <hyatt@apple.com>
2142
2143         [New Multicolumn] Make column rules paint properly.
2144         https://bugs.webkit.org/show_bug.cgi?id=94616
2145
2146         Reviewed by Simon Fraser.
2147
2148         Make the new multi-column code paint column rules and also prepare it for painting
2149         the actual column contents.
2150
2151         * rendering/RenderMultiColumnBlock.cpp:
2152         (WebCore::RenderMultiColumnBlock::ensureColumnSets):
2153         Remove the addRegionToThread call, since this is now done automatically in RenderRegion::insertedIntoTree.
2154         
2155         * rendering/RenderMultiColumnBlock.h:
2156         (WebCore::RenderMultiColumnBlock::flowThread):
2157         Make public so that RenderMultiColumnSet can access it.
2158         
2159         (RenderMultiColumnBlock):
2160         * rendering/RenderMultiColumnSet.cpp:
2161         (WebCore::RenderMultiColumnSet::columnGap):
2162         Add a column gap fetch method. It's identical to the one on RenderBlock (which will eventually go away
2163         when we kill the old multi-column code).
2164         
2165         (WebCore::RenderMultiColumnSet::columnRectAt):
2166         Also identical to the RenderBlock version of this method. Gets the rect for the nth column.
2167         
2168         (WebCore::RenderMultiColumnSet::paintReplaced):
2169         Subclass paintReplaced in order to do column rules and contents painting.
2170         
2171         (WebCore::RenderMultiColumnSet::paintColumnRules):
2172         (WebCore::RenderMultiColumnSet::paintColumnContents):
2173         Similar to the methods on RenderBlock. The former paints the rules and the latter paints the contents of
2174         the flow thread into the columns.
2175         
2176         * rendering/RenderMultiColumnSet.h:
2177         (RenderMultiColumnSet):
2178         Add the declarations of all the new methods.
2179         
2180         * rendering/RenderRegion.cpp:
2181         (WebCore::RenderRegion::installFlowThread):
2182         Added a new virtual function for installing flow threads when they didn't exist at construction time.
2183         This only applies to actual CSS Regions, so the subclass of the method in RenderRegionSet just does
2184         nothing.
2185         
2186         (WebCore::RenderRegion::attachRegion):
2187         Get the named flow thread code out of attachRegion, since it broke multi-column. Moved it into a
2188         virtual function, installFlowThread, that is only used by actual CSS regions. Eventually we may
2189         want a RenderRegion subclass that represents a region for a named flow thread only, but for now
2190         let the code sit in installFlowThread in the base class.
2191         
2192         * rendering/RenderRegion.h:
2193         (RenderRegion):
2194         Add installFlowThread declaration.
2195         
2196         * rendering/RenderRegionSet.cpp:
2197         (WebCore::RenderRegionSet::installFlowThread):
2198         installFlowThread for region sets just does nothing, since we don't use named flow threads.
2199         
2200         * rendering/RenderRegionSet.h:
2201         (RenderRegionSet):
2202         Add the override of installFlowThread.
2203
2204 2012-08-21  Patrick Gansterer  <paroga@webkit.org>
2205
2206         [WIN] Build fix for !ENABLE(DRAG_SUPPORT).
2207
2208         * page/win/EventHandlerWin.cpp:
2209         (WebCore):
2210         (WebCore::EventHandler::passMouseMoveEventToSubframe):
2211
2212 2012-08-21  James Robinson  <jamesr@chromium.org>
2213
2214         Unreviewed, rolling out r126170.
2215         http://trac.webkit.org/changeset/126170
2216         https://bugs.webkit.org/show_bug.cgi?id=94614
2217
2218         I spoke too soon
2219
2220         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
2221         (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
2222         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
2223         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
2224         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
2225         (WebCore::ScrollingCoordinatorPrivate::hasScrollLayer):
2226         (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
2227         (ScrollingCoordinatorPrivate):
2228         (WebCore::createScrollbarLayer):
2229         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
2230         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
2231         (WebCore::ScrollingCoordinator::setScrollLayer):
2232         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
2233         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
2234         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
2235         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
2236         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
2237         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
2238         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
2239         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
2240         (WebCore::Canvas2DLayerBridge::prepareForDraw):
2241         (WebCore::Canvas2DLayerBridge::layer):
2242         (WebCore::Canvas2DLayerBridge::contextAcquired):
2243         * platform/graphics/chromium/Canvas2DLayerBridge.h:
2244         (Canvas2DLayerBridge):
2245         * platform/graphics/chromium/DrawingBufferChromium.cpp:
2246         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
2247         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
2248         (WebCore::DrawingBufferPrivate::layer):
2249         (DrawingBufferPrivate):
2250         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2251         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
2252         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
2253         (WebCore::GraphicsLayerChromium::willBeDestroyed):
2254         (WebCore):
2255         (WebCore::GraphicsLayerChromium::updateNames):
2256         (WebCore::GraphicsLayerChromium::removeFromParent):
2257         (WebCore::GraphicsLayerChromium::setSize):
2258         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
2259         (WebCore::GraphicsLayerChromium::setContentsOpaque):
2260         (WebCore::GraphicsLayerChromium::setFilters):
2261         (WebCore::GraphicsLayerChromium::setBackgroundFilters):
2262         (WebCore::GraphicsLayerChromium::setMaskLayer):
2263         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
2264         (WebCore::GraphicsLayerChromium::setOpacity):
2265         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
2266         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
2267         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
2268         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
2269         (WebCore::GraphicsLayerChromium::setContentsToImage):
2270         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
2271         (WebCore::GraphicsLayerChromium::addAnimation):
2272         (WebCore::GraphicsLayerChromium::pauseAnimation):
2273         (WebCore::GraphicsLayerChromium::removeAnimation):
2274         (WebCore::GraphicsLayerChromium::suspendAnimations):
2275         (WebCore::GraphicsLayerChromium::resumeAnimations):
2276         (WebCore::GraphicsLayerChromium::addLinkHighlight):
2277         (WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
2278         (WebCore::GraphicsLayerChromium::setContentsToMedia):
2279         (WebCore::GraphicsLayerChromium::primaryLayer):
2280         (WebCore::GraphicsLayerChromium::platformLayer):
2281         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
2282         (WebCore::GraphicsLayerChromium::setDebugBorder):
2283         (WebCore::GraphicsLayerChromium::updateChildList):
2284         (WebCore::GraphicsLayerChromium::updateLayerPosition):
2285         (WebCore::GraphicsLayerChromium::updateLayerSize):
2286         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
2287         (WebCore::GraphicsLayerChromium::updateTransform):
2288         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
2289         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
2290         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
2291         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
2292         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
2293         (WebCore::GraphicsLayerChromium::updateContentsRect):
2294         (WebCore::GraphicsLayerChromium::updateContentsScale):
2295         (WebCore::GraphicsLayerChromium::setupContentsLayer):
2296         * platform/graphics/chromium/GraphicsLayerChromium.h:
2297         (WebCore::GraphicsLayerChromium::hasContentsLayer):
2298         (GraphicsLayerChromium):
2299         (WebCore::GraphicsLayerChromium::contentsLayer):
2300         * platform/graphics/chromium/LayerChromium.cpp:
2301         (WebCore::LayerChromium::rootLayer):
2302         * platform/graphics/chromium/LayerChromium.h:
2303
2304 2012-08-21  Adam Barth  <abarth@webkit.org>
2305
2306         Update run-bindings-tests results after http://trac.webkit.org/changeset/126165
2307
2308         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2309         (WebCore::jsTestActiveDOMObjectExcitingAttr):
2310         (WebCore::jsTestActiveDOMObjectConstructor):
2311         (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
2312
2313 2012-08-21  Vincent Scheib  <scheib@chromium.org>
2314
2315         Add parsing logic for allow-pointer-lock to iframe sandbox attribute.
2316         https://bugs.webkit.org/show_bug.cgi?id=94513
2317
2318         Reviewed by Adam Barth.
2319
2320         Pointer lock was previously blocked from all sandboxed iframes.
2321         Parsing the sandbox="allow-pointer-lock" attribute allows pages
2322         to control the feature and enable it in sandboxed iframes.
2323
2324         Tests: http/tests/pointer-lock/iframe-sandboxed-allow-pointer-lock.html
2325                http/tests/pointer-lock/iframe-sandboxed-nested-allow-pointer-lock.html
2326                http/tests/pointer-lock/iframe-sandboxed-nested-disallow-then-allow-pointer-lock.html
2327
2328         * dom/SecurityContext.cpp:
2329         (WebCore::SecurityContext::parseSandboxPolicy):
2330
2331 2012-08-21  James Robinson  <jamesr@chromium.org>
2332
2333         Unreviewed, rolling out r126169.
2334         http://trac.webkit.org/changeset/126169
2335         https://bugs.webkit.org/show_bug.cgi?id=94614
2336
2337         Crashes already fixed downstream
2338
2339         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
2340         (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
2341         (ScrollingCoordinatorPrivate):
2342         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
2343         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
2344         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
2345         (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
2346         (WebCore::scrollableLayerForGraphicsLayer):
2347         (WebCore):
2348         (WebCore::createScrollbarLayer):
2349         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
2350         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
2351         (WebCore::ScrollingCoordinator::setScrollLayer):
2352         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
2353         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
2354         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
2355         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
2356         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
2357         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
2358         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
2359         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
2360         (WebCore::Canvas2DLayerBridge::prepareForDraw):
2361         (WebCore::Canvas2DLayerBridge::layer):
2362         (WebCore::Canvas2DLayerBridge::contextAcquired):
2363         * platform/graphics/chromium/Canvas2DLayerBridge.h:
2364         (Canvas2DLayerBridge):
2365         * platform/graphics/chromium/DrawingBufferChromium.cpp:
2366         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
2367         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
2368         (WebCore::DrawingBufferPrivate::layer):
2369         (DrawingBufferPrivate):
2370         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2371         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
2372         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
2373         (WebCore::GraphicsLayerChromium::updateNames):
2374         (WebCore::GraphicsLayerChromium::removeFromParent):
2375         (WebCore::GraphicsLayerChromium::setSize):
2376         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
2377         (WebCore::GraphicsLayerChromium::setContentsOpaque):
2378         (WebCore::GraphicsLayerChromium::setFilters):
2379         (WebCore::GraphicsLayerChromium::setBackgroundFilters):
2380         (WebCore::GraphicsLayerChromium::setMaskLayer):
2381         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
2382         (WebCore::GraphicsLayerChromium::setOpacity):
2383         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
2384         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
2385         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
2386         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
2387         (WebCore::GraphicsLayerChromium::setContentsToImage):
2388         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
2389         (WebCore):
2390         (WebCore::GraphicsLayerChromium::setContentsToMedia):
2391         (WebCore::GraphicsLayerChromium::setContentsTo):
2392         (WebCore::GraphicsLayerChromium::addAnimation):
2393         (WebCore::GraphicsLayerChromium::pauseAnimation):
2394         (WebCore::GraphicsLayerChromium::removeAnimation):
2395         (WebCore::GraphicsLayerChromium::suspendAnimations):
2396         (WebCore::GraphicsLayerChromium::resumeAnimations):
2397         (WebCore::GraphicsLayerChromium::addLinkHighlight):
2398         (WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
2399         (WebCore::GraphicsLayerChromium::platformLayer):
2400         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
2401         (WebCore::GraphicsLayerChromium::setDebugBorder):
2402         (WebCore::GraphicsLayerChromium::updateChildList):
2403         (WebCore::GraphicsLayerChromium::updateLayerPosition):
2404         (WebCore::GraphicsLayerChromium::updateLayerSize):
2405         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
2406         (WebCore::GraphicsLayerChromium::updateTransform):
2407         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
2408         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
2409         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
2410         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
2411         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
2412         (WebCore::GraphicsLayerChromium::updateContentsRect):
2413         (WebCore::GraphicsLayerChromium::updateContentsScale):
2414         (WebCore::GraphicsLayerChromium::setupContentsLayer):
2415         * platform/graphics/chromium/GraphicsLayerChromium.h:
2416         (WebCore::GraphicsLayerChromium::hasContentsLayer):
2417         (WebCore::GraphicsLayerChromium::contentLayer):
2418         (GraphicsLayerChromium):
2419         (WebCore::GraphicsLayerChromium::contentsLayer):
2420         * platform/graphics/chromium/LayerChromium.cpp:
2421         (WebCore::LayerChromium::rootLayer):
2422         * platform/graphics/chromium/LayerChromium.h:
2423
2424 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
2425
2426         Unreviewed, rolling out r126076, r126099, and r126106.
2427         http://trac.webkit.org/changeset/126076
2428         http://trac.webkit.org/changeset/126099
2429         http://trac.webkit.org/changeset/126106
2430         https://bugs.webkit.org/show_bug.cgi?id=94614
2431
2432         Caused crashes during compositor shutdown in Aura builds of
2433         Chromium (Requested by kbr_google on #webkit).
2434
2435         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
2436         (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
2437         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
2438         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
2439         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
2440         (WebCore::ScrollingCoordinatorPrivate::hasScrollLayer):
2441         (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
2442         (ScrollingCoordinatorPrivate):
2443         (WebCore::createScrollbarLayer):
2444         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
2445         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
2446         (WebCore::ScrollingCoordinator::setScrollLayer):
2447         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
2448         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
2449         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
2450         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
2451         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
2452         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
2453         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
2454         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
2455         (WebCore::Canvas2DLayerBridge::prepareForDraw):
2456         (WebCore::Canvas2DLayerBridge::layer):
2457         (WebCore::Canvas2DLayerBridge::contextAcquired):
2458         * platform/graphics/chromium/Canvas2DLayerBridge.h:
2459         (Canvas2DLayerBridge):
2460         * platform/graphics/chromium/DrawingBufferChromium.cpp:
2461         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
2462         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
2463         (WebCore::DrawingBufferPrivate::layer):
2464         (DrawingBufferPrivate):
2465         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2466         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
2467         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
2468         (WebCore::GraphicsLayerChromium::willBeDestroyed):
2469         (WebCore):
2470         (WebCore::GraphicsLayerChromium::updateNames):
2471         (WebCore::GraphicsLayerChromium::removeFromParent):
2472         (WebCore::GraphicsLayerChromium::setSize):
2473         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
2474         (WebCore::GraphicsLayerChromium::setContentsOpaque):
2475         (WebCore::GraphicsLayerChromium::setFilters):
2476         (WebCore::GraphicsLayerChromium::setBackgroundFilters):
2477         (WebCore::GraphicsLayerChromium::setMaskLayer):
2478         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
2479         (WebCore::GraphicsLayerChromium::setOpacity):
2480         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
2481         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
2482         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
2483         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
2484         (WebCore::GraphicsLayerChromium::setContentsToImage):
2485         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
2486         (WebCore::GraphicsLayerChromium::addAnimation):
2487         (WebCore::GraphicsLayerChromium::pauseAnimation):
2488         (WebCore::GraphicsLayerChromium::removeAnimation):
2489         (WebCore::GraphicsLayerChromium::suspendAnimations):
2490         (WebCore::GraphicsLayerChromium::resumeAnimations):
2491         (WebCore::GraphicsLayerChromium::addLinkHighlight):
2492         (WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
2493         (WebCore::GraphicsLayerChromium::setContentsToMedia):
2494         (WebCore::GraphicsLayerChromium::primaryLayer):
2495         (WebCore::GraphicsLayerChromium::platformLayer):
2496         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
2497         (WebCore::GraphicsLayerChromium::setDebugBorder):
2498         (WebCore::GraphicsLayerChromium::updateChildList):
2499         (WebCore::GraphicsLayerChromium::updateLayerPosition):
2500         (WebCore::GraphicsLayerChromium::updateLayerSize):
2501         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
2502         (WebCore::GraphicsLayerChromium::updateTransform):
2503         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
2504         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
2505         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
2506         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
2507         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
2508         (WebCore::GraphicsLayerChromium::updateContentsRect):
2509         (WebCore::GraphicsLayerChromium::updateContentsScale):
2510         (WebCore::GraphicsLayerChromium::setupContentsLayer):
2511         * platform/graphics/chromium/GraphicsLayerChromium.h:
2512         (WebCore::GraphicsLayerChromium::hasContentsLayer):
2513         (GraphicsLayerChromium):
2514         (WebCore::GraphicsLayerChromium::contentsLayer):
2515         * platform/graphics/chromium/LayerChromium.cpp:
2516         (WebCore::LayerChromium::rootLayer):
2517         * platform/graphics/chromium/LayerChromium.h:
2518
2519 2012-08-21  Pavel Feldman  <pfeldman@chromium.org>
2520
2521         Web Inspector: do not use window's eval in InjectedScript
2522         https://bugs.webkit.org/show_bug.cgi?id=94610
2523
2524         Reviewed by Yury Semikhatsky.
2525
2526         Otherwise, inspector does not work when eval is overriden.
2527
2528         Test: inspector/console/console-eval-fake.html
2529
2530         * bindings/js/JSInjectedScriptHostCustom.cpp:
2531         (WebCore::JSInjectedScriptHost::evaluate):
2532         (WebCore):
2533         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2534         (WebCore::V8InjectedScriptHost::evaluateCallback):
2535         (WebCore):
2536         * inspector/InjectedScriptHost.idl:
2537         * inspector/InjectedScriptSource.js:
2538         (.):
2539
2540 2012-08-21  Adam Barth  <abarth@webkit.org>
2541
2542         Implement JSDOMWindow*::allowsAccessFrom* in terms of BindingSecurity
2543         https://bugs.webkit.org/show_bug.cgi?id=93407
2544
2545         Reviewed by Eric Seidel.
2546
2547         This patch removes allowsAccessFrom and implements the security checks
2548         in terms of shouldAllowAccessToDOMWindow directly.
2549
2550         * bindings/generic/BindingSecurity.cpp:
2551         (WebCore::BindingSecurity::shouldAllowAccessToDOMWindow):
2552         (WebCore):
2553         * bindings/generic/BindingSecurity.h:
2554         (BindingSecurity):
2555         * bindings/js/JSDOMBinding.cpp:
2556         (WebCore::shouldAllowAccessToFrame):
2557         (WebCore):
2558         (WebCore::shouldAllowAccessToDOMWindow):
2559         * bindings/js/JSDOMBinding.h:
2560         (WebCore):
2561         * bindings/js/JSDOMWindowBase.cpp:
2562         (WebCore::shouldAllowAccessFrom):
2563         (WebCore):
2564         * bindings/js/JSDOMWindowBase.h:
2565         (JSDOMWindowBase):
2566         * bindings/js/JSDOMWindowCustom.cpp:
2567         (WebCore::namedItemGetter):
2568         (WebCore::JSDOMWindow::getOwnPropertySlot):
2569         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
2570         (WebCore::JSDOMWindow::put):
2571         (WebCore::JSDOMWindow::deleteProperty):
2572         (WebCore::JSDOMWindow::getPropertyNames):
2573         (WebCore::JSDOMWindow::getOwnPropertyNames):
2574         (WebCore::JSDOMWindow::defineOwnProperty):
2575         (WebCore::JSDOMWindow::setLocation):
2576         * bindings/js/JSDOMWindowCustom.h:
2577         * bindings/js/JSInjectedScriptManager.cpp:
2578         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
2579         * bindings/objc/WebScriptObject.mm:
2580         (-[WebScriptObject _isSafeScript]):
2581         * bindings/scripts/CodeGeneratorJS.pm:
2582         (GenerateGetOwnPropertyDescriptorBody):
2583         (GenerateImplementation):
2584
2585 2012-08-21  Dan Bernstein  <mitz@apple.com>
2586
2587         <rdar://problem/12104508> TextIterator takes O(n^2) to iterate over n empty blocks
2588         https://bugs.webkit.org/show_bug.cgi?id=94429
2589
2590         Reviewed by Sam Weinig.
2591
2592         No new tests, because behavior is unchanged.
2593
2594         * editing/TextIterator.cpp:
2595         (WebCore::TextIterator::shouldRepresentNodeOffsetZero): Enhanced the check for nodes that
2596         cannot contain VisiblePosition to also check for zero-height blocks.
2597
2598 2012-08-21  'Pavel Feldman'  <pfeldman@chromium.org>
2599
2600         Web Inspector: break on exceptions decoration was lost, restoring.
2601
2602         Not reviewed - a follow up to 126012.
2603
2604         * inspector/front-end/ScriptsPanel.js:
2605         (WebInspector.ScriptsPanel.prototype._pauseOnExceptionStateChanged.get switch):
2606         (WebInspector.ScriptsPanel.prototype._pauseOnExceptionStateChanged):
2607
2608 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
2609
2610         Unreviewed, rolling out r126146.
2611         http://trac.webkit.org/changeset/126146
2612         https://bugs.webkit.org/show_bug.cgi?id=94606
2613
2614         It made all tests assert (Requested by Ossy on #webkit).
2615
2616         * bridge/qt/qt_runtime.cpp:
2617         (JSC::Bindings::prototypeForSignalsAndSlots):
2618         (JSC::Bindings::QtRuntimeMethod::call):
2619         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
2620         (JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
2621         * bridge/qt/qt_runtime.h:
2622         (QtRuntimeMethod):
2623
2624 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
2625
2626         Unreviewed, rolling out r126150.
2627         http://trac.webkit.org/changeset/126150
2628         https://bugs.webkit.org/show_bug.cgi?id=94605
2629
2630         Breaks 73 layout tests on chromium.webkit builder (Requested
2631         by pfeldman on #webkit).
2632
2633         * UseV8.cmake:
2634         * WebCore.gypi:
2635         * bindings/v8/V8Binding.cpp:
2636         (StringTraits):
2637         (WebCore):
2638         (WebCore::v8StringToWebCoreString):
2639         (WebCore::int32ToWebCoreStringFast):
2640         (WebCore::int32ToWebCoreString):
2641         * bindings/v8/V8Binding.h:
2642         (WebCore):
2643         (V8ParameterBase):
2644         (WebCore::V8ParameterBase::operator String):
2645         (WebCore::V8ParameterBase::operator AtomicString):
2646         (WebCore::V8ParameterBase::V8ParameterBase):
2647         (WebCore::V8ParameterBase::prepareBase):
2648         (WebCore::V8ParameterBase::object):
2649         (WebCore::V8ParameterBase::setString):
2650         (WebCore::V8ParameterBase::toString):
2651         (WebCore::::prepare):
2652         * bindings/v8/V8StringResource.cpp: Removed.
2653         * bindings/v8/V8StringResource.h: Removed.
2654
2655 2012-08-21  Philippe Normand  <pnormand@igalia.com>
2656
2657         Early returns in MediaPlayer setters
2658         https://bugs.webkit.org/show_bug.cgi?id=87304
2659
2660         Calls to the MediaPlayerPrivate implementation can be avoided if
2661         the value to set and the current value are equal.
2662
2663         Reviewed by Eric Carlson.
2664
2665         * platform/graphics/MediaPlayer.cpp:
2666         (WebCore::MediaPlayer::loadWithNextMediaEngine): Once a new
2667         MediaPlayerPrivate has been created propagate the playback rate
2668         value to it, as it is done for some other attributes like preload
2669         or preservePitch.
2670         (WebCore::MediaPlayer::setVolume): Perform action only if current
2671         and new values differ.
2672         (WebCore::MediaPlayer::setMuted): Ditto.
2673         (WebCore::MediaPlayer::setPreservesPitch): Ditto.
2674         (WebCore::MediaPlayer::setSize): Ditto.
2675         (WebCore::MediaPlayer::setVisible): Ditto.
2676         (WebCore::MediaPlayer::setPreload): Ditto.
2677
2678 2012-08-21  Ilya Tikhonovsky  <loislo@chromium.org>
2679
2680         Web Inspector: NMI: OwnPtr<T> was counted as RefPtr<T>
2681         https://bugs.webkit.org/show_bug.cgi?id=94599
2682
2683         Reviewed by Yury Semikhatsky.
2684
2685         * dom/MemoryInstrumentation.h:
2686         (WebCore::MemoryObjectInfo::MemoryObjectInfo):
2687         (WebCore::MemoryInstrumentation::addInstrumentedObjectImpl):
2688         (WebCore::MemoryInstrumentation::addObjectImpl):
2689
2690 2012-08-21  Ilya Tikhonovsky  <loislo@chromium.org>
2691
2692         Web Inspector: NMI: rename addMember for strings and KURL to addInstrumentedMember.
2693         https://bugs.webkit.org/show_bug.cgi?id=94580
2694
2695         Reviewed by Yury Semikhatsky.
2696
2697         Drive by fix: immutable ElementAttrybuteData uses the same trick with placement new as in StylePropertySet.
2698
2699         * css/CSSCanvasValue.cpp:
2700         (WebCore::CSSCanvasValue::reportDescendantMemoryUsage):
2701         * css/CSSCharsetRule.cpp:
2702         (WebCore::CSSCharsetRule::reportDescendantMemoryUsage):
2703         * css/CSSFontFaceSrcValue.cpp:
2704         (WebCore::CSSFontFaceSrcValue::reportDescendantMemoryUsage):
2705         * css/CSSFunctionValue.cpp:
2706         (WebCore::CSSFunctionValue::reportDescendantMemoryUsage):
2707         * css/CSSImageSetValue.cpp:
2708         (WebCore::CSSImageSetValue::ImageWithScale::reportMemoryUsage):
2709         * css/CSSImageValue.cpp:
2710         (WebCore::CSSImageValue::reportDescendantMemoryUsage):
2711         * css/CSSPrimitiveValue.cpp:
2712         (WebCore::CSSPrimitiveValue::reportDescendantMemoryUsage):
2713         * css/CSSStyleSheet.cpp:
2714         (WebCore::CSSStyleSheet::reportMemoryUsage):
2715         * css/CSSValue.cpp:
2716         (WebCore::TextCloneCSSValue::reportDescendantMemoryUsage):
2717         * css/CSSVariableValue.h:
2718         (WebCore::CSSVariableValue::reportDescendantMemoryUsage):
2719         * css/FontFeatureValue.cpp:
2720         (WebCore::FontFeatureValue::reportDescendantMemoryUsage):
2721         * css/MediaQuery.cpp:
2722         (WebCore::MediaQuery::reportMemoryUsage):
2723         * css/MediaQueryExp.cpp:
2724         (WebCore::MediaQueryExp::reportMemoryUsage):
2725         * css/StyleRuleImport.cpp:
2726         (WebCore::StyleRuleImport::reportDescendantMemoryUsage):
2727         * css/StyleSheetContents.cpp:
2728         (WebCore::StyleSheetContents::reportMemoryUsage):
2729         * css/WebKitCSSKeyframeRule.cpp:
2730         (WebCore::StyleKeyframe::reportMemoryUsage):
2731         * css/WebKitCSSKeyframesRule.cpp:
2732         (WebCore::StyleRuleKeyframes::reportDescendantMemoryUsage):
2733         * css/WebKitCSSSVGDocumentValue.cpp:
2734         (WebCore::WebKitCSSSVGDocumentValue::reportDescendantMemoryUsage):
2735         * css/WebKitCSSShaderValue.cpp:
2736         (WebCore::WebKitCSSShaderValue::reportDescendantMemoryUsage):
2737         * dom/Attribute.h:
2738         (WebCore::Attribute::reportMemoryUsage):
2739         * dom/CharacterData.cpp:
2740         (WebCore::CharacterData::reportMemoryUsage):
2741         * dom/Document.cpp:
2742         (WebCore::Document::reportMemoryUsage):
2743         * dom/ElementAttributeData.cpp:
2744         (WebCore::immutableElementAttributeDataSize):
2745         (WebCore):
2746         (WebCore::ElementAttributeData::createImmutable):
2747         (WebCore::ElementAttributeData::reportMemoryUsage):
2748         * dom/Event.cpp:
2749         (WebCore::Event::reportMemoryUsage):
2750         * dom/MemoryInstrumentation.cpp:
2751         (WebCore::MemoryInstrumentation::addInstrumentedObjectImpl):
2752         * dom/MemoryInstrumentation.h:
2753         (MemoryInstrumentation):
2754         * dom/QualifiedName.h:
2755         (WebCore::QualifiedName::QualifiedNameImpl::reportMemoryUsage):
2756         * loader/DocumentLoader.cpp:
2757         (WebCore::DocumentLoader::reportMemoryUsage):
2758         * loader/FrameLoader.cpp:
2759         (WebCore::FrameLoader::reportMemoryUsage):
2760         * loader/SubstituteData.cpp:
2761         (WebCore::SubstituteData::reportMemoryUsage):
2762         * loader/cache/CachedCSSStyleSheet.cpp:
2763         (WebCore::CachedCSSStyleSheet::reportMemoryUsage):
2764         * loader/cache/CachedResource.cpp:
2765         (WebCore::CachedResource::reportMemoryUsage):
2766         * loader/cache/CachedResourceLoader.cpp:
2767         (WebCore::CachedResourceLoader::reportMemoryUsage):
2768         * loader/cache/CachedScript.cpp:
2769         (WebCore::CachedScript::reportMemoryUsage):
2770         * loader/cache/CachedShader.cpp:
2771         (WebCore::CachedShader::reportMemoryUsage):
2772         * loader/cache/CachedXSLStyleSheet.cpp:
2773         (WebCore::CachedXSLStyleSheet::reportMemoryUsage):
2774         * loader/cache/MemoryCache.cpp:
2775         (WebCore::MemoryCache::reportMemoryUsage):
2776         * platform/network/ResourceRequestBase.cpp:
2777         (WebCore::ResourceRequestBase::reportMemoryUsage):
2778         * platform/network/ResourceResponseBase.cpp:
2779         (WebCore::ResourceResponseBase::reportMemoryUsage):
2780         * rendering/style/StyleRareInheritedData.cpp:
2781         (WebCore::StyleRareInheritedData::reportMemoryUsage):
2782         * rendering/style/StyleRareNonInheritedData.cpp:
2783         (WebCore::StyleRareNonInheritedData::reportMemoryUsage):
2784         * svg/SVGPaint.cpp:
2785         (WebCore::SVGPaint::reportDescendantMemoryUsage):
2786
2787 2012-08-20  Kentaro Hara  <haraken@chromium.org>
2788
2789         [V8] Move String related code in V8Binding to a separate file
2790         https://bugs.webkit.org/show_bug.cgi?id=94571
2791
2792         Reviewed by Adam Barth.
2793
2794         This patch moves V8Parameter, V8ParameterBase and String related code
2795         in V8Binding to a separate file.
2796
2797         No tests. No change in behavior.
2798
2799         * UseV8.cmake:
2800         * WebCore.gypi:
2801         * bindings/v8/V8Binding.cpp:
2802         * bindings/v8/V8Binding.h:
2803         * bindings/v8/V8StringResource.cpp: Added.
2804         * bindings/v8/V8StringResource.h: Added.
2805         (WebCore):
2806
2807 2012-08-17  Simon Hausmann  <simon.hausmann@nokia.com>
2808
2809         [Qt] REGRESSION(r125428): fast/profiler/nested-start-and-stop-profiler.html fails
2810         https://bugs.webkit.org/show_bug.cgi?id=93897
2811
2812         Reviewed by Kenneth Rohde Christiansen.
2813
2814         Before r125428 run-time methods (wrapped signals, slots or invokable functions) were subclasses of
2815         JSInternalFunction and therefore real function objects in the JavaScript sense. r125428 changed them
2816         to be just callable objects, but they did not have Function.prototype as prototype anymore for example
2817         nor was their name correct (resulting in a layout test failure).
2818
2819         This patch changes run-time methods back to being real function objects that have a correct name and
2820         have Function.prototype in their prototype change
2821
2822         The objects returned by JSObjectMakeFunctionWithCallbackInjected are light-weight internal function objects
2823         that do not support JSObject{Set/Get}Private. Therefore we inject our own prototype right before the
2824         Function.prototype prototype, which uses private data to store a pointer to our C++ QtRuntimeMethod object.
2825         This complicates the retrieval of the pointer to that instance slightly, which is why this patch introduces
2826         the toRuntimeMethod convenience function that looks up our prototype first and does a check for type-safety.
2827
2828         At the same time the patch removes the length properties from the run-time method itself as well as connect/disconnect.
2829         The length property on a function signifies the number of arguments, but in all three cases that number is
2830         actually variable, because of overloading. That is why we choose not to expose it in the first place.
2831
2832         * bridge/qt/qt_runtime.cpp:
2833         (JSC::Bindings::prototypeForSignalsAndSlots):
2834         (JSC::Bindings::QtRuntimeMethod::call):
2835         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
2836         (JSC::Bindings::QtRuntimeMethod::toRuntimeMethod):
2837         (Bindings):
2838         (JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
2839         * bridge/qt/qt_runtime.h:
2840         (QtRuntimeMethod): Remove unused member variables.
2841
2842 2012-08-21  Simon Hausmann  <simon.hausmann@nokia.com>
2843
2844         Unreviewed build fix for newer Qt 5 versions: QVariant::WidgetStar has been removed,
2845         but fortunately QMetaType has a much more powerful function available for us to use.
2846
2847         Thanks to Jedrzej Nowacki for the hint :)
2848
2849         * bridge/qt/qt_runtime.cpp:
2850         (JSC::Bindings::convertQVariantToValue):
2851
2852 2012-08-21  Kentaro Hara  <haraken@chromium.org>
2853
2854         [V8] Remove String::New() from V8 binding (Part 1)
2855         https://bugs.webkit.org/show_bug.cgi?id=94574
2856
2857         Reviewed by Adam Barth.
2858
2859         Currently, V8 binding mixes String::New(), String::NewSymbol() and v8String().
2860         String::New() should be replaced with String::NewSymbol() or v8String(),
2861         depending on use cases:
2862
2863         - If it is a symbol (e.g. attribute name, constant string, etc),
2864         String::NewSymbol() should be used. Cache of created symbols is managed by V8.
2865
2866         - If it is not a symbol, v8String() should be used. Cache of created strings
2867         is managed by V8 binding (i.e. StringCache class).
2868
2869         This patch replaces String::New() for symbols with String::NewSymbol().
2870
2871         No tests. No change in behavior.
2872
2873         * bindings/scripts/CodeGeneratorV8.pm:
2874         (GenerateNamedConstructorCallback):
2875         (GenerateNonStandardFunction):
2876         (GenerateImplementation):
2877         * bindings/scripts/test/V8/V8Float64Array.cpp:
2878         (WebCore::ConfigureV8Float64ArrayTemplate):
2879         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2880         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
2881         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2882         (WebCore::ConfigureV8TestEventTargetTemplate):
2883         * bindings/scripts/test/V8/V8TestInterface.cpp:
2884         (WebCore::ConfigureV8TestInterfaceTemplate):
2885         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2886         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
2887         * bindings/scripts/test/V8/V8TestObj.cpp:
2888         (WebCore::ConfigureV8TestObjTemplate):
2889         (WebCore::V8TestObj::installPerContextProperties):
2890         * bindings/v8/V8DOMConfiguration.cpp:
2891         (WebCore::V8DOMConfiguration::batchConfigureConstants):
2892         (WebCore::V8DOMConfiguration::batchConfigureCallbacks):
2893         (WebCore::V8DOMConfiguration::configureTemplate):
2894         * bindings/v8/V8DOMConfiguration.h:
2895         (WebCore::V8DOMConfiguration::configureAttribute):
2896
2897 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
2898
2899         Unreviewed, rolling out r126028.
2900         http://trac.webkit.org/changeset/126028
2901         https://bugs.webkit.org/show_bug.cgi?id=94576
2902
2903         it broke compilation on apple webkit win. (Requested by loislo
2904         on #webkit).
2905
2906         * inspector/CodeGeneratorInspector.py:
2907         * inspector/InjectedScriptWebGLModule.cpp:
2908         (WebCore::InjectedScriptWebGLModule::captureFrame):
2909         * inspector/InjectedScriptWebGLModule.h:
2910         (InjectedScriptWebGLModule):
2911         * inspector/Inspector.json:
2912         * inspector/InspectorController.cpp:
2913         (WebCore::InspectorController::InspectorController):
2914         * inspector/InspectorWebGLAgent.cpp:
2915         (WebCore::InspectorWebGLAgent::InspectorWebGLAgent):
2916         * inspector/InspectorWebGLAgent.h:
2917         (WebCore):
2918         (WebCore::InspectorWebGLAgent::create):
2919         (InspectorWebGLAgent):
2920
2921 2012-08-20  Ilya Tikhonovsky  <loislo@chromium.org>
2922
2923         Web Inspector: NMI: wrong size was reported for immutable StylePropertySet
2924         https://bugs.webkit.org/show_bug.cgi?id=94489
2925
2926         Reviewed by Yury Semikhatsky.
2927
2928         Immutable StylePropertySet is created via placement new.
2929         The rest of the allocated buffer is used as an array of CSSProperty.
2930         This means that we don't need to report m_properties member but have to report actual size of the buffer
2931         used for both, the object and CSSProperty array.
2932
2933         * css/StylePropertySet.cpp:
2934         (WebCore::immutableStylePropertySetSize):
2935         (WebCore):
2936         (WebCore::StylePropertySet::createImmutable):
2937         (WebCore::StylePropertySet::reportMemoryUsage):
2938         * dom/MemoryInstrumentation.h:
2939         (WebCore::MemoryObjectInfo::reportObjectInfo):
2940         (WebCore::MemoryClassInfo::MemoryClassInfo):
2941
2942 2012-08-20  Kentaro Hara  <haraken@chromium.org>
2943
2944         [V8] Move handleOutOfMemory() from V8Proxy to V8Binding
2945         https://bugs.webkit.org/show_bug.cgi?id=94563
2946
2947         Reviewed by Adam Barth.
2948
2949         To kill V8Proxy, this patch moves handleOutOfMemory() from V8Proxy to V8Binding.
2950
2951         No tests. No change in behavior.
2952
2953         * bindings/v8/V8AbstractEventListener.cpp:
2954         (WebCore::V8AbstractEventListener::invokeEventHandler):
2955         * bindings/v8/V8Binding.cpp:
2956         (WebCore::handleOutOfMemory):
2957         (WebCore):
2958         * bindings/v8/V8Binding.h:
2959         (WebCore):
2960         * bindings/v8/V8Proxy.cpp:
2961         * bindings/v8/V8Proxy.h:
2962         (V8Proxy):
2963         * bindings/v8/WorkerContextExecutionProxy.cpp:
2964         (WebCore::WorkerContextExecutionProxy::runScript):
2965
2966 2012-08-20  MORITA Hajime  <morrita@google.com>
2967
2968         InsertionShouldCallDidNotifyDescendantInsertions should be merged to InsertionShouldCallDidNotifySubtreeInsertions
2969         https://bugs.webkit.org/show_bug.cgi?id=94570
2970
2971         Reviewed by Ryosuke Niwa.
2972
2973         Node::didNotifySubtreeInsertions() and Node::didNotifyDescendantInsertions() are used for similar purpose and
2974         we could unify them to the safer one, which is didNotifySubtreeInsertions().
2975
2976         This change replaces the last didNotifyDescendantInsertions() implementation in HTMLBodyElement with didNotifySubtreeInsertions()
2977         then eliminates related code which is no longer used.
2978
2979         No new tests. Covered by existing tests.
2980
2981         * dom/ContainerNodeAlgorithms.h:
2982         (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument):
2983         (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree):
2984         * dom/Node.h: Removed didNotifyDescendantInsertions() stub and InsertionShouldCallDidNotifyDescendantInsertions enum value.
2985         * html/HTMLBodyElement.cpp:
2986         (WebCore::HTMLBodyElement::insertedInto):
2987         (WebCore::HTMLBodyElement::didNotifySubtreeInsertions): morphed from didNotifyDescendantInsertions()
2988         * html/HTMLBodyElement.h:
2989         (HTMLBodyElement):
2990         * html/HTMLFormElement.cpp:
2991         (WebCore::HTMLFormElement::insertedInto): Remove useless InsertionShouldCallDidNotifyDescendantInsertions return statement.
2992
2993 2012-08-20  Rob Buis  <rbuis@rim.com>
2994
2995         Reduce GradientAttributes object size
2996         https://bugs.webkit.org/show_bug.cgi?id=86151
2997
2998         Reviewed by Eric Seidel.
2999
3000         This reduces GradientAttributes in memory size by 8 bytes on my 64-bit system. It also
3001         reduces the size of RenderSVGResourceLinearGradient and RenderSVGResourceRadialGradient.
3002
3003         * svg/GradientAttributes.h:
3004         (WebCore::GradientAttributes::spreadMethod):
3005         (WebCore::GradientAttributes::gradientUnits):
3006         (GradientAttributes):
3007         (WebCore):
3008         (SameSizeAsGradientAttributes):
3009
3010 2012-08-20  Keishi Hattori  <keishi@webkit.org>
3011
3012         Clicking input type=range with padding or border sets wrong value
3013         https://bugs.webkit.org/show_bug.cgi?id=94473
3014
3015         Reviewed by Kent Tamura.
3016
3017         We should take the padding and border width into account when calculating the value from the mouse location.
3018
3019         Test: fast/forms/range/range-hit-test-with-padding.html
3020
3021         * html/shadow/SliderThumbElement.cpp:
3022         (WebCore::sliderTrackElementOf):
3023         (WebCore):
3024         (WebCore::SliderThumbElement::setPositionFromPoint):
3025         * html/shadow/SliderThumbElement.h:
3026         (WebCore):
3027
3028 2012-08-20  MORITA Hajime  <morrita@google.com>
3029
3030         load event shouldn't fired during node insertion traversals.
3031         https://bugs.webkit.org/show_bug.cgi?id=94447
3032
3033         Reviewed by Ryosuke Niwa.
3034
3035         HTMLFrameElementBase::didNotifyDescendantInsertions() with empty @src
3036         can trigger a load event during ChildNodeInsertionNotifier
3037         traversal, whose handler can make DOM tree state inconsistent.
3038
3039         This change introduces a post traversal hook,
3040         didNotifySubtreeInsertions(), for the insertion traversal and
3041         replaces the problematic didNotifyDescendantInsertions() with it.
3042
3043         Since didNotifySubtreeInsertions() is invoked after the traversal,
3044         it is safe for event handlers to mutate the tree.
3045
3046         Test: fast/frames/iframe-onload-and-domnodeinserted.html
3047
3048         * dom/ContainerNodeAlgorithms.h:
3049         (ChildNodeInsertionNotifier): Added a post subtree notification.
3050         (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument):
3051         (WebCore::ChildNodeInsertionNotifier::notify):
3052         * dom/Node.h:
3053         (WebCore::Node::didNotifySubtreeInsertions): Newly added.
3054         * html/HTMLFrameElementBase.cpp:
3055         (WebCore::HTMLFrameElementBase::insertedInto): Now returns InsertionShouldCallDidNotifySubtreeInsertions
3056         (WebCore::HTMLFrameElementBase::didNotifySubtreeInsertions): Replaced didNotifyDescendantInsertions()
3057         * html/HTMLFrameElementBase.h:
3058         (HTMLFrameElementBase):
3059
3060 2012-08-20  Shinya Kawanaka  <shinyak@chromium.org> 
3061
3062         Regression(r126127): Build break on multiple platforms
3063         https://bugs.webkit.org/show_bug.cgi?id=94568
3064
3065         Reviewed by Hajime Morita.
3066
3067         Notation::cloneNode should also have ExceptionCode. We add it in this patch.
3068
3069         No new tests, no change in behavior.
3070
3071         * dom/Notation.cpp:
3072         (WebCore::Notation::cloneNode):
3073         * dom/Notation.h:
3074         (Notation):
3075
3076 2012-08-20  Shinya Kawanaka  <shinyak@chromium.org>
3077
3078         ShadowRoot.cloneNode() must always throw a DATA_CLONE_ERR exception.
3079         https://bugs.webkit.org/show_bug.cgi?id=91704
3080
3081         Reviewed by Dimitri Glazkov.
3082
3083         According to the spec, ShadowRoot.cloneNode() should throw a DATA_CLONE_ERR exception. The existing implementation
3084         returned null object instead.
3085
3086         We change the cloneNode() interface so that we can throw an exception from cloneNode().
3087
3088         Test: fast/dom/shadow/shadowroot-clonenode.html
3089
3090         * dom/Attr.cpp:
3091         (WebCore::Attr::cloneNode):
3092         * dom/Attr.h:
3093         * dom/CDATASection.cpp:
3094         (WebCore::CDATASection::cloneNode):
3095         * dom/CDATASection.h:
3096         (CDATASection):
3097         * dom/Comment.cpp:
3098         (WebCore::Comment::cloneNode):
3099         * dom/Comment.h:
3100         (Comment):
3101         * dom/Document.cpp:
3102         (WebCore::Document::cloneNode):
3103         * dom/Document.h:
3104         (Document):
3105         * dom/DocumentFragment.cpp:
3106         (WebCore::DocumentFragment::cloneNode):
3107         * dom/DocumentFragment.h:
3108         (DocumentFragment):
3109         * dom/DocumentType.cpp:
3110         (WebCore::DocumentType::cloneNode):
3111         * dom/DocumentType.h:
3112         (DocumentType):
3113         * dom/Element.cpp:
3114         (WebCore::Element::cloneNode):
3115         * dom/Element.h:
3116         (Element):
3117         * dom/EntityReference.cpp:
3118         (WebCore::EntityReference::cloneNode):
3119         * dom/EntityReference.h:
3120         (EntityReference):
3121         * dom/Node.h:
3122         (Node):
3123         (WebCore::Node::cloneNode):
3124         * dom/Node.idl:
3125         * dom/ProcessingInstruction.cpp:
3126         (WebCore::ProcessingInstruction::cloneNode):
3127         * dom/ProcessingInstruction.h:
3128         (ProcessingInstruction):
3129         * dom/ShadowRoot.cpp:
3130         (WebCore::ShadowRoot::cloneNode):
3131         * dom/ShadowRoot.h:
3132         (ShadowRoot):
3133         * dom/Text.cpp:
3134         (WebCore::Text::cloneNode):
3135         * dom/Text.h:
3136         (Text):
3137
3138 2012-08-20  Kent Tamura  <tkent@chromium.org>
3139
3140         [Chromium-win] Use native digits in parsing/formatting dates in the textfield part of input[type=date]
3141         https://bugs.webkit.org/show_bug.cgi?id=94281
3142
3143         Reviewed by Hajime Morita.
3144
3145         Tests: Add some cases to Source/WebKit/chromium/tests/LocaleWinTest.cpp
3146
3147         * platform/text/LocaleWin.cpp:
3148         (WebCore::LocaleWin::isLocalizedDigit): A helper for parseNumber(). This
3149         return true if the specified character is one of native digits.
3150         (WebCore::LocaleWin::parseNumber):
3151         Try to parse ASCII digits, then try to parse native digtis. This
3152         becomes a member of LocaleWin because it uses
3153         convertFromLocalizedNumber().
3154         (WebCore::LocaleWin::appendNumber): Apply convertToLocalizedNumber().
3155         (WebCore::LocaleWin::appendTwoDigitsNumber): ditto.
3156         (WebCore::LocaleWin::appendFourDigitsNumber): ditto.
3157         * platform/text/LocaleWin.h:
3158         (LocaleWin):
3159         - Make some static functions member functions of LocaleWin.
3160         - Add isLocalizedDigit().
3161
3162 2012-08-20  Kentaro Hara  <haraken@chromium.org>
3163
3164         Rename collectGarbageIfNecessary() to hintForCollectGarbage()
3165         https://bugs.webkit.org/show_bug.cgi?id=94455
3166
3167         Reviewed by Adam Barth.
3168
3169         This is a follow-up patch for r126098.
3170
3171         collectGarbage() always collects garbage. collectGarbageIfNecessary() just sends
3172         an idle notification to V8, which is just a hint for V8 to trigger GC.
3173         To clarify the difference, this patch renames collectGarbageIfNecessary()
3174         to hintForCollectGarbage().
3175
3176         No tests. No change in behavior.
3177
3178         * bindings/v8/ScriptController.cpp:
3179         (WebCore::ScriptController::clearForClose):
3180         (WebCore::ScriptController::clearForNavigation):
3181         * bindings/v8/V8GCController.cpp:
3182         (WebCore::V8GCController::hintForCollectGarbage):
3183         * bindings/v8/V8GCController.h:
3184         (V8GCController):
3185
3186 2012-08-20  Alexandre Elias  <aelias@google.com>
3187
3188         [chromium] Texture layer should not generate zero textureId quads
3189         https://bugs.webkit.org/show_bug.cgi?id=94550
3190
3191         Reviewed by Adrienne Walker.
3192
3193         After a context loss, CCTextureLayerImpl would clear its textureId
3194         but continued to produce external resources and quads with the zero
3195         textureid.  Add early returns so that CCTextureLayerImpl becomes
3196         inert after a context loss.
3197
3198         Added assertion in read lock so that dontUseOldResourcesAfterLostContext
3199         test catches the problem.
3200
3201         * platform/graphics/chromium/cc/CCResourceProvider.h:
3202         (WebCore::CCScopedLockResourceForRead::CCScopedLockResourceForRead):
3203         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
3204         (WebCore::CCTextureLayerImpl::willDraw):
3205         (WebCore::CCTextureLayerImpl::appendQuads):
3206         (WebCore::CCTextureLayerImpl::didDraw):
3207         (WebCore::CCTextureLayerImpl::didLoseContext):
3208
3209 2012-08-20  Kent Tamura  <tkent@chromium.org>
3210
3211         [Chromium] Make the popup positioning code testable
3212         https://bugs.webkit.org/show_bug.cgi?id=94086
3213
3214         Reviewed by Hajime Morita.
3215
3216         Introduce PopupContent interface in order to make a mock.
3217
3218         * platform/chromium/PopupContainer.cpp:
3219         (WebCore::PopupContainer::layoutAndCalculateWidgetRectInternal):
3220          - Make it a member of PopupContainer to avoid namespace pollution.
3221          - Use PopupContent interface.
3222          - Make the code clearer.
3223         * platform/chromium/PopupContainer.h:
3224         (PopupContainer): Expose layoutAndCalculateWidgetRectInternal.
3225
3226         * platform/chromium/PopupListBox.cpp:
3227         (WebCore::PopupListBox::popupContentHeight): Added.
3228         * platform/chromium/PopupListBox.h:
3229         (PopupContent): Added.
3230         (PopupListBox): Inherit PopupContent.
3231         (WebCore::PopupListBox::~PopupListBox):
3232         Make this virtual because this class has some virtual functions.
3233
3234 2012-08-20  Tom Sepez  <tsepez@chromium.org>
3235
3236         XSSAuditor too tolerant of injected data: URLs from other "hostless" schemes.
3237         https://bugs.webkit.org/show_bug.cgi?id=94547
3238
3239         Reviewed by Adam Barth.
3240
3241         Check that there is a host before making same-host tests.
3242
3243         Test: fast/frames/xss-auditor-handles-file-urls.html
3244
3245         * html/parser/XSSAuditor.cpp:
3246         (WebCore::XSSAuditor::eraseAttributeIfInjected):
3247         (WebCore::XSSAuditor::isLikelySafeResource):
3248         * html/parser/XSSAuditor.h:
3249
3250 2012-08-20  Elliott Sprehn  <esprehn@chromium.org>
3251
3252         Removed dead code from a very old iteration of CSS counters.
3253         https://bugs.webkit.org/show_bug.cgi?id=94539
3254
3255         Reviewed by Eric Seidel.
3256
3257         Remove two unused shorts that were on StyleRareNonInheritedData that are no longer used.
3258
3259         No tests, this just removes dead code.
3260
3261         * rendering/style/RenderStyle.cpp:
3262         (WebCore::RenderStyle::diff):
3263         * rendering/style/RenderStyle.h:
3264         * rendering/style/StyleRareNonInheritedData.cpp:
3265         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3266         (WebCore::StyleRareNonInheritedData::operator==):
3267         * rendering/style/StyleRareNonInheritedData.h:
3268         (StyleRareNonInheritedData):
3269
3270 2012-08-20  Luke Macpherson   <macpherson@chromium.org>
3271
3272         Fix inspector with variables enabled and enable inspector variables tests by default.
3273         https://bugs.webkit.org/show_bug.cgi?id=94296
3274
3275         Reviewed by Hajime Morita.
3276
3277         Change from using getPropertyName static function to CSSProperty::cssName(), which can resolve variables if needed.
3278
3279         Covered by inspector/styles/variables.
3280
3281         * css/PropertySetCSSStyleDeclaration.cpp:
3282         (WebCore::PropertySetCSSStyleDeclaration::item):
3283
3284 2012-08-20  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
3285
3286         Cancel the outstanding vibration pattern if the pattern is 0 or an empty list
3287         https://bugs.webkit.org/show_bug.cgi?id=94085
3288
3289         Reviewed by Kentaro Hara.
3290
3291         vibrate() method to stop the device from vibrating is getting called before the
3292         vibration is in effect. Hence, it is failing to cancel the pre-existing instance
3293         of processing vibration patterns. 
3294
3295         This patch cancel the pre-existing instance of the processing vibration patterns
3296         always when the vibrate() method called with pattern 0 or an empty list.
3297
3298         No new tests since there is no return value in the Vibration API to test this
3299         particular case. Existing test fast/dom/navigator-vibration.html covers testing of
3300         the Vibration API.
3301
3302         * Modules/vibration/Vibration.cpp:
3303         (WebCore::Vibration::vibrate):
3304
3305 2012-08-20  Adam Klein  <adamk@chromium.org>
3306
3307         Allow MutationEvents to be enabled/disabled per context
3308         https://bugs.webkit.org/show_bug.cgi?id=94016
3309
3310         Reviewed by Ojan Vafai.
3311
3312         Chromium wants to be able to turn MutationEvents off for some
3313         Documents (e.g., for Apps V2). This patch makes the firing (and the
3314         constructor on DOMWindow) of MutationEvents a per-context feature, with
3315         the default being enabled.
3316
3317         No functional change (since the feature defaults to enabled).
3318         It's not clear to me that there's a way to test this in DRT without
3319         adding a special hook for this one feature. It will be tested in
3320         Chromium once it's implemented in Chromium.
3321
3322         * dom/ContextFeatures.cpp:
3323         (WebCore::ContextFeatures::mutationEventsEnabled): Add new method,
3324         with the default being enabled.
3325         * dom/ContextFeatures.h:
3326         * dom/Document.cpp:
3327         (WebCore::Document::addMutationEventListenerTypeIfEnabled): Add new
3328         method that checks the ContextFeature flag before adding the passed-in
3329         listener type.
3330         (WebCore::Document::addListenerTypeIfNeeded): Call the new method
3331         instead of addListenerType for MutationEvent types.
3332         * dom/Document.h:
3333         (WebCore::Document::addListenerType): Make private to avoid anyone
3334         outside Document from enabling MutationEvent listeners. All callers
3335         must go through addListenerTypeIfNeeded.
3336
3337 2012-08-20  Levi Weintraub  <leviw@chromium.org>
3338
3339         [Sub-pixel Layout] Block selection gap repainting can leave one pixel gaps
3340         https://bugs.webkit.org/show_bug.cgi?id=94526
3341
3342         Reviewed by Eric Seidel.
3343
3344         Reverting RenderLayer's m_blockSelectionGapsBounds to be an IntRect and applying enclosingIntRect to the
3345         gapRects added to the bounds. Previously, we'd end multiple block gaps and pixel snap the result, which
3346         can yield results one pixel off in width and height.
3347
3348         Covered by existing tests. This undoes some of the rebaselining from when sub-pixel was enabled for Chromium.
3349
3350         * rendering/RenderLayer.cpp:
3351         * rendering/RenderLayer.h:
3352
3353 2012-08-20  Kentaro Hara  <haraken@chromium.org>
3354
3355         [V8] Move instrumentedCallFunction() from V8Proxy to ScriptController
3356         https://bugs.webkit.org/show_bug.cgi?id=94456
3357
3358         Reviewed by Adam Barth.
3359
3360         To kill V8Proxy, this patch moves instrumentedCallFunction() from V8Proxy
3361         to ScriptController. Also this patch renames instrumentedCallFunction()
3362         to callFunctionWithInstrumentation(), for consistency with callFunction().
3363
3364         No tests. No change in behavior.
3365
3366         * bindings/v8/ScriptController.cpp:
3367         (WebCore::ScriptController::callFunction):
3368         (WebCore):
3369         (WebCore::handleMaxRecursionDepthExceeded):
3370         (WebCore::resourceInfo):
3371         (WebCore::resourceString):
3372         (WebCore::ScriptController::callFunctionWithInstrumentation):
3373         * bindings/v8/ScriptController.h:
3374         (ScriptController):
3375         * bindings/v8/ScriptFunctionCall.cpp:
3376         (WebCore::ScriptCallback::call):
3377         * bindings/v8/V8Callback.cpp:
3378         (WebCore::invokeCallback):
3379         * bindings/v8/V8NodeFilterCondition.cpp:
3380         (WebCore::V8NodeFilterCondition::acceptNode):
3381         * bindings/v8/V8Proxy.cpp:
3382         (WebCore):
3383         * bindings/v8/V8Proxy.h:
3384         (V8Proxy):
3385         * bindings/v8/V8WindowErrorHandler.cpp:
3386         (WebCore::V8WindowErrorHandler::callListenerFunction):
3387         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
3388         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
3389
3390 2012-08-20  Elliott Sprehn  <esprehn@chromium.org>
3391
3392         Never notify of insertedIntoTree during document destruction.
3393         https://bugs.webkit.org/show_bug.cgi?id=94535
3394
3395         Reviewed by Eric Seidel.
3396
3397         Never notify of insertedIntoTree during document destruction. Previously since we
3398         avoid notifying of willBeRemovedFromTree it's possible we could have gotten several
3399         insertedIntoTree notifications without ever being told we were removed.
3400
3401         No tests needed since this just closes holes related to future code.
3402
3403         * rendering/RenderObjectChildList.cpp:
3404         (WebCore::RenderObjectChildList::appendChildNode): Never call insertedIntoTree during document destruction.
3405         (WebCore::RenderObjectChildList::insertChildNode): Same.
3406         * rendering/RenderRegion.cpp:
3407         (WebCore::RenderRegion::attachRegion): Removed unneeded document destruction check.
3408
3409 2012-08-20  James Robinson  <jamesr@chromium.org>
3410
3411         [chromium] Initialize GraphicsLayerChromium::m_contentsLayerId when setting contents layer
3412         https://bugs.webkit.org/show_bug.cgi?id=94552
3413
3414         Reviewed by Kenneth Russell.
3415
3416         Set it or it don't work good.
3417
3418         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3419         (WebCore::GraphicsLayerChromium::setupContentsLayer):
3420
3421 2012-08-20  Rik Cabanier  <cabanier@adobe.com>
3422
3423         parse CSS attribute -webkit-blend-mode
3424         https://bugs.webkit.org/show_bug.cgi?id=94024
3425  
3426         Reviewed by Dirk Schulze.
3427
3428         Added parsing and general CSS handling of -webkit-blend-mode per http://www.w3.org/TR/2012/WD-compositing-20120816/
3429
3430         Tests: css3/compositing/blend-mode-property-parsing-invalid.html
3431                css3/compositing/blend-mode-property-parsing.html
3432                css3/compositing/blend-mode-property.html
3433
3434         * css/CSSComputedStyleDeclaration.cpp:
3435         (WebCore):
3436         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3437         * css/CSSParser.cpp:
3438         (WebCore::isValidKeywordPropertyAndValue):
3439         (WebCore::isKeywordPropertyID):
3440         (WebCore::CSSParser::parseValue):
3441         * css/CSSProperty.cpp:
3442         (WebCore::CSSProperty::isInheritedProperty):
3443         * css/CSSPropertyNames.in:
3444         * css/CSSValueKeywords.in:
3445         * css/StyleBuilder.cpp:
3446         (WebCore::StyleBuilder::StyleBuilder):