[Gtk] Include all files guarded by ENABLE_* guards in Source/WebCore/GNUmakefile...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-08-14  Zan Dobersek  <zandobersek@gmail.com>
2
3         [Gtk] Include all files guarded by ENABLE_* guards in Source/WebCore/GNUmakefile.list.am into the build
4         https://bugs.webkit.org/show_bug.cgi?id=90696
5
6         Reviewed by Philippe Normand.
7
8         Include all files in the Autotools build that are currently guarded by ENABLE_* guards in
9         the WebCore GNUmakefile.list.am, regardless of the feature being enabled. Compilation should
10         rely on proper use of guards inside source files and preprocessor work to keep the disabled
11         features out.
12
13         The only exception left is the ENABLE_WEBGL guard that includes the ANGLE into compilation
14         only if WebGL feature is enabled.
15
16         No new tests - no new functionality.
17
18         * GNUmakefile.am:
19         * GNUmakefile.list.am:
20         * bindings/gobject/GNUmakefile.am: Add StorageInfo to the DOM bindings, despite
21         the feature being currently disabled.
22
23 2012-08-14  Gregg Tavares  <gman@google.com>
24
25         Plumb through EXT_debug_marker entry points
26         https://bugs.webkit.org/show_bug.cgi?id=93860
27
28         Reviewed by Kenneth Russell.
29
30         insertEventMarkerEXT, pushGroupMarkerEXT, popGroupMarkerEXT,
31         are all entry points exposed by the OpenGL ES
32         EXT_debug_marker extension
33
34         No new tests as no new functionality exposed to web.
35
36         * html/canvas/WebGLRenderingContext.cpp:
37         (WebCore):
38         (WebCore::WebGLRenderingContext::create):
39         * platform/chromium/support/Extensions3DChromium.cpp:
40         (WebCore::Extensions3DChromium::insertEventMarkerEXT):
41         (WebCore):
42         (WebCore::Extensions3DChromium::pushGroupMarkerEXT):
43         (WebCore::Extensions3DChromium::popGroupMarkerEXT):
44         * platform/graphics/Extensions3D.h:
45         (Extensions3D):
46         * platform/graphics/chromium/Extensions3DChromium.h:
47         (Extensions3DChromium):
48         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
49         (WebCore::Extensions3DOpenGL::insertEventMarkerEXT):
50         (WebCore):
51         (WebCore::Extensions3DOpenGL::pushGroupMarkerEXT):
52         (WebCore::Extensions3DOpenGL::popGroupMarkerEXT):
53         * platform/graphics/opengl/Extensions3DOpenGL.h:
54         (Extensions3DOpenGL):
55         * platform/graphics/opengl/Extensions3DOpenGLES.cpp:
56         (WebCore::Extensions3DOpenGLES::insertEventMarkerEXT):
57         (WebCore):
58         (WebCore::Extensions3DOpenGLES::pushGroupMarkerEXT):
59         (WebCore::Extensions3DOpenGLES::popGroupMarkerEXT):
60         * platform/graphics/opengl/Extensions3DOpenGLES.h:
61         (Extensions3DOpenGLES):
62
63 2012-06-24  Robert Hogan  <robert@webkit.org>
64
65         CSS 2.1 failure: Word-spacing affects each space and non-breaking space
66         https://bugs.webkit.org/show_bug.cgi?id=89826
67
68         Reviewed by Eric Seidel.
69
70         Add word spacing to consecutive spaces in a run per http://www.w3.org/TR/CSS21/text.html#spacing-props.
71
72         Test: fast/css/word-spacing-characters.html
73               fast/css/word-spacing-characters-complex-text.html
74               fast/css/word-spacing-characters-linebreak.html
75               css2.1/20110323/word-spacing-characters-002.htm
76               css2.1/20110323/word-spacing-characters-003.htm
77               css2.1/20110323/word-spacing-remove-space-001.htm
78               css2.1/20110323/word-spacing-remove-space-002.htm
79               css2.1/20110323/word-spacing-remove-space-003.htm
80               css2.1/20110323/word-spacing-remove-space-004.htm
81               css2.1/20110323/word-spacing-remove-space-005.htm
82               css2.1/20110323/word-spacing-remove-space-006.htm
83               css2.1/20110323/c541-word-sp-001.htm
84               css2.1/20110323/c541-word-sp-000.htm
85
86         * platform/graphics/WidthIterator.cpp:
87         (WebCore::WidthIterator::advance): All spaces (ordinary space or &nbsp;) get word-spacing added, even
88           if they are consecutive.
89         * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp:
90         (WebCore::HarfBuzzShaperBase::isWordEnd): ditto, but for the complex text case on Chromium. Had to use
91           m_run rather than m_normalizedBuffer here as m_normalizedBuffer turns tabs into spaces! Unlike the simple
92           text path, '\n' gets word-spacing - I observed this from fast/text/atsui-spacing-features.html but can't
93           find it specified anywhere.
94         * platform/graphics/harfbuzz/HarfBuzzShaperBase.h:
95         (WebCore::HarfBuzzShaperBase::isCodepointSpace):
96         * rendering/RenderBlockLineLayout.cpp:
97         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Tested by word-spacing-linebreak.html
98
99 2012-08-14  Antoine Labour  <piman@chromium.org>
100
101         [chromium] race between CCLayerTreeHostImpl::releaseContentsTextures and CCThreadProxy::beginFrameCompleteOnImplThread
102         https://bugs.webkit.org/show_bug.cgi?id=93684
103
104         Reviewed by James Robinson.
105
106         This keeps track of whether we're between the beginFrame post and the
107         commit when releaseContentsTextures comes, and if that is the case, we
108         prune the texture uploads, keep the "textures purged" flag on and kick a
109         new commit.
110
111         Added CCLayerTreeHostTestEvictTextures test.
112
113         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
114         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
115         (WebCore::CCLayerTreeHostImpl::beginFramePosted):
116         (WebCore):
117         (WebCore::CCLayerTreeHostImpl::commitComplete):
118         (WebCore::CCLayerTreeHostImpl::canDraw):
119         (WebCore::CCLayerTreeHostImpl::releaseContentsTextures):
120         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
121         (CCLayerTreeHostImpl):
122         (WebCore::CCLayerTreeHostImpl::contentsTexturesPurged):
123         (WebCore::CCLayerTreeHostImpl::contentsTexturesWerePurgedSinceLastBeginFrame):
124         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
125         (WebCore::CCSingleThreadProxy::stop):
126         (WebCore::CCSingleThreadProxy::commitAndComposite):
127         * platform/graphics/chromium/cc/CCTextureUpdateController.h:
128         (CCTextureUpdateController):
129         * platform/graphics/chromium/cc/CCTextureUpdateQueue.cpp:
130         (WebCore::CCTextureUpdateQueue::clearUploads):
131         (WebCore):
132         * platform/graphics/chromium/cc/CCTextureUpdateQueue.h:
133         (CCTextureUpdateQueue):
134         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
135         (WebCore::CCThreadProxy::scheduledActionBeginFrame):
136         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
137         (WebCore::CCThreadProxy::layerTreeHostClosedOnImplThread):
138
139 2012-08-14  Yong Li  <yoli@rim.com>
140
141         [BlackBerry] Pass URL String's 8-bit buffer directly to platform layer when possible
142         https://bugs.webkit.org/show_bug.cgi?id=93861
143
144         Reviewed by Rob Buis.
145
146         PR# 187605.
147         URL strings and HTTP header strings usually use 8-bit buffers internally. We can
148         just pass the buffers to platform calls when only Latin1 strings are needed.
149
150         * platform/blackberry/ReadOnlyLatin1String.h: Added.
151         (WebCore):
152         (ReadOnlyLatin1String): A utility class that uses either WTF::CString or WTF::String's 8-bit buffer.
153         (WebCore::ReadOnlyLatin1String::ReadOnlyLatin1String): Can only be constructed with WTF::String for now.
154         (WebCore::ReadOnlyLatin1String::data):
155         (WebCore::ReadOnlyLatin1String::length):
156         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
157         (WebCore::ResourceRequest::initializePlatformRequest):
158         * platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:
159         (WebCore::SocketStreamHandle::SocketStreamHandle):
160
161 2012-08-14  Christophe Dumez  <christophe.dumez@intel.com>
162
163         Fix  LayoutTests/canvas/philip/tests/2d.text.draw.space.collapse.nonspace.html
164         https://bugs.webkit.org/show_bug.cgi?id=92974
165
166         Reviewed by Kenneth Rohde Christiansen.
167
168         Replace space characters by U+0020 SPACE characters in
169         CanvasRenderingContext2D::drawTextInternal() in order to
170         comply with the HTML Canvas 2D Context specification:
171         - http://www.w3.org/TR/2dcontext/#drawing-text-to-the-canvas
172
173         No new tests, already tested by canvas/philip/tests/2d.text.draw.space.collapse.nonspace.html.
174
175         * html/canvas/CanvasRenderingContext2D.cpp:
176         (WebCore::replaceCharacterInString):
177         (WebCore):
178         (WebCore::CanvasRenderingContext2D::drawTextInternal):
179
180 2012-08-14  George Staikos  <staikos@webkit.org>
181
182         [BlackBerry] Avoid assertion failure in App Cache.
183         https://bugs.webkit.org/show_bug.cgi?id=93926
184
185         Reviewed by Rob Buis.
186
187         Short-circuit data url decoding if we know it's not a data URL to
188         avoid an assertion failure in debug mode.  No functional change.
189
190         No new tests since this is just a debug mode assertion failure.
191
192         * loader/appcache/ApplicationCacheGroup.cpp:
193         (WebCore::ApplicationCacheGroup::createResourceHandle):
194
195 2012-08-14  Thiago Marcos P. Santos  <thiago.santos@intel.com>
196
197         [EFL] Do not warn when the default theme is not found
198         https://bugs.webkit.org/show_bug.cgi?id=93968
199
200         Reviewed by Kenneth Rohde Christiansen.
201
202         Even if you are using a custom theme, we always try to load first the
203         theme at the default path (that may or may not exist). In the case it
204         doesn't exist and you have a custom theme, we were always getting a
205         misleading error message.
206
207         * platform/efl/RenderThemeEfl.cpp:
208         (WebCore::RenderThemeEfl::createEdje):
209
210 2012-08-14  Joshua Bell  <jsbell@chromium.org>
211
212         IndexedDB: Pass cursor continue results back in callback
213         https://bugs.webkit.org/show_bug.cgi?id=92278
214
215         Reviewed by Tony Chang.
216
217         Supply the updated cursor key/primaryKey/value in the success callback,
218         rather than forcing the callee to make three calls into the back end to
219         fetch them. Callbacks onSuccess(cursor) and onSuccessWithContinuation()
220         are given the three new payload parameters (and the latter is renamed.)
221
222         No new tests - no behavioral changes.
223
224         * Modules/indexeddb/IDBCallbacks.h: Updated callbacks.
225         (IDBCallbacks):
226         * Modules/indexeddb/IDBCursor.cpp:
227         (WebCore::IDBCursor::setValueReady): Takes values rather than fetching them.
228         * Modules/indexeddb/IDBCursor.h:
229         (IDBCursor):
230         * Modules/indexeddb/IDBCursorBackendImpl.cpp: Delete accessors.
231         (WebCore::IDBCursorBackendImpl::advanceInternal): Pass along updated cursor state.
232         (WebCore::IDBCursorBackendImpl::continueFunctionInternal): Ditto.
233         * Modules/indexeddb/IDBCursorBackendImpl.h:
234         (IDBCursorBackendImpl): Delete accessors from interface...
235         (WebCore::IDBCursorBackendImpl::key): ...but keep them for use within back-end.
236         (WebCore::IDBCursorBackendImpl::primaryKey):
237         (WebCore::IDBCursorBackendImpl::value):
238         * Modules/indexeddb/IDBCursorBackendInterface.h: Delete accessors.
239         * Modules/indexeddb/IDBIndexBackendImpl.cpp:
240         (WebCore::IDBIndexBackendImpl::openCursorInternal): Pass along new cursor state.
241         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
242         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal): Ditto.
243         * Modules/indexeddb/IDBRequest.cpp:
244         (WebCore::IDBRequest::setResultCursor): Stash updated cursor state until dispatch.
245         (WebCore::IDBRequest::onSuccess):
246         (WebCore::IDBRequest::dispatchEvent): Update cursor with new state.
247         * Modules/indexeddb/IDBRequest.h:
248         (IDBRequest):
249         * inspector/InspectorIndexedDBAgent.cpp: Update iteration code to use new callbacks.
250         (WebCore):
251
252 2012-08-14  Arvid Nilsson  <anilsson@rim.com>
253
254         [BlackBerry] Get rid of glCopyTexImage2D in Canvas and WebGL code paths
255         https://bugs.webkit.org/show_bug.cgi?id=93614
256
257         Reviewed by Antonio Gomes.
258
259         We used to set up resource sharing between the compositing thread
260         context and the Canvas and WebGL contexts, and use glCopyTexImage2D to
261         get a copy of the framebuffer to use as front buffer for compositing
262         purposes.
263
264         Now we instead create an EGLImage and blit the Canvas/WebGL output to
265         it. The compositing thread creates a texture from the EGLImage in order
266         to composite the output.
267
268         Created a new EGLImageLayerWebKitThread base class that handles the
269         EGLImage and does the blitting. CanvasLayerWebKitThread and
270         WebGLLayerWebKitThread now inherit from this new base class.
271
272         However, we need to be careful to restore state after the blit because
273         it's done using the Canvas/WebGL context.
274
275         The BlackBerry implementation of GraphicsContext3D::prepareTexture()
276         was changed to no longer call glCopyTexImage, and
277         GraphicsContext3D::platformLayer() now returns the target texture
278         directly.
279
280         Reviewed internally by Filip Spacek.
281
282         PR 188472
283
284         No change in behavior, new tests.
285
286         * PlatformBlackBerry.cmake:
287         * platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:
288         (WebCore::CanvasLayerWebKitThread::CanvasLayerWebKitThread):
289         (WebCore::CanvasLayerWebKitThread::~CanvasLayerWebKitThread):
290         (WebCore::CanvasLayerWebKitThread::setDevice):
291         (WebCore::CanvasLayerWebKitThread::makeContextCurrent):
292         (WebCore::CanvasLayerWebKitThread::textureSize):
293         (WebCore):
294         (WebCore::CanvasLayerWebKitThread::textureID):
295         * platform/graphics/blackberry/CanvasLayerWebKitThread.h:
296         (CanvasLayerWebKitThread):
297         * platform/graphics/blackberry/EGLImageLayerCompositingThreadClient.cpp: Added.
298         (WebCore):
299         (WebCore::EGLImageLayerCompositingThreadClient::~EGLImageLayerCompositingThreadClient):
300         (WebCore::EGLImageLayerCompositingThreadClient::uploadTexturesIfNeeded):
301         (WebCore::EGLImageLayerCompositingThreadClient::drawTextures):
302         (WebCore::EGLImageLayerCompositingThreadClient::deleteTextures):
303         (WebCore::EGLImageLayerCompositingThreadClient::bindContentsTexture):
304         (WebCore::EGLImageLayerCompositingThreadClient::setImage):
305         * platform/graphics/blackberry/EGLImageLayerCompositingThreadClient.h: Added.
306         (WebCore):
307         (EGLImageLayerCompositingThreadClient):
308         (WebCore::EGLImageLayerCompositingThreadClient::create):
309         (WebCore::EGLImageLayerCompositingThreadClient::layerCompositingThreadDestroyed):
310         (WebCore::EGLImageLayerCompositingThreadClient::layerVisibilityChanged):
311         (WebCore::EGLImageLayerCompositingThreadClient::EGLImageLayerCompositingThreadClient):
312         * platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp: Added.
313         (WebCore):
314         (WebCore::EGLImageLayerWebKitThread::EGLImageLayerWebKitThread):
315         (WebCore::EGLImageLayerWebKitThread::~EGLImageLayerWebKitThread):
316         (WebCore::EGLImageLayerWebKitThread::setNeedsDisplay):
317         (WebCore::EGLImageLayerWebKitThread::makeContextCurrent):
318         (WebCore::EGLImageLayerWebKitThread::updateTextureContentsIfNeeded):
319         (WebCore::EGLImageLayerWebKitThread::commitPendingTextureUploads):
320         (WebCore::EGLImageLayerWebKitThread::createImageIfNeeded):
321         (WebCore::EGLImageLayerWebKitThread::createShaderIfNeeded):
322         (WebCore::EGLImageLayerWebKitThread::drawTexture):
323         * platform/graphics/blackberry/EGLImageLayerWebKitThread.h: Copied from Source/WebCore/platform/graphics/blackberry/CanvasLayerWebKitThread.h.
324         (WebCore):
325         (EGLImageLayerWebKitThread):
326         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
327         (WebCore::GraphicsContext3D::prepareTexture):
328         (WebCore):
329         (WebCore::GraphicsContext3D::platformTexture):
330         * platform/graphics/blackberry/LayerCompositingThread.cpp:
331         (WebCore::LayerCompositingThread::drawTextures):
332         (WebCore::LayerCompositingThread::releaseTextureResources):
333         * platform/graphics/blackberry/LayerCompositingThread.h:
334         (WebCore::LayerCompositingThread::setClient):
335         (LayerCompositingThread):
336         * platform/graphics/blackberry/LayerData.h:
337         (WebCore::LayerData::LayerData):
338         (LayerData):
339         * platform/graphics/blackberry/LayerWebKitThread.cpp:
340         (WebCore::LayerWebKitThread::~LayerWebKitThread):
341         (WebCore::LayerWebKitThread::updateTextureContentsIfNeeded):
342         (WebCore::LayerWebKitThread::commitPendingTextureUploads):
343         (WebCore::LayerWebKitThread::commitOnCompositingThread):
344         * platform/graphics/blackberry/LayerWebKitThread.h:
345         (LayerWebKitThread):
346         * platform/graphics/blackberry/WebGLLayerWebKitThread.cpp:
347         (WebCore::WebGLLayerWebKitThread::WebGLLayerWebKitThread):
348         (WebCore::WebGLLayerWebKitThread::updateTextureContentsIfNeeded):
349         (WebCore::WebGLLayerWebKitThread::makeContextCurrent):
350         (WebCore):
351         (WebCore::WebGLLayerWebKitThread::textureSize):
352         (WebCore::WebGLLayerWebKitThread::textureID):
353         * platform/graphics/blackberry/WebGLLayerWebKitThread.h:
354         (WebGLLayerWebKitThread):
355         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
356         (WebCore):
357         (WebCore::GraphicsContext3D::prepareTexture):
358
359 2012-08-14  Arvid Nilsson  <anilsson@rim.com>
360
361         [BlackBerry] Texture cache must adapt to HashMap changes
362         https://bugs.webkit.org/show_bug.cgi?id=93955
363
364         Reviewed by Rob Buis.
365
366         This was fixed locally, but not upstreamed yet.
367
368         Based on an original patch by Konrad Piascik.
369
370         * platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
371         (WebCore::TextureCacheCompositingThread::textureForTiledContents):
372
373 2012-08-14  Arvid Nilsson  <anilsson@rim.com>
374
375         [BlackBerry] LayerCompositingThread.h doesn't compile
376         https://bugs.webkit.org/show_bug.cgi?id=93956
377
378         Reviewed by Rob Buis.
379
380         I forgot to upstream this local change.
381
382         * platform/graphics/blackberry/LayerCompositingThread.h:
383         (WebCore::LayerOverride::setBounds):
384         (WebCore::LayerOverride::setOpacity):
385
386 2012-08-14  Ed Baker  <edbaker@rim.com>
387
388         [BlackBerry] LayerAnimation is not immutable, which makes dereferencing an expensive operation
389         https://bugs.webkit.org/show_bug.cgi?id=93946
390
391         Reviewed by Antonio Gomes.
392
393         Make LayerAnimation immutable so it can be dereferenced from the main
394         WebKit thread without having to dispatch to the compositing thread,
395         which is an expensive operation.
396
397         TransformOperation and TimingFunction need to be made thread safe as
398         they are referenced in LayerAnimation, but that effort is being tracked
399         by a separate bug, #86483.
400
401         Reviewed internally by Arvid Nilsson.
402
403         No change in behavior, no new tests.
404
405         * platform/graphics/blackberry/LayerAnimation.h:
406         (WebCore::LayerAnimation::name):
407         (LayerAnimation):
408         (WebCore::LayerAnimation::LayerAnimation):
409         (WebCore::LayerAnimation::setName):
410         * platform/graphics/blackberry/LayerCompositingThread.cpp:
411         (WebCore):
412         * platform/graphics/blackberry/LayerCompositingThread.h:
413         (LayerCompositingThread):
414         * platform/graphics/blackberry/LayerWebKitThread.cpp:
415         (WebCore::LayerWebKitThread::~LayerWebKitThread):
416
417 2012-08-14  Arvid Nilsson  <anilsson@rim.com>
418
419         [BlackBerry] GraphicsLayerBlackBerry::willBeDestroyed() must call superclass implementation
420         https://bugs.webkit.org/show_bug.cgi?id=93947
421
422         Reviewed by Rob Buis.
423
424         This was fixed locally, but not upstreamed yet.
425
426         Based on an original patch by Konrad Piascik.
427
428         * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
429         (WebCore::GraphicsLayerBlackBerry::willBeDestroyed):
430
431 2012-08-14  Vineet Chaudhary  <rgf748@motorola.com>
432
433         Remove custom JSC bindings from ConvolverNode.idl
434         https://bugs.webkit.org/show_bug.cgi?id=93952
435
436         Reviewed by Kentaro Hara.
437
438         We should remove custom bindings as CodeGenerator uses UNUSED_PARAM macro.
439
440         No new tests. No behavioural changes.
441         All tests under webaudio/* should behave same.
442
443         * GNUmakefile.list.am: Removed JSConvolverNodeCustom.cpp from builds.
444         * Modules/webaudio/ConvolverNode.idl: Removed [JSCustomSetter].
445         * UseJSC.cmake: Removed JSConvolverNodeCustom.cpp from builds.
446         * WebCore.gypi: Ditto.
447         * WebCore.xcodeproj/project.pbxproj: Ditto
448         * bindings/js/JSConvolverNodeCustom.cpp: Removed.
449
450 2012-08-14  Pavel Feldman  <pfeldman@chromium.org>
451
452         Web Inspector: add external test runner for running inspector front-end tests with no TestRunner infrastructure.
453         https://bugs.webkit.org/show_bug.cgi?id=93833
454
455         Reviewed by Yury Semikhatsky.
456
457         Added mock test runner that allows running front-end layout tests.
458         InspectorFrontendAPI can now dispatch whatever it receives from its embedder (opener).
459
460         * inspector/front-end/InspectorFrontendAPI.js:
461         (InspectorFrontendAPI.evaluateForTest):
462         (InspectorFrontendAPI.dispatch):
463         (InspectorFrontendAPI.loadCompleted):
464         (.onMessageFromOpener):
465
466 2012-08-14  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
467
468         [Qt] Incomplete repaint of link underline
469         https://bugs.webkit.org/show_bug.cgi?id=66034
470
471         Reviewed by Kenneth Rohde Christiansen.
472
473         When trying to point a line of width 30, we end up painting on of width 31, because Qt 
474         interprets the line as end-inclusive. So adjust for end-include/exclusive difference 
475         before requesting the draw from Qt.
476
477         * platform/graphics/qt/GraphicsContextQt.cpp:
478         (WebCore::GraphicsContext::drawLine):
479
480 2012-08-14  Mike West  <mkwst@chromium.org>
481
482         Fix crash in http/tests/plugins/plugin-document-has-focus
483         https://bugs.webkit.org/show_bug.cgi?id=93949
484
485         Reviewed by Jochen Eisinger.
486
487         Covered by http/tests/plugins/plugin-document-has-focus.html. If that
488         doesn't crash, we're good!
489
490         * loader/SubframeLoader.cpp:
491         (WebCore::SubframeLoader::pluginIsLoadable):
492             Check the PluginDocument's ownerElement before derefing.
493
494 2012-08-14  KwangYong Choi  <ky0.choi@samsung.com>
495
496         [EFL] Fixed displaying buffering progress in the media control.
497         https://bugs.webkit.org/show_bug.cgi?id=75681
498
499         Reviewed by Kenneth Rohde Christiansen.
500
501         It is required "rangeRect" instead of "rect" to display buffering
502         progress properly.
503
504         * platform/efl/RenderThemeEfl.cpp:
505         (WebCore::RenderThemeEfl::paintMediaSliderTrack):
506
507 2012-08-14  Yoshifumi Inoue  <yosin@chromium.org>
508
509         [Forms] Copy Source/WebCore/html/shadow/TextControlInnerElements.{cpp,h} to SpinButtonElement.{cpp,h}
510         https://bugs.webkit.org/show_bug.cgi?id=93943
511
512         Reviewed by Kent Tamura.
513
514         This patch copys html/shadow/TextControlInnerElement.{cpp,h} to SpinButtonElement.{cpp,h} for
515         preparation of bug 93941, Set SpinButtonElement free from HTMLInputElement.
516
517         No new tests. This patch doesn't change behavior.
518
519         * html/shadow/SpinButtonElement.cpp: Copied from Source/WebCore/html/shadow/TextControlInnerElements.cpp.
520         * html/shadow/SpinButtonElement.h: Copied from Source/WebCore/html/shadow/TextControlInnerElements.h.
521
522 2012-08-14  Mike West  <mkwst@chromium.org>
523
524         Implement the plugin-types Content Security Policy directive.
525         https://bugs.webkit.org/show_bug.cgi?id=91919
526
527         Reviewed by Adam Barth.
528
529         The CSP 1.1 editor's draft defines the 'plugin-types' directive as a
530         mechanism for whitelisting only specific types of plugin content on a
531         page. A protected resource might trust only Flash content, for instance,
532         and could enforce that preference via a Content Security Policy of
533         'plugin-types application/x-shockwave-flash'. Flash would load, no other
534         plugin type would.
535
536         Specification details available at: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#plugin-types--experimental
537
538         This experimental directive is gated on the ENABLE_CSP_NEXT flag, which
539         is currently only enabled in Chromium.
540
541         Tests: http/tests/security/contentSecurityPolicy/1.1/plugintypes-invalid.html
542                http/tests/security/contentSecurityPolicy/1.1/plugintypes-mismatched-data.html
543                http/tests/security/contentSecurityPolicy/1.1/plugintypes-mismatched-url.html
544                http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-data.html
545                http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-url.html
546                http/tests/security/contentSecurityPolicy/1.1/plugintypes-nourl-allowed.html
547                http/tests/security/contentSecurityPolicy/1.1/plugintypes-nourl-blocked.html
548                http/tests/security/contentSecurityPolicy/1.1/plugintypes-url-01.html
549                http/tests/security/contentSecurityPolicy/1.1/plugintypes-url-02.html
550
551         * loader/SubframeLoader.cpp:
552         (WebCore::SubframeLoader::pluginIsLoadable):
553             Adding a check against 'allowPluginType', and passing in both the
554             MIME type of the plugin, as well as the declared MIME type from the
555             object/embed element (ensuring that we do this correctly, even if
556             we're inside a PluginDocument).
557         (WebCore::SubframeLoader::createJavaAppletWidget):
558             Same as 'pluginIsLoadable', but hard-coded to
559             'application/x-java-applet'.
560         * page/ContentSecurityPolicy.cpp:
561         (CSPDirectiveList):
562         (WebCore::CSPDirectiveList::logInvalidPluginTypes):
563             Plugin types that don't match the grammar ('not/a/mime/type') are
564             logged to the console, and ignored for purposes of matching.
565         (WebCore):
566         (WebCore::CSPDirectiveList::checkPluginType):
567             Given both the plugin type and the declared type attribute, returns
568             true if both types match, and are contained in the list of accepted
569             plugin types.
570         (WebCore::CSPDirectiveList::checkPluginTypeAndReportViolation):
571             Calls out to checkPluginType, and reports a violation if that check
572             fails.
573         (WebCore::CSPDirectiveList::allowPluginType):
574             Analog to the other 'CSPDirectiveList::allowXXX' methods, this
575             branches between simply checking the type against the policy, and
576             checking against the policy and then reporting violations.
577         (WebCore::CSPDirectiveList::parsePluginTypes):
578             Given a directive value, parse out the media types contained within
579             by splitting on spaces, and validating each token. Valid tokens are
580             added to 'm_pluginTypes' for use in 'checkPluginType'.
581         (WebCore::CSPDirectiveList::addDirective):
582             Wire up 'plugin-types' as a valid directive (if the ENABLE_CSP_NEXT
583             flag is set). This has been combined with the other implemented 1.1
584             header, 'script-nonce'.
585         (WebCore::ContentSecurityPolicy::allowPluginType):
586             The public interface to this set of functionality.
587         * page/ContentSecurityPolicy.h:
588
589 2012-08-14  Charles Wei  <charles.wei@torchmobile.com.cn>
590
591         [BlackBerry] Enable DNS prefetch
592         https://bugs.webkit.org/show_bug.cgi?id=93846
593
594         Reviewed by George Staikos.
595
596         No new tests.
597
598         * PlatformBlackBerry.cmake:
599         * platform/blackberry/TemporaryLinkStubs.cpp:
600         * platform/network/blackberry/DNSBlackBerry.cpp: Copied from Source/WebCore/platform/blackberry/TemporaryLinkStubs.cpp.
601         (WebCore):
602         (WebCore::prefetchDNS):
603
604 2012-08-14  Hans Wennborg  <hans@chromium.org>
605
606         Speech Input: wrong position was reported for scolled-down elements
607         https://bugs.webkit.org/show_bug.cgi?id=93634
608
609         Reviewed by Kent Tamura.
610
611         When clicking on a speech-enabled input element, WebKit reports
612         the position of the element to the embedder, so that it can show
613         a bubble indicating that speech recognition is in progress for
614         the element that the user clicked on.
615
616         On a page that was scrolled, this position was being reported
617         erroneously: it was given relative to the frame content as opposed to
618         the root view, and the in-progress bubble would be shown in the wrong
619         place.
620
621         Test: fast/speech/bubble-position-scrolled.html
622
623         * html/shadow/TextControlInnerElements.cpp:
624         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
625
626 2012-08-14  Taiju Tsuiki  <tzik@chromium.org>
627
628         Web Inspector: Drop "Loading..." message from FileContentView
629         https://bugs.webkit.org/show_bug.cgi?id=91732
630
631         Reviewed by Vsevolod Vlasov.
632
633         * inspector/front-end/FileContentView.js:
634         (WebInspector.FileContentView.prototype.wasShown):
635
636 2012-08-14  Sheriff Bot  <webkit.review.bot@gmail.com>
637
638         Unreviewed, rolling out r125519.
639         http://trac.webkit.org/changeset/125519
640         https://bugs.webkit.org/show_bug.cgi?id=93945
641
642         New ref-tests caused image failures on chromium-mac bots.
643         (Requested by yutak on #webkit).
644
645         * css/html.css:
646         (meter):
647         * html/HTMLMeterElement.cpp:
648         (WebCore::HTMLMeterElement::HTMLMeterElement):
649         (WebCore::HTMLMeterElement::createRenderer):
650         (WebCore::HTMLMeterElement::didElementStateChange):
651         (WebCore::HTMLMeterElement::createShadowSubtree):
652         * html/HTMLMeterElement.h:
653         (WebCore):
654         (HTMLMeterElement):
655         * html/shadow/MeterShadowElement.cpp:
656         (WebCore::MeterShadowElement::meterElement):
657         (WebCore::MeterShadowElement::rendererIsNeeded):
658         (WebCore):
659         * html/shadow/MeterShadowElement.h:
660         (WebCore):
661         * rendering/RenderMeter.cpp:
662         (WebCore::RenderMeter::RenderMeter):
663         (WebCore::RenderMeter::valueRatio):
664         * rendering/RenderMeter.h:
665         (RenderMeter):
666
667 2012-08-14  Keishi Hattori  <keishi@webkit.org>
668
669         Move page popup resources to separate directory
670         https://bugs.webkit.org/show_bug.cgi?id=93932
671
672         Reviewed by Kent Tamura.
673
674         Keeping the resources organized.
675
676         No new tests.
677
678         * Resources/pagepopups/calendarPicker.css: Renamed from Source/WebCore/Resources/calendarPicker.css.
679         * Resources/pagepopups/calendarPicker.js: Renamed from Source/WebCore/Resources/calendarPicker.js.
680         * Resources/pagepopups/calendarPickerMac.css: Renamed from Source/WebCore/Resources/calendarPickerMac.css.
681         * Resources/pagepopups/colorSuggestionPicker.css: Renamed from Source/WebCore/Resources/colorSuggestionPicker.css.
682         * Resources/pagepopups/colorSuggestionPicker.js: Renamed from Source/WebCore/Resources/colorSuggestionPicker.js.
683         * WebCore.gyp/WebCore.gyp:
684
685 2012-08-14  Yoshifumi Inoue  <yosin@chromium.org>
686
687         [Forms] Move wheel event handler to spin button class
688         https://bugs.webkit.org/show_bug.cgi?id=93928
689
690         Reviewed by Kent Tamura.
691
692         This patch moves implmentation of wheel event handling from TextFieldInput
693         class to SpinButtonElement class to share implementation in TextFieldInput
694         class, and DateTimeEditElement.
695
696         No new tests. This patch doesn't change behavior. fast/orms/number/number-wheel.html
697         covers this change.
698
699         * html/BaseDateAndTimeInputType.cpp: Removed handleWheelEvent() implementation.
700         * html/BaseDateAndTimeInputType.h:
701         (BaseDateAndTimeInputType): Removed handleWheelEvent() declaration.
702         * html/HTMLInputElement.cpp:
703         (WebCore::HTMLInputElement::defaultEventHandler): Removed wheel event handling.
704         * html/InputType.cpp: Removed handleWheelEvent() implementation.
705         * html/InputType.h:
706         (InputType): Removed handleWheelEvent() declaration.
707         * html/NumberInputType.cpp: Removed handleWheelEvent() implementation.
708         * html/NumberInputType.h:
709         (NumberInputType): Removed handleWheelEvent() declaration.
710         * html/TextFieldInputType.cpp: Removed handleWheelEventForSpinButton() declaration.
711         (WebCore::TextFieldInputType::forwardEvent): Changed to call SpinButtonElement::forwardEvent().
712         * html/TextFieldInputType.h:
713         (TextFieldInputType): Removed handleWheelEventForSpinButton() declaration.
714         * html/shadow/TextControlInnerElements.cpp:
715         (WebCore::SpinButtonElement::forwardEvent): Moved implementation of wheel event handling code
716         from TextFieldInputType::handleWheelEventForSpinButton().
717         * html/shadow/TextControlInnerElements.h:
718         (SpinButtonElement): Added forwardEvent() declaration.
719
720 2012-08-14  Shinya Kawanaka  <shinyak@chromium.org>
721
722         AuthorShadowDOM for meter element
723         https://bugs.webkit.org/show_bug.cgi?id=91970
724
725         Reviewed by Hajime Morita.
726
727         We add support for AuthorShadowDOM for a meter element.
728
729         According to the Shadow DOM spec, a meter element should behave like having a UserAgentShadowRoot and
730         an element in UserAgentShadowRoot draws a real 'meter' bar. In this patch, we change the inner structure
731         of a meter element so that we can distribute an element having RenderMeter to AuthorShadowDOM.
732
733         Before this patch, a meter element has the following inner structure.
734
735             <meter>--UserAgentShadowRoot -- -- -- -- -- -- -- -- -- -- AuthorShadowRoot
736                                |
737                                +-- MeterBarElement
738                                |
739                                +-- MeterValueElement
740
741         After this patch, a meter element will have the following inner structure.
742
743             <meter>--UserAgentShadowRoot -- -- -- -- -- -- -- -- -- -- AuthorShadowRoot
744                                |
745                                +-- MeterInnerElement
746                                            |
747                                            +-- MeterBarElement
748                                            |
749                                            +-- MeterValueElement
750
751         However, if RenderTheme supports rendering meter, MeterInnerElement will not create a renderer
752         unless an AuthorShadowDOM is attached to it so that we can keep the current rendering style.
753
754         Tests: fast/dom/shadow/shadowdom-for-meter-dynamic.html
755                fast/dom/shadow/shadowdom-for-meter-multiple.html
756                fast/dom/shadow/shadowdom-for-meter-with-style.html
757                fast/dom/shadow/shadowdom-for-meter-without-appearance.html
758                fast/dom/shadow/shadowdom-for-meter-without-shadow-element.html
759                fast/dom/shadow/shadowdom-for-meter.html
760
761         * css/html.css:
762         (meter): Changed the display type. inline-box is not supported WebKit. inline-block is true.
763         (meter::-webkit-meter-inner-element):
764         * html/HTMLMeterElement.cpp:
765         (WebCore::HTMLMeterElement::HTMLMeterElement):
766         (WebCore::HTMLMeterElement::createRenderer):
767         (WebCore):
768         (WebCore::HTMLMeterElement::didElementStateChange):
769         (WebCore::HTMLMeterElement::willAddAuthorShadowRoot):
770         (WebCore::HTMLMeterElement::renderMeter):
771         (WebCore::HTMLMeterElement::createShadowSubtree):
772         * html/HTMLMeterElement.h:
773         (WebCore):
774         (WebCore::HTMLMeterElement::hasAuthorShadowRoot):
775         (HTMLMeterElement):
776         (WebCore::isHTMLMeterElement):
777         (WebCore::toHTMLMeterElement):
778         * html/shadow/MeterShadowElement.cpp:
779         (WebCore::MeterShadowElement::meterElement):
780         (WebCore::MeterShadowElement::rendererIsNeeded):
781         (WebCore):
782         (WebCore::MeterInnerElement::MeterInnerElement): We introduce a new element having RenderMeter
783         so that we can distribute an element having RenderMeter to AuthorShadowDOM.
784         (WebCore::MeterInnerElement::rendererIsNeeded): Different from a progress element, meter element will not be
785         rendered using a theme. So we don't need to check the style appearance.
786         (WebCore::MeterInnerElement::createRenderer):
787         (WebCore::MeterInnerElement::shadowPseudoId):
788         * html/shadow/MeterShadowElement.h:
789         (WebCore):
790         (MeterInnerElement):
791         (WebCore::MeterInnerElement::create):
792         * rendering/RenderMeter.cpp:
793         (WebCore::RenderMeter::RenderMeter):
794         (WebCore::RenderMeter::meterElement):
795         (WebCore):
796         (WebCore::RenderMeter::valueRatio):
797         * rendering/RenderMeter.h:
798         (RenderMeter):
799
800 2012-08-14  Christophe Dumez  <christophe.dumez@intel.com>
801
802         regression(r124510) webintents/web-intents-obj-constructor.html is crashing
803         https://bugs.webkit.org/show_bug.cgi?id=93096
804
805         Reviewed by Kentaro Hara.
806
807         Add null-check for JSC::ExecState pointer in JSDictionary constructor
808         before using it. The exec may indeed be null, thus causing crashes.
809
810         No new test, already tested by webintents/web-intents-obj-constructor.html
811
812         * bindings/js/JSDictionary.cpp:
813         (WebCore::JSDictionary::tryGetProperty):
814         (WebCore::JSDictionary::getWithUndefinedOrNullCheck):
815         * bindings/js/JSDictionary.h:
816         (WebCore::JSDictionary::JSDictionary):
817
818 2012-08-13  Keishi Hattori  <keishi@webkit.org>
819
820         Remove fade in transition from calendar picker
821         https://bugs.webkit.org/show_bug.cgi?id=93816
822
823         Reviewed by Kent Tamura.
824
825         The fade in transition was incomplete because it was only fading in the
826         popup content and not the popup itself. Removing the effect for now.
827
828         No new tests. Can't test animation.
829
830         * Resources/calendarPicker.css:
831         (#main):
832         * Resources/calendarPicker.js:
833         (initialize):
834         (fixWindowSize):
835
836 2012-08-13  Alex Christensen  <alex.christensen@flexsim.com>
837
838         WPARAM and LPARAM are incorrectly defined for x64
839         https://bugs.webkit.org/show_bug.cgi?id=89902
840
841         Reviewed by Brent Fulgham.
842
843         Include WindowsExtras.h for PLATFORM(WIN) to define WPARAM and LPARAM correctly
844         * platform/PlatformKeyboardEvent.h:
845         * platform/PlatformMouseEvent.h:
846         * platform/PlatformWheelEvent.h:
847         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
848         * platform/win/WindowMessageListener.h:
849
850 2012-08-13  John Bates  <jbates@google.com>
851
852         [Chromium] Patch CCThreadProxy to call setTimebaseAndInterval on CCScheduler
853         https://bugs.webkit.org/show_bug.cgi?id=93918
854
855         Reviewed by James Robinson.
856
857         Also, update some trace events.
858
859         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
860         (WebCore::CCDelayBasedTimeSource::setActive):
861         * platform/graphics/chromium/cc/CCFrameRateController.cpp:
862         (WebCore::CCFrameRateController::setActive):
863         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
864         (WebCore::CCThreadProxy::onVSyncParametersChanged):
865
866 2012-08-13  Douglas Stockwell  <dstockwell@chromium.org>
867
868         Crash in WebCore::RenderBlock::LineBreaker::nextLineBreak
869         https://bugs.webkit.org/show_bug.cgi?id=93806
870
871         Reviewed by Abhishek Arya.
872
873         When looking for line breaks on the first line, existing code was
874         checking for text-combine only in the first-line style. Since
875         text-combine isn't inherited this resulted in a line break being
876         chosen before combineText was called. When this happened and then
877         combineText was called subsequently, the position of the line break
878         iterator would be invalid.
879
880         This patch changes the check to use the regular style as in
881         skipLeadingWhitespace and textWidth.
882
883         Test: fast/text/text-combine-first-line-crash.html
884
885         * rendering/RenderBlockLineLayout.cpp:
886         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Don't use the
887         first-line style when checking text-combine.
888
889 2012-08-13  Kwang Yul Seo  <skyul@company100.net>
890
891         Remove unused method HTMLDocumentParser::script()
892         https://bugs.webkit.org/show_bug.cgi?id=93916
893
894         Reviewed by Eric Seidel.
895
896         The use of HTMLDocumentParser::script() was removed in r61640 and has never been used since then.
897
898         No behavior change, so no new tests.
899
900         * html/parser/HTMLDocumentParser.cpp:
901         * html/parser/HTMLDocumentParser.h:
902
903 2012-08-13  Tom Sepez  <tsepez@chromium.org>
904
905         [chromium] release FrameLoaderClientImpl::m_pluginWidget refptr upon Plugin Document detach.
906         https://bugs.webkit.org/show_bug.cgi?id=93283
907
908         Reviewed by Eric Seidel.
909
910         Chromium has a refptr that needs to be NULLed at this point.
911         
912         The approach is to change the client redirectDataToPlugin method(s) to expect
913         the possibility of a NULL argument, and the use this to clear the refptr on
914         the chromium platform.  Other platforms can merely ignore the NULL case, thereby
915         maintaining the existing behaviour.
916
917         Formal testing is nearly impossible without some chrome-specific plugins.
918
919         * html/PluginDocument.cpp:
920         (WebCore::PluginDocument::detach):
921
922 2012-08-13  Eric Penner  <epenner@google.com>
923
924         [chromium] Paint animated layers immediately to avoid animation hiccups.
925         https://bugs.webkit.org/show_bug.cgi?id=93028
926
927         Reviewed by Adrienne Walker.
928
929         This is a technique used on Android, which is very prone
930         to hiccups in animations. Paint the entire layer if it is
931         of reasonable size such that there is no hiccups when the
932         animation reaches unpainted content. The reasonable size
933         is choosen for page-transitions specifically, as this was
934         the problem case (animations would just jump to the end).
935
936         Since we already have a special case this just modifies it
937         and replaces the unit test with a new one. This can be
938         improved/simplified further when distances/directions are
939         available for the animated layers.
940
941         Replaced one test.
942         Fixed bugs in and improved idlePaintNonVisibleLayers test.
943
944         * platform/graphics/chromium/TiledLayerChromium.cpp:
945         (UpdatableTile):
946         (WebCore::UpdatableTile::resetUpdateState):
947         (WebCore::UpdatableTile::markForUpdate):
948         (WebCore::UpdatableTile::UpdatableTile):
949         (WebCore::TiledLayerChromium::TiledLayerChromium):
950         (WebCore::TiledLayerChromium::pushPropertiesTo):
951         (WebCore):
952         (WebCore::TiledLayerChromium::updateTiles):
953         (WebCore::TiledLayerChromium::markOcclusionsAndRequestTextures):
954         (WebCore::TiledLayerChromium::haveTexturesForTiles):
955         (WebCore::TiledLayerChromium::markTilesForUpdate):
956         (WebCore::TiledLayerChromium::updateTileTextures):
957         (WebCore::TiledLayerChromium::setTexturePrioritiesInRect):
958         (WebCore::TiledLayerChromium::resetUpdateState):
959         (WebCore::TiledLayerChromium::updateContentRect):
960         (WebCore::TiledLayerChromium::needsIdlePaint):
961         (WebCore::TiledLayerChromium::idlePaintRect):
962         * platform/graphics/chromium/TiledLayerChromium.h:
963         (TiledLayerChromium):
964         * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
965         (WebCore::CCLayerTilingData::contentRectToTileIndices):
966         * platform/graphics/chromium/cc/CCPriorityCalculator.h:
967         (WebCore::CCPriorityCalculator::maxPriority):
968
969 2012-08-13  Kentaro Hara  <haraken@chromium.org>
970
971         Unreviewed. Simple refactoring that I forgot to apply in r125495.
972
973         * bindings/v8/V8ThrowException.cpp:
974         (WebCore::domExceptionStackGetter):
975         (WebCore::domExceptionStackSetter):
976         (WebCore::V8ThrowException::setDOMException):
977         * bindings/v8/V8ThrowException.h:
978
979 2012-08-13  Ryuan Choi  <ryuan.choi@samsung.com>
980
981         [CMAKE][EFL] Fix build break with --tiled-backing-store
982         https://bugs.webkit.org/show_bug.cgi?id=93487
983
984         Unreviewed build fix for Efl with --tiled-backing-store.
985
986         * CMakeLists.txt:
987         Checked bison version and selected proper glslang files.
988
989 2012-08-12  Kentaro Hara  <haraken@chromium.org>
990
991         [V8] Factor out exception related methods of V8Proxy
992         https://bugs.webkit.org/show_bug.cgi?id=93792
993
994         Reviewed by Adam Barth.
995
996         To remove V8Proxy, this patch factors out exception related methods of V8Proxy
997         to a separate file.
998
999         (1) Move exception related methods from V8Proxy.{h,cpp} to V8ThrowException.{h,cpp}.
1000         (2) To avoid writing V8ThrowException::throwError() here and there in V8 binding,
1001         implement WebCore::throwError() in V8Binding.{h,cpp}. Ideally, we want to list up
1002         all V8 binding APIs in V8Binding.h.
1003         (3) Replace all V8Proxy::throwError() with throwError().
1004
1005         Nit: I couldn't write the definition of WebCore::throwError() in V8BInding.h
1006         due to circular dependency issues. Either way, these methods wouldn't be
1007         performance-critical.
1008
1009         No tests. No change in behavior.
1010
1011         * UseV8.cmake:
1012         * WebCore.gypi:
1013         * bindings/scripts/CodeGeneratorV8.pm:
1014         (GenerateNormalAttrGetter):
1015         (GenerateNormalAttrSetter):
1016         (GenerateOverloadedFunctionCallback):
1017         (GenerateFunctionCallback):
1018         (GenerateArgumentsCountCheck):
1019         (GenerateParametersCheck):
1020         (GenerateConstructorCallback):
1021         (GenerateEventConstructorCallback):
1022         (GenerateNamedConstructorCallback):
1023         (GenerateFunctionCallString):
1024         * bindings/scripts/test/V8/V8Float64Array.cpp:
1025         (WebCore::Float64ArrayV8Internal::fooCallback):
1026         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1027         (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionCallback):
1028         (WebCore::TestActiveDOMObjectV8Internal::postMessageCallback):
1029         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1030         (WebCore::TestCustomNamedGetterV8Internal::anotherFunctionCallback):
1031         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1032         (WebCore::V8TestEventConstructor::constructorCallback):
1033         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1034         (WebCore::TestEventTargetV8Internal::itemCallback):
1035         (WebCore::TestEventTargetV8Internal::dispatchEventCallback):
1036         * bindings/scripts/test/V8/V8TestInterface.cpp:
1037         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
1038         (WebCore::V8TestInterface::constructorCallback):
1039         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1040         (WebCore::TestMediaQueryListListenerV8Internal::methodCallback):
1041         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1042         (WebCore::V8TestNamedConstructorConstructorCallback):
1043         * bindings/scripts/test/V8/V8TestNode.cpp:
1044         (WebCore::V8TestNode::constructorCallback):
1045         * bindings/scripts/test/V8/V8TestObj.cpp:
1046         (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrGetter):
1047         (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrSetter):
1048         (WebCore::TestObjV8Internal::attrWithSetterExceptionAttrSetter):
1049         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
1050         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrSetter):
1051         (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrSetter):
1052         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
1053         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetter):
1054         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
1055         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrSetter):
1056         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
1057         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter):
1058         (WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
1059         (WebCore::TestObjV8Internal::MethodWithArgsCallback):
1060         (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
1061         (WebCore::TestObjV8Internal::methodWithSequenceArgCallback):
1062         (WebCore::TestObjV8Internal::methodReturningSequenceCallback):
1063         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
1064         (WebCore::TestObjV8Internal::serializedValueCallback):
1065         (WebCore::TestObjV8Internal::idbKeyCallback):
1066         (WebCore::TestObjV8Internal::optionsObjectCallback):
1067         (WebCore::TestObjV8Internal::methodWithExceptionCallback):
1068         (WebCore::TestObjV8Internal::withScriptStateVoidExceptionCallback):
1069         (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
1070         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
1071         (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndOptionalArgCallback):
1072         (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
1073         (WebCore::TestObjV8Internal::methodWithCallbackArgCallback):
1074         (WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgCallback):
1075         (WebCore::TestObjV8Internal::methodWithCallbackAndOptionalArgCallback):
1076         (WebCore::TestObjV8Internal::overloadedMethod1Callback):
1077         (WebCore::TestObjV8Internal::overloadedMethod2Callback):
1078         (WebCore::TestObjV8Internal::overloadedMethod3Callback):
1079         (WebCore::TestObjV8Internal::overloadedMethod4Callback):
1080         (WebCore::TestObjV8Internal::overloadedMethod5Callback):
1081         (WebCore::TestObjV8Internal::overloadedMethod6Callback):
1082         (WebCore::TestObjV8Internal::overloadedMethod7Callback):
1083         (WebCore::TestObjV8Internal::overloadedMethod8Callback):
1084         (WebCore::TestObjV8Internal::overloadedMethod9Callback):
1085         (WebCore::TestObjV8Internal::overloadedMethod10Callback):
1086         (WebCore::TestObjV8Internal::overloadedMethodCallback):
1087         (WebCore::TestObjV8Internal::overloadedMethod11Callback):
1088         (WebCore::TestObjV8Internal::overloadedMethod12Callback):
1089         (WebCore::TestObjV8Internal::classMethodWithClampCallback):
1090         (WebCore::TestObjV8Internal::enabledAtRuntimeMethod1Callback):
1091         (WebCore::TestObjV8Internal::enabledAtRuntimeMethod2Callback):
1092         (WebCore::TestObjV8Internal::enabledPerContextMethod1Callback):
1093         (WebCore::TestObjV8Internal::enabledPerContextMethod2Callback):
1094         (WebCore::TestObjV8Internal::stringArrayFunctionCallback):
1095         (WebCore::TestObjV8Internal::getSVGDocumentCallback):
1096         (WebCore::TestObjV8Internal::convert1Callback):
1097         (WebCore::TestObjV8Internal::convert2Callback):
1098         (WebCore::TestObjV8Internal::convert3Callback):
1099         (WebCore::TestObjV8Internal::convert4Callback):
1100         (WebCore::TestObjV8Internal::convert5Callback):
1101         (WebCore::TestObjV8Internal::strictFunctionCallback):
1102         (WebCore::V8TestObj::constructorCallback):
1103         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1104         (WebCore::TestSerializedScriptValueInterfaceV8Internal::acceptTransferListCallback):
1105         (WebCore::TestSerializedScriptValueInterfaceV8Internal::multiTransferListCallback):
1106         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
1107         * bindings/v8/DateExtension.cpp:
1108         (WebCore::DateExtension::OnSleepDetected):
1109         * bindings/v8/NPV8Object.cpp:
1110         (_NPN_SetException):
1111         * bindings/v8/SerializedScriptValue.cpp:
1112         (WebCore::SerializedScriptValue::transferArrayBuffers):
1113         (WebCore::SerializedScriptValue::SerializedScriptValue):
1114         * bindings/v8/V8Binding.cpp:
1115         (WebCore::setDOMException):
1116         (WebCore):
1117         (WebCore::throwError):
1118         (WebCore::throwTypeError):
1119         (WebCore::throwNotEnoughArgumentsError):
1120         * bindings/v8/V8Binding.h:
1121         (WebCore):
1122         (WebCore::toV8Sequence):
1123         * bindings/v8/V8Collection.cpp:
1124         (WebCore::toOptionsCollectionSetter):
1125         * bindings/v8/V8NPObject.cpp:
1126         (WebCore::npObjectInvokeImpl):
1127         (WebCore::npObjectGetProperty):
1128         (WebCore::npObjectSetProperty):
1129         (WebCore::npObjectPropertyEnumerator):
1130         * bindings/v8/V8NodeFilterCondition.cpp:
1131         (WebCore::V8NodeFilterCondition::acceptNode):
1132         * bindings/v8/V8Proxy.cpp:
1133         (WebCore::handleMaxRecursionDepthExceeded):
1134         (WebCore::V8Proxy::checkNewLegal):
1135         * bindings/v8/V8Proxy.h:
1136         (V8Proxy):
1137         (WebCore):
1138         * bindings/v8/V8ThrowException.cpp: Added.
1139         (WebCore):
1140         (WebCore::DOMExceptionStackGetter):
1141         (WebCore::DOMExceptionStackSetter):
1142         (WebCore::V8ThrowException::setDOMException):
1143         (WebCore::V8ThrowException::throwError):
1144         (WebCore::V8ThrowException::throwTypeError):
1145         (WebCore::V8ThrowException::throwNotEnoughArgumentsError):
1146         * bindings/v8/V8ThrowException.h: Added.
1147         (WebCore):
1148         (V8ThrowException):
1149         * bindings/v8/V8Utilities.cpp:
1150         (WebCore::extractTransferables):
1151         (WebCore::getMessagePortArray):
1152         (WebCore::setTypeMismatchException):
1153         * bindings/v8/WorkerContextExecutionProxy.cpp:
1154         (WebCore::WorkerContextExecutionProxy::evaluate):
1155         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
1156         (WebCore::V8ArrayBuffer::constructorCallback):
1157         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1158         (WebCore::constructWebGLArrayWithArrayBufferArgument):
1159         (WebCore::constructWebGLArray):
1160         (WebCore::setWebGLArrayHelper):
1161         * bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp:
1162         (WebCore::V8AudioBufferSourceNode::bufferAccessorSetter):
1163         * bindings/v8/custom/V8AudioContextCustom.cpp:
1164         (WebCore::V8AudioContext::constructorCallback):
1165         * bindings/v8/custom/V8BlobCustom.cpp:
1166         (WebCore::V8Blob::constructorCallback):
1167         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
1168         (WebCore::V8CSSStyleDeclaration::namedPropertySetter):
1169         * bindings/v8/custom/V8ClipboardCustom.cpp:
1170         (WebCore::V8Clipboard::clearDataCallback):
1171         (WebCore::V8Clipboard::setDragImageCallback):
1172         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
1173         (WebCore::V8DOMFormData::constructorCallback):
1174         (WebCore::V8DOMFormData::appendCallback):
1175         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
1176         (WebCore::V8DOMStringMap::namedPropertySetter):
1177         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1178         (WebCore::WindowSetTimeoutImpl):
1179         (WebCore::handlePostMessageCallback):
1180         * bindings/v8/custom/V8DataViewCustom.cpp:
1181         (WebCore::V8DataView::constructorCallback):
1182         (WebCore::V8DataView::getInt8Callback):
1183         (WebCore::V8DataView::getUint8Callback):
1184         (WebCore::V8DataView::setInt8Callback):
1185         (WebCore::V8DataView::setUint8Callback):
1186         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
1187         (WebCore::handlePostMessageCallback):
1188         * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
1189         (WebCore::V8DirectoryEntry::getDirectoryCallback):
1190         (WebCore::V8DirectoryEntry::getFileCallback):
1191         * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
1192         (WebCore::V8DirectoryEntrySync::getDirectoryCallback):
1193         (WebCore::V8DirectoryEntrySync::getFileCallback):
1194         * bindings/v8/custom/V8DocumentCustom.cpp:
1195         (WebCore::V8Document::evaluateCallback):
1196         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1197         (WebCore::V8HTMLCanvasElement::toDataURLCallback):
1198         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1199         (WebCore::V8HTMLDocument::openCallback):
1200         * bindings/v8/custom/V8HTMLElementCustom.cpp:
1201         (WebCore::V8HTMLElement::itemValueAccessorSetter):
1202         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1203         (WebCore::v8HTMLImageElementConstructorCallback):
1204         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
1205         (WebCore::V8HTMLInputElement::selectionStartAccessorGetter):
1206         (WebCore::V8HTMLInputElement::selectionStartAccessorSetter):
1207         (WebCore::V8HTMLInputElement::selectionEndAccessorGetter):
1208         (WebCore::V8HTMLInputElement::selectionEndAccessorSetter):
1209         (WebCore::V8HTMLInputElement::selectionDirectionAccessorGetter):
1210         (WebCore::V8HTMLInputElement::selectionDirectionAccessorSetter):
1211         (WebCore::V8HTMLInputElement::setSelectionRangeCallback):
1212         * bindings/v8/custom/V8HTMLMediaElementCustom.cpp:
1213         (WebCore::V8HTMLMediaElement::controllerAccessorSetter):
1214         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
1215         (WebCore::V8HTMLOptionsCollection::addCallback):
1216         (WebCore::V8HTMLOptionsCollection::lengthAccessorSetter):
1217         * bindings/v8/custom/V8HistoryCustom.cpp:
1218         (WebCore::V8History::pushStateCallback):
1219         (WebCore::V8History::replaceStateCallback):
1220         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1221         (WebCore::V8InjectedScriptHost::inspectedObjectCallback):
1222         * bindings/v8/custom/V8IntentConstructor.cpp:
1223         (WebCore::V8Intent::constructorCallback):
1224         * bindings/v8/custom/V8LocationCustom.cpp:
1225         (WebCore::V8Location::protocolAccessorSetter):
1226         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
1227         (WebCore::V8MessageChannel::constructorCallback):
1228         * bindings/v8/custom/V8MessagePortCustom.cpp:
1229         (WebCore::handlePostMessageCallback):
1230         * bindings/v8/custom/V8MutationObserverCustom.cpp:
1231         (WebCore::V8MutationObserver::constructorCallback):
1232         * bindings/v8/custom/V8NodeCustom.cpp:
1233         (WebCore::V8Node::insertBeforeCallback):
1234         (WebCore::V8Node::replaceChildCallback):
1235         (WebCore::V8Node::removeChildCallback):
1236         (WebCore::V8Node::appendChildCallback):
1237         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
1238         (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
1239         (WebCore::V8NotificationCenter::createNotificationCallback):
1240         (WebCore::V8NotificationCenter::requestPermissionCallback):
1241         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
1242         (WebCore::V8SQLResultSetRowList::itemCallback):
1243         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
1244         (WebCore::V8SQLTransaction::executeSqlCallback):
1245         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
1246         (WebCore::V8SQLTransactionSync::executeSqlCallback):
1247         * bindings/v8/custom/V8SVGLengthCustom.cpp:
1248         (WebCore::V8SVGLength::valueAccessorGetter):
1249         (WebCore::V8SVGLength::valueAccessorSetter):
1250         (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
1251         * bindings/v8/custom/V8StorageCustom.cpp:
1252         (WebCore::storageSetter):
1253         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1254         (WebCore::getObjectParameter):
1255         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
1256         (WebCore::V8WebGLRenderingContext::getExtensionCallback):
1257         (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
1258         (WebCore::V8WebGLRenderingContext::getParameterCallback):
1259         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
1260         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
1261         (WebCore::V8WebGLRenderingContext::getUniformCallback):
1262         (WebCore::vertexAttribAndUniformHelperf):
1263         (WebCore::uniformHelperi):
1264         (WebCore::uniformMatrixHelper):
1265         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
1266         (WebCore::V8WebKitPoint::constructorCallback):
1267         * bindings/v8/custom/V8WebSocketCustom.cpp:
1268         (WebCore::V8WebSocket::constructorCallback):
1269         (WebCore::V8WebSocket::sendCallback):
1270         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1271         (WebCore::V8WorkerContext::importScriptsCallback):
1272         * bindings/v8/custom/V8WorkerCustom.cpp:
1273         (WebCore::handlePostMessageCallback):
1274         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
1275         (WebCore::V8XMLHttpRequest::constructorCallback):
1276         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1277         (WebCore::V8XMLHttpRequest::responseTextAccessorGetter):
1278         (WebCore::V8XMLHttpRequest::responseAccessorGetter):
1279         (WebCore::V8XMLHttpRequest::openCallback):
1280         (WebCore::V8XMLHttpRequest::sendCallback):
1281
1282 2012-08-13  Kentaro Hara  <haraken@chromium.org>
1283
1284         [V8] Move GCEventData class from V8Binding.h to ScriptGCEvent.h
1285         https://bugs.webkit.org/show_bug.cgi?id=93818
1286
1287         Reviewed by Adam Barth.
1288
1289         (1) This patch moves GCEventData class from V8Binding.h to ScriptGCEvent.h.
1290         (2) This patch makes GCEventData::startTime and GCEventData::usedHeapSize
1291         private members.
1292         (3) This patch removes unused forward declarations from V8Binding.h.
1293
1294         No tests. No change in behavior.
1295
1296         * bindings/v8/ScriptGCEvent.cpp:
1297         (WebCore::ScriptGCEvent::gcPrologueCallback):
1298         (WebCore::ScriptGCEvent::gcEpilogueCallback):
1299         * bindings/v8/ScriptGCEvent.h:
1300         (GCEventData):
1301         (WebCore::GCEventData::GCEventData):
1302         (WebCore::GCEventData::clear):
1303         (WebCore::GCEventData::listeners):
1304         (WebCore::GCEventData::startTime):
1305         (WebCore::GCEventData::setStartTime):
1306         (WebCore::GCEventData::usedHeapSize):
1307         (WebCore::GCEventData::setUsedHeapSize):
1308         (WebCore):
1309         * bindings/v8/V8Binding.h:
1310         (WebCore):
1311         * bindings/v8/V8PerIsolateData.cpp:
1312
1313 2012-08-13  Kentaro Hara  <haraken@chromium.org>
1314
1315         [V8] Move checkNewLegal() from V8Proxy.h to SafeAllocation.h
1316         https://bugs.webkit.org/show_bug.cgi?id=93830
1317
1318         Reviewed by Adam Barth.
1319
1320         This patch moves checkNewLegal() from V8Proxy.h to SafeAllocation.h.
1321         In addition, this patch renames checkNewLegal() to isValidConstructorMode()
1322         for clarification.
1323
1324         No tests. No change in behavior.
1325
1326         * UseV8.cmake:
1327         * WebCore.gypi:
1328         * bindings/v8/SafeAllocation.cpp: Added.
1329         * bindings/v8/SafeAllocation.h:
1330         (WebCore::SafeAllocation::newInstance):
1331         (WebCore):
1332         * bindings/v8/V8Binding.cpp:
1333         (WebCore::createRawTemplate):
1334         * bindings/v8/V8Proxy.cpp:
1335         * bindings/v8/V8Proxy.h:
1336         (V8Proxy):
1337
1338 2012-08-13  Kentaro Hara  <haraken@chromium.org>
1339
1340         [V8] Remove unused methods from V8Binding.h
1341         https://bugs.webkit.org/show_bug.cgi?id=93836
1342
1343         Reviewed by Adam Barth.
1344
1345         enableStringImplCache() and v8UndetectableString() are not used by anybody.
1346
1347         No tests. No change in behavior.
1348
1349         * bindings/v8/V8Binding.h:
1350
1351 2012-08-13  Kentaro Hara  <haraken@chromium.org>
1352
1353         [V8] Move hintForGCIfNecessary() from V8Proxy.h to V8GCController.h
1354         https://bugs.webkit.org/show_bug.cgi?id=93834
1355
1356         Reviewed by Adam Barth.
1357
1358         This patch moves hintForGCIfNecessary() from V8Proxy.h to V8GCController.h.
1359
1360         No tests. No change in behavior.
1361
1362         * bindings/v8/V8GCController.cpp:
1363         (WebCore::V8GCController::hintForGCIfNecessary):
1364         * bindings/v8/V8GCController.h:
1365         (V8GCController):
1366         * bindings/v8/V8Proxy.cpp:
1367         (WebCore::V8Proxy::clearForClose):
1368         (WebCore::V8Proxy::clearForNavigation):
1369         * bindings/v8/V8Proxy.h:
1370         (V8Proxy):
1371
1372 2012-08-13  Sheriff Bot  <webkit.review.bot@gmail.com>
1373
1374         Unreviewed, rolling out r124970.
1375         http://trac.webkit.org/changeset/124970
1376         https://bugs.webkit.org/show_bug.cgi?id=93495
1377
1378         Postponing the merge in a clearer context (Requested by
1379         Michelangelo on #webkit).
1380
1381         * css/CSSParser.cpp:
1382         (WebCore::CSSParser::parseValue):
1383         (WebCore::CSSParser::parseTransform):
1384         * css/CSSParser.h:
1385
1386 2012-08-12  Shawn Singh  <shawnsingh@chromium.org>
1387
1388         [chromium] renderSurface in incorrect space if owning layer has empty but non-zero bounds
1389         https://bugs.webkit.org/show_bug.cgi?id=93795
1390
1391         Reviewed by Adrienne Walker.
1392
1393         If a renderSurface is created by a layer that had zero
1394         area (empty) but non-zero bounds (either width or height was
1395         non-zero), then one translation transform was accidentally being
1396         skipped, causing the renderSurface drawTransform to be incorrect.
1397         The fix is simply to move that transform outside of the
1398         if-statement so it is not skipped.
1399
1400         Unit test added:
1401           CCLayerTreeHostCommonTest.verifyTransformsForDegenerateIntermediateLayer()
1402
1403         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1404         (WebCore::calculateDrawTransformsInternal):
1405
1406 2012-08-13  Kentaro Hara  <haraken@chromium.org>
1407
1408         [V8] Remove [TreatReturnedNullAs=False]
1409         https://bugs.webkit.org/show_bug.cgi?id=93835
1410
1411         Reviewed by Adam Barth.
1412
1413         [TreatReturnedNullAs=False] is neither defined in the Web IDL spec
1414         nor used in any WebKit IDL file.
1415
1416         No tests. No change in behavior.
1417
1418         * WebCore.order:
1419         * bindings/js/JSDOMBinding.cpp:
1420         * bindings/js/JSDOMBinding.h:
1421         (WebCore):
1422         * bindings/scripts/CodeGeneratorJS.pm:
1423         (NativeToJSValue):
1424         * bindings/scripts/CodeGeneratorV8.pm:
1425         (NativeToJSValue):
1426         * bindings/scripts/IDLAttributes.txt:
1427         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
1428         * bindings/scripts/test/CPP/WebDOMTestObj.h:
1429         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1430         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1431         * bindings/scripts/test/JS/JSTestObj.cpp:
1432         (WebCore):
1433         * bindings/scripts/test/JS/JSTestObj.h:
1434         (WebCore):
1435         * bindings/scripts/test/ObjC/DOMTestObj.h:
1436         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1437         * bindings/scripts/test/TestObj.idl:
1438         * bindings/scripts/test/V8/V8TestObj.cpp:
1439         (WebCore::ConfigureV8TestObjTemplate):
1440         * bindings/v8/V8Binding.h:
1441
1442 2012-08-13  Kentaro Hara  <haraken@chromium.org>
1443
1444         [V8] Rename v8ValueToWebCoreDOMStringList() to toDOMStringList()
1445         https://bugs.webkit.org/show_bug.cgi?id=93839
1446
1447         Reviewed by Adam Barth.
1448
1449         For naming consistency with toWebCoreString() and toWebCoreAtomicString(),
1450         this patch renames v8ValueToWebCoreDOMStringList() to toDOMStringList().
1451         ("WebCore" wouldn't be needed because it's clear from "DOMStringList".)
1452
1453         No tests. No change in behavior.
1454
1455         * bindings/scripts/CodeGeneratorV8.pm:
1456         (JSValueToNative):
1457         * bindings/scripts/test/V8/V8TestObj.cpp:
1458         (WebCore::TestObjV8Internal::overloadedMethod6Callback):
1459         (WebCore::TestObjV8Internal::overloadedMethod7Callback):
1460         (WebCore::TestObjV8Internal::overloadedMethod9Callback):
1461         (WebCore::TestObjV8Internal::stringArrayFunctionCallback):
1462         * bindings/v8/V8Binding.cpp:
1463         (WebCore::toDOMStringList):
1464         * bindings/v8/V8Binding.h:
1465         (WebCore):
1466
1467 2012-08-13  Kentaro Hara  <haraken@chromium.org>
1468
1469         [V8] Rename v8ValueToAtomicWebCoreString() to toWebCoreAtomicString()
1470         https://bugs.webkit.org/show_bug.cgi?id=93824
1471
1472         Reviewed by Adam Barth.
1473
1474         For naming consistency with toWebCoreString(), we can rename
1475         v8ValueToAtomicWebCoreString() to toWebCoreAtomicString().
1476         Also we can rename v8ValueToAtomicWebCoreStringWithNullCheck()
1477         to toWebCoreAtomicStringWithNullCheck().
1478
1479         No tests. No change in behavior.
1480
1481         * bindings/scripts/CodeGeneratorV8.pm:
1482         (GenerateNormalAttrSetter):
1483         (GenerateEventListenerCallback):
1484         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1485         (WebCore::TestEventTargetV8Internal::addEventListenerCallback):
1486         (WebCore::TestEventTargetV8Internal::removeEventListenerCallback):
1487         * bindings/scripts/test/V8/V8TestObj.cpp:
1488         (WebCore::TestObjV8Internal::addEventListenerCallback):
1489         (WebCore::TestObjV8Internal::removeEventListenerCallback):
1490         * bindings/v8/V8Binding.cpp:
1491         (WebCore::toWebCoreAtomicString):
1492         * bindings/v8/V8Binding.h:
1493         (WebCore::toWebCoreStringWithNullOrUndefinedCheck):
1494         (WebCore::toWebCoreAtomicStringWithNullCheck):
1495         * bindings/v8/V8Collection.h:
1496         (WebCore::getNamedPropertyOfCollection):
1497         * bindings/v8/V8DOMWindowShell.cpp:
1498         (WebCore::getter):
1499         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1500         (WebCore::V8DOMWindow::namedPropertyGetter):
1501         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
1502         (WebCore::V8HTMLAllCollection::namedPropertyGetter):
1503         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
1504         (WebCore::V8HTMLCollection::namedPropertyGetter):
1505         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
1506         (WebCore::V8HTMLFormElement::namedPropertyGetter):
1507         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
1508         (WebCore::V8HTMLFrameSetElement::namedPropertyGetter):
1509         * bindings/v8/custom/V8NodeListCustom.cpp:
1510         (WebCore::V8NodeList::namedPropertyGetter):
1511
1512 2012-08-13  Kentaro Hara  <haraken@chromium.org>
1513
1514         [V8] Remove v8ValueToWebCoreString()
1515         https://bugs.webkit.org/show_bug.cgi?id=93822
1516
1517         Reviewed by Adam Barth.
1518
1519         There are two equivalent ways to convert a V8 value to a WebCore String;
1520         i.e. v8ValueToWebCoreString() and toWebCoreString(). We can remove the former.
1521
1522         In a follow-up patch, I will replace v8ValueToAtomicWebCoreString()
1523         with toWebCoreAtomicString(), for consistency with toWebCoreString().
1524
1525         No tests. No change in behavior.
1526
1527         * bindings/v8/Dictionary.cpp:
1528         (WebCore::Dictionary::get):
1529         (WebCore::Dictionary::getWithUndefinedOrNullCheck):
1530         (WebCore::Dictionary::getOwnPropertiesAsStringHashMap):
1531         * bindings/v8/IDBBindingUtilities.cpp:
1532         (WebCore::createIDBKeyFromValue):
1533         * bindings/v8/ScriptDebugServer.cpp:
1534         (WebCore::ScriptDebugServer::setBreakpoint):
1535         * bindings/v8/V8Binding.cpp:
1536         (WebCore::toWebCoreString):
1537         (WebCore::v8ValueToWebCoreDOMStringList):
1538         * bindings/v8/V8Binding.h:
1539         (WebCore::toWebCoreStringWithNullCheck):
1540         * bindings/v8/custom/V8MessageEventCustom.cpp:
1541         (WebCore::V8MessageEvent::initMessageEventCallback):
1542
1543 2012-08-13  Kentaro Hara  <haraken@chromium.org>
1544
1545         [V8] Move the ConstructorMode class from V8Binding.h to SafeAllocation.h
1546         https://bugs.webkit.org/show_bug.cgi?id=93821
1547
1548         Reviewed by Adam Barth.
1549
1550         This patch factors out the ConstructorMode class from V8Binding.h to SafeAllocation.h.
1551
1552         No tests. No change in behavior.
1553
1554         * bindings/v8/SafeAllocation.h:
1555         (ConstructorMode):
1556         (WebCore::ConstructorMode::ConstructorMode):
1557         (WebCore::ConstructorMode::~ConstructorMode):
1558         (WebCore::ConstructorMode::current):
1559         (WebCore):
1560         * bindings/v8/V8Binding.h:
1561         * bindings/v8/V8RecursionScope.h:
1562
1563 2012-08-13  Kentaro Hara  <haraken@chromium.org>
1564
1565         [V8] Remove V8BindingHelpers
1566         https://bugs.webkit.org/show_bug.cgi?id=93807
1567
1568         Reviewed by Adam Barth.
1569
1570         V8BindingHelpers contains toV8Context() and toV8Proxy(), which are used
1571         by NPV8Object.cpp only.
1572
1573         (1) Move these methods to NPV8Object.cpp as static methods.
1574         (2) Remove V8BindingHelpers.{h,cpp}.
1575
1576         No tests. No change in behavior.
1577
1578         * UseV8.cmake:
1579         * WebCore.gypi:
1580         * bindings/v8/NPV8Object.cpp:
1581         (WebCore::toV8Context):
1582         (WebCore):
1583         (WebCore::toV8Proxy):
1584         * bindings/v8/V8Binding.h:
1585         * bindings/v8/V8BindingHelpers.cpp: Removed.
1586         * bindings/v8/V8BindingHelpers.h: Removed.
1587
1588 2012-08-13  Kentaro Hara  <haraken@chromium.org>
1589
1590         [V8] Remove unused methods and headers from V8Utilities
1591         https://bugs.webkit.org/show_bug.cgi?id=93805
1592
1593         Reviewed by Adam Barth.
1594
1595         This patch removes unused methods, forward declarations and
1596         headers from V8Utilities.{h,cpp}.
1597
1598         No tests. No change in behavior.
1599
1600         * bindings/v8/V8Utilities.cpp:
1601         * bindings/v8/V8Utilities.h:
1602         (WebCore):
1603
1604 2012-08-13  Kentaro Hara  <haraken@chromium.org>
1605
1606         [V8] Move V8PerIsolateData::visitExternalStrings() to V8PerIsolateData.cpp
1607         https://bugs.webkit.org/show_bug.cgi?id=93803
1608
1609         Reviewed by Adam Barth.
1610
1611         In r125015, I forgot to move V8PerIsolateData::visitExternalStrings()
1612         to V8PerIsolateData.cpp. This patch moves it.
1613
1614         No tests. No change in behavior.
1615
1616         * bindings/v8/V8Binding.cpp:
1617         * bindings/v8/V8PerIsolateData.cpp:
1618         (WebCore):
1619         (WebCore::V8PerIsolateData::visitExternalStrings):
1620
1621 2012-08-13  Elliott Sprehn  <esprehn@chromium.org>
1622
1623         Expand list of supported languages for RenderQuote to match WHATWG spec
1624         https://bugs.webkit.org/show_bug.cgi?id=93424
1625
1626         Reviewed by Eric Seidel.
1627
1628         Expand the table of quotes to include the 148 lang values and associated quotes
1629         from the WHATWG web-apps recommended styling spec.
1630
1631         Test: fast/css-generated-content/quotes-lang-case-insensitive.html
1632
1633         * rendering/RenderQuote.cpp: Added missing copyright.
1634         (WebCore::quotesDataLanguageMap): Expanded the table of quotes.
1635         (WebCore::basicQuotesData): Added a FIXME to switch to using stylized "en" quotes.
1636         * rendering/RenderQuote.h: Added missing copyright.
1637
1638 2012-08-09  Kentaro Hara  <haraken@chromium.org>
1639
1640         [V8] Remove evaluateInIsolatedWorld() from V8Proxy
1641         https://bugs.webkit.org/show_bug.cgi?id=93679
1642
1643         Reviewed by Adam Barth.
1644
1645         To remove V8Proxy, this patch moves V8Proxy::evaluateInIsolatedWorld()
1646         to ScriptController.
1647
1648         No tests. No change in behavior.
1649
1650         * bindings/v8/ScriptController.cpp:
1651         (WebCore::ScriptController::evaluateInIsolatedWorld):
1652         * bindings/v8/V8Proxy.cpp:
1653         (WebCore::V8Proxy::precompileScript):
1654
1655 2012-08-13  Bear Travis  <betravis@adobe.com>
1656
1657         [CSS Exclusions] Remove unused CSSWrapShapes header includes
1658         https://bugs.webkit.org/show_bug.cgi?id=93395
1659
1660         Reviewed by Kentaro Hara.
1661
1662         Removing the #include "CSSWrapShapes.h" lines from StyleBuilder.cpp and
1663         RenderStyle.cpp. Both files now use the length-based WrapShapes.h classes.
1664
1665         * css/StyleBuilder.cpp:
1666         * rendering/style/RenderStyle.cpp:
1667
1668 2012-08-13  Pravin D  <pravind.2k4@gmail.com>
1669
1670         Bad cast in RenderBox::computeReplacedLogicalHeightUsing
1671         https://bugs.webkit.org/show_bug.cgi?id=93875
1672
1673         Reviewed by Abhishek Arya.
1674
1675         Pointer to the container of a replaced element was being type casted to renderbox
1676         without checking if the container is a renderbox or not.
1677
1678         Test: fast/replaced/render-inline-cast-to-render-box-crash.html
1679
1680         * rendering/RenderBox.cpp:
1681         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
1682          Scrollbar height is retrieved only if the container is a renderBox. Otherwise scrollbar is taken as zero.
1683
1684 2012-08-13  James Robinson  <jamesr@chromium.org>
1685
1686         [chromium] Make WebAnimation a pure virtual interface to hide implementation and avoid unresolved symbols
1687         https://bugs.webkit.org/show_bug.cgi?id=93907
1688
1689         Reviewed by Darin Fisher.
1690
1691         Updates WebAnimation users for interface changes.
1692
1693         * platform/graphics/chromium/AnimationTranslationUtil.cpp:
1694         (WebCore::createWebAnimation):
1695         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1696         (WebCore::GraphicsLayerChromium::addAnimation):
1697
1698 2012-08-11  Raphael Kubo da Costa  <rakuco@webkit.org>
1699
1700         [CMake] Rewrite FindLibSoup2.cmake.
1701         https://bugs.webkit.org/show_bug.cgi?id=93191
1702
1703         Reviewed by Rob Buis.
1704
1705         * PlatformEfl.cmake: Use LIBSOUP_FOO instead of LIBSOUP24_FOO,
1706         also link against GObject, which is needed by libsoup.
1707
1708 2012-08-10  James Robinson  <jamesr@chromium.org>
1709
1710         [chromium] Clean up dependencies for Canvas2DLayerBridgeTest and GraphicsLayerChromiumTest unit tests
1711         https://bugs.webkit.org/show_bug.cgi?id=93757
1712
1713         Reviewed by Adrienne Walker.
1714
1715         Exposes the current contentsScale for tests.
1716
1717         * platform/graphics/chromium/GraphicsLayerChromium.h:
1718         (GraphicsLayerChromium):
1719
1720 2012-08-13  Andreas Kling  <kling@webkit.org>
1721
1722         Reduce the size of empty NinePieceImage objects.
1723         <http://webkit.org/b/93747>
1724
1725         Reviewed by Antti Koivisto.
1726
1727         Move the members of NinePieceImage into a NinePieceImageData class, leaving NinePieceImage
1728         with a single OwnPtr<NinePieceImageData> member. The constant NinePieceImage::defaultData()
1729         provides default values for objects with null m_data.
1730
1731         RenderStyle's "StyleSurroundData" member has a BorderData, which in turn holds a NinePieceImage.
1732         This means that anything with left/right/top/bottom, margin, padding or border style but *no*
1733         border-image will save 104 bytes (assuming their RenderStyle is unshared, which is fairly common.)
1734
1735         This reduces the size of StyleSurroundData by 104 bytes, effectively reducing memory consumption
1736         by 1.72MB when viewing the full HTML5 spec at <http://whatwg.org/c>
1737
1738         * rendering/style/NinePieceImage.cpp:
1739         (WebCore::NinePieceImageData::operator==):
1740         (WebCore::NinePieceImage::defaultData):
1741         (WebCore):
1742         * rendering/style/NinePieceImage.h:
1743         (WebCore::NinePieceImageData::NinePieceImageData):
1744         (NinePieceImageData):
1745         (WebCore::NinePieceImageData::operator!=):
1746         (WebCore):
1747         (NinePieceImage):
1748         (WebCore::NinePieceImage::NinePieceImage):
1749         (WebCore::NinePieceImage::operator=):
1750         (WebCore::NinePieceImage::operator==):
1751         (WebCore::NinePieceImage::operator!=):
1752         (WebCore::NinePieceImage::hasImage):
1753         (WebCore::NinePieceImage::image):
1754         (WebCore::NinePieceImage::setImage):
1755         (WebCore::NinePieceImage::imageSlices):
1756         (WebCore::NinePieceImage::setImageSlices):
1757         (WebCore::NinePieceImage::fill):
1758         (WebCore::NinePieceImage::setFill):
1759         (WebCore::NinePieceImage::borderSlices):
1760         (WebCore::NinePieceImage::setBorderSlices):
1761         (WebCore::NinePieceImage::outset):
1762         (WebCore::NinePieceImage::setOutset):
1763         (WebCore::NinePieceImage::horizontalRule):
1764         (WebCore::NinePieceImage::setHorizontalRule):
1765         (WebCore::NinePieceImage::verticalRule):
1766         (WebCore::NinePieceImage::setVerticalRule):
1767         (WebCore::NinePieceImage::copyImageSlicesFrom):
1768         (WebCore::NinePieceImage::copyBorderSlicesFrom):
1769         (WebCore::NinePieceImage::copyOutsetFrom):
1770         (WebCore::NinePieceImage::copyRepeatFrom):
1771         (WebCore::NinePieceImage::setMaskDefaults):
1772         (WebCore::NinePieceImage::ensureData):
1773         (WebCore::NinePieceImage::data):
1774
1775 2012-08-13  Florin Malita  <fmalita@chromium.org>
1776
1777         WebKit+SVG does not support color-interpolation-filters or draw filters in correct colorspace
1778         https://bugs.webkit.org/show_bug.cgi?id=6033
1779
1780         Reviewed by Dirk Schulze.
1781
1782         This patch adds support for SVG color-interpolation-filters. All non-CG plarforms now
1783         perform color space conversions as needed (CG performs color space adjustments internally),
1784         and the new default color space for filters is linearRGB
1785         (http://www.w3.org/TR/SVG/filters.html#FilterPrimitivesOverviewIntro).
1786
1787         FilterEffect tracks the color-interpolation-filters attribute (m_colorSpace) and the
1788         current result color space (m_resultColorSpace). When applying, the input results are
1789         converted to the current FilterEffect's color space, and at the end of the filter effect
1790         chain the result is finally converted to ColorSpaceDeviceRGB.
1791
1792         FilterEffect::transformResultColorSpace() handles non-CG color space converion (CG has
1793         built in support for different color spaces) by first converting the result to an image
1794         buffer, and then using the platform specific ImageBuffer::transformColorSpace(). This can
1795         be expensive for filter chains with alternating color-interpolation-filters, but can be
1796         optimized if/when color space support is added to all the graphics backends similarly to CG.
1797
1798         As expected, lots of filter-related pixel results will require rebaselining after this lands.
1799
1800         Test: svg/filters/color-interpolation-filters.svg
1801
1802         * platform/graphics/filters/FilterEffect.cpp:
1803         (WebCore::FilterEffect::FilterEffect):
1804         (WebCore::FilterEffect::apply):
1805         (WebCore::FilterEffect::asImageBuffer):
1806         (WebCore::FilterEffect::createImageBufferResult):
1807         (WebCore::FilterEffect::transformResultColorSpace):
1808         (WebCore):
1809         * platform/graphics/filters/FilterEffect.h:
1810         (WebCore::FilterEffect::colorSpace):
1811         (WebCore::FilterEffect::setColorSpace):
1812         (FilterEffect):
1813         * platform/graphics/filters/SourceGraphic.h:
1814         (WebCore::SourceGraphic::SourceGraphic):
1815         * rendering/FilterEffectRenderer.cpp:
1816         (WebCore::FilterEffectRenderer::apply):
1817         * rendering/svg/RenderSVGResourceFilter.cpp:
1818         (WebCore::RenderSVGResourceFilter::buildPrimitives):
1819         (WebCore::RenderSVGResourceFilter::postApplyResource):
1820
1821 2012-08-13  Raymond Toy  <rtoy@google.com>
1822
1823         Oscillator node should throw exception if type is assigned an invalid value
1824         https://bugs.webkit.org/show_bug.cgi?id=93490
1825
1826         Reviewed by Chris Rogers.
1827
1828         New tests added to oscillator-basic to catch exceptions.
1829
1830         * Modules/webaudio/Oscillator.cpp:
1831         (WebCore::Oscillator::Oscillator):
1832         (WebCore::Oscillator::setType): Return exception
1833         * Modules/webaudio/Oscillator.h:
1834         (Oscillator): Update setType declaration
1835         * Modules/webaudio/Oscillator.idl: setType can raise exception.
1836
1837 2012-08-13  Chris Rogers  <crogers@google.com>
1838
1839         AudioContext::createMediaStreamSource() must create a provider for local MediaStreams
1840         https://bugs.webkit.org/show_bug.cgi?id=93756
1841
1842         Reviewed by Eric Carlson.
1843
1844         There are two main kinds of MediaStreams (local and from remote peers).
1845         Internally we need to know the difference so a MediaStreamAudioSourceNode will "just work".
1846
1847         Tested by existing test: mediastreamaudiosourcenode.html
1848         Full testing can only be verified by manual tests.
1849
1850         * Modules/mediastream/LocalMediaStream.h:
1851         (LocalMediaStream):
1852         * Modules/mediastream/MediaStream.h:
1853         (WebCore::MediaStream::isLocal):
1854         (MediaStream):
1855         * Modules/webaudio/AudioContext.cpp:
1856         (WebCore::AudioContext::createMediaStreamSource):
1857
1858 2012-08-13  Simon Hausmann  <simon.hausmann@nokia.com>
1859
1860         Unreviewed, rolling out r125444.
1861         http://trac.webkit.org/changeset/125444
1862         https://bugs.webkit.org/show_bug.cgi?id=93872
1863
1864         Broke some tests
1865
1866         * bridge/qt/qt_runtime.cpp:
1867         (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod):
1868         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
1869         * bridge/qt/qt_runtime.h:
1870         (QtRuntimeMethod):
1871
1872 2012-08-13  Thiago Marcos P. Santos  <thiago.santos@intel.com>
1873
1874         CanvasRenderContext2D::font() does not re-serialize the font
1875         https://bugs.webkit.org/show_bug.cgi?id=50859
1876
1877         Reviewed by Kenneth Rohde Christiansen.
1878
1879         Added proper serialization for the font property.
1880
1881         No new tests, unskipped the existing ones.
1882
1883         * html/canvas/CanvasRenderingContext2D.cpp:
1884         (WebCore::CanvasRenderingContext2D::font):
1885
1886 2012-08-13  Elliott Sprehn  <esprehn@chromium.org>
1887
1888         CSS quotes output quotes when depth is negative
1889         https://bugs.webkit.org/show_bug.cgi?id=92690
1890
1891         Reviewed by Eric Seidel.
1892
1893         Previously if the quote depth would go negative we would output the close quote from the
1894         first pair of quotes again instead of outputting no quotes as required by the spec.
1895  
1896         See: http://www.w3.org/TR/CSS21/generate.html#quotes-insert
1897
1898         Test: fast/css-generated-content/nested-quote-more-than-pairs.html
1899
1900         * rendering/RenderQuote.cpp:
1901         (WebCore::RenderQuote::originalText): Allow the value passed to getOpenQuote to go negative by removing std::max.
1902         * rendering/style/QuotesData.cpp:
1903         (WebCore::QuotesData::getOpenQuote): Bounds check for negative values for safety.
1904         (WebCore::QuotesData::getCloseQuote): Allow index to be >= -1 and return an empty string for -1.
1905
1906 2012-08-13  Vangelis Kokkevis  <vangelis@chromium.org>
1907
1908         [chromium] Clear HUD canvas contents before drawing into it.
1909         https://bugs.webkit.org/show_bug.cgi?id=93759
1910
1911         Reviewed by Adrienne Walker.
1912
1913         Not clearing the bitmaps before drawing into it results into
1914         random noise. This patch also caches the SkCanvas used by the HUD
1915         to avoid reallocating it every frame.
1916
1917         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp:
1918         (WebCore::CCHeadsUpDisplayLayerImpl::willDraw):
1919         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h:
1920
1921 2012-08-13  Simon Hausmann  <simon.hausmann@nokia.com>
1922
1923         [Qt] Replace use of internal Weak smart pointer with JSWeakObjectMap
1924         https://bugs.webkit.org/show_bug.cgi?id=93872
1925
1926         Reviewed by Kenneth Rohde Christiansen.
1927
1928         The intention of this patch series is to replace use of internal JSC
1929         API with use of the stable and public C API.
1930
1931         The JSC::Weak template is internal API and the only part of the C API
1932         that exposes similar functionality is the JSWeakObjectMap. It is
1933         special in the sense that its life-time is tied to the life-time of the
1934         JS global object, which in turn is subject to garbage collection. In
1935         order to maximize re-use of the same map across different JSContextRef
1936         instances, we use the associated global context ref as owner of the
1937         weak maps. The key in the weak map is the identity (pointer) of the
1938         runtime method object itself.  The iteration through the maps is
1939         tedious, but should usually not go beyond just a few.
1940
1941         * bridge/qt/qt_runtime.cpp:
1942         (Bindings):
1943         (JSC::Bindings::methodMapCleaner):
1944         (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod):
1945         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
1946         * bridge/qt/qt_runtime.h:
1947         (QtRuntimeMethod):
1948
1949 2012-08-13  Raphael Kubo da Costa  <rakuco@webkit.org>
1950
1951         [CMake] Remove glib-related Find modules and write single new one instead.
1952         https://bugs.webkit.org/show_bug.cgi?id=93786
1953
1954         Reviewed by Rob Buis.
1955
1956         No new tests, build system plumbing.
1957
1958         * PlatformEfl.cmake: Use GLIB_* instead of Glib_*, and link
1959         directly against GIO, as code in the soup network backend uses
1960         that.
1961
1962 2012-08-13  Simon Hausmann  <simon.hausmann@nokia.com>
1963
1964         [Qt] Simplify storage and reduce size of QtConnectionObject
1965         https://bugs.webkit.org/show_bug.cgi?id=93868
1966
1967         Reviewed by Kenneth Rohde Christiansen.
1968
1969         The connection object is a child of the sender QObject, so we can use parent()
1970         whenever we need the sender instead of keeping an extra QObject pointer. Also
1971         QtConnectionObject kept a RefPtr to the Instance, but actually only needed the
1972         root object, so we can store a pointer to that instead.
1973
1974         * bridge/qt/qt_runtime.cpp:
1975         (JSC::Bindings::QtConnectionObject::QtConnectionObject):
1976         (JSC::Bindings::QtConnectionObject::~QtConnectionObject):
1977         (JSC::Bindings::QtConnectionObject::execute):
1978         (JSC::Bindings::QtConnectionObject::match):
1979         * bridge/qt/qt_runtime.h:
1980         (QtConnectionObject):
1981
1982 2012-08-13  Zan Dobersek  <zandobersek@gmail.com>
1983
1984         Media(Stream|Element)AudioSourceNode should be guarded by the WEB_AUDIO condition as well
1985         https://bugs.webkit.org/show_bug.cgi?id=93864
1986
1987         Reviewed by Eric Carlson.
1988
1989         Add the WEB_AUDIO to the Conditional attribute in MediaElementAudioSourceNode
1990         IDL file and the ENABLE(WEB_AUDIO) compilation guard to the header files for both
1991         MediaStreamAudioSourceNode and MediaElementAudioSourceNode.
1992
1993         No new tests - no new functionality.
1994
1995         * Modules/webaudio/MediaElementAudioSourceNode.h:
1996         * Modules/webaudio/MediaStreamAudioSourceNode.h:
1997         * Modules/webaudio/MediaStreamAudioSourceNode.idl:
1998
1999 2012-08-13  Simon Hausmann  <simon.hausmann@nokia.com>
2000
2001         [Qt] Clean up exception handling
2002         https://bugs.webkit.org/show_bug.cgi?id=93880
2003
2004         Reviewed by Kenneth Rohde Christiansen.
2005
2006         The JSC C API uses a JSValueRef* exception parameter to indicate to the
2007         caller that an exception was thrown. Naturally the caller must store
2008         that ValueRef on the stack in order to get seen and marked by the
2009         garbage collector, otherwise the callee would have to use
2010         JSValueProtect on it.
2011
2012         This patch fixes one such case where in fact the exception pointer was passed as zero to the
2013         callee and thus ignored. The patch also removes an unused exception parameter.
2014
2015         * bridge/qt/qt_class.cpp:
2016         (JSC::Bindings::QtClass::fallbackObject):
2017         * bridge/qt/qt_runtime.cpp:
2018         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
2019         * bridge/qt/qt_runtime.h:
2020
2021 2012-08-13  Pavel Feldman  <pfeldman@chromium.org>
2022
2023         Web Inspector: remove commitEditing from the text editor delegate.
2024         https://bugs.webkit.org/show_bug.cgi?id=93858
2025
2026         Reviewed by Vsevolod Vlasov.
2027
2028         This should be up to the source frame.
2029
2030         * inspector/front-end/DefaultTextEditor.js:
2031         (WebInspector.DefaultTextEditor.prototype._registerShortcuts):
2032         * inspector/front-end/SourceFrame.js:
2033         (WebInspector.SourceFrame):
2034         (WebInspector.SourceFrame.prototype.scrollChanged):
2035         (WebInspector.SourceFrame.prototype._handleKeyDown):
2036         (WebInspector.SourceFrame.prototype._commitEditing):
2037         * inspector/front-end/TextEditor.js:
2038
2039 2012-08-13  Sheriff Bot  <webkit.review.bot@gmail.com>
2040
2041         Unreviewed, rolling out r125430.
2042         http://trac.webkit.org/changeset/125430
2043         https://bugs.webkit.org/show_bug.cgi?id=93881
2044
2045         Caused css2.1/t1604-c541-word-sp-00-b-a.html to regress on Mac
2046         builds (Requested by mwenge on #webkit).
2047
2048         * platform/graphics/WidthIterator.cpp:
2049         (WebCore::WidthIterator::advance):
2050         * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp:
2051         (WebCore::HarfBuzzShaperBase::isWordEnd):
2052         * platform/graphics/harfbuzz/HarfBuzzShaperBase.h:
2053         (HarfBuzzShaperBase):
2054         (WebCore::HarfBuzzShaperBase::isCodepointSpace):
2055         * platform/graphics/mac/ComplexTextController.cpp:
2056         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2057         * rendering/RenderBlockLineLayout.cpp:
2058         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
2059         * rendering/RenderText.cpp:
2060         (WebCore::RenderText::widthFromCache):
2061
2062 2012-08-13  Mike West  <mkwst@chromium.org>
2063
2064         FrameLoader::receivedMainResourceError doesn't handle GET cancellations well.
2065         https://bugs.webkit.org/show_bug.cgi?id=93850
2066
2067         Reviewed by Adam Barth.
2068
2069         'FrameLoader::cancel' should reset the loader's state, and it mostly
2070         does. In the case of a GET form submission, however, the submitted form
2071         URL that's stored doesn't match the URL that's requested (query string).
2072         This leads to the loader getting a bit confused about what's going on,
2073         and not clearing the stored form submission URL.
2074
2075         This patch moves to storing the form submission's actual request URL
2076         as opposed to the form action URL.
2077
2078         None of the current tests should break, and when issue 93777 lands, it
2079         won't be broken either.
2080
2081         * loader/FrameLoader.cpp:
2082         (WebCore::FrameLoader::submitForm):
2083             Switched to using 'FormSubmission::requestURL', as that matches the
2084             URL that's actually requested during a form submission via GET.
2085
2086 2012-08-13  Antonio Gomes  <agomes@rim.com>
2087
2088         [BlackBerry] Hardware accelerated scrolling of <select> content
2089         https://bugs.webkit.org/show_bug.cgi?id=93856
2090
2091         Reviewed by Rob Buis.
2092
2093         Internally reviewed by Matthew Staikos.
2094
2095         * Resources/blackberry/selectControlBlackBerry.css: add -webkit-overflow-scrolling: touch (EOM).
2096         (.select-area):
2097
2098 2012-08-13  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2099
2100         [Qt] Assertion in RenderObject::offsetFromAncestorContainer
2101         https://bugs.webkit.org/show_bug.cgi?id=93845
2102
2103         Reviewed by Kenneth Rohde Christiansen.
2104
2105         Do not attempt to clip using layers that are not containers of the renderer.
2106
2107         * page/GestureTapHighlighter.cpp:
2108
2109 2012-08-13  Dominik Röttsches  <dominik.rottsches@intel.com>
2110
2111         [Cairo] canvas/philip/tests/2d.drawImage.self.2.html test failing on ports using Cairo
2112         https://bugs.webkit.org/show_bug.cgi?id=93244
2113
2114         Reviewed by Kenneth Rohde Christiansen.
2115
2116         Similar to Skia's and Qt's ImageBuffer implementation we need to make sure that buffers
2117         for images are copied when the destination canvas is identical to the
2118         image buffer's context. This happens mostly in JS calls to canvas' drawImage method.
2119         For now fixing the drawImage case, drawPattern case is handled in bug 93854.
2120
2121         No new tests, covered by canvas/philip/tests/2d.drawImage.self.2.html
2122
2123         * platform/graphics/cairo/ImageBufferCairo.cpp:
2124         (WebCore::ImageBuffer::draw): Making sure buffer is copied when source and destination contexts are identical.
2125
2126 2012-06-24  Robert Hogan  <robert@webkit.org>
2127
2128         CSS 2.1 failure: Word-spacing affects each space and non-breaking space
2129         https://bugs.webkit.org/show_bug.cgi?id=89826
2130
2131         Reviewed by Eric Seidel.
2132
2133         Add word spacing to consecutive spaces in a run per http://www.w3.org/TR/CSS21/text.html#spacing-props.
2134
2135         Test: fast/css/word-spacing-characters.html
2136               fast/css/word-spacing-characters-complex-text.html
2137               fast/css/word-spacing-characters-linebreak.html
2138               css2.1/20110323/word-spacing-characters-002.htm
2139               css2.1/20110323/word-spacing-characters-003.htm
2140               css2.1/20110323/word-spacing-remove-space-001.htm
2141               css2.1/20110323/word-spacing-remove-space-002.htm
2142               css2.1/20110323/word-spacing-remove-space-003.htm
2143               css2.1/20110323/word-spacing-remove-space-004.htm
2144               css2.1/20110323/word-spacing-remove-space-005.htm
2145               css2.1/20110323/word-spacing-remove-space-006.htm
2146               css2.1/20110323/c541-word-sp-001.htm
2147
2148         * platform/graphics/WidthIterator.cpp:
2149         (WebCore::WidthIterator::advance): All spaces (ordinary space or &nbsp;) get word-spacing added, even
2150           if they are consecutive.
2151         * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp:
2152         (WebCore::HarfBuzzShaperBase::isWordEnd): ditto, but for the complex text case on Chromium. Had to use
2153           m_run rather than m_normalizedBuffer here as m_normalizedBuffer turns tabs into spaces! Unlike the simple
2154           text path, '\n' gets word-spacing - I observed this from fast/text/atsui-spacing-features.html but can't
2155           find it specified anywhere.
2156         * platform/graphics/harfbuzz/HarfBuzzShaperBase.h:
2157         (WebCore::HarfBuzzShaperBase::isCodepointSpace):
2158         * platform/graphics/mac/ComplexTextController.cpp:
2159         (WebCore::ComplexTextController::adjustGlyphsAndAdvances): ditto, but for the complext text case on Mac.
2160            The change to this file is speculative, I don't have a Mac build.
2161         * rendering/RenderBlockLineLayout.cpp:
2162         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Tested by word-spacing-linebreak.html
2163         * rendering/RenderText.cpp:
2164         (WebCore::RenderText::widthFromCache): This code-path is not covered by any existing layout tests!
2165           I've tried to come up with a test to hit it but have failed.
2166
2167 2012-08-13  Anna Cavender  <annacc@chromium.org>
2168
2169         Remove webkitMediaSourceURL from HTMLMediaElement.idl
2170         https://bugs.webkit.org/show_bug.cgi?id=93619
2171
2172         Reviewed by Adam Barth.
2173
2174         The webkitMediaSourceURL attribute is no longer needed now that we use
2175         createObjectURL() to generate a media source URL.
2176
2177         Test: update http/test/media/media-source/media-source.js
2178
2179         * html/HTMLMediaElement.h:
2180         * html/HTMLMediaElement.idl:
2181
2182 2012-08-13  Simon Hausmann  <simon.hausmann@nokia.com>
2183
2184         [Qt] Port meta method/signal/slot handling in run-time bridge to use JSC C API
2185         https://bugs.webkit.org/show_bug.cgi?id=93476
2186
2187         Reviewed by Kenneth Rohde Christiansen.
2188
2189         Based on patch by No'am Rosenthal and lots of good suggestions by Caio Marcelo.
2190
2191         Ported the code that mapped invokable methods (and signals/slots) as
2192         well as the code that provides the connect() and disconnect() functions
2193         over to use the JSC C API. In the process one behavioural change was
2194         implemented: Previously meta methods were actually function objects
2195         that through Function.prototype allowed calling via
2196         object.method.call(object). Through the use of plain JS objects that is
2197         not possible anymore.
2198
2199         If we tried to continue to use function objects (JSObjectMakeFunction)
2200         then we would loose the ability to store the private pointer. An
2201         alternative approach would be to use a regular object and install the
2202         Function prototype (Function.prototype), but unfortunately we cannot do
2203         that without loosing the common prototype for signals and slots.
2204
2205         * bridge/qt/qt_class.cpp:
2206         (JSC::Bindings::QtClass::fallbackObject):
2207         * bridge/qt/qt_instance.cpp:
2208         (JSC::Bindings::QtInstance::~QtInstance):
2209         (JSC::Bindings::QtInstance::newRuntimeObject):
2210         * bridge/qt/qt_instance.h:
2211         (Bindings):
2212         (QtInstance):
2213         * bridge/qt/qt_runtime.cpp:
2214         (JSC::Bindings::prototypeForSignalsAndSlots):
2215         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
2216         (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod):
2217         (JSC::Bindings::QtRuntimeMethod::call):
2218         (JSC::Bindings::QtRuntimeMethod::connect):
2219         (JSC::Bindings::QtRuntimeMethod::disconnect):
2220         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
2221         (JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
2222         (Bindings):
2223         (JSC::Bindings::QtConnectionObject::~QtConnectionObject):
2224         * bridge/qt/qt_runtime.h:
2225         (JSC::Bindings::QtRuntimeMethod::name):
2226         (QtRuntimeMethod):
2227         (QtConnectionObject):
2228
2229 2012-08-13  Leandro Gracia Gil  <leandrogracia@chromium.org>
2230
2231         [Chromium] Fix nits in the find-in-page match rects API
2232         https://bugs.webkit.org/show_bug.cgi?id=93817
2233
2234         Reviewed by Adam Barth.
2235
2236         This patch fixes a few pending nits from 93111.
2237
2238         Tests: existing WebKit unit test WebFrameTest.FindInPageMatchRects
2239
2240         * dom/Range.cpp:
2241         (WebCore::Range::transformFriendlyBoundingBox): add call to updateLayoutIgnorePendingStylesheets.
2242
2243 2012-08-13  Pavel Feldman  <pfeldman@chromium.org>
2244
2245         Web Inspector: get rid of beforeTextChanged
2246         https://bugs.webkit.org/show_bug.cgi?id=93851
2247
2248         Reviewed by Vsevolod Vlasov.
2249
2250         Merged beforeTextChanged and afterTextChanged into a single
2251         onTextChanged event.
2252
2253         * inspector/front-end/CodeMirrorTextEditor.js:
2254         (WebInspector.CodeMirrorTextEditor.prototype.editRange):
2255         (WebInspector.CodeMirrorTextEditor.prototype._onChange):
2256         * inspector/front-end/DefaultTextEditor.js:
2257         (WebInspector.DefaultTextEditor.prototype._enterInternalTextChangeMode):
2258         (WebInspector.DefaultTextEditor.prototype._exitInternalTextChangeMode):
2259         * inspector/front-end/JavaScriptSourceFrame.js:
2260         (WebInspector.JavaScriptSourceFrame.prototype.onTextChanged):
2261         (WebInspector.JavaScriptSourceFrame.prototype._removeBreakpointsBeforeEditing):
2262         (WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration):
2263         (WebInspector.JavaScriptSourceFrame.prototype._removeBreakpointDecoration):
2264         * inspector/front-end/SourceFrame.js:
2265         (WebInspector.SourceFrame.prototype.onTextChanged):
2266         (WebInspector.TextEditorDelegateForSourceFrame.prototype.onTextChanged):
2267         * inspector/front-end/TextEditor.js:
2268         (WebInspector.TextEditorDelegate.prototype.onTextChanged):
2269         * inspector/front-end/UISourceCodeFrame.js:
2270         (WebInspector.UISourceCodeFrame.prototype.onTextChanged):
2271
2272 2012-08-13  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
2273
2274         [css] Remove "default" switch case from CSS primitive value mappings
2275         https://bugs.webkit.org/show_bug.cgi?id=93781
2276
2277         Reviewed by Alexey Proskuryakov.
2278
2279         Removing the "default" switch case allows compile-time early warning check,
2280         specially useful for newly added or removed enumeration values.
2281
2282         * css/CSSPrimitiveValueMappings.h:
2283
2284 2012-08-13  Anna Cavender  <annacc@chromium.org>
2285
2286         Cap the number of SourceBuffers that may be added to a MediaSource.
2287         https://bugs.webkit.org/show_bug.cgi?id=93406
2288
2289         Reviewed by Eric Carlson.
2290
2291         Make sure that no more SourceBuffer objects are added to a MediaSource
2292         than can fit into the sourceBuffers SourceBufferList (internally stored
2293         as a Vector). Also, make sure that new SourceBuffers are added with a
2294         unique id even if the variable we are using to generate id wraps around.
2295
2296         No new tests.  It would not be realistic to add so many SourceBuffers to
2297         test the id variable wrapping.  Existing tests should not be affected.
2298
2299         * Modules/mediasource/MediaSource.cpp:
2300         (WebCore::MediaSource::MediaSource):
2301         (WebCore::MediaSource::addSourceBuffer): Obtain a unique id before creating
2302             a new SourceBuffer.
2303         * Modules/mediasource/MediaSource.h:
2304         * Modules/mediasource/SourceBufferList.cpp:
2305         (WebCore::SourceBufferList::SourceBufferList):
2306         (WebCore::SourceBufferList::generateUniqueId): Search for and generate a
2307             unique id.
2308         (WebCore):
2309         (WebCore::SourceBufferList::contains): Check if a SourceBuffer with a
2310             given id already exists in this SourceBufferList.
2311         * Modules/mediasource/SourceBufferList.h:
2312         (SourceBufferList):
2313
2314 2012-08-13  Andrey Kosyakov  <caseq@chromium.org>
2315
2316         Web Inspector: when status bar is too narrow, cut panel status bar, not main status bar items
2317         https://bugs.webkit.org/show_bug.cgi?id=93814
2318
2319         Reviewed by Pavel Feldman.
2320
2321         - set shrink factor of bottom-status-bar-container to 1;
2322         - set bottom-status-bar-container's width to 0 to workaround for flex-basis being ignored;
2323
2324         * inspector/front-end/inspector.css:
2325         (#bottom-status-bar-container):
2326
2327 2012-08-13  Yury Semikhatsky  <yurys@chromium.org>
2328
2329         Web Inspector: add memory instrumentation for Attribute
2330         https://bugs.webkit.org/show_bug.cgi?id=93827
2331
2332         Reviewed by Pavel Feldman.
2333
2334         Attribute's name and value footprint is counted as part of the DOM
2335         component.
2336
2337         * dom/Attribute.h:
2338         (WebCore::Attribute::reportMemoryUsage):
2339         (Attribute):
2340         * dom/ElementAttributeData.cpp:
2341         (WebCore::ElementAttributeData::reportMemoryUsage):
2342
2343 2012-08-13  Vsevolod Vlasov  <vsevik@chromium.org>
2344
2345         Web Inspector: Polish search/replace toolbar buttons style.
2346         https://bugs.webkit.org/show_bug.cgi?id=93826
2347
2348         Reviewed by Pavel Feldman.
2349
2350         * inspector/front-end/inspector.css:
2351         (.toolbar-search button):
2352
2353 2012-08-13  Kwang Yul Seo  <skyul@company100.net>
2354
2355         [Qt] Add gprof.prf to build WebKit with gprof enabled
2356         https://bugs.webkit.org/show_bug.cgi?id=90283
2357
2358         Reviewed by Eric Seidel.
2359
2360         No behavior change, so no new tests.
2361
2362         * WebCore.pri:
2363         -ffunction-sections conflicts with -pg option, so don't use
2364         -ffunction-sections option when gprof is enabled.
2365
2366 2012-08-13  Zan Dobersek  <zandobersek@gmail.com>
2367
2368         Unreviewed build fix after r125408, removing another usage of SVG_FEATURES.
2369
2370         * GNUmakefile.am:
2371
2372 2012-08-13  Zan Dobersek  <zandobersek@gmail.com>
2373
2374         [Gtk] Remove SVG_FEATURES and HTML_FEATURES from Source/WebCore/GNUmakefile.am
2375         https://bugs.webkit.org/show_bug.cgi?id=90693
2376
2377         Reviewed by Philippe Normand.
2378
2379         Remove SVG_FEATURES and HTML_FEATURES variables. They can be replaced by the
2380         FEATURE_DEFINES variable wherever they are used.
2381
2382         No new tests - no new functionality.
2383
2384         * GNUmakefile.am:
2385
2386 2012-08-13  Mario Sanchez Prada  <msanchez@igalia.com>
2387
2388         [GTK] Implementation of atk_editable_text_insert_text ignores 'length' parameter
2389         https://bugs.webkit.org/show_bug.cgi?id=93804
2390
2391         Reviewed by Carlos Garcia Campos.
2392
2393         Use the 'length' parameter to insert a substring of the full
2394         string passed to this method from AtkEditableText interface.
2395
2396         * accessibility/gtk/WebKitAccessibleInterfaceEditableText.cpp:
2397         (webkitAccessibleEditableTextInsertText): Don't ignore 'length'.
2398
2399 2012-08-13  Sam D  <dsam2912@gmail.com>
2400
2401         Web Inspector: Feature Request - Adding mouse gesture for editing attribute values in elements/css panel
2402         https://bugs.webkit.org/show_bug.cgi?id=93581
2403
2404         Reviewed by Alexander Pavlov.
2405
2406         Added functionality to modify valuesAdding support for updating number values in attributes in element
2407         panel/ css panel using mouse gestures as well.
2408
2409         No new tests.
2410
2411         * inspector/front-end/StylesSidebarPane.js:
2412         handling mousewheel event
2413         * inspector/front-end/TextPrompt.js:
2414         adding mouse event listener
2415         (WebInspector.TextPrompt.prototype._attachInternal):
2416         (WebInspector.TextPrompt.prototype.defaultKeyHandler):
2417         (WebInspector.TextPrompt.prototype.onMouseWheel):
2418         * inspector/front-end/UIUtils.js:
2419         handling mouse event gesture and updating number based on mouse wheel
2420         scroll direction as well.
2421         (WebInspector._valueModificationDirection):
2422         (WebInspector._modifiedHexValue):
2423         (WebInspector._modifiedFloatNumber):
2424         (WebInspector.handleElementValueModifications):
2425
2426 2012-08-13  Carlos Garcia Campos  <cgarcia@igalia.com>
2427
2428         Unreviewed. Fix make distcheck.
2429
2430         * GNUmakefile.list.am: Add missing header file.
2431
2432 2012-08-10  Alexander Pavlov  <apavlov@chromium.org>
2433
2434         Web Inspector: [Protocol] Force elements pseudo state via a separate InspectorCSSAgent method
2435         https://bugs.webkit.org/show_bug.cgi?id=93721
2436
2437         Reviewed by Pavel Feldman.
2438
2439         Introduce InspectorCSSAgent::forcePseudoState() to modify the element's forced pseudo state.
2440
2441         * inspector/Inspector.json:
2442         * inspector/InspectorCSSAgent.cpp:
2443         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
2444         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
2445         (WebCore::InspectorCSSAgent::forcePseudoState):
2446         (WebCore):
2447         * inspector/InspectorCSSAgent.h:
2448         (InspectorCSSAgent):
2449         * inspector/InspectorDOMAgent.h:
2450         (InspectorDOMAgent):
2451         * inspector/front-end/AuditRules.js:
2452         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
2453         * inspector/front-end/CSSStyleModel.js:
2454         (WebInspector.CSSStyleModel.prototype.getMatchedStylesAsync):
2455         (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
2456         (WebInspector.CSSStyleModel.prototype.forcePseudoState):
2457         * inspector/front-end/ElementsPanel.js:
2458         (WebInspector.ElementsPanel.prototype._setPseudoClassForNodeId):
2459         * inspector/front-end/MetricsSidebarPane.js:
2460         * inspector/front-end/StylesSidebarPane.js:
2461         (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
2462         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
2463
2464 2012-08-13  Shinya Kawanaka  <shinyak@chromium.org>
2465
2466         Cannot select the AuthorShadowDOM inner element of an img element
2467         https://bugs.webkit.org/show_bug.cgi?id=91591
2468
2469         Reviewed by Dimitri Glazkov.
2470
2471         Since HTMLImageElement::canStartSelection always returns false, we cannot start selection
2472         from any children (including shadow dom) of an img element. When the img element has a shadow dom,
2473         we should be able to start selection.
2474
2475         Test: fast/dom/shadow/select-image-with-shadow.html
2476
2477         * html/HTMLImageElement.cpp:
2478         (WebCore::HTMLImageElement::canStartSelection):
2479         (WebCore):
2480         * html/HTMLImageElement.h:
2481         (HTMLImageElement):
2482         * html/shadow/ImageInnerElement.h:
2483         (WebCore::ImageInnerElement::canStartSelection): Since ImageInnerElement is really an image,
2484         this should return always false to obey the exising behavior.
2485         (ImageInnerElement):
2486
2487 2012-08-13  Peter Wang  <peter.wang@torchmobile.com.cn>
2488
2489         REGRESSION (r124723-r124741): 5 inspector/debugger tests failing on Apple Lion Debug WK1 (Tests)
2490         https://bugs.webkit.org/show_bug.cgi?id=93387
2491
2492         Reviewed by Pavel Feldman.
2493
2494         Now the front-end has problem when setting the positon of breakpoint, so remove the comparing
2495         of "column" to make the behavior back to the time as JSC cannot provide "column" info.
2496         Refer to https://bugs.webkit.org/show_bug.cgi?id=93473.  
2497
2498         No new test case for this bug.
2499
2500         * bindings/js/ScriptDebugServer.cpp:
2501         (WebCore::ScriptDebugServer::hasBreakpoint):
2502
2503 2012-08-10  Kinuko Yasuda  <kinuko@chromium.org>
2504
2505         Support creating File object from FileSystem URL for files in FileSystem API
2506         https://bugs.webkit.org/show_bug.cgi?id=93706
2507
2508         Reviewed by Darin Fisher.
2509
2510         Current File code assumes the existence of local file (i.e. requires a platform local file path) but for FileSystem
2511         files it may not be always the case. For example some implementation may want to use in-memory filesystem to realize
2512         sandboxed filesystem, or others may have the filesystem in remote servers.
2513
2514         This patch adds basic support for making File object constructible not only from a file path but from a FileSystem URL.
2515         Since File can be appended to FormData or included in another Blob this patch also extends BlobData and FormData to support URL.
2516
2517         FileChooser and Drag-and-drop changes are not included in this patch.
2518
2519         No new tests: will add tests when we implement the platform side changes to wire this change.
2520
2521         * Modules/filesystem/DOMFileSystem.cpp:
2522         (WebCore::DOMFileSystem::createFile):
2523         * Modules/filesystem/DOMFileSystemSync.cpp:
2524         (WebCore::DOMFileSystemSync::createFile):
2525         * fileapi/Blob.cpp:
2526         (WebCore::Blob::sliceInternal):
2527         * fileapi/File.cpp:
2528         (WebCore::createBlobDataForFileSystemURL): Added.
2529         (WebCore::File::File):
2530         * fileapi/File.h:
2531         (WebCore::File::createForFileSystemFile):
2532         (WebCore::File::fileSystemURL): Added.
2533         * fileapi/WebKitBlobBuilder.cpp:
2534         (WebCore::WebKitBlobBuilder::append):
2535         * platform/chromium/support/WebHTTPBody.cpp:
2536         (WebKit::WebHTTPBody::elementAt):
2537         (WebKit::WebHTTPBody::appendURL): Added.
2538         (WebKit::WebHTTPBody::appendURLRange): Added.
2539         (WebKit::WebHTTPBody::appendBlob):
2540         * platform/network/BlobData.cpp:
2541         (WebCore::BlobData::appendURL):
2542         * platform/network/BlobData.h:
2543         (BlobDataItem):
2544         (WebCore::BlobDataItem::BlobDataItem):
2545         * platform/network/BlobRegistryImpl.cpp:
2546         (WebCore::BlobRegistryImpl::appendStorageItems):
2547         (WebCore::BlobRegistryImpl::registerBlobURL):
2548         * platform/network/FormData.cpp:
2549         (WebCore::FormData::deepCopy):
2550         (WebCore::FormData::appendURL): Added.
2551         (WebCore::FormData::appendURLRange): Added.
2552         (WebCore::FormData::appendKeyValuePairItems):
2553         * platform/network/FormData.h:
2554         (WebCore::FormDataElement::FormDataElement):
2555         (FormDataElement):
2556         (WebCore::operator==):
2557
2558 2012-08-12  Dan Bernstein  <mitz@apple.com>
2559
2560         <rdar://problem/11442485> off-screen or inactive pages can change the mouse pointer
2561
2562         Reviewed by Adele Peterson.
2563
2564         * page/EventHandler.cpp:
2565         (WebCore::EventHandler::fakeMouseMoveEventTimerFired): Added a check that the page is
2566         on-screen and active before dispatching the fake mouse event.
2567
2568 2012-08-12  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
2569
2570         [BlackBerry] use MediaPlayer::userAgent() in MediaPlayerPrivateBlackBerry to avoid layering violation
2571         https://bugs.webkit.org/show_bug.cgi?id=93588
2572
2573         Reviewed by Antonio Gomes.
2574
2575         Removed helper function MediaPlayerPrivate::userAgent() which has
2576         introduced abstraction layering violation and replaced with
2577         MediaPlayer::userAgent().
2578
2579         No new tests since there's no functional change.
2580
2581         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
2582         (WebCore::MediaPlayerPrivate::load):
2583
2584 2012-07-04  Kinuko Yasuda  <kinuko@chromium.org>
2585
2586         Record metrics to measure the usage of WebKitBlobBuilder to eventually deprecate it
2587         https://bugs.webkit.org/show_bug.cgi?id=90535
2588
2589         Reviewed by Eric Seidel.
2590
2591         No new tests as this has no functional changes.
2592
2593         * bindings/js/JSBlobCustom.cpp:
2594         (WebCore::JSBlobConstructor::constructJSBlob):
2595         * bindings/v8/custom/V8BlobCustom.cpp:
2596         (WebCore::V8Blob::constructorCallback):
2597         * fileapi/WebKitBlobBuilder.cpp:
2598         (WebCore::WebKitBlobBuilder::getBlob):
2599         * fileapi/WebKitBlobBuilder.h:
2600         (WebKitBlobBuilder):
2601
2602 2012-08-12  Ojan Vafai  <ojan@chromium.org>
2603
2604         Remove unnecessary null checks from pseudoStyleForElement and adjustRenderStyle
2605         https://bugs.webkit.org/show_bug.cgi?id=93730
2606
2607         Reviewed by Tony Chang.
2608
2609         All the callers of both methods make sure to pass in a non-null parentStyle.
2610
2611         No change in behavior.
2612
2613         * css/StyleResolver.cpp:
2614         * css/StyleResolver.h:
2615
2616 2012-08-12  Pravin D  <pravind.2k4@gmail.com>
2617
2618         table cell.cellIndex should return -1 if there is no parent table
2619         https://bugs.webkit.org/show_bug.cgi?id=93738
2620
2621         Reviewed by Eric Seidel.
2622
2623         According to the HTML5 spec the cellIndex of a table cell(td/th) whose parent is not a table row
2624         must be -1. Currently we are returning zero. This patch fixes this behavior. 
2625
2626         Test: fast/table/cellIndex-of-cell-with-different-parents.html
2627
2628         * html/HTMLTableCellElement.cpp:
2629         (WebCore::HTMLTableCellElement::cellIndex):
2630           If the parent of the cell is not a table row, -1 is returned. Otherwise a value greater
2631           than or equal to zero is return.
2632
2633         * rendering/RenderTableCell.h:
2634         (RenderTableCell):
2635          Removed dead code and made minor webkit style related fix.
2636
2637 2012-08-12  Leandro Gracia Gil  <leandrogracia@chromium.org>
2638
2639         [Chromium] Implement the find-in-page match rects API
2640         https://bugs.webkit.org/show_bug.cgi?id=93111
2641
2642         Reviewed by Adam Barth.
2643
2644         Introduce the find-in-page coordinate system. This system tries to solve
2645         the unintuitive tickmark results presented in pages with multiple frames
2646         and scrolled contents where the find results might not be in the visible
2647         area of a frame, which might lead to tickmarks below the container frame.
2648
2649         To achieve this, this coordinate system goes up the render tree
2650         normalizing the coordinates by the actual contents size of its container.
2651         This leads to tickmarks scaled to the visible size of their frame
2652         independently of its scroll. This coordinate system supports also CSS
2653         scroll:overflow, transforms and the different positions.
2654
2655         Also add an auxiliary method to Range in order to provide a transform
2656         friendly way to retrieve the absolute coordinates of the enclosing
2657         bounding box without the adjustment operations that the existing
2658         enclosingRect method does.
2659
2660         Tested by WebFrameTest WebKit unit test.
2661
2662         * dom/Range.cpp:
2663         (WebCore::Range::transformFriendlyBoundingBox): add a transform-friendly equivalent of boundingBox.
2664         (WebCore):
2665         * dom/Range.h: move boundingBox to the group of non-transform-friendly methods.
2666         (Range):
2667
2668 2012-08-12  Ami Fischman  <fischman@chromium.org>
2669
2670         Stop Y-flipping CROS/ARM video textures
2671         https://bugs.webkit.org/show_bug.cgi?id=93769
2672
2673         Reviewed by Eric Seidel.
2674
2675         No new tests; there's no cros/arm bot yet, sadly.
2676
2677         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2678         (WebCore::CCVideoLayerImpl::appendQuads): drop the single-platform Y-flipping in prep for the platform doing the flip natively.
2679
2680 2012-08-12  Mihnea Ovidenie  <mihnea@adobe.com>
2681
2682         CSSRegions: Crash when using style in region for removed element.
2683         https://bugs.webkit.org/show_bug.cgi?id=93276
2684
2685         Reviewed by Abhishek Arya.
2686
2687         When a RenderInline object from within a render flow thread is split, the cloned
2688         hierarchy built during the split process does not have the inRenderFlowThread bit
2689         set properly. If the cloned hierarchy is flowed into a region with region style rules,
2690         we compute the style in region also for objects that do not have inRenderFlowThread bit
2691         set and we store the computed style in region for caching purposes. But we only remove
2692         an object style in region information if that object has the inRenderFlowThread bit set.
2693         Under these circumstances, it is possible to remove a object with cached style in region
2694         and without inRenderFlowThread bit set from the render tree and leave the associated cached
2695         information un-removed. Such information will be accesses during the next paint phase of
2696         the region, thus resulting a crash.
2697
2698         The fix is to modify RenderBlock::clone() and RenderInline::clone() functions to also copy the inRenderFlowThread bit
2699         from the source into the clone, therefore the cloned hierarchies will have the inRenderFlowThread
2700         bit set properly.
2701
2702         Test: fast/regions/removed-element-style-in-region-crash.html
2703
2704         * rendering/RenderBlock.cpp:
2705         (WebCore::RenderBlock::clone):
2706         * rendering/RenderInline.cpp:
2707         (WebCore::RenderInline::clone): Replace former static RenderInline::cloneInline with member RenderInline::clone.
2708         (WebCore::RenderInline::splitInlines):
2709         * rendering/RenderInline.h:
2710         (RenderInline):
2711         * rendering/RenderRegion.cpp:
2712         (WebCore::RenderRegion::setObjectStyleInRegion):
2713         Added an assert to make sure that when we are computing style in region, we are doing for objects
2714         with inRenderFlowThread set. Also, bail out early in this case to prevent further crashes.
2715
2716 2012-08-12  Huang Dongsung  <luxtella@company100.net>
2717
2718         Set the access qualifier of two methods to query frame specific info of BitmapImage to protected.
2719         https://bugs.webkit.org/show_bug.cgi?id=90505
2720
2721         Reviewed by Eric Seidel.
2722
2723         Following 4 methods are protected.
2724           size_t frameCount();
2725           NativeImagePtr frameAtIndex(size_t);
2726           bool frameIsCompleteAtIndex(size_t);
2727           float frameDurationAtIndex(size_t);
2728
2729         So, 2 methds also should be protected because the frame info is only specific of
2730         BitmapImage.
2731           bool frameHasAlphaAtIndex(size_t);
2732           ImageOrientation frameOrientationAtIndex(size_t);
2733
2734         On the other hand, this patch amended GraphicsContext3DCG.
2735         - static_cast<BitmapImage*>(image)->frameHasAlphaAtIndex(0)
2736         + image->currentFrameHasAlpha()
2737
2738         This patch does not affect PNG, JPEG, BMP, and WEBP because those images
2739         have only 0 indexed frame.
2740         Thus, GIF, and ICO are affected. However, an above query to get Alpha
2741         is for the image that is created by image->nativeImageForCurrentFrame(), so it
2742         is proper to use image->currentFrameHasAlpha() instead of
2743         image->frameHasAlphaAtIndex(0).
2744
2745         No new tests, because it is hard to test. We need an animated GIF that
2746         one frame has alpha and another frame does not have alpha. However, I
2747         cannot find the animated GIF file that suffices the requirement.
2748
2749         * platform/graphics/BitmapImage.h:
2750         (BitmapImage):
2751         * platform/graphics/cg/GraphicsContext3DCG.cpp:
2752         (WebCore::GraphicsContext3D::getImageData):
2753
2754 2012-08-12  Takashi Sakamoto  <tasak@google.com>
2755
2756         webkit fails IETC namespaces/prefix-007.xml
2757         https://bugs.webkit.org/show_bug.cgi?id=86137
2758
2759         Reviewed by Eric Seidel.
2760
2761         If a namespace prefix or default namespace is declared more than once
2762         only the last declaration shall be used.
2763
2764         parseAddNamespace doesn't check return value of WTF::HashMap<>::add.
2765         If the return value's isNewEntry is true, the new entry is added with
2766         the specified value. However, if isNewEntry is false, it is required
2767         to update the store value.
2768
2769         No new tests. ietestcenter/css3/namespaces/prefix-007.xml and
2770         ietestcenter/css3/namespaces/prefix-010.xml covers this change.
2771
2772         * css/StyleSheetContents.cpp:
2773         (WebCore::StyleSheetContents::parserAddNamespace):
2774         Modified to check m_namespaces.add's return value.
2775         If the result says not a new entry, updated the value stored in
2776         m_namespaces by using iterator in the result.
2777
2778 2012-08-12  Benjamin Poulain  <benjamin@webkit.org>
2779
2780         Move CSS's propertyNameStrings[] to from the header to the cpp file
2781         https://bugs.webkit.org/show_bug.cgi?id=93771
2782
2783         Reviewed by Eric Seidel.
2784
2785         The names of propertyNameStrings[] should never be accessed directly. The function getPropertyName()
2786         return the correct string of propertyNameStrings.
2787
2788         To ensure the values are not accessed by mistake, move them from the header to the implementation.
2789
2790         * css/makeprop.pl:
2791
2792 2012-08-12  Benjamin Poulain  <benjamin@webkit.org>
2793
2794         CSSComputedStyleDeclaration::cssText() should use StringBuilder
2795         https://bugs.webkit.org/show_bug.cgi?id=93776
2796
2797         Reviewed by Eric Seidel.
2798
2799         String::append() is fairly inefficient when used to create a long string by appending a lot of small
2800         pieces. StringBuilder is more approriate for the kind of operations done by CSSComputedStyleDeclaration::cssText().
2801
2802         This changes makes CSSComputedStyleDeclaration::cssText() about 6 times faster.
2803
2804         * css/CSSComputedStyleDeclaration.cpp:
2805         (WebCore::CSSComputedStyleDeclaration::cssText):
2806
2807 2012-08-11  Benjamin Poulain  <bpoulain@apple.com>
2808
2809         Do the DecimalNumber to String conversion on 8 bits
2810         https://bugs.webkit.org/show_bug.cgi?id=93683
2811
2812         Reviewed by Andreas Kling.
2813
2814         Numbers converted to string for CSS are unlikely to ever be concatenated with a 16bits string.
2815         This patch change the conversion to be done to 8bits string in order to reduce memory allocations.
2816
2817         * css/CSSPrimitiveValue.cpp:
2818         (WebCore::formatNumber):
2819         * inspector/InspectorValues.cpp:
2820         (WebCore::InspectorBasicValue::writeJSON):
2821         * platform/graphics/Color.cpp:
2822         (WebCore::Color::serialized): Instead of allocating a static WTF::String, we can simply append the
2823         string literal to the output vector.
2824
2825 2012-08-11  Benjamin Poulain  <benjamin@webkit.org>
2826
2827         WebCore::findAtomicString(PropertyName) always convert the name to 16bits
2828         https://bugs.webkit.org/show_bug.cgi?id=93685
2829
2830         Reviewed by Geoffrey Garen.
2831
2832         * bindings/js/JSDOMBinding.cpp:
2833         (WebCore::findAtomicString):
2834         Use the new AtomicString::find() to avoid calling StringImpl::characters().
2835
2836 2012-08-11  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2837
2838         [Qt] Remove QtSenderStack now we do not support __qt_sender__ anymore in Qt bridge
2839         https://bugs.webkit.org/show_bug.cgi?id=93767
2840
2841         Reviewed by Kenneth Rohde Christiansen.
2842
2843         Dead code after patch of bug 93649.
2844
2845         * bridge/qt/qt_instance.h:
2846         (QtInstance):
2847
2848 2012-08-11  Abhishek Arya  <inferno@chromium.org>
2849
2850         Unreviewed. 
2851
2852         Removing newly added assert in r125351 since it is exposing
2853         legitimate layout bugs in few tests. We will re-add the assert
2854         after fixing those bugs. Failures are tracked in webkit bug 93766. 
2855
2856         * rendering/RenderBlock.cpp:
2857         (WebCore::RenderBlock::removeFromTrackedRendererMaps):
2858
2859 2012-08-11  Levi Weintraub  <leviw@chromium.org>
2860
2861         Track block's positioned objects like percent-height descendants
2862         https://bugs.webkit.org/show_bug.cgi?id=89848
2863
2864         Reviewed by Abhishek Arya.
2865
2866         The previous method for tracking a RenderBlock's out-of-flow positioned descendants was error prone,
2867         subject to becoming inconsistent, and in the case of removePositionedObjects, inefficient. This patch 
2868         extracts the algorithm used for percent height descendants and re-uses it for positioned objects. This same
2869         method could further be re-used for floats.
2870
2871         This change removes the m_positionedObjects pointer, which brings RenderBlock's size down (yay!).
2872
2873         Test: fast/block/positioning/relayout-nested-positioned-elements-crash-2.html
2874
2875         * rendering/RenderBlock.cpp:
2876         (SameSizeAsRenderBlock):
2877         (WebCore):
2878         (WebCore::removeBlockFromDescendantAndContainerMaps):
2879         (WebCore::RenderBlock::~RenderBlock):
2880         (WebCore::RenderBlock::addOverflowFromPositionedObjects):
2881         (WebCore::RenderBlock::layoutBlockChildren):
2882         (WebCore::RenderBlock::layoutPositionedObjects):
2883         (WebCore::RenderBlock::markPositionedObjectsForLayout):
2884         (WebCore::clipOutPositionedObjects):
2885         (WebCore::RenderBlock::selectionGaps):
2886         (WebCore::RenderBlock::insertIntoTrackedRendererMaps):
2887         (WebCore::RenderBlock::removeFromTrackedRendererMaps):
2888         (WebCore::RenderBlock::positionedObjects):
2889         (WebCore::RenderBlock::insertPositionedObject):
2890         (WebCore::RenderBlock::removePositionedObject):
2891         (WebCore::RenderBlock::removePositionedObjects):
2892         (WebCore::RenderBlock::addPercentHeightDescendant):
2893         (WebCore::RenderBlock::removePercentHeightDescendant):
2894         (WebCore::RenderBlock::percentHeightDescendants):
2895         (WebCore::RenderBlock::checkPositionedObjectsNeedLayout):
2896         * rendering/RenderBlock.h:
2897         (WebCore):
2898         (RenderBlock):
2899         (WebCore::RenderBlock::hasPositionedObjects):
2900         * rendering/RenderBox.cpp:
2901         (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
2902         * rendering/RenderBoxModelObject.cpp:
2903         (WebCore::RenderBoxModelObject::moveChildTo): Changing the fixme to reflect the assumption that the caller
2904         has taken care of updating the positioned renderer maps is a decision not a bug. The ASSERT should help
2905         assure this.
2906         * rendering/RenderTableSection.cpp:
2907         (WebCore::RenderTableSection::layoutRows):
2908         * rendering/RenderView.cpp:
2909         (WebCore::RenderView::setFixedPositionedObjectsNeedLayout):
2910
2911 2012-08-10  Joshua Netterfield  <jnetterfield@rim.com>
2912
2913         [WebGL] Add support for EXT_robustness
2914         https://bugs.webkit.org/show_bug.cgi?id=93379
2915
2916         Reviewed by George Staikos.
2917
2918         Take advantage of EXT robustness in WebKit.
2919
2920         This commit makes WebKit use readnPixelsEXT, getnUniformfvEXT and
2921         getnUniformivEXT instead of readPixels, getUniformfv and getUniformiv
2922         when possible, and sets up the reset notification behaviour for
2923         GLES platforms.
2924
2925         The reset behaviour has not yet been implemented in the BlackBerry
2926         compositing thread, so for now on BlackBerry we just abort when
2927         the context has been reset. This prevents undefined behaviour, but
2928         can be improved in the future.
2929
2930         No new tests are needed because no new functionality is introduced.
2931         Support for ARB robustness reset notification behaviour is already
2932         in WebKit, and EXT robustness' reset notifcation behaviour is the
2933         same. readnPixelsEXT replaces WebKit's existing mechanisms of
2934         preventing buffer overflows.
2935
2936         RIM PR# 147510
2937         Internally reviewed by Arvid Nilsson.
2938
2939         * html/canvas/WebGLRenderingContext.cpp:
2940         (WebCore):
2941         (WebCore::WebGLRenderingContext::setupFlags):
2942         (WebCore::WebGLRenderingContext::getUniform):
2943         (WebCore::WebGLRenderingContext::readPixels):
2944         * html/canvas/WebGLRenderingContext.h:
2945         (WebGLRenderingContext):
2946         * platform/chromium/support/Extensions3DChromium.cpp:
2947         (WebCore::Extensions3DChromium::readnPixelsEXT):
2948         (WebCore):
2949         (WebCore::Extensions3DChromium::getnUniformfvEXT):
2950         (WebCore::Extensions3DChromium::getnUniformivEXT):
2951         * platform/graphics/Extensions3D.h:
2952         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
2953         (WebCore::GraphicsContext3D::setContextLostCallback):
2954         * platform/graphics/blackberry/LayerRenderer.cpp:
2955         (WebCore::LayerRenderer::LayerRenderer):
2956         (WebCore::LayerRenderer::makeContextCurrent):
2957         * platform/graphics/blackberry/LayerRenderer.h:
2958         (LayerRenderer):
2959         * platform/graphics/chromium/Extensions3DChromium.h:
2960         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
2961         (WebCore::Extensions3DOpenGLCommon::readnPixelsEXT):
2962         (WebCore):
2963         (WebCore::Extensions3DOpenGLCommon::getnUniformfvEXT):
2964         (WebCore::Extensions3DOpenGLCommon::getnUniformivEXT):
2965         * platform/graphics/opengl/Extensions3DOpenGLCommon.h:
2966         (Extensions3DOpenGLCommon):
2967         * platform/graphics/opengl/Extensions3DOpenGLES.cpp:
2968         (WebCore::Extensions3DOpenGLES::Extensions3DOpenGLES):
2969         (WebCore::Extensions3DOpenGLES::getGraphicsResetStatusARB):
2970         (WebCore):
2971         (WebCore::Extensions3DOpenGLES::setEXTContextLostCallback):
2972         (WebCore::Extensions3DOpenGLES::readnPixelsEXT):
2973         (WebCore::Extensions3DOpenGLES::getnUniformfvEXT):
2974         (WebCore::Extensions3DOpenGLES::getnUniformivEXT):
2975         (WebCore::Extensions3DOpenGLES::supportsExtension):
2976         * platform/graphics/opengl/Extensions3DOpenGLES.h:
2977         (Extensions3DOpenGLES):
2978
2979 2012-08-10  Arko Saha  <arko@motorola.com>
2980
2981         Microdata: item with itemprop attribute should not include the item itself in the HTMLPropertiesCollection.
2982         https://bugs.webkit.org/show_bug.cgi?id=93717
2983
2984         Reviewed by Ryosuke Niwa.
2985
2986         Tests: fast/dom/MicroData/item-with-itemprop-attr.html
2987                fast/dom/MicroData/item-with-itemref-pointing-to-itself.html
2988
2989         * dom/PropertyNodeList.cpp:
2990         (WebCore::PropertyNodeList::nodeMatches): Do not process the testElement if it is the owner node.
2991         * html/HTMLPropertiesCollection.cpp:
2992         (WebCore::nextNodeWithProperty): Traverse the next node only if previous node is microdata item
2993         i.e, ownerNode or previous element does not have itemscope attribute specified.
2994         (WebCore::HTMLPropertiesCollection::virtualItemAfter): Try to find the next property if current
2995         is ownerNode.
2996
2997 2012-08-10  Ryuan Choi  <ryuan.choi@samsung.com>
2998
2999         [BlackBerry][EFL][GTK][WIN][WX] Remove ScriptControllerXXX.cpp to reduce duplication
3000         https://bugs.webkit.org/show_bug.cgi?id=61424
3001
3002         Reviewed by Rob Buis.
3003
3004         ScriptControllerBlackBerry, ScriptControllerEfl, ScriptControllerGtk,
3005         ScriptControllerWin and ScriptControllerWx are almost same.
3006         In order to reduce duplication, this patch moves codes to ScriptController
3007         and removes them.
3008
3009         No behavior change. Just a refactoring.
3010
3011         * GNUmakefile.list.am:
3012         * PlatformBlackBerry.cmake:
3013         * PlatformEfl.cmake:
3014         * PlatformWinCE.cmake:
3015         * WebCore.gypi:
3016         * bindings/js/JSBindingsAllInOne.cpp:
3017         * bindings/js/ScriptController.cpp:
3018         (WebCore):
3019         (WebCore::ScriptController::createScriptInstanceForWidget):
3020         Moved from ScriptControllerXXX.cpp
3021         * bindings/js/ScriptControllerBlackBerry.cpp: Removed.
3022         * bindings/js/ScriptControllerEfl.cpp: Removed.
3023         * bindings/js/ScriptControllerGtk.cpp: Removed.
3024         * bindings/js/ScriptControllerWin.cpp: Removed.
3025         * bindings/js/ScriptControllerWx.cpp: Removed.
3026
3027 2012-08-10  Elliott Sprehn  <esprehn@gmail.com>
3028
3029         RenderQuote corrupts doubly linked list on insertion before head of list
3030         https://bugs.webkit.org/show_bug.cgi?id=93750
3031
3032         Reviewed by Abhishek Arya.
3033
3034         Fix bug where moving a RenderQuote instance before the first one in
3035         the document would not update the m_previous pointer of the original
3036         first RenderQuote to point back at the new one.
3037
3038         Test: fast/css-generated-content/quote-crash-93750.html
3039
3040         * rendering/RenderQuote.cpp:
3041         (WebCore::RenderQuote::attachQuote):
3042
3043 2012-08-09  James Robinson  <jamesr@chromium.org>
3044
3045         [chromium] Remove forwarding headers for compositor-related WebKit API and update includes
3046         https://bugs.webkit.org/show_bug.cgi?id=93669
3047
3048         Reviewed by Adam Barth.
3049
3050         Updates all includes for compositor-related headers to refer consistently to the Platform API location.
3051
3052         * platform/chromium/support/WebCompositorImpl.h:
3053
3054 2012-08-10  James Robinson  <jamesr@chromium.org>
3055
3056         Unreviewed build fix.
3057
3058         r125337 added a call to WTF::currentTime() in MediaController.cpp, but that file didn't #include
3059         <wtf/CurrentTime.h>. This file is indirectly picked up on the include paths for some ports, but not all.
3060
3061         * html/MediaController.cpp:
3062
3063 2012-08-10  Jer Noble  <jer.noble@apple.com>
3064
3065         no timeupdate events emitted for media controller
3066         https://bugs.webkit.org/show_bug.cgi?id=93745
3067
3068         Reviewed by Eric Carlson.
3069
3070         Generate timeupdate events while the current position is changing.
3071
3072         Test: media/media-controller-timeupdate.html
3073
3074         Enforce the spec requirement that the timeupdate event is fired no more often
3075         than every 250ms.
3076         * html/MediaController.cpp:
3077         (MediaController::scheduleTimeupdateEvent):
3078
3079         Add a periodic firing timer to generate timeupdate events during playback.
3080         * html/MediaController.cpp:
3081         (MediaController::startTimeupdateTimer):
3082         (MediaController::timeupdateTimerFired):
3083
3084         * html/MediaController.cpp:
3085         (MediaController::MediaController): Initialize m_previousTimeupdateTime.
3086         (MediaController::setCurrentTime): Call scheduleTimeUpdateEvent.
3087         (MediaController::updatePlaybackState): Start and stop the timeupdate timer.
3088         * html/MediaController.h:
3089         
3090 2012-08-09  Jeffrey Pfau  <jpfau@apple.com>
3091
3092         Allow blocking of third-party localStorage and sessionStorage
3093         https://bugs.webkit.org/show_bug.cgi?id=93390
3094
3095         Reviewed by Adam Barth.
3096
3097         Add checks for if a page is third-party and third-party storage blocking is enabled while accessing storage.
3098
3099         Tests: http/tests/security/cross-origin-local-storage-allowed.html
3100                http/tests/security/cross-origin-local-storage.html
3101                http/tests/security/cross-origin-session-storage-allowed.html
3102                http/tests/security/cross-origin-session-storage.html
3103                http/tests/security/same-origin-document-domain-storage-allowed.html
3104
3105         * dom/Document.cpp:
3106         (WebCore::Document::initSecurityContext): Initialize securityOrigin with knowledge of if we should block third-party storage.
3107         * page/DOMWindow.cpp: Check if the origin trying to access storage is third-party relative to the top document.
3108         (WebCore::DOMWindow::sessionStorage):
3109         (WebCore::DOMWindow::localStorage):
3110         * page/SecurityOrigin.cpp: Add a call in Security origin to see if another origin counts as a third-party.
3111         (WebCore::SecurityOrigin::SecurityOrigin):
3112         (WebCore::SecurityOrigin::canAccessLocalStorage):
3113         (WebCore):
3114         (WebCore::SecurityOrigin::isThirdParty):
3115         * page/SecurityOrigin.h:
3116         (WebCore::SecurityOrigin::blockThirdPartyStorage):
3117         (SecurityOrigin):
3118         * testing/InternalSettings.cpp: Add an internals.settings hook for setting third-party storage blocking enabled.
3119         (WebCore::InternalSettings::setThirdPartyStorageBlockingEnabled):
3120         (WebCore):
3121         * testing/InternalSettings.h:
3122         (InternalSettings):
3123         * testing/InternalSettings.idl:
3124
3125 2012-08-10  Arko Saha  <arko@motorola.com>
3126
3127         REGRESSION(r125159): ASSERTION FAILED: m_listsInvalidatedAtDocument.contains(list) in Document::unregisterNodeListCache.
3128         https://bugs.webkit.org/show_bug.cgi?id=93729
3129
3130         Reviewed by Ryosuke Niwa.
3131
3132         In Document::registerNodeListCache() it was not adding PropertyNodeList
3133         cache to m_listsInvalidatedAtDocument the as node list currently not rooted
3134         at the document. Where in Document::unregisterNodeListCache() it was trying
3135         to remove PropertyNodeList cache from m_listsInvalidatedAtDocument. Hence it
3136         caused the assertion failure.
3137
3138         We need to check if m_rootType is NodeListIsRootedAtDocumentIfOwnerHasItemrefAttr,
3139         not that it's currently rooted at the document.
3140
3141         Test: fast/dom/MicroData/propertynodelist-crash.html
3142
3143         * dom/DynamicNodeList.h:
3144         (WebCore::DynamicNodeListCacheBase::isRootedAtDocument):
3145
3146 2012-08-10  Florin Malita  <fmalita@chromium.org>
3147
3148         Improved RuleData packing on some 32-bit platforms
3149         https://bugs.webkit.org/show_bug.cgi?id=93737
3150
3151         Reviewed by Andreas Kling.
3152
3153         Certain 32-bit plarforms use an 8-byte alignment for uint64_t. We can save 4 bytes per
3154         object on these platforms by using two naturally-aligning unsigned ints instead.
3155
3156         * css/StyleResolver.cpp:
3157         (RuleData):
3158         (SameSizeAsRuleData):
3159
3160 2012-08-10  Max Vujovic  <mvujovic@adobe.com>
3161
3162         [CSS Shaders] Add blend mode and composite op to compiled program cache key
3163         https://bugs.webkit.org/show_bug.cgi?id=93623
3164
3165         Reviewed by Dirk Schulze.
3166
3167         Right now, only the vertex shader string and the fragment shader string are hashed
3168         to create a key for the compiled program. However, in a future patch, WebKit will
3169         rewrite the fragment shader based on the blend mode and composite op specified by
3170         the author. This means that the unique key for a compiled program is (original
3171         vertex shader string, original fragment shader string, blend mode, composite
3172         operator). This patch adds blend mode and composite operator in the hash for the
3173         key.
3174
3175         No new tests. The state of the compiled program cache is not exposed to a web
3176         page. Existing tests should ensure this change doesn't break current
3177         functionality. Additional tests will be added in a future patch that implements
3178         shader rewriting based on blend mode and composite op.
3179
3180         * platform/graphics/filters/CustomFilterProgram.cpp:
3181         (WebCore::CustomFilterProgram::programInfo):
3182         * platform/graphics/filters/CustomFilterProgram.h:
3183         (WebCore):
3184         * platform/graphics/filters/CustomFilterProgramInfo.cpp:
3185         (WebCore::CustomFilterProgramInfo::CustomFilterProgramInfo):
3186         (WebCore::CustomFilterProgramInfo::hash):
3187         (WebCore::CustomFilterProgramInfo::operator==):
3188         * platform/graphics/filters/CustomFilterProgramInfo.h:
3189         (WebCore::CustomFilterProgramMixSettings::CustomFilterProgramMixSettings):
3190         (CustomFilterProgramMixSettings):
3191         (WebCore::CustomFilterProgramMixSettings::operator==):
3192         (WebCore):
3193         (CustomFilterProgramInfo):
3194
3195 2012-08-10  Alice Cheng  <alice_cheng@apple.com>
3196
3197         Part 1 of: Extend -webkit-user-select with a new value "all"
3198         <rdar://problem/10161404>
3199         https://bugs.webkit.org/show_bug.cgi?id=93562
3200
3201         Reviewed by Dan Bernstein.
3202
3203         Parse the new "all" value for -webkit-user-select
3204
3205         Test: editing/selection/user-select-all-parsing.html
3206
3207         * css/CSSParser.cpp:
3208         (WebCore::isValidKeywordPropertyAndValue): Add new value all
3209         * css/CSSPrimitiveValueMappings.h:
3210         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Add new value all
3211         (WebCore::CSSPrimitiveValue::operator EUserSelect): Add one more bit to store the new property value
3212         * rendering/style/RenderStyleConstants.h: Add new value all
3213         * rendering/style/StyleRareInheritedData.h: Add new value all
3214         (StyleRareInheritedData):
3215
3216 2012-08-10  Iain Merrick  <husky@google.com>
3217
3218         [chromium] Upstream Android changes to WebFrameImpl::selectRange
3219         https://bugs.webkit.org/show_bug.cgi?id=92513
3220
3221         Reviewed by Ryosuke Niwa.
3222
3223         Make this function public we so can call it from the WebKit layer.
3224
3225         * page/EventHandler.h:
3226         (EventHandler):
3227
3228 2012-08-10  Mario Sanchez Prada  <msanchez@igalia.com>
3229
3230         [GTK] Broken implementation of AtkText and AtkEditableText for password fields
3231         https://bugs.webkit.org/show_bug.cgi?id=93621
3232
3233         Rubber-stamped by Ryosuke Niwa.
3234
3235         Fix Apple Win build, by avoiding to generate unreachable sections
3236         of code in AccessibilityRenderObject::passwordFieldValue().
3237
3238         * accessibility/AccessibilityRenderObject.cpp:
3239         (WebCore::AccessibilityRenderObject::passwordFieldValue):
3240
3241 2012-08-10  Dana Jansens  <danakj@chromium.org>
3242
3243         [chromium] Remove targetSurface pointer from CCRenderPass
3244         https://bugs.webkit.org/show_bug.cgi?id=93734
3245
3246         Reviewed by Adrienne Walker.
3247
3248         This removes the CCRenderSurface pointer from the CCRenderPass
3249         structure, allowing it to be serialized and used across processes
3250         freely.
3251
3252         No new tests; no intended change in behaviour.
3253
3254         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3255         (WebCore::CCLayerTreeHostImpl::drawLayers):
3256         * platform/graphics/chromium/cc/CCRenderPass.cpp:
3257         (WebCore::CCRenderPass::CCRenderPass):
3258         * platform/graphics/chromium/cc/CCRenderPass.h:
3259         (CCRenderPass):
3260
3261 2012-08-10  Mario Sanchez Prada  <msanchez@igalia.com>
3262
3263         [GTK] Broken implementation of AtkText and AtkEditableText for password fields
3264         https://bugs.webkit.org/show_bug.cgi?id=93621
3265
3266         Reviewed by Chris Fleizach.
3267
3268         Fix broken implementation of AtkText and AtkEditableText
3269         interfaces in the GTK port for password input fields.
3270
3271         * accessibility/AccessibilityRenderObject.cpp:
3272         (WebCore::AccessibilityRenderObject::stringValue): Call the new
3273         function passwordFieldValue() for password input fields.
3274         (WebCore::AccessibilityRenderObject::text): Ditto.
3275         (WebCore::AccessibilityRenderObject::textLength): Return the
3276         actual length of the password in the field for GTK, return -1
3277         otherwise (not to break current behavior in other platforms).
3278         (WebCore::AccessibilityRenderObject::doAXStringForRange): Don't
3279         early return for password fields in GTK (will rely on text()).
3280         (WebCore::AccessibilityRenderObject::passwordFieldValue): New, it
3281         returns the text being actually rendered for a password input
3282         field (normally a masked string) in GTK. It returns String() in
3283         the rest of platforms, to ensure we don't break anything there.
3284         (WebCore):
3285         * accessibility/AccessibilityRenderObject.h:
3286         (AccessibilityRenderObject):
3287         * accessibility/AccessibilityObject.h:
3288         (WebCore::AccessibilityObject::passwordFieldValue): Default
3289         implementation of this new method, returning an empty string.
3290         (AccessibilityObject):
3291
3292         Ensure the 'text-insert' and 'text-remove' signals for the AtkText
3293         interface are properly emitted for password input fields.
3294
3295         * accessibility/gtk/AXObjectCacheAtk.cpp:
3296         (WebCore::AXObjectCache::nodeTextChangePlatformNotification): Make
3297         sure we never emit the password value for an input field in plain
3298         text when inserting or removing text. Emit the masked text instead.
3299
3300 2012-08-09  Jer Noble  <jer.noble@apple.com>
3301
3302         Use the new AVPlayerItemVideoOutput API in MediaPlayerPrivateAVFoundation.
3303         https://bugs.webkit.org/show_bug.cgi?id=93591
3304
3305         Reviewed by Eric Carlson.
3306
3307         Support the new AVPlayerItemVideoOutput API from Mountain Lion, which has much increased performance over
3308         AVAssetImageGenerator.
3309
3310         No new tests; Performance change only, no net change in functionality.
3311
3312         AVPlayerItemVideoOutput requires an attached CALayer for rendering to occur.  Make the rendering modes non-exclusive, 
3313         so layer-rendering and context-rendering can exist simultaneously:
3314         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: Make the MediaRenderingMode enum
3315             a bitfield.
3316         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3317         (WebCore::MediaPlayerPrivateAVFoundation::currentRenderingModes): Renamed from currentRenderingMode().
3318         (WebCore::MediaPlayerPrivateAVFoundation::setUpVideoRendering): Check for the presence of the MediaRenderingToLayer bit.
3319         (WebCore::MediaPlayerPrivateAVFoundation::prepareForRendering): Ditto.
3320         (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Ditto.
3321
3322         Pull out existing the AVAssetImageGenerator into its own functions:
3323         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3324         (WebCore::MediaPlayerPrivateAVFoundationObjC::createImageGenerator):
3325         (WebCore::MediaPlayerPrivateAVFoundationObjC::destroyImageGenerator):
3326         (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithImageGenerator):
3327
3328         Add new AVPlayerItemVideoOutput equivalent functions:
3329         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3330         (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput):
3331         (WebCore::MediaPlayerPrivateAVFoundationObjC::destroyVideoOutput):
3332         (WebCore::MediaPlayerPrivateAVFoundationObjC::createPixelBuffer):
3333         (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
3334
3335         Switch between the AVAssetImageGenerator and AVPlayerItemVideoOutput functions from
3336         within the original functions:
3337         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3338         (WebCore::MediaPlayerPrivateAVFoundationObjC::createContextVideoRenderer):
3339         (WebCore::MediaPlayerPrivateAVFoundationObjC::destroyContextVideoRenderer):
3340         (WebCore::MediaPlayerPrivateAVFoundationObjC::hasContextRenderer):
3341         (WebCore::MediaPlayerPrivateAVFoundationObjC::paint):
3342
3343         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3344         (WebCore::MediaPlayerPrivateAVFoundationObjC::createImageForTimeInRect): Call the 
3345             AVAssetImageGenerator creation function directly.
3346
3347 2012-08-10  Abhishek Arya  <inferno@chromium.org>
3348
3349         Crash on accessing a removed layout root in FrameView::scheduleRelayout.
3350         https://bugs.webkit.org/show_bug.cgi?id=91368
3351
3352         Reviewed by Levi Weintraub.
3353
3354         We were calling setNeedsLayoutAndPrefWidthsRecalc() in RenderBlock::collapseAnonymousBoxChild
3355         even when documentBeingDestroyed() was true. This ends up accessing stale layout root and bypasses
3356         mitigation added in r109406. There is no need to waste time merging up anonymous blocks in
3357         RenderBlock::removeChild when documentBeingDestroyed() is true.
3358
3359         No new tests. The test is time sensitive, requires a bunch of reloads, and only reproduces on chromium linux.
3360
3361         * rendering/RenderBlock.cpp:
3362         (WebCore::RenderBlock::collapseAnonymousBoxChild):
3363         (WebCore::RenderBlock::removeChild):
3364
3365 2012-08-10  Dan Bernstein  <mitz@apple.com>
3366
3367         <rdar://problem/11855229> When in paginated mode, the layout timer fires continually
3368         https://bugs.webkit.org/show_bug.cgi?id=91038
3369
3370         Reviewed by Simon Fraser.
3371
3372         * page/Page.cpp:
3373         (WebCore::Page::pageCount): Changed to only trigger layout if needed.
3374
3375 2012-08-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3376
3377         [CMAKE] Fix wrong idl include path in CMakeList.txt
3378         https://bugs.webkit.org/show_bug.cgi?id=93715
3379
3380         Reviewed by Rob Buis.
3381
3382         No new tests. No change in behavior.
3383
3384         * CMakeLists.txt: Fix notifications path.
3385
3386 2012-08-10  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3387
3388         [Transforms] Hit test issue with large scale() transform
3389         https://bugs.webkit.org/show_bug.cgi?id=23170
3390
3391         Reviewed by Simon Fraser.
3392
3393         By using normal rounding to determine the top-left corner of the
3394         hit-tested rectangle, we end up offsetting the hit test by up to
3395         half a pixel, once scaled to x60, this creates a 30px error.
3396
3397         Normal rounding is replaced with floored rounding which means the
3398         hit-tested pixel will now always be the pixel containing the
3399         point.
3400
3401         Test: fast/transforms/hit-test-large-scale.html
3402
3403         * rendering/HitTestResult.cpp:
3404         (WebCore::HitTestPoint::HitTestPoint):
3405         (WebCore::HitTestPoint::intersectsRect):
3406         (WebCore::HitTestPoint::rectForPoint):
3407
3408 2012-08-10  Florin Malita  <fmalita@chromium.org>
3409
3410         Unreviewed gardening: build fix for 32bit platforms after 125294.
3411
3412         * css/StyleResolver.cpp:
3413         (RuleData):
3414
3415 2012-08-10  Takashi Sakamoto  <tasak@google.com>
3416
3417         box-shadow creates incorrect shadow when border-radius is too large
3418         https://bugs.webkit.org/show_bug.cgi?id=72103
3419
3420         Reviewed by Simon Fraser.
3421
3422         Added a code for adjusting a rounded rect before paintBoxShadow in
3423         a similar way to getRoundedRectFor.
3424
3425         Test: fast/borders/border-shadow-large-radius.html
3426
3427         * platform/graphics/RoundedRect.cpp:
3428         (WebCore::RoundedRect::adjustRadii):
3429         Added a new method to set radii's scale to fit into rect.
3430         * platform/graphics/RoundedRect.h:
3431         (RoundedRect):
3432         * rendering/RenderBoxModelObject.cpp:
3433         (WebCore::RenderBoxModelObject::paintBoxShadow):
3434         A rounded rect for box-shadow is not checked whether the raii matches
3435         the rect or not. Added the code to adjust radii's scale if the rounded
3436         rect is not renderable, the case: RoundedRect::isRenderable is false.
3437
3438 2012-08-10  Ojan Vafai  <ojan@chromium.org>
3439
3440         Wrap INLINE_FLEX in a #if ENABLE(CSS3_FLEXBOX).
3441         Unreviewed build fix.
3442
3443         * rendering/style/RenderStyle.h:
3444
3445 2012-08-10  Dan Bernstein  <mitz@apple.com>
3446
3447         Renamed the “Modules/webaudio” group in the Xcode project to “webaudio” and moved it into
3448         the Modules group.
3449
3450         Rubber-stamped by Simon Fraser.
3451
3452         * WebCore.xcodeproj/project.pbxproj:
3453
3454 2012-08-10  Erik Arvidsson  <arv@chromium.org>
3455
3456         [V8] Enable es5_readonly
3457         https://bugs.webkit.org/show_bug.cgi?id=91031
3458
3459         Reviewed by Adam Barth.
3460
3461         This turns on the es5_readonly f