7b99490b3944fd301f3cfd2014578724cfd17715
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-09-09  Lucas Forschler  <lforschler@apple.com>
2
3         Build Fix.  <rdar://problem/12260893>
4         
5         * platform/graphics/mac/WebGLLayer.mm:
6
7 2012-09-09  Sheriff Bot  <webkit.review.bot@gmail.com>
8
9         Unreviewed, rolling out r127979.
10         http://trac.webkit.org/changeset/127979
11         https://bugs.webkit.org/show_bug.cgi?id=96217
12
13         Appears to have broken the windows and linux builds (Requested
14         by jamesr_ on #webkit).
15
16         * bindings/scripts/CodeGeneratorV8.pm:
17         (NativeToJSValue):
18         * bindings/v8/V8DOMWrapper.h:
19         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
20         (V8DOMWrapper):
21
22 2012-09-09  James Robinson  <jamesr@chromium.org>
23
24         [chromium] webkit_platform should only be linked into the webkit target
25         https://bugs.webkit.org/show_bug.cgi?id=96213
26
27         Reviewed by Adrienne Walker.
28
29         The Platform.gyp:webkit_platform target provides the implementation of several WEBKIT_EXPORTed symbols. It only
30         makes sense as a target of WebKit.gyp:webkit, other targets shouldn't directly depend on it.
31
32         * WebCore.gyp/WebCore.gyp:
33
34 2012-09-09  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
35
36         [EFL] Fix build break when MEDIA_STREAM is enabled.
37         https://bugs.webkit.org/show_bug.cgi?id=96063
38
39         Unreviewed. Fix build break when MEDIA_STREAM is enabled.
40
41         * CMakeLists.txt:
42
43 2012-09-09  Adam Barth  <abarth@webkit.org>
44
45         [V8] convertEventTargetToV8Object doesn't need to be overloaded
46         https://bugs.webkit.org/show_bug.cgi?id=96195
47
48         Reviewed by Kentaro Hara.
49
50         WTF::getPtr solves this problem for us.
51
52         * bindings/scripts/CodeGeneratorV8.pm:
53         (NativeToJSValue):
54         * bindings/v8/V8DOMWrapper.h:
55         (V8DOMWrapper):
56
57 2012-09-09  Adam Barth  <abarth@webkit.org>
58
59         [V8] V8PerContextData holds m_context using a v8::Handle rather than a v8::Persistent
60         https://bugs.webkit.org/show_bug.cgi?id=96193
61
62         Reviewed by Kentaro Hara.
63
64         There are two types of handles in V8: Local and Persistent. We are now
65         permitted to keep Local handles in the heap because they get
66         deallocated when the C++ stack unwinds and v8::HandleScope objects are
67         destructed.
68
69         V8PerContextData holds its m_context using the non-specific v8::Handle
70         type. If we used a Local handle here, we'd have a memory safety
71         problem. Thankfully, we use a Persistent handle, which need to be
72         allocated and freed manually.
73
74         This patch makes the type of V8PerContextData::m_context more specific
75         to ensure that we never try to store a local handle in this variable.
76         This patch should not have any behavior change because we were already
77         storing a Persistent handle.
78
79         * bindings/v8/V8PerContextData.h:
80         (WebCore::V8PerContextData::create):
81         (WebCore::V8PerContextData::V8PerContextData):
82         (V8PerContextData):
83
84 2012-09-09  Adam Barth  <abarth@webkit.org>
85
86         [V8] V8DOMWindowShell does not need to be RefCounted
87         https://bugs.webkit.org/show_bug.cgi?id=96192
88
89         Reviewed by Kentaro Hara.
90
91         V8DOMWindowShell holds a raw Frame pointer, which would point to
92         unallocated memory if any object that wasn't owned by the frame took a
93         reference to a V8DOMWindowShell. Thankfully, the only object that takes
94         a reference to the V8DOMWindowShell is ScriptController, which is owned
95         by the Frame.
96
97         This patch stops V8DOMWindowShell from being RefCounted so that no
98         other objects are tempted to take a reference to it in the future.
99
100         * bindings/v8/ScriptController.h:
101         (ScriptController):
102         * bindings/v8/V8DOMWindowShell.cpp:
103         (WebCore::V8DOMWindowShell::create):
104         * bindings/v8/V8DOMWindowShell.h:
105         (V8DOMWindowShell):
106
107 2012-09-08  Adam Barth  <abarth@webkit.org>
108
109         [V8] unsafeHandleToCurrentWorldContext doesn't need to exist
110         https://bugs.webkit.org/show_bug.cgi?id=96191
111
112         Reviewed by Kentaro Hara.
113
114         Previously, we used this function when instantiating DOM wrappers. Now
115         we get the context from the creationContext, so we don't need access to
116         this unsafe handle. This patch inlines the function into its one other
117         caller.
118
119         * bindings/v8/ScriptController.cpp:
120         (WebCore::ScriptController::currentWorldContext):
121         * bindings/v8/ScriptController.h:
122         (ScriptController):
123
124 2012-09-08  Benjamin Poulain  <bpoulain@apple.com>
125
126         Specialize nextBreakablePosition depending on breakNBSP
127         https://bugs.webkit.org/show_bug.cgi?id=96042
128
129         Reviewed by Eric Seidel.
130
131         The speed of isBreakableSpace() is limited by the speed of the inner loop of nextBreakablePosition().
132         The branches done to handle noBreakSpace can be simplified outside the loop
133         to reduce the number of tests inside the loop.
134
135         This patch split the code of nextBreakablePosition() in two function, depending if breakNBSP is true
136         or false.
137
138         If breakNBSP is true, isBreakableSpace() would return true on noBreakSpace.
139         ->There is no need to test that value again for needsLineBreakIterator().
140         ->There is no need to special case the switch() of isBreakableSpace() for noBreakSpace.
141
142         If breakNBSP is false:
143         ->isBreakableSpace() does not need to test for noBreakSpace.
144
145         On x86_64, this improves PerformanceTests/Layout/line-layout.html by 2.8%.
146
147         * rendering/break_lines.cpp:
148         (WebCore::isBreakableSpace):
149         (WebCore::nextBreakablePositionIgnoringNBSP):
150         (WebCore::nextBreakablePosition):
151         * rendering/break_lines.h:
152         (WebCore::isBreakable): Remove the default value for breakNBSP, no caller is using it.
153
154 2012-09-08  Adam Barth  <abarth@chromium.org>
155
156         [V8] DOM wrapper creation involves a bunch of sketchy code related to finding the Frame
157         https://bugs.webkit.org/show_bug.cgi?id=96147
158
159         Reviewed by Eric Seidel.
160
161         Previously, we used the Frame when instantiating DOM wrappers. That's
162         sketchy because not all DOM wrappers know how to find their Frame, and
163         the Frame might be displaying a different document now anyway. This
164         patch now gets all the information directly from the creation context.
165
166         In addition, this patch gets the proper creation context in a few more
167         cases, including Location.
168
169         * bindings/scripts/CodeGeneratorV8.pm:
170         (GetInternalFields):
171         (GenerateNormalAttrGetter):
172         (GenerateToV8Converters):
173         (GenerateFunctionCallString):
174         (NativeToJSValue):
175         * bindings/scripts/test/V8/V8Float64Array.cpp:
176         (WebCore::Float64ArrayV8Internal::fooCallback):
177         (WebCore::V8Float64Array::wrapSlow):
178         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
179         (WebCore::V8TestActiveDOMObject::wrapSlow):
180         * bindings/scripts/test/V8/V8TestCallback.cpp:
181         (WebCore::V8TestCallback::callbackWithClass1Param):
182         (WebCore::V8TestCallback::callbackWithClass2Param):
183         (WebCore::V8TestCallback::callbackWithStringList):
184         (WebCore::V8TestCallback::callbackRequiresThisToPass):
185         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
186         (WebCore::V8TestCustomNamedGetter::wrapSlow):
187         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
188         (WebCore::V8TestEventConstructor::wrapSlow):
189         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
190         (WebCore::TestEventTargetV8Internal::itemCallback):
191         (WebCore::V8TestEventTarget::wrapSlow):
192         * bindings/scripts/test/V8/V8TestException.cpp:
193         (WebCore::V8TestException::wrapSlow):
194         * bindings/scripts/test/V8/V8TestInterface.cpp:
195         (WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetter):
196         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
197         (WebCore::V8TestInterface::wrapSlow):
198         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
199         (WebCore::V8TestMediaQueryListListener::wrapSlow):
200         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
201         (WebCore::V8TestNamedConstructor::wrapSlow):
202         * bindings/scripts/test/V8/V8TestNode.cpp:
203         (WebCore::V8TestNode::wrapSlow):
204         * bindings/scripts/test/V8/V8TestObj.cpp:
205         (WebCore::TestObjV8Internal::testObjAttrAttrGetter):
206         (WebCore::TestObjV8Internal::XMLObjAttrAttrGetter):
207         (WebCore::TestObjV8Internal::typedArrayAttrAttrGetter):
208         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetter):
209         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
210         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
211         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter):
212         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
213         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter):
214         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
215         (WebCore::TestObjV8Internal::contentDocumentAttrGetter):
216         (WebCore::TestObjV8Internal::objMethodCallback):
217         (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
218         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
219         (WebCore::TestObjV8Internal::withScriptStateObjCallback):
220         (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
221         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
222         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
223         (WebCore::TestObjV8Internal::getSVGDocumentCallback):
224         (WebCore::TestObjV8Internal::strictFunctionCallback):
225         (WebCore::V8TestObj::wrapSlow):
226         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
227         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
228         * bindings/v8/V8DOMWindowShell.cpp:
229         (WebCore::V8DOMWindowShell::disposeContext):
230         * bindings/v8/V8DOMWrapper.cpp:
231         (WebCore::V8DOMWrapper::instantiateV8Object):
232         * bindings/v8/V8DOMWrapper.h:
233         (V8DOMWrapper):
234         * bindings/v8/V8PerContextData.cpp:
235         (WebCore):
236         (WebCore::V8PerContextData::current):
237         (WebCore::V8PerContextData::dispose):
238         (WebCore::V8PerContextData::init):
239         * bindings/v8/V8PerContextData.h:
240         (V8PerContextData):
241
242 2012-09-08  Arvid Nilsson  <anilsson@rim.com>
243
244         [CSS Shaders] [BlackBerry] Refactor CustomFilterMesh and CustomFilter*Program
245         https://bugs.webkit.org/show_bug.cgi?id=94725
246
247         Reviewed by George Staikos.
248
249         Separate the MeshGenerator from the CustomFilterMesh into
250         CustomFilterMeshGenerator.h/cpp. This allows the BlackBerry port to
251         reuse the mesh generator in its accelerated compositing implementation.
252
253         Also add support for creating a "PlatformCompiledProgram" from a
254         CustomFilterValidatedProgram, so the BlackBerry port can reuse the
255         shader validation code in its accelerated compositing implementation.
256
257         It turns out the GraphicsContext3D is not needed for ANGLE to function,
258         so this patch removes an ASSERT that required a context before
259         validating the shaders using ANGLE. This allows the BlackBerry port to
260         reuse the validation code without triggering the assert. In the future,
261         the validation code could be moved to a separate class to make it more
262         obvious that it isn't really related to GraphicsContext3D.
263
264         In general, this refactoring can be useful for any port that uses
265         OpenGL to implement accelerated compositing.
266
267         Inspired by an original patch by Joshua Netterfield.
268
269         No new tests, because this patch implements no new functionality.
270
271         * GNUmakefile.list.am:
272         * Target.pri:
273         * WebCore.gypi:
274         * WebCore.vcproj/WebCore.vcproj:
275         * WebCore.xcodeproj/project.pbxproj:
276         * platform/graphics/filters/CustomFilterGlobalContext.cpp:
277         (WebCore::CustomFilterGlobalContext::getValidatedProgram):
278         * platform/graphics/filters/CustomFilterMesh.cpp:
279         (WebCore::CustomFilterMesh::CustomFilterMesh):
280         * platform/graphics/filters/CustomFilterMeshGenerator.cpp: Added.
281         (WebCore):
282         (WebCore::CustomFilterMeshGenerator::CustomFilterMeshGenerator):
283         (WebCore::CustomFilterMeshGenerator::addAttachedMeshIndex):
284         (WebCore::CustomFilterMeshGenerator::generateAttachedMesh):
285         (WebCore::CustomFilterMeshGenerator::addDetachedMeshVertexAndIndex):
286         (WebCore::CustomFilterMeshGenerator::generateDetachedMesh):
287         (WebCore::CustomFilterMeshGenerator::addPositionAttribute):
288         (WebCore::CustomFilterMeshGenerator::addTexCoordAttribute):
289         (WebCore::CustomFilterMeshGenerator::addMeshCoordAttribute):
290         (WebCore::CustomFilterMeshGenerator::addTriangleCoordAttribute):
291         (WebCore::CustomFilterMeshGenerator::addAttachedMeshVertexAttributes):
292         (WebCore::CustomFilterMeshGenerator::addDetachedMeshVertexAttributes):
293         (WebCore::CustomFilterMeshGenerator::dumpBuffers):
294         * platform/graphics/filters/CustomFilterMeshGenerator.h: Added.
295         (WebCore):
296         (CustomFilterMeshGenerator):
297         (WebCore::CustomFilterMeshGenerator::vertices):
298         (WebCore::CustomFilterMeshGenerator::indices):
299         (WebCore::CustomFilterMeshGenerator::points):
300         (WebCore::CustomFilterMeshGenerator::pointsCount):
301         (WebCore::CustomFilterMeshGenerator::tiles):
302         (WebCore::CustomFilterMeshGenerator::tilesCount):
303         (WebCore::CustomFilterMeshGenerator::indicesCount):
304         (WebCore::CustomFilterMeshGenerator::floatsPerVertex):
305         (WebCore::CustomFilterMeshGenerator::verticesCount):
306         (WebCore::CustomFilterMeshGenerator::addTile):
307         * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
308         (WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram):
309         (WebCore::CustomFilterValidatedProgram::compiledProgram):
310         (WebCore::CustomFilterValidatedProgram::~CustomFilterValidatedProgram):
311         (WebCore):
312         (WebCore::CustomFilterValidatedProgram::platformCompiledProgram):
313         (WebCore::CustomFilterValidatedProgram::platformDestroy):
314         * platform/graphics/filters/CustomFilterValidatedProgram.h:
315         (WebCore):
316         (CustomFilterValidatedProgram):
317         * platform/graphics/filters/blackberry/CustomFilterValidatedProgramBlackBerry.cpp: Added.
318         (WebCore):
319         (WebCore::CustomFilterValidatedProgram::platformCompiledProgram):
320         (WebCore::CustomFilterValidatedProgram::platformDestroy):
321
322 2012-09-07  Simon Hausmann  <simon.hausmann@nokia.com>
323
324         Fix the build of OpenGLShims on Windows
325         https://bugs.webkit.org/show_bug.cgi?id=96123
326
327         Reviewed by Kenneth Rohde Christiansen.
328
329         OpenGL functions on Windows are generally defined as __stdcall, so we need to make sure
330         that we declare our own "copies" of those functions with the same calling convention.
331
332         This is also required for the situation where we build against ANGLE, because then we
333         initialize the function table entries with a direct assignment (entry = ::glMyFunction())
334         and the assignment does not compile if the types don't match, i.e. if RHS has a different
335         calling convention than LHS.
336
337         The approach chosen is basically the same as in the Khronos headers,
338         using a GLAPIENTRY macro.
339
340         * platform/graphics/OpenGLShims.h:
341
342 2012-09-07  Benjamin Poulain  <bpoulain@apple.com>
343
344         Rename the ustring() accessor to string()
345         https://bugs.webkit.org/show_bug.cgi?id=95919
346
347         Reviewed by Geoffrey Garen.
348
349         * bindings/js/Dictionary.cpp:
350         (WebCore::Dictionary::getOwnPropertiesAsStringHashMap):
351         (WebCore::Dictionary::getOwnPropertyNames):
352         * bindings/js/SerializedScriptValue.cpp:
353         Simplify a few String constructions which were still using type conversion
354         through StringImpl.
355
356         (WebCore::CloneSerializer::write):
357         (WebCore::CloneDeserializer::CachedString::string):
358         (WebCore::CloneDeserializer::readFile):
359         (WebCore::CloneDeserializer::readTerminal):
360         (WebCore::CloneDeserializer::deserialize):
361         * bridge/NP_jsobject.cpp:
362         (_NPN_Enumerate):
363
364 2012-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
365
366         Unreviewed, rolling out r127955.
367         http://trac.webkit.org/changeset/127955
368         https://bugs.webkit.org/show_bug.cgi?id=96174
369
370         Hits an ASSERT (Requested by abarth on #webkit).
371
372         * bindings/scripts/CodeGeneratorV8.pm:
373         (GetInternalFields):
374         (GenerateNormalAttrGetter):
375         (GenerateToV8Converters):
376         (GenerateFunctionCallString):
377         (NativeToJSValue):
378         * bindings/scripts/test/V8/V8Float64Array.cpp:
379         (WebCore::Float64ArrayV8Internal::fooCallback):
380         (WebCore::V8Float64Array::wrapSlow):
381         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
382         (WebCore::V8TestActiveDOMObject::wrapSlow):
383         * bindings/scripts/test/V8/V8TestCallback.cpp:
384         (WebCore::V8TestCallback::callbackWithClass1Param):
385         (WebCore::V8TestCallback::callbackWithClass2Param):
386         (WebCore::V8TestCallback::callbackWithStringList):
387         (WebCore::V8TestCallback::callbackRequiresThisToPass):
388         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
389         (WebCore::V8TestCustomNamedGetter::wrapSlow):
390         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
391         (WebCore::V8TestEventConstructor::wrapSlow):
392         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
393         (WebCore::TestEventTargetV8Internal::itemCallback):
394         (WebCore::V8TestEventTarget::wrapSlow):
395         * bindings/scripts/test/V8/V8TestException.cpp:
396         (WebCore::V8TestException::wrapSlow):
397         * bindings/scripts/test/V8/V8TestInterface.cpp:
398         (WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetter):
399         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
400         (WebCore::V8TestInterface::wrapSlow):
401         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
402         (WebCore::V8TestMediaQueryListListener::wrapSlow):
403         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
404         (WebCore::V8TestNamedConstructor::wrapSlow):
405         * bindings/scripts/test/V8/V8TestNode.cpp:
406         (WebCore::V8TestNode::wrapSlow):
407         * bindings/scripts/test/V8/V8TestObj.cpp:
408         (WebCore::TestObjV8Internal::testObjAttrAttrGetter):
409         (WebCore::TestObjV8Internal::XMLObjAttrAttrGetter):
410         (WebCore::TestObjV8Internal::typedArrayAttrAttrGetter):
411         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetter):
412         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
413         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
414         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter):
415         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
416         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter):
417         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
418         (WebCore::TestObjV8Internal::contentDocumentAttrGetter):
419         (WebCore::TestObjV8Internal::objMethodCallback):
420         (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
421         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
422         (WebCore::TestObjV8Internal::withScriptStateObjCallback):
423         (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
424         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
425         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
426         (WebCore::TestObjV8Internal::getSVGDocumentCallback):
427         (WebCore::TestObjV8Internal::strictFunctionCallback):
428         (WebCore::V8TestObj::wrapSlow):
429         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
430         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
431         * bindings/v8/V8DOMWindowShell.cpp:
432         (WebCore::V8DOMWindowShell::disposeContext):
433         * bindings/v8/V8DOMWrapper.cpp:
434         (WebCore::V8DOMWrapper::instantiateV8Object):
435         * bindings/v8/V8DOMWrapper.h:
436         (V8DOMWrapper):
437         * bindings/v8/V8PerContextData.cpp:
438         (WebCore::V8PerContextData::dispose):
439         (WebCore::V8PerContextData::init):
440         * bindings/v8/V8PerContextData.h:
441         (V8PerContextData):
442
443 2012-09-06  Jeffrey Pfau  <jpfau@apple.com>
444
445         Extend third-party storage blocking API to optionally allow blocking all storage
446         https://bugs.webkit.org/show_bug.cgi?id=95915
447
448         Reviewed by Brady Eidson.
449
450         Replace boolean API with tri-state API that allows for blocking no, third-party, or all storage.
451
452         Tests: http/tests/security/same-origin-shared-worker-blocked.html
453                http/tests/security/same-origin-storage-blocked.html
454                http/tests/security/same-origin-websql-blocked.html
455
456         * dom/Document.cpp:
457         (WebCore::Document::initSecurityContext):
458         * page/SecurityOrigin.cpp:
459         (WebCore::SecurityOrigin::SecurityOrigin):
460         (WebCore::SecurityOrigin::canAccessStorage):
461         * page/SecurityOrigin.h:
462         (WebCore::SecurityOrigin::setStorageBlockingPolicy):
463         (SecurityOrigin):
464         * page/Settings.cpp:
465         (WebCore::Settings::Settings):
466         * page/Settings.h:
467         (WebCore::Settings::setStorageBlockingPolicy):
468         (WebCore::Settings::storageBlockingPolicy):
469         (Settings):
470         * testing/InternalSettings.cpp:
471         (WebCore::InternalSettings::setStorageBlockingPolicy):
472         * testing/InternalSettings.h:
473         (InternalSettings):
474         * testing/InternalSettings.idl:
475
476 2012-09-07  Adam Barth  <abarth@chromium.org>
477
478         [V8] DOM wrapper creation involves a bunch of sketchy code related to finding the Frame
479         https://bugs.webkit.org/show_bug.cgi?id=96147
480
481         Reviewed by Eric Seidel.
482
483         Previously, we used the Frame when instantiating DOM wrappers. That's
484         sketchy because not all DOM wrappers know how to find their Frame, and
485         the Frame might be displaying a different document now anyway. This
486         patch now gets all the information directly from the creation context.
487
488         In addition, this patch gets the proper creation context in a few more
489         cases, including Location.
490
491         * bindings/scripts/CodeGeneratorV8.pm:
492         (GetInternalFields):
493         (GenerateNormalAttrGetter):
494         (GenerateToV8Converters):
495         (GenerateFunctionCallString):
496         (NativeToJSValue):
497         * bindings/scripts/test/V8/V8Float64Array.cpp:
498         (WebCore::Float64ArrayV8Internal::fooCallback):
499         (WebCore::V8Float64Array::wrapSlow):
500         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
501         (WebCore::V8TestActiveDOMObject::wrapSlow):
502         * bindings/scripts/test/V8/V8TestCallback.cpp:
503         (WebCore::V8TestCallback::callbackWithClass1Param):
504         (WebCore::V8TestCallback::callbackWithClass2Param):
505         (WebCore::V8TestCallback::callbackWithStringList):
506         (WebCore::V8TestCallback::callbackRequiresThisToPass):
507         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
508         (WebCore::V8TestCustomNamedGetter::wrapSlow):
509         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
510         (WebCore::V8TestEventConstructor::wrapSlow):
511         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
512         (WebCore::TestEventTargetV8Internal::itemCallback):
513         (WebCore::V8TestEventTarget::wrapSlow):
514         * bindings/scripts/test/V8/V8TestException.cpp:
515         (WebCore::V8TestException::wrapSlow):
516         * bindings/scripts/test/V8/V8TestInterface.cpp:
517         (WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetter):
518         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
519         (WebCore::V8TestInterface::wrapSlow):
520         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
521         (WebCore::V8TestMediaQueryListListener::wrapSlow):
522         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
523         (WebCore::V8TestNamedConstructor::wrapSlow):
524         * bindings/scripts/test/V8/V8TestNode.cpp:
525         (WebCore::V8TestNode::wrapSlow):
526         * bindings/scripts/test/V8/V8TestObj.cpp:
527         (WebCore::TestObjV8Internal::testObjAttrAttrGetter):
528         (WebCore::TestObjV8Internal::XMLObjAttrAttrGetter):
529         (WebCore::TestObjV8Internal::typedArrayAttrAttrGetter):
530         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetter):
531         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
532         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
533         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter):
534         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
535         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter):
536         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
537         (WebCore::TestObjV8Internal::contentDocumentAttrGetter):
538         (WebCore::TestObjV8Internal::objMethodCallback):
539         (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
540         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
541         (WebCore::TestObjV8Internal::withScriptStateObjCallback):
542         (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
543         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
544         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
545         (WebCore::TestObjV8Internal::getSVGDocumentCallback):
546         (WebCore::TestObjV8Internal::strictFunctionCallback):
547         (WebCore::V8TestObj::wrapSlow):
548         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
549         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
550         * bindings/v8/V8DOMWindowShell.cpp:
551         (WebCore::V8DOMWindowShell::disposeContext):
552         * bindings/v8/V8DOMWrapper.cpp:
553         (WebCore::V8DOMWrapper::instantiateV8Object):
554         * bindings/v8/V8DOMWrapper.h:
555         (V8DOMWrapper):
556         * bindings/v8/V8PerContextData.cpp:
557         (WebCore):
558         (WebCore::V8PerContextData::current):
559         (WebCore::V8PerContextData::dispose):
560         (WebCore::V8PerContextData::init):
561         * bindings/v8/V8PerContextData.h:
562         (V8PerContextData):
563
564 2012-09-07  James Robinson  <jamesr@chromium.org>
565
566         [chromium] Remove transitional WebCompositorSupport fallback code
567         https://bugs.webkit.org/show_bug.cgi?id=96155
568
569         Reviewed by Adrienne Walker.
570
571         The implementation of WebCompositorSupport has rolled out everywhere and the static ::create() functions are
572         going way.
573
574         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
575         (WebCore::createScrollbarLayer):
576         * platform/graphics/chromium/AnimationTranslationUtil.cpp:
577         (WebCore::createWebAnimation):
578         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
579         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
580         * platform/graphics/chromium/DrawingBufferChromium.cpp:
581         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
582         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
583         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
584         (WebCore::GraphicsLayerChromium::setContentsToImage):
585         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
586
587 2012-09-07  Simon Hausmann  <simon.hausmann@nokia.com>
588
589         Fix compilation of TextureMapperShaderManager.cpp with MSVC
590         https://bugs.webkit.org/show_bug.cgi?id=96121
591
592         Reviewed by Kenneth Rohde Christiansen.
593
594         Named variadic parameters in macros appear to be a GCC extension. Fortunately __VA_ARGS__ seems
595         to work with GCC and MSVC here.
596
597         * platform/graphics/texmap/TextureMapperShaderManager.cpp:
598         (WebCore):
599         (WebCore::StandardFilterProgram::StandardFilterProgram):
600
601 2012-09-07  Victoria Kirst  <vrk@chromium.org>
602
603         Seek to end after duration change in HTMLMediaElement
604         https://bugs.webkit.org/show_bug.cgi?id=95986
605
606         Reviewed by Eric Carlson.
607
608         This seeks the media element to the end of the media resource if the current playback
609         position has become greater than the duration after a duration change.
610         http://dev.w3.org/html5/spec/media-elements.html#durationChange
611
612         Test: http/tests/media/media-source/seek-to-end-after-duration-change.html
613
614         * html/HTMLMediaElement.cpp:
615         (WebCore::HTMLMediaElement::mediaPlayerDurationChanged): After firing the duration change event, checks to see if current time exceeds duration and if so, seeks to duration.
616
617 2012-09-07  James Robinson  <jamesr@chromium.org>
618
619         [chromium] Implement WebCompositorInputHandlerImpl on top of exposed API instead of CC internals
620         https://bugs.webkit.org/show_bug.cgi?id=96151
621
622         Reviewed by Adrienne Walker.
623
624         Reworks the CC hookup for input handling to be more similar to the OutputSurface handling. If on compositor
625         startup we want to initialize threaded input handling, we ask the embedder for a CCInputHandler implementation
626         via CCLayerTreeHostClient. If the client provides one, we later bind this to a CCInputHandlerClient (actually
627         CCLayerTreeHostImpl) from the compositor thread.
628
629         * platform/graphics/chromium/cc/CCInputHandler.h:
630         (WebCore):
631         (CCInputHandler):
632         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
633         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
634         (WebCore::CCLayerTreeHost::initialize):
635         (WebCore::CCLayerTreeHost::createInputHandler):
636         (WebCore):
637         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
638         (CCLayerTreeHost):
639         * platform/graphics/chromium/cc/CCLayerTreeHostClient.h:
640         (WebCore):
641         (CCLayerTreeHostClient):
642         * platform/graphics/chromium/cc/CCProxy.h:
643         (CCProxy):
644         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
645         (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
646         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
647         (CCSingleThreadProxy):
648         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
649         (WebCore::CCThreadProxy::CCThreadProxy):
650         (WebCore::CCThreadProxy::start):
651         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
652         (WebCore::CCThreadProxy::initializeImplOnImplThread):
653         * platform/graphics/chromium/cc/CCThreadProxy.h:
654         (CCThreadProxy):
655
656 2012-09-07  Adam Barth  <abarth@chromium.org>
657
658         [V8] Use a v8::Object rather than a v8::Context to represent the creationContext
659         https://bugs.webkit.org/show_bug.cgi?id=96154
660
661         Reviewed by Eric Seidel.
662
663         This patch is a mechanical search-and-replace. Using a v8::Object
664         rather than a v8::Context lets us delay the call to CreationContext()
665         until we actually need to call it. This should not affect behavior.
666
667         * bindings/scripts/CodeGeneratorV8.pm:
668         (GenerateHeader):
669         (GenerateNormalAttrGetter):
670         (GenerateNamedConstructorCallback):
671         (GenerateImplementation):
672         (GenerateToV8Converters):
673         (GenerateFunctionCallString):
674         (NativeToJSValue):
675         * bindings/scripts/test/V8/V8Float64Array.cpp:
676         (WebCore::Float64ArrayV8Internal::fooCallback):
677         (WebCore::toV8):
678         (WebCore::V8Float64Array::wrapSlow):
679         * bindings/scripts/test/V8/V8Float64Array.h:
680         (V8Float64Array):
681         (WebCore::V8Float64Array::wrap):
682         (WebCore):
683         (WebCore::toV8):
684         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
685         (WebCore::V8TestActiveDOMObject::wrapSlow):
686         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
687         (V8TestActiveDOMObject):
688         (WebCore::V8TestActiveDOMObject::wrap):
689         (WebCore::toV8):
690         * bindings/scripts/test/V8/V8TestCallback.cpp:
691         (WebCore::V8TestCallback::callbackWithClass1Param):
692         (WebCore::V8TestCallback::callbackWithClass2Param):
693         (WebCore::V8TestCallback::callbackWithStringList):
694         (WebCore::V8TestCallback::callbackRequiresThisToPass):
695         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
696         (WebCore::V8TestCustomNamedGetter::wrapSlow):
697         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
698         (V8TestCustomNamedGetter):
699         (WebCore::V8TestCustomNamedGetter::wrap):
700         (WebCore::toV8):
701         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
702         (WebCore::V8TestEventConstructor::wrapSlow):
703         * bindings/scripts/test/V8/V8TestEventConstructor.h:
704         (V8TestEventConstructor):
705         (WebCore::V8TestEventConstructor::wrap):
706         (WebCore::toV8):
707         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
708         (WebCore::TestEventTargetV8Internal::itemCallback):
709         (WebCore::V8TestEventTarget::wrapSlow):
710         * bindings/scripts/test/V8/V8TestEventTarget.h:
711         (V8TestEventTarget):
712         (WebCore::V8TestEventTarget::wrap):
713         (WebCore::toV8):
714         * bindings/scripts/test/V8/V8TestException.cpp:
715         (WebCore::V8TestException::wrapSlow):
716         * bindings/scripts/test/V8/V8TestException.h:
717         (V8TestException):
718         (WebCore::V8TestException::wrap):
719         (WebCore::toV8):
720         * bindings/scripts/test/V8/V8TestInterface.cpp:
721         (WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetter):
722         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
723         (WebCore::V8TestInterface::wrapSlow):
724         * bindings/scripts/test/V8/V8TestInterface.h:
725         (V8TestInterface):
726         (WebCore::V8TestInterface::wrap):
727         (WebCore::toV8):
728         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
729         (WebCore::V8TestMediaQueryListListener::wrapSlow):
730         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
731         (V8TestMediaQueryListListener):
732         (WebCore::V8TestMediaQueryListListener::wrap):
733         (WebCore::toV8):
734         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
735         (WebCore::V8TestNamedConstructorConstructorCallback):
736         (WebCore::V8TestNamedConstructor::wrapSlow):
737         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
738         (V8TestNamedConstructor):
739         (WebCore::V8TestNamedConstructor::wrap):
740         (WebCore::toV8):
741         * bindings/scripts/test/V8/V8TestNode.cpp:
742         (WebCore::V8TestNode::wrapSlow):
743         * bindings/scripts/test/V8/V8TestNode.h:
744         (V8TestNode):
745         (WebCore::V8TestNode::wrap):
746         (WebCore::toV8):
747         * bindings/scripts/test/V8/V8TestObj.cpp:
748         (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetter):
749         (WebCore::TestObjV8Internal::testObjAttrAttrGetter):
750         (WebCore::TestObjV8Internal::XMLObjAttrAttrGetter):
751         (WebCore::TestObjV8Internal::typedArrayAttrAttrGetter):
752         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetter):
753         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
754         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
755         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter):
756         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
757         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter):
758         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
759         (WebCore::TestObjV8Internal::cachedAttribute1AttrGetter):
760         (WebCore::TestObjV8Internal::cachedAttribute2AttrGetter):
761         (WebCore::TestObjV8Internal::contentDocumentAttrGetter):
762         (WebCore::TestObjV8Internal::mutablePointAttrGetter):
763         (WebCore::TestObjV8Internal::immutablePointAttrGetter):
764         (WebCore::TestObjV8Internal::objMethodCallback):
765         (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
766         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
767         (WebCore::TestObjV8Internal::withScriptStateObjCallback):
768         (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
769         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
770         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
771         (WebCore::TestObjV8Internal::getSVGDocumentCallback):
772         (WebCore::TestObjV8Internal::mutablePointFunctionCallback):
773         (WebCore::TestObjV8Internal::immutablePointFunctionCallback):
774         (WebCore::TestObjV8Internal::strictFunctionCallback):
775         (WebCore::V8TestObj::wrapSlow):
776         * bindings/scripts/test/V8/V8TestObj.h:
777         (V8TestObj):
778         (WebCore::V8TestObj::wrap):
779         (WebCore::toV8):
780         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
781         (WebCore::TestSerializedScriptValueInterfaceV8Internal::portsAttrGetter):
782         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
783         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
784         (V8TestSerializedScriptValueInterface):
785         (WebCore::V8TestSerializedScriptValueInterface::wrap):
786         (WebCore::toV8):
787         * bindings/v8/DOMTransaction.cpp:
788         (WebCore::DOMTransaction::callFunction):
789         * bindings/v8/IDBCustomBindings.cpp:
790         (WebCore::V8IDBCursorWithValue::valueAccessorGetter):
791         * bindings/v8/SerializedScriptValue.cpp:
792         * bindings/v8/V8Binding.h:
793         (WebCore::V8ValueTraits::arrayV8Value):
794         * bindings/v8/V8Collection.h:
795         (WebCore::getV8Object):
796         (WebCore::getNamedPropertyOfCollection):
797         (WebCore::collectionNamedPropertyGetter):
798         (WebCore::getIndexedPropertyOfCollection):
799         (WebCore::collectionIndexedPropertyGetter):
800         * bindings/v8/V8DOMWindowShell.cpp:
801         (WebCore::getter):
802         * bindings/v8/V8DOMWrapper.cpp:
803         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
804         * bindings/v8/V8DOMWrapper.h:
805         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
806         (V8DOMWrapper):
807         * bindings/v8/V8ThrowException.cpp:
808         (WebCore):
809         * bindings/v8/custom/V8BlobCustom.cpp:
810         (WebCore::toV8):
811         (WebCore::V8Blob::constructorCallback):
812         * bindings/v8/custom/V8CSSRuleCustom.cpp:
813         (WebCore::toV8):
814         * bindings/v8/custom/V8CSSValueCustom.cpp:
815         (WebCore::toV8):
816         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
817         (WebCore::toV8Object):
818         (WebCore::V8CanvasRenderingContext2D::strokeStyleAccessorGetter):
819         (WebCore::V8CanvasRenderingContext2D::fillStyleAccessorGetter):
820         * bindings/v8/custom/V8ConsoleCustom.cpp:
821         (WebCore::V8Console::memoryAccessorGetter):
822         * bindings/v8/custom/V8DOMWindowCustom.cpp:
823         (WebCore::V8DOMWindow::openCallback):
824         (WebCore::V8DOMWindow::indexedPropertyGetter):
825         (WebCore::V8DOMWindow::namedPropertyGetter):
826         (WebCore::toV8):
827         * bindings/v8/custom/V8DataViewCustom.cpp:
828         (WebCore::toV8):
829         * bindings/v8/custom/V8DocumentCustom.cpp:
830         (WebCore::V8Document::evaluateCallback):
831         (WebCore::V8Document::getCSSCanvasContextCallback):
832         (WebCore::toV8):
833         (WebCore::V8Document::createTouchListCallback):
834         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
835         (WebCore::V8Document::locationAccessorGetter):
836         * bindings/v8/custom/V8EntryCustom.cpp:
837         (WebCore::toV8):
838         * bindings/v8/custom/V8EntrySyncCustom.cpp:
839         (WebCore::toV8):
840         * bindings/v8/custom/V8EventCustom.cpp:
841         (WebCore::V8Event::dataTransferAccessorGetter):
842         (WebCore::V8Event::clipboardDataAccessorGetter):
843         (WebCore::toV8):
844         * bindings/v8/custom/V8FileReaderCustom.cpp:
845         (WebCore::V8FileReader::resultAccessorGetter):
846         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
847         (WebCore::getNamedItems):
848         (WebCore::getItem):
849         (WebCore::V8HTMLAllCollection::namedPropertyGetter):
850         (WebCore::V8HTMLAllCollection::itemCallback):
851         (WebCore::V8HTMLAllCollection::namedItemCallback):
852         (WebCore::V8HTMLAllCollection::callAsFunctionCallback):
853         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
854         (WebCore::V8HTMLCanvasElement::getContextCallback):
855         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
856         (WebCore::getNamedItems):
857         (WebCore::V8HTMLCollection::namedPropertyGetter):
858         (WebCore::V8HTMLCollection::namedItemCallback):
859         (WebCore::toV8):
860         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
861         (WebCore::V8HTMLDocument::getNamedProperty):
862         (WebCore::V8HTMLDocument::allAccessorGetter):
863         (WebCore::toV8):
864         * bindings/v8/custom/V8HTMLElementCustom.cpp:
865         (WebCore::toV8):
866         (WebCore::V8HTMLElement::itemValueAccessorGetter):
867         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
868         (WebCore::V8HTMLFormElement::indexedPropertyGetter):
869         (WebCore::V8HTMLFormElement::namedPropertyGetter):
870         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
871         (WebCore::V8HTMLFrameSetElement::namedPropertyGetter):
872         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
873         (WebCore::v8HTMLImageElementConstructorCallback):
874         * bindings/v8/custom/V8HTMLLinkElementCustom.cpp:
875         (WebCore::V8HTMLLinkElement::sizesAccessorGetter):
876         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
877         (WebCore::V8HTMLOptionsCollection::indexedPropertyGetter):
878         * bindings/v8/custom/V8HTMLOutputElementCustom.cpp:
879         (WebCore::V8HTMLOutputElement::htmlForAccessorGetter):
880         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
881         (WebCore::V8HTMLSelectElement::indexedPropertyGetter):
882         * bindings/v8/custom/V8IDBAnyCustom.cpp:
883         (WebCore::toV8):
884         * bindings/v8/custom/V8IDBKeyCustom.cpp:
885         (WebCore::toV8):
886         * bindings/v8/custom/V8ImageDataCustom.cpp:
887         (WebCore::toV8):
888         * bindings/v8/custom/V8LocationCustom.cpp:
889         (WebCore::toV8):
890         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
891         (WebCore::V8MessageChannel::constructorCallback):
892         * bindings/v8/custom/V8MessageEventCustom.cpp:
893         (WebCore::V8MessageEvent::dataAccessorGetter):
894         (WebCore::V8MessageEvent::portsAccessorGetter):
895         * bindings/v8/custom/V8MicroDataItemValueCustom.cpp:
896         (WebCore::toV8):
897         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
898         (WebCore::V8NamedNodeMap::indexedPropertyGetter):
899         (WebCore::V8NamedNodeMap::namedPropertyGetter):
900         * bindings/v8/custom/V8NodeCustom.cpp:
901         (WebCore::toV8Slow):
902         * bindings/v8/custom/V8NodeListCustom.cpp:
903         (WebCore::V8NodeList::namedPropertyGetter):
904         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
905         (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
906         (WebCore::V8NotificationCenter::createNotificationCallback):
907         * bindings/v8/custom/V8PerformanceCustom.cpp:
908         (WebCore::V8Performance::memoryAccessorGetter):
909         * bindings/v8/custom/V8PerformanceEntryCustom.cpp:
910         (WebCore::toV8):
911         * bindings/v8/custom/V8PopStateEventCustom.cpp:
912         (WebCore::V8PopStateEvent::stateAccessorGetter):
913         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
914         (WebCore::V8SQLTransactionSync::executeSqlCallback):
915         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
916         (WebCore::toV8):
917         * bindings/v8/custom/V8SVGElementCustom.cpp:
918         (WebCore::toV8):
919         * bindings/v8/custom/V8SVGPathSegCustom.cpp:
920         (WebCore::toV8):
921         * bindings/v8/custom/V8ScriptProfileCustom.cpp:
922         (WebCore::toV8):
923         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
924         (WebCore::toV8):
925         * bindings/v8/custom/V8StyleSheetCustom.cpp:
926         (WebCore::toV8):
927         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
928         (WebCore::V8StyleSheetList::namedPropertyGetter):
929         * bindings/v8/custom/V8TrackEventCustom.cpp:
930         (WebCore::V8TrackEvent::trackAccessorGetter):
931         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
932         (WebCore::toV8Object):
933         (WebCore::getObjectParameter):
934         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
935         (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
936         (WebCore::V8WebGLRenderingContext::getParameterCallback):
937         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
938         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
939         (WebCore::V8WebGLRenderingContext::getUniformCallback):
940         * bindings/v8/custom/V8WorkerContextCustom.cpp:
941         (WebCore::toV8):
942         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
943         (WebCore::V8XMLHttpRequest::responseAccessorGetter):
944         * dom/make_names.pl:
945         (printWrapperFunctions):
946         (printWrapperFactoryCppFile):
947         (printWrapperFactoryHeaderFile):
948
949 2012-09-07  John Bauman  <jbauman@chromium.org>
950
951         Check objects for null when recreating context
952         https://bugs.webkit.org/show_bug.cgi?id=95926
953
954         Reviewed by Dean Jackson.
955
956         Upon navigation the FrameViwe and other objects may go null, so detect
957         that and return rather than try to dereference them.
958
959         * html/canvas/WebGLRenderingContext.cpp:
960         (WebCore):
961         (WebCore::WebGLRenderingContext::maybeRestoreContext):
962
963 2012-09-07  Simon Fraser  <simon.fraser@apple.com>
964
965         box-shadow causes overlay scrollbars to be in the wrong position when element is composited
966         https://bugs.webkit.org/show_bug.cgi?id=85647
967
968         Reviewed by James Robinson.
969
970         The code that positioned the GraphicsLayers for scrollbars failed to take
971         into account any offset between the origin of the compositing layer,
972         and the renderer. This caused scrollbar layers to be misplaced or hidden
973         on layers with, for example, box-shadows.
974         
975         Also moved the code that positions the scrollbar layers into RendderLayerBacking,
976         since this is where all the rest of the GraphicsLayer-positioning code lives.
977         
978         Renamed an "offsetFromLayer" param to "offsetFromRoot" which is more accurate.
979
980         Manual test, since overlay scrollbars are not enabled in DRT/WTR:
981             ManualTests/scrollbars/scrollbars-in-composited-layers.html
982
983         * rendering/RenderLayer.cpp:
984         (WebCore::RenderLayer::positionOverflowControls):
985         * rendering/RenderLayerBacking.cpp:
986         (WebCore::RenderLayerBacking::positionOverflowControlsLayers):
987         * rendering/RenderLayerBacking.h:
988         (RenderLayerBacking):
989
990 2012-09-07  David Reveman  <reveman@chromium.org>
991
992         [Chromium] Multiple commits without invalidation allowed per redraw.
993         https://bugs.webkit.org/show_bug.cgi?id=95661
994
995         Reviewed by James Robinson.
996
997         Always enter COMMIT_STATE_WAITING_FOR_FIRST_DRAW after commit. This
998         ensures we draw before beginning a new frame.
999
1000         Unit tests: CCLayerTreeHostTestContinuousCommit.runMultiThread
1001                     CCLayerTreeHostTestContinuousInvalidate.runMultiThread
1002                     CCLayerTreeHostTestContinuousAnimate.runMultiThread
1003
1004         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
1005         (WebCore::CCSchedulerStateMachine::updateState):
1006
1007 2012-09-07  Tony Chang  <tony@chromium.org>
1008
1009         Add OVERRIDE to computeLogical{Width,Height} overrides
1010         https://bugs.webkit.org/show_bug.cgi?id=96153
1011
1012         Reviewed by Ojan Vafai.
1013
1014         I plan on renaming these functions to updateLogical{Width,Height} and
1015         I want to be extra sure that I don't mess up.
1016
1017         No new tests, this is just a refactoring.
1018
1019         * rendering/RenderFlowThread.h: Also mark the functions virtual!
1020         * rendering/RenderListBox.h:
1021         (RenderListBox):
1022         * rendering/RenderMeter.h:
1023         (RenderMeter):
1024         * rendering/RenderTable.h:
1025         (RenderTable):
1026         * rendering/RenderTableCell.h:
1027         (RenderTableCell):
1028         * rendering/RenderTextControl.h:
1029         (RenderTextControl):
1030         * rendering/svg/RenderSVGForeignObject.h:
1031         (RenderSVGForeignObject):
1032
1033 2012-09-07  Dominic Mazzoni  <dmazzoni@google.com>
1034
1035         AX: WebCore accessibility roles should be cross-platform
1036         https://bugs.webkit.org/show_bug.cgi?id=94870
1037
1038         Reviewed by Chris Fleizach.
1039
1040         Make 5 accessibility roles cross-platform rather than GTK-only.
1041
1042         Instead of mapping the HR tag to SplitterRole (which is an interactive
1043         splitter control on Mac), create a new role HorizontalRuleRole.
1044
1045         Map all of the new roles to AXGroup on Mac, which matches the existing
1046         behavior. Add a new test for these roles on Chromium.
1047
1048         Test: platform/chromium/accessibility/chromium-only-roles.html
1049
1050         * accessibility/AccessibilityObject.cpp:
1051         (WebCore::AccessibilityObject::supportsARIAAttributes):
1052         * accessibility/AccessibilityObject.h:
1053         * accessibility/AccessibilityRenderObject.cpp:
1054         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
1055         * accessibility/gtk/AccessibilityObjectAtk.cpp:
1056         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
1057         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
1058         (atkRole):
1059         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1060         (createAccessibilityRoleMap):
1061
1062 2012-09-07  Simon Hausmann  <simon.hausmann@nokia.com>
1063
1064         Fix build of GraphicsContext3DOpenGLCommon.cpp with MSVC
1065         https://bugs.webkit.org/show_bug.cgi?id=96120
1066
1067         Reviewed by Noam Rosenthal.
1068
1069         Variable stack arrays are a GCC extension. Replace their use with OwnArrayPtr, similar to
1070         other functions in the same file.
1071
1072         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1073         (WebCore::GraphicsContext3D::getActiveAttrib):
1074
1075 2012-09-07  Emil A Eklund  <eae@chromium.org>
1076
1077         Prevent overflows in FractionalLayoutUnit
1078         https://bugs.webkit.org/show_bug.cgi?id=95883
1079
1080         Reviewed by Eric Seidel.
1081
1082         Avoid overflow in snapSizeToPixel by using the fraction of the
1083         location instead of the full value.
1084         
1085         Add safe versions of min/max, adjusted by half a pixel to allow
1086         round to allow rounding without overflowing.
1087         
1088         Avoid overflow when snapping a FractionalLayoutRect by using the
1089         safe versions of min/max in infiniteRect.
1090         
1091         Avoid overflow when converting from a Length to a LayoutUnit by
1092         limiting the value to FractionalLayoutUnit min/max. This matches
1093         the behavior of the non-subpixel code path where the values are
1094         similarly limited.
1095
1096         Test: fast/sub-pixel/large-sizes.html
1097
1098         * css/CSSPrimitiveValue.cpp:
1099         (WebCore::CSSPrimitiveValue::computeLength):
1100         Limit to FractionalLayoutUnit min/max.
1101         
1102         * platform/FractionalLayoutUnit.h:
1103         (FractionalLayoutUnit):
1104         (WebCore::FractionalLayoutUnit::nearlyMax):
1105         (WebCore::FractionalLayoutUnit::nearlyMin):
1106         Reduce max/increase min by 1/2 to allow round to operate
1107         without overflowing.
1108
1109         (WebCore::snapSizeToPixel):
1110         * platform/graphics/FractionalLayoutRect.h:
1111         (WebCore::FractionalLayoutRect::infiniteRect):
1112         Use nearlyMin/nearlyMax.
1113         
1114         (WebCore::pixelSnappedIntRect):
1115         Change pixelSnappedIntRect to use snapSizeToPixel.
1116
1117 2012-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1118
1119         Unreviewed, rolling out r127920 and r127926.
1120         http://trac.webkit.org/changeset/127920
1121         http://trac.webkit.org/changeset/127926
1122         https://bugs.webkit.org/show_bug.cgi?id=96152
1123
1124         billions and billions of assertion failures on mac debug
1125         builds (Requested by thorton on #webkit).
1126
1127         * WebCore.exp.in:
1128         * css/CSSFontFaceSource.cpp:
1129         (WebCore::CSSFontFaceSource::getFontData):
1130         * css/CSSSegmentedFontFace.cpp:
1131         (WebCore::CSSSegmentedFontFace::getFontData):
1132         * dom/Document.cpp:
1133         (WebCore::Document::~Document):
1134         (WebCore::Document::registerCustomFont):
1135         (WebCore):
1136         (WebCore::Document::deleteCustomFonts):
1137         (WebCore::Document::reportMemoryUsage):
1138         * dom/Document.h:
1139         (WebCore):
1140         (Document):
1141         * platform/graphics/FontData.h:
1142         * platform/graphics/FontFallbackList.cpp:
1143         (WebCore::FontFallbackList::releaseFontData):
1144         (WebCore::FontFallbackList::fontDataAt):
1145         (WebCore::FontFallbackList::setPlatformFont):
1146         * platform/graphics/FontFallbackList.h:
1147         (FontFallbackList):
1148         (WebCore::FontFallbackList::setGlyphPageZero):
1149         (WebCore::FontFallbackList::setGlyphPages):
1150         * platform/graphics/GlyphPageTreeNode.cpp:
1151         (WebCore::GlyphPageTreeNode::pruneFontData):
1152
1153 2012-09-07  Arvid Nilsson  <anilsson@rim.com>
1154
1155         [CSS Shaders] WebKitCSSMixFunctionValue.h needs forward declaration of MemoryObjectInfo
1156         https://bugs.webkit.org/show_bug.cgi?id=96150
1157
1158         Reviewed by George Staikos.
1159
1160         Otherwise files that include it may fail to compile.
1161
1162         No new tests, because this patch implements no new functionality.
1163
1164         * css/WebKitCSSMixFunctionValue.h:
1165         (WebCore):
1166
1167 2012-09-07  Stephen Chenney  <schenney@chromium.org>
1168
1169         Mac build fix.
1170         https://bugs.webkit.org/show_bug.cgi?id=93640
1171
1172         Reviewed by Abhishek Arya.
1173
1174         The original patch for this bug broke the mac builds.
1175
1176         * WebCore.exp.in: Adding const marker
1177
1178 2012-09-07  Robert Kroeger  <rjkroege@chromium.org>
1179
1180         [chromium] Add touchscreen specific fling curve parametrization
1181         https://bugs.webkit.org/show_bug.cgi?id=95997
1182
1183         Reviewed by James Robinson.
1184
1185         Added a new set of fling curve parameters with a good feel for touchscreen
1186         initiated flings. Renamed TouchpadFlingPlatformGestureCurve to
1187         TouchFlingPlatformGestureCurve to better reflect that the class
1188         can serve for both touchscreen and touchpad flings when appropriately
1189         parametrized. Updated build files as necessary for the rename.
1190
1191         No new tests - existing tests apply.
1192
1193         * CMakeLists.txt:
1194         * GNUmakefile.list.am:
1195         * WebCore.gypi:
1196         * platform/ScrollAnimatorNone.cpp:
1197         (WebCore::ScrollAnimatorNone::fireUpAnAnimation):
1198         * platform/TouchFlingPlatformGestureCurve.cpp: Renamed from Source/WebCore/platform/TouchpadFlingPlatformGestureCurve.cpp.
1199         (WebCore):
1200         (WebCore::TouchFlingPlatformGestureCurve::createForTouchPad):
1201         (WebCore::TouchFlingPlatformGestureCurve::createForTouchScreen):
1202         Added with touchscreen parameters.
1203         (WebCore::TouchFlingPlatformGestureCurve::create):
1204         (WebCore::position):
1205         (WebCore::velocity):
1206         (WebCore::TouchFlingPlatformGestureCurve::TouchFlingPlatformGestureCurve):
1207         (WebCore::TouchFlingPlatformGestureCurve::~TouchFlingPlatformGestureCurve):
1208         (WebCore::TouchFlingPlatformGestureCurve::debugName):
1209         (WebCore::TouchFlingPlatformGestureCurve::apply):
1210         * platform/TouchFlingPlatformGestureCurve.h: Renamed from Source/WebCore/platform/TouchpadFlingPlatformGestureCurve.h.
1211         (WebCore):
1212         (TouchFlingPlatformGestureCurve):
1213         * platform/chromium/support/PlatformGestureCurveFactory.cpp: invokes
1214         createForTouchPad or createForTouchScreen as appropriate.
1215         (WebKit::PlatformGestureCurveFactory::createCurve):
1216
1217 2012-09-07  Adam Barth  <abarth@chromium.org>
1218
1219         Enter the creationContext before creating DOM wrappers
1220         https://bugs.webkit.org/show_bug.cgi?id=96044
1221
1222         Reviewed by Eric Seidel.
1223
1224         Now that we have the creationContext available when instantiating DOM
1225         wrappers, we should use it! After this patch, we enter the creation
1226         context so that the DOM wrapper is created in the right context (and
1227         therefore has the right prototype chain).
1228
1229         This patch would have been tested by
1230         fast/dom/prototype-inheritance.html, but that test was removed because
1231         it was too much work to maintain. I'll post what the diff would have
1232         been to the results for that test as an attachment to this bug.
1233
1234         Note: After this patch there are a number of cleanup patches to write,
1235         but I'll do those separately.
1236
1237         * bindings/js/JSGeolocationCustom.cpp:
1238         (WebCore::JSGeolocation::getCurrentPosition):
1239         (WebCore::JSGeolocation::watchPosition):
1240           - This patch also includes a minor bug fix to the JSC implementations
1241             of Geolocation and Notifications. Previously, JSC was using the
1242             current lexical context for the callback object, which makes very
1243             little sense as it neither cooresponds to the Geolocation (or
1244             Notification) object or the functions being used for the callback.
1245
1246             To be consistent with how we do callbacks elsewhere in WebKit, we
1247             should use the context that corresponds to the Geolocation (or
1248             Notification) object. This change happened automatically for V8
1249             when this patch fixed the Geolocation (and Notifications) wrapper
1250             to use the right context, but for JSC we need to change these lines
1251             of code explicitly.
1252         * bindings/scripts/CodeGeneratorV8.pm:
1253         (GenerateToV8Converters):
1254
1255 2012-09-07  Leo Yang  <leoyang@rim.com>
1256
1257         Appcache fallback URL match should use the longest candidate
1258         https://bugs.webkit.org/show_bug.cgi?id=96126
1259
1260         Reviewed by Alexey Proskuryakov.
1261
1262         Test: http/tests/appcache/multi-fallback.html
1263
1264         * loader/appcache/ApplicationCache.cpp:
1265         (WebCore::fallbackURLLongerThan):
1266         (WebCore::ApplicationCache::setFallbackURLs):
1267
1268 2012-09-07  Stephen Chenney  <schenney@chromium.org>
1269
1270         Font data is purged while fonts are still using it
1271         https://bugs.webkit.org/show_bug.cgi?id=93640
1272
1273         Reviewed by Eric Seidel.
1274
1275         Move the handling of custom font pruning from Document to FontFallbackList.
1276         The previous inplementation allowed fonts to be removed before all their
1277         clients were done. This change moves handling of custom font purging to the
1278         FontFallbackList class, which is the shared object that is only removed
1279         when all clients of a font are done with it. This fixes a crash in Angry
1280         Birds due to a seamless iframe and some failing tests in fast/frames/seamless.
1281
1282         The specific element that causes problems is:
1283         <iframe id="ingame_frame0" name="ingame_frame0" frameborder="0" seamless="true"
1284           src="http://chrome.angrybirds.com/ingame_graphic.html"
1285           onload="this.style.opacity = 1; parent.adLoaded();" scrolling="no"
1286           style="opacity: 1; -webkit-transition: opacity 1s ease-in-out 0s;
1287           position: absolute; border: 0px; width: 312px; height: 320px; z-index:
1288           300; overflow: hidden; visibility: visible;"></iframe>
1289         The source document uses the same font as the embedding document.
1290
1291         Tests: fast/frames/seamless/seamless-custom-font-pruning-crash.html
1292                fast/frames/seamless/seamless-nested-crash.html
1293
1294         * css/CSSFontFaceSource.cpp:
1295         (WebCore::CSSFontFaceSource::getFontData): Remove code to register the
1296         font with the document.
1297         * css/CSSSegmentedFontFace.cpp:
1298         (WebCore::CSSSegmentedFontFace::getFontData): Remove code to register
1299         the font with the document.
1300         * dom/Document.cpp:
1301         (WebCore::Document::~Document): Remove code that records and purges
1302         custom fonts.
1303         (WebCore):
1304         (WebCore::Document::reportMemoryUsage): Remove reference to removed
1305         object.
1306         * dom/Document.h:
1307         (Document): Remove method declarations for custom font handling.
1308         * platform/graphics/FontData.h: Add RefCounted to FontData. Previously, FontData
1309         for custom fonts was owned by a Vector<OwnPtr<FontData>> in Document. Now it
1310         is owned by FontFallbackList, and ref counting is required. A future patch will
1311         add RefPtr code for all FontData use cases.
1312         * platform/graphics/FontFallbackList.cpp:
1313         (WebCore): Add global custom font data cache, which owns the FontData pointers
1314         used as keys.
1315         (WebCore::FontFallbackList::appendFontData): Helper method increments
1316         the ref count on custom FontData.
1317         (WebCore::FontFallbackList::releaseFontData): Helper method decrements
1318         the ref count on custom FontData.
1319         (WebCore::FontFallbackList::fontDataAt): Add calls to register the
1320         FontFallbackList as a client of custom fonts.
1321         * platform/graphics/FontFallbackList.h:
1322         (WebCore::FontFallbackList::setGlyphPageZero): Moved this declaration.
1323         (WebCore::FontFallbackList::setGlyphPages): Moved this declaration.
1324         (FontFallbackList):
1325         * platform/graphics/GlyphPageTreeNode.cpp:
1326         (WebCore::GlyphPageTreeNode::pruneFontData): Removed unnecessary null check.
1327
1328 2012-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1329
1330         Unreviewed, rolling out r127911.
1331         http://trac.webkit.org/changeset/127911
1332         https://bugs.webkit.org/show_bug.cgi?id=96146
1333
1334         Patch breaks build with clang (Requested by rbuis on #webkit).
1335
1336         * GNUmakefile.list.am:
1337         * Target.pri:
1338         * WebCore.gypi:
1339         * WebCore.vcproj/WebCore.vcproj:
1340         * WebCore.xcodeproj/project.pbxproj:
1341         * platform/graphics/filters/CustomFilterGlobalContext.cpp:
1342         (WebCore::CustomFilterGlobalContext::getValidatedProgram):
1343         * platform/graphics/filters/CustomFilterMesh.cpp:
1344         (WebCore):
1345         (MeshGenerator):
1346         (WebCore::MeshGenerator::MeshGenerator):
1347         (WebCore::MeshGenerator::vertices):
1348         (WebCore::MeshGenerator::indices):
1349         (WebCore::MeshGenerator::points):
1350         (WebCore::MeshGenerator::pointsCount):
1351         (WebCore::MeshGenerator::tiles):
1352         (WebCore::MeshGenerator::tilesCount):
1353         (WebCore::MeshGenerator::indicesCount):
1354         (WebCore::MeshGenerator::floatsPerVertex):
1355         (WebCore::MeshGenerator::verticesCount):
1356         (WebCore::MeshGenerator::addTile):
1357         (WebCore::MeshGenerator::addAttachedMeshIndex):
1358         (WebCore::MeshGenerator::generateAttachedMesh):
1359         (WebCore::MeshGenerator::addDetachedMeshVertexAndIndex):
1360         (WebCore::MeshGenerator::generateDetachedMesh):
1361         (WebCore::MeshGenerator::addPositionAttribute):
1362         (WebCore::MeshGenerator::addTexCoordAttribute):
1363         (WebCore::MeshGenerator::addMeshCoordAttribute):
1364         (WebCore::MeshGenerator::addTriangleCoordAttribute):
1365         (WebCore::MeshGenerator::addAttachedMeshVertexAttributes):
1366         (WebCore::MeshGenerator::addDetachedMeshVertexAttributes):
1367         (WebCore::MeshGenerator::dumpBuffers):
1368         (WebCore::CustomFilterMesh::CustomFilterMesh):
1369         * platform/graphics/filters/CustomFilterMeshGenerator.cpp: Removed.
1370         * platform/graphics/filters/CustomFilterMeshGenerator.h: Removed.
1371         * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
1372         (WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram):
1373         (WebCore::CustomFilterValidatedProgram::compiledProgram):
1374         (WebCore::CustomFilterValidatedProgram::~CustomFilterValidatedProgram):
1375         * platform/graphics/filters/CustomFilterValidatedProgram.h:
1376         (CustomFilterValidatedProgram):
1377         * platform/graphics/filters/blackberry/CustomFilterValidatedProgramBlackBerry.cpp: Removed.
1378
1379 2012-09-07  Ojan Vafai  <ojan@chromium.org>
1380
1381         Fix RenderBox::availableHeight to subtract scrollbars in the right places
1382         https://bugs.webkit.org/show_bug.cgi?id=96031
1383
1384         Reviewed by Tony Chang.
1385
1386         This matches Firefox 15 and IE9 rendering for the two new tests.
1387
1388         Tests: fast/block/positioning/percent-top-left-on-relative-position.html
1389                fast/css/nested-percent-height-on-replaced.html
1390
1391         * rendering/RenderBox.cpp:
1392         (WebCore::RenderBox::computePercentageLogicalHeight):
1393         Subtract scrollbars when recurring on percentage heights.
1394         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
1395         This is the wrong place to subtract scrollbars. availableLogicalHeight
1396         should return a value that doesn't include scrollbars.
1397         (WebCore::RenderBox::availableLogicalHeightUsing):
1398         Subtract scrollbars from specified heights. Also, consolidate the code to
1399         use computeContentLogicalHeightUsing. This makes percentage heights use
1400         the right containingBlock in quirks mode and makes viewport percentage heights work.
1401
1402 2012-09-07  Tony Chang  <tony@chromium.org>
1403
1404         Make RenderBox::computeLogicalWidthInRegion const
1405         https://bugs.webkit.org/show_bug.cgi?id=96129
1406
1407         Reviewed by Ojan Vafai.
1408
1409         Making computeLogicalWidthInRegion const allows us to get rid of the gross hack in
1410         RenderBox::renderBoxRegionInfo.
1411
1412         No new tests, this is covered by existing layout tests.
1413
1414         * rendering/RenderBox.cpp:
1415         (WebCore::RenderBox::constrainLogicalWidthInRegionByMinMax): Make const.
1416         (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats): Make const.
1417         (WebCore::RenderBox::computeLogicalWidth): Use a LogicalExtentComputedValues when calling computeLogicalWidthInRegion.
1418         (WebCore::RenderBox::computeLogicalWidthInRegion): Make const. Fill in a LogicalExtentComputedValues struct instead.
1419         (WebCore::RenderBox::computeLogicalWidthInRegionUsing): Make const.
1420         (WebCore::RenderBox::renderBoxRegionInfo): Remove hack and get region width values in a LogicalExtentComputedValues struct.
1421         * rendering/RenderBox.h:
1422         (RenderBox):
1423
1424 2012-09-07  Dana Jansens  <danakj@chromium.org>
1425
1426         [chromium] Remove bad assert in CCRenderPass::Id
1427         https://bugs.webkit.org/show_bug.cgi?id=96138
1428
1429         Reviewed by James Robinson.
1430
1431         The assert prevents HashMap from creating "deleted" and "empty" ids. We
1432         assert that RenderPasses have correct ids already, and don't need to
1433         assert inside the Id structure itself.
1434
1435         * platform/graphics/chromium/cc/CCRenderPass.h:
1436         (WebCore::CCRenderPass::Id::Id):
1437
1438 2012-09-07  Arvid Nilsson  <anilsson@rim.com>
1439
1440         [CSS Shaders] [BlackBerry] Refactor CustomFilterMesh and CustomFilter*Program
1441         https://bugs.webkit.org/show_bug.cgi?id=94725
1442
1443         Reviewed by Rob Buis.
1444
1445         Separate the MeshGenerator from the CustomFilterMesh into
1446         CustomFilterMeshGenerator.h/cpp. This allows the BlackBerry port to
1447         reuse the mesh generator in its accelerated compositing implementation.
1448
1449         Also add support for creating a "PlatformCompiledProgram" from a
1450         CustomFilterValidatedProgram, so the BlackBerry port can reuse the
1451         shader validation code in its accelerated compositing implementation.
1452
1453         It turns out the GraphicsContext3D is not needed for ANGLE to function,
1454         so this patch removes an ASSERT that required a context before
1455         validating the shaders using ANGLE. This allows the BlackBerry port to
1456         reuse the validation code without triggering the assert. In the future,
1457         the validation code could be moved to a separate class to make it more
1458         obvious that it isn't really related to GraphicsContext3D.
1459
1460         In general, this refactoring can be useful for any port that uses
1461         OpenGL to implement accelerated compositing.
1462
1463         Inspired by an original patch by Joshua Netterfield.
1464
1465         No new tests, because this patch implements no new functionality.
1466
1467         * GNUmakefile.list.am:
1468         * Target.pri:
1469         * WebCore.gypi:
1470         * WebCore.vcproj/WebCore.vcproj:
1471         * WebCore.xcodeproj/project.pbxproj:
1472         * platform/graphics/filters/CustomFilterGlobalContext.cpp:
1473         (WebCore::CustomFilterGlobalContext::getValidatedProgram):
1474         * platform/graphics/filters/CustomFilterMesh.cpp:
1475         (WebCore::CustomFilterMesh::CustomFilterMesh):
1476         * platform/graphics/filters/CustomFilterMeshGenerator.cpp: Added.
1477         (WebCore):
1478         (WebCore::CustomFilterMeshGenerator::CustomFilterMeshGenerator):
1479         (WebCore::CustomFilterMeshGenerator::addAttachedMeshIndex):
1480         (WebCore::CustomFilterMeshGenerator::generateAttachedMesh):
1481         (WebCore::CustomFilterMeshGenerator::addDetachedMeshVertexAndIndex):
1482         (WebCore::CustomFilterMeshGenerator::generateDetachedMesh):
1483         (WebCore::CustomFilterMeshGenerator::addPositionAttribute):
1484         (WebCore::CustomFilterMeshGenerator::addTexCoordAttribute):
1485         (WebCore::CustomFilterMeshGenerator::addMeshCoordAttribute):
1486         (WebCore::CustomFilterMeshGenerator::addTriangleCoordAttribute):
1487         (WebCore::CustomFilterMeshGenerator::addAttachedMeshVertexAttributes):
1488         (WebCore::CustomFilterMeshGenerator::addDetachedMeshVertexAttributes):
1489         (WebCore::CustomFilterMeshGenerator::dumpBuffers):
1490         * platform/graphics/filters/CustomFilterMeshGenerator.h: Added.
1491         (WebCore):
1492         (CustomFilterMeshGenerator):
1493         (WebCore::CustomFilterMeshGenerator::vertices):
1494         (WebCore::CustomFilterMeshGenerator::indices):
1495         (WebCore::CustomFilterMeshGenerator::points):
1496         (WebCore::CustomFilterMeshGenerator::pointsCount):
1497         (WebCore::CustomFilterMeshGenerator::tiles):
1498         (WebCore::CustomFilterMeshGenerator::tilesCount):
1499         (WebCore::CustomFilterMeshGenerator::indicesCount):
1500         (WebCore::CustomFilterMeshGenerator::floatsPerVertex):
1501         (WebCore::CustomFilterMeshGenerator::verticesCount):
1502         (WebCore::CustomFilterMeshGenerator::addTile):
1503         * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
1504         (WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram):
1505         (WebCore::CustomFilterValidatedProgram::compiledProgram):
1506         (WebCore::CustomFilterValidatedProgram::~CustomFilterValidatedProgram):
1507         (WebCore):
1508         (WebCore::CustomFilterValidatedProgram::platformCompiledProgram):
1509         (WebCore::CustomFilterValidatedProgram::platformDestroy):
1510         * platform/graphics/filters/CustomFilterValidatedProgram.h:
1511         (WebCore):
1512         (CustomFilterValidatedProgram):
1513         * platform/graphics/filters/blackberry/CustomFilterValidatedProgramBlackBerry.cpp: Added.
1514         (WebCore):
1515         (WebCore::CustomFilterValidatedProgram::platformCompiledProgram):
1516         (WebCore::CustomFilterValidatedProgram::platformDestroy):
1517
1518 2012-09-07  Dana Jansens  <danakj@chromium.org>
1519
1520         [chromium] Make RenderPass ids hold both generating layer id and an index
1521         https://bugs.webkit.org/show_bug.cgi?id=95500
1522
1523         Reviewed by Adrienne Walker.
1524
1525         This change allows us to avoid complex renderPassId mappings between
1526         compositors for ubercomp. The ubercomp layer needs to add a number
1527         of RenderPasses to the frame, and these must not conflict with other
1528         RenderPasses in the frame. By using its layer id along with an extra
1529         value it determines, the layer can create a unique id without needing
1530         access to any global state or id generator.
1531
1532         Covered by existing tests.
1533
1534         * platform/graphics/chromium/cc/CCDirectRenderer.cpp:
1535         (WebCore::CCDirectRenderer::decideRenderPassAllocationsForFrame):
1536         (WebCore::CCDirectRenderer::haveCachedResourcesForRenderPassId):
1537         * platform/graphics/chromium/cc/CCDirectRenderer.h:
1538         (CCDirectRenderer):
1539         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1540         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1541         (WebCore::findRenderPassById):
1542         (WebCore::removeRenderPassesRecursive):
1543         * platform/graphics/chromium/cc/CCRenderPass.cpp:
1544         (WebCore::CCRenderPass::create):
1545         (WebCore::CCRenderPass::CCRenderPass):
1546         * platform/graphics/chromium/cc/CCRenderPass.h:
1547         (Id):
1548         (WebCore::CCRenderPass::Id::Id):
1549         (WebCore::CCRenderPass::Id::operator==):
1550         (WebCore::CCRenderPass::Id::operator!=):
1551         (WebCore::CCRenderPass::Id::operator<):
1552         (CCRenderPass):
1553         (WebCore::CCRenderPass::id):
1554         (WebCore):
1555         * platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp:
1556         (WebCore::CCRenderPassDrawQuad::create):
1557         (WebCore::CCRenderPassDrawQuad::CCRenderPassDrawQuad):
1558         * platform/graphics/chromium/cc/CCRenderPassDrawQuad.h:
1559         (CCRenderPassDrawQuad):
1560         (WebCore::CCRenderPassDrawQuad::renderPassId):
1561         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1562         (WebCore::CCRenderSurface::renderPassId):
1563         (WebCore):
1564         (WebCore::CCRenderSurface::appendRenderPasses):
1565         (WebCore::CCRenderSurface::appendQuads):
1566         * platform/graphics/chromium/cc/CCRenderSurface.h:
1567         (WebCore):
1568         (CCRenderSurface):
1569         * platform/graphics/chromium/cc/CCRenderer.h:
1570         (WebCore::CCRenderer::haveCachedResourcesForRenderPassId):
1571
1572 2012-09-07  Tommy Widenflycht  <tommyw@google.com>
1573
1574         MediaStream API: add RTCPeerConnection::createAnswer
1575         https://bugs.webkit.org/show_bug.cgi?id=96092
1576
1577         Reviewed by Adam Barth.
1578
1579         Test: fast/mediastream/RTCPeerConnection-createAnswer.html
1580
1581         * Modules/mediastream/RTCPeerConnection.cpp:
1582         (WebCore::RTCPeerConnection::createAnswer):
1583         (WebCore):
1584         * Modules/mediastream/RTCPeerConnection.h:
1585         (RTCPeerConnection):
1586         * Modules/mediastream/RTCPeerConnection.idl:
1587         * platform/mediastream/RTCPeerConnectionHandler.cpp:
1588         (RTCPeerConnectionHandlerDummy):
1589         (WebCore::RTCPeerConnectionHandlerDummy::createAnswer):
1590         (WebCore):
1591         * platform/mediastream/RTCPeerConnectionHandler.h:
1592         (RTCPeerConnectionHandler):
1593         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
1594         (WebCore::RTCPeerConnectionHandlerChromium::createAnswer):
1595         (WebCore):
1596         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
1597         (RTCPeerConnectionHandlerChromium):
1598
1599 2012-09-06  Vsevolod Vlasov  <vsevik@chromium.org>
1600
1601         Web Inspector: [REGRESSION] Content is not available for dynamically loaded script sometimes.
1602         https://bugs.webkit.org/show_bug.cgi?id=95954
1603
1604         Reviewed by Yury Semikhatsky.
1605
1606         Resource now loads content from request when it is available.
1607         Content was loaded from PageAgent before where it might be not available if the resource was already GCed.
1608
1609         Test: http/tests/inspector/resource-tree/resource-request-content-after-loading-and-clearing-cache.html
1610
1611         * inspector/front-end/Resource.js:
1612         (WebInspector.Resource.prototype._innerRequestContent.contentLoaded):
1613         (WebInspector.Resource.prototype._innerRequestContent.resourceContentLoaded):
1614         (WebInspector.Resource.prototype._innerRequestContent):
1615
1616 2012-09-07  Adam Barth  <abarth@webkit.org>
1617
1618         HTMLTokenizer should use the latest EfficientStrings hotness
1619         https://bugs.webkit.org/show_bug.cgi?id=95276
1620
1621         Reviewed by Benjamin Poulain.
1622
1623         Using ASCIILiteral avoids memcpying the string into the heap and
1624         therefore uses less total memory.
1625
1626         * html/parser/HTMLTokenizer.cpp:
1627         (WebCore::HTMLTokenizer::nextToken):
1628
1629 2012-09-07  James Robinson  <jamesr@chromium.org>
1630
1631         [chromium] Remove dead CCActiveGestureAnimation code and related classes
1632         https://bugs.webkit.org/show_bug.cgi?id=96075
1633
1634         Reviewed by Adrienne Walker.
1635
1636         The CCGestureCurve / CCActiveGestureAnimation code isn't used and never has been used. Gesture curves are
1637         evaluated by the CCInputHandlerClient (WebCompositorInputHandlerImpl), CC itself logically doesn't know anything
1638         about gestures.
1639
1640         * WebCore.gypi:
1641         * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp: Removed.
1642         * platform/graphics/chromium/cc/CCActiveGestureAnimation.h: Removed.
1643         * platform/graphics/chromium/cc/CCGestureCurve.h: Removed.
1644         * platform/graphics/chromium/cc/CCInputHandler.h:
1645         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1646         (WebCore::CCLayerTreeHostImpl::animate):
1647         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1648         (CCLayerTreeHostImpl):
1649
1650 2012-09-07  Martin Robinson  <mrobinson@igalia.com>
1651
1652         [GTK] Move user agent helpers to WebCore
1653         https://bugs.webkit.org/show_bug.cgi?id=95745
1654
1655         Reviewed by Carlos Garcia Campos.
1656
1657         Moved the user agent determination code from WebKit1 to WebCore so that it can
1658         be shared with WebKit2. Also add a method for creating the user agent given
1659         a non-default application name.
1660
1661         * GNUmakefile.list.am: Add new files to the list.
1662         * platform/gtk/UserAgentGtk.cpp: Added.
1663         * platform/gtk/UserAgentGtk.h.in: Added.
1664
1665 2012-09-07  Adam Barth  <abarth@webkit.org>
1666
1667         Update bindings results after https://bugs.webkit.org/show_bug.cgi?id=96039
1668
1669         * bindings/scripts/test/V8/V8Float64Array.cpp:
1670         (WebCore::Float64ArrayV8Internal::fooCallback):
1671         (WebCore::toV8):
1672         (WebCore::V8Float64Array::wrapSlow):
1673         * bindings/scripts/test/V8/V8Float64Array.h:
1674         (V8Float64Array):
1675         (WebCore::V8Float64Array::wrap):
1676         (WebCore):
1677         (WebCore::toV8):
1678         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1679         (WebCore::V8TestActiveDOMObject::wrapSlow):
1680         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
1681         (V8TestActiveDOMObject):
1682         (WebCore::V8TestActiveDOMObject::wrap):
1683         (WebCore::toV8):
1684         * bindings/scripts/test/V8/V8TestCallback.cpp:
1685         (WebCore::V8TestCallback::callbackWithClass1Param):
1686         (WebCore::V8TestCallback::callbackWithClass2Param):
1687         (WebCore::V8TestCallback::callbackWithStringList):
1688         (WebCore::V8TestCallback::callbackRequiresThisToPass):
1689         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1690         (WebCore::V8TestCustomNamedGetter::wrapSlow):
1691         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
1692         (V8TestCustomNamedGetter):
1693         (WebCore::V8TestCustomNamedGetter::wrap):
1694         (WebCore::toV8):
1695         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1696         (WebCore::V8TestEventConstructor::wrapSlow):
1697         * bindings/scripts/test/V8/V8TestEventConstructor.h:
1698         (V8TestEventConstructor):
1699         (WebCore::V8TestEventConstructor::wrap):
1700         (WebCore::toV8):
1701         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1702         (WebCore::TestEventTargetV8Internal::itemCallback):
1703         (WebCore::V8TestEventTarget::wrapSlow):
1704         * bindings/scripts/test/V8/V8TestEventTarget.h:
1705         (V8TestEventTarget):
1706         (WebCore::V8TestEventTarget::wrap):
1707         (WebCore::toV8):
1708         * bindings/scripts/test/V8/V8TestException.cpp:
1709         (WebCore::V8TestException::wrapSlow):
1710         * bindings/scripts/test/V8/V8TestException.h:
1711         (V8TestException):
1712         (WebCore::V8TestException::wrap):
1713         (WebCore::toV8):
1714         * bindings/scripts/test/V8/V8TestInterface.cpp:
1715         (WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetter):
1716         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
1717         (WebCore::V8TestInterface::wrapSlow):
1718         * bindings/scripts/test/V8/V8TestInterface.h:
1719         (V8TestInterface):
1720         (WebCore::V8TestInterface::wrap):
1721         (WebCore::toV8):
1722         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1723         (WebCore::V8TestMediaQueryListListener::wrapSlow):
1724         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
1725         (V8TestMediaQueryListListener):
1726         (WebCore::V8TestMediaQueryListListener::wrap):
1727         (WebCore::toV8):
1728         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1729         (WebCore::V8TestNamedConstructorConstructorCallback):
1730         (WebCore::V8TestNamedConstructor::wrapSlow):
1731         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
1732         (V8TestNamedConstructor):
1733         (WebCore::V8TestNamedConstructor::wrap):
1734         (WebCore::toV8):
1735         * bindings/scripts/test/V8/V8TestNode.cpp:
1736         (WebCore::V8TestNode::wrapSlow):
1737         * bindings/scripts/test/V8/V8TestNode.h:
1738         (V8TestNode):
1739         (WebCore::V8TestNode::wrap):
1740         (WebCore::toV8):
1741         * bindings/scripts/test/V8/V8TestObj.cpp:
1742         (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetter):
1743         (WebCore::TestObjV8Internal::testObjAttrAttrGetter):
1744         (WebCore::TestObjV8Internal::XMLObjAttrAttrGetter):
1745         (WebCore::TestObjV8Internal::typedArrayAttrAttrGetter):
1746         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetter):
1747         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
1748         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
1749         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter):
1750         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
1751         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter):
1752         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
1753         (WebCore::TestObjV8Internal::cachedAttribute1AttrGetter):
1754         (WebCore::TestObjV8Internal::cachedAttribute2AttrGetter):
1755         (WebCore::TestObjV8Internal::contentDocumentAttrGetter):
1756         (WebCore::TestObjV8Internal::mutablePointAttrGetter):
1757         (WebCore::TestObjV8Internal::immutablePointAttrGetter):
1758         (WebCore::TestObjV8Internal::objMethodCallback):
1759         (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
1760         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
1761         (WebCore::TestObjV8Internal::withScriptStateObjCallback):
1762         (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
1763         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
1764         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
1765         (WebCore::TestObjV8Internal::getSVGDocumentCallback):
1766         (WebCore::TestObjV8Internal::mutablePointFunctionCallback):
1767         (WebCore::TestObjV8Internal::immutablePointFunctionCallback):
1768         (WebCore::TestObjV8Internal::strictFunctionCallback):
1769         (WebCore::V8TestObj::wrapSlow):
1770         * bindings/scripts/test/V8/V8TestObj.h:
1771         (V8TestObj):
1772         (WebCore::V8TestObj::wrap):
1773         (WebCore::toV8):
1774         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1775         (WebCore::TestSerializedScriptValueInterfaceV8Internal::portsAttrGetter):
1776         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
1777         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
1778         (V8TestSerializedScriptValueInterface):
1779         (WebCore::V8TestSerializedScriptValueInterface::wrap):
1780         (WebCore::toV8):
1781
1782 2012-09-07  Lianghui Chen  <liachen@rim.com>
1783
1784         [BlackBerry] when one of multiple tabs uses authentication, user can get the auth dialog while the other tab has focus.
1785         https://bugs.webkit.org/show_bug.cgi?id=95488
1786         PR: 186597.
1787
1788         Internally reviewed by Joe Mason.
1789         Reviewed by Yong Li.
1790
1791         The fix for this PR will come as 2 patches. This is the first patch which
1792         will make the authentication challenge asynchronous inside WebKit. The
1793         bext patch will add an AuthenticationChallengeManager that manages these
1794         authentication requests asynchronously.
1795
1796         This patch add AuthenticationChallengeClient interface to define asynchronous
1797         authentication challenge callback. And MediaPlayerPrivateBlackBerry and
1798         NetworkJob are changed to inherit from AuthenticationChallengeClient to
1799         support asynchronous authentication challenge.
1800
1801         Note: there is also an accompanying platform patch to make our PlatformPlayer
1802         to support asychronous authentication, see PR 186597 for details.
1803
1804         No new tests as this is platform specific change.
1805
1806         * platform/blackberry/AuthenticationChallengeManager.h: Added.
1807         (WebCore):
1808         (AuthenticationChallengeClient):
1809         * platform/blackberry/PageClientBlackBerry.h:
1810         (WebCore):
1811         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
1812         (WebCore::MediaPlayerPrivate::onAuthenticationNeeded):
1813         (WebCore::MediaPlayerPrivate::notifyChallengeResult):
1814         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
1815         (MediaPlayerPrivate):
1816         * platform/network/blackberry/NetworkJob.cpp:
1817         (WebCore::NetworkJob::sendRequestWithCredentials):
1818         (WebCore::NetworkJob::notifyChallengeResult):
1819         (WebCore):
1820         * platform/network/blackberry/NetworkJob.h:
1821         (WebCore):
1822         (NetworkJob):
1823
1824 2012-09-07  Dominic Mazzoni  <dmazzoni@google.com>
1825
1826         AX: ARIA spin button should support range value attributes
1827         https://bugs.webkit.org/show_bug.cgi?id=96076
1828
1829         Reviewed by Chris Fleizach.
1830
1831         Make an ARIA spin button support ARIA range attributes like
1832         aria-valuenow, aria-valuemin, etc. - just like slider, progressbar,
1833         and scrollbar.
1834
1835         Test: accessibility/spinbutton-value.html
1836
1837         * accessibility/AccessibilityObject.h:
1838         (WebCore::AccessibilityObject::isSpinButton):
1839         * accessibility/AccessibilityRenderObject.cpp:
1840         (WebCore::AccessibilityRenderObject::valueDescription):
1841         (WebCore):
1842         (WebCore::AccessibilityRenderObject::isAriaRange):
1843         (WebCore::AccessibilityRenderObject::valueForRange):
1844         (WebCore::AccessibilityRenderObject::maxValueForRange):
1845         (WebCore::AccessibilityRenderObject::minValueForRange):
1846         (WebCore::AccessibilityRenderObject::stringValue):
1847         (WebCore::AccessibilityRenderObject::title):
1848         (WebCore::AccessibilityRenderObject::isGenericFocusableElement):
1849         (WebCore::AccessibilityRenderObject::ariaRoleHasPresentationalChildren):
1850         * accessibility/AccessibilityRenderObject.h:
1851         (AccessibilityRenderObject):
1852         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1853         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
1854
1855 2012-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1856
1857         Unreviewed, rolling out r127820.
1858         http://trac.webkit.org/changeset/127820
1859         https://bugs.webkit.org/show_bug.cgi?id=96117
1860
1861         Introduces crashes in Chromium compositing tests (Requested by
1862         fsamuel on #webkit).
1863
1864         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1865         (WebCore::CCLayerTreeHost::evictAllContentTextures):
1866         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1867         (CCLayerTreeHost):
1868         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp:
1869         (WebCore::CCPrioritizedTextureManager::clearAllMemory):
1870         (WebCore::CCPrioritizedTextureManager::allBackingTexturesWereDeleted):
1871         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h:
1872         (CCPrioritizedTextureManager):
1873         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1874         (WebCore::CCSingleThreadProxy::commitAndComposite):
1875         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1876         (WebCore::CCThreadProxy::beginFrame):
1877         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
1878
1879 2012-09-07  Simon Hausmann  <simon.hausmann@nokia.com>
1880
1881         [Qt] Add another all-in-one source
1882
1883         Rubber-stamped by Tor Arne Vestbø.
1884
1885         * Target.pri: We can safely add platform/text/TextAllInOne.cpp to ALL_IN_ONE_SOURCES for
1886         even smaller combined builds.
1887
1888 2012-09-07  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1889
1890         Simplify hitTestResultAtPoint and nodesFromRect APIs
1891         https://bugs.webkit.org/show_bug.cgi?id=95720
1892
1893         Reviewed by Antonio Gomes.
1894
1895         The existing API was overloaded and could be simplified by passing all the bool arguments in 
1896         a HitTestRequest argument. This should also help clarify the call as the enum values explicitely
1897         state what they do.
1898
1899         * WebCore.exp.in:
1900         * WebCore.order:
1901         * dom/Document.cpp:
1902         (WebCore::Document::nodesFromRect):
1903         * dom/Document.h:
1904         (Document):
1905         * page/ContextMenuController.cpp:
1906         (WebCore::ContextMenuController::createContextMenu):
1907         * page/DragController.cpp:
1908         (WebCore::DragController::canProcessDrag):
1909         (WebCore::DragController::startDrag):
1910         * page/EventHandler.cpp:
1911         (WebCore::EventHandler::updateAutoscrollRenderer):
1912         (WebCore::EventHandler::hitTestResultAtPoint):
1913         (WebCore::EventHandler::handleMousePressEvent):
1914         (WebCore::EventHandler::handleGestureEvent):
1915         (WebCore::EventHandler::bestClickableNodeForTouchPoint):
1916         (WebCore::EventHandler::bestContextMenuNodeForTouchPoint):
1917         (WebCore::EventHandler::bestZoomableAreaForTouchPoint):
1918         (WebCore::EventHandler::handleTouchEvent):
1919         * page/EventHandler.h:
1920         (EventHandler):
1921         * page/FocusController.cpp:
1922         (WebCore::updateFocusCandidateIfNeeded):
1923         * page/Frame.cpp:
1924         (WebCore::Frame::visiblePositionForPoint):
1925         (WebCore::Frame::documentAtPoint):
1926         * page/TouchDisambiguation.cpp:
1927         (WebCore::findGoodTouchTargets):
1928         * rendering/HitTestRequest.h:
1929         (HitTestRequest):
1930         * testing/Internals.cpp:
1931         (WebCore::Internals::nodesFromRect):
1932
1933 2012-09-07  Simon Hausmann  <simon.hausmann@nokia.com>
1934
1935         Build of OpenGLShims.cpp against EGL/GLES2 platforms is broken
1936         https://bugs.webkit.org/show_bug.cgi?id=95556
1937
1938         Reviewed by Jocelyn Turcotte.
1939
1940         There were a few problems:
1941
1942         1) GL_ANGLE_framebuffer_blit is the name of the macro indicating the
1943         availability of the _declaration_ of that ANGLE extension. It is not the
1944         name of the actual function, which is glBlitFramebufferANGLE.
1945
1946         2) The presence of the preprocessor macros indicating the availability
1947         of the declaration of the extension does not imply presence of the extension
1948         prototypes at link time. Instead extensions need to be looked up dynamically
1949         at run-time.
1950
1951         3) dlfcn.h was unconditionally included. We do not need it when building against
1952         Qt (and there it breaks the Windows build)
1953
1954         This patch implements the dynamic lookup of glBlitFramebufferANGLE
1955         (used in GraphicsContext3DOpenGLES.cpp) as well as the dynamic lookup of the
1956         Angle and Apple renderbuffer multisampling extensions.
1957
1958         * platform/graphics/OpenGLShims.cpp:
1959         (WebCore):
1960         (WebCore::initializeOpenGLShims):
1961
1962 2012-09-07  Zan Dobersek  <zandobersek@gmail.com>
1963
1964         [GTK] Multiple feature defines in webcore_cppflags can occur
1965         https://bugs.webkit.org/show_bug.cgi?id=95942
1966
1967         Reviewed by Martin Robinson.
1968
1969         Any feature define that guards a feature deemed currently unstable (is intended
1970         to be enabled in developer builds but not in release builds) should be added to the
1971         newly-added feature_defines_unstable variable.
1972
1973         This moves away from adding such feature defines to the feature_defines_overrides variable
1974         as this can cause duplicates in the later-generated feature_defines and webcore_cppflags
1975         variables and further warnings of duplicate macros when generating bindings.
1976
1977         The feature_defines generation is now done by first checking if the bare feature define
1978         is present in feature_defines_unstable, if not then feature_defines_overrides is also
1979         checked before using the value from feature_defines_defaults.
1980
1981         No new tests - no new functionality.
1982
1983         * GNUmakefile.am:
1984
1985 2012-09-07  Ilya Tikhonovsky  <loislo@chromium.org>
1986
1987         Web Inspector: NMI: move WebCore specific code to separate header
1988         https://bugs.webkit.org/show_bug.cgi?id=96101
1989
1990         Reviewed by Yury Semikhatsky.
1991
1992         I extracted WebCore related code from MemoryInstrumentation.h to WebCoreMemoryInstrumentation.h
1993
1994         * CMakeLists.txt:
1995         * GNUmakefile.list.am:
1996         * Target.pri:
1997         * WebCore.gypi:
1998         * WebCore.vcproj/WebCore.vcproj:
1999         * WebCore.xcodeproj/project.pbxproj:
2000         * bindings/js/ScriptWrappable.h:
2001         * bindings/v8/DOMDataStore.cpp:
2002         * bindings/v8/IntrusiveDOMWrapperMap.h:
2003         * bindings/v8/ScriptProfiler.cpp:
2004         * bindings/v8/ScriptWrappable.h:
2005         * bindings/v8/V8Binding.cpp:
2006         * bindings/v8/V8DOMMap.h:
2007         * css/CSSAspectRatioValue.cpp:
2008         * css/CSSBorderImageSliceValue.cpp:
2009         * css/CSSCalculationValue.cpp:
2010         * css/CSSCanvasValue.cpp:
2011         * css/CSSCharsetRule.cpp:
2012         * css/CSSComputedStyleDeclaration.cpp:
2013         * css/CSSCrossfadeValue.cpp:
2014         * css/CSSCursorImageValue.cpp:
2015         * css/CSSFontFaceRule.cpp:
2016         * css/CSSFontFaceSrcValue.cpp:
2017         * css/CSSFunctionValue.cpp:
2018         * css/CSSGradientValue.cpp:
2019         * css/CSSImageGeneratorValue.cpp:
2020         * css/CSSImageSetValue.cpp:
2021         * css/CSSImageValue.cpp:
2022         * css/CSSImportRule.cpp:
2023         * css/CSSInheritedValue.cpp:
2024         * css/CSSInitialValue.cpp:
2025         * css/CSSLineBoxContainValue.cpp:
2026         * css/CSSMediaRule.cpp:
2027         * css/CSSPrimitiveValue.cpp:
2028         * css/CSSProperty.cpp:
2029         * css/CSSReflectValue.cpp:
2030         * css/CSSRuleList.h:
2031         * css/CSSSelectorList.cpp:
2032         * css/CSSStyleRule.cpp:
2033         * css/CSSStyleSheet.cpp:
2034         * css/CSSTimingFunctionValue.cpp:
2035         * css/CSSUnicodeRangeValue.cpp:
2036         * css/CSSUnknownRule.h:
2037         * css/CSSValue.cpp:
2038         * css/CSSValueList.cpp:
2039         * css/CSSVariableValue.h:
2040         * css/FontFeatureValue.cpp:
2041         * css/FontValue.cpp:
2042         * css/MediaList.cpp:
2043         * css/MediaQuery.cpp:
2044         * css/MediaQueryExp.cpp:
2045         * css/PropertySetCSSStyleDeclaration.cpp:
2046         * css/ShadowValue.cpp:
2047         * css/StyleResolver.cpp:
2048         * css/StyleRule.cpp:
2049         * css/StyleSheetContents.cpp:
2050         * css/WebKitCSSArrayFunctionValue.cpp:
2051         * css/WebKitCSSFilterValue.cpp:
2052         * css/WebKitCSSKeyframeRule.cpp:
2053         * css/WebKitCSSKeyframesRule.cpp:
2054         * css/WebKitCSSMixFunctionValue.cpp:
2055         * css/WebKitCSSSVGDocumentValue.cpp:
2056         * css/WebKitCSSShaderValue.cpp:
2057         * css/WebKitCSSTransformValue.cpp:
2058         * dom/CharacterData.cpp:
2059         * dom/Document.cpp:
2060         * dom/DocumentEventQueue.cpp:
2061         * dom/ElementAttributeData.cpp:
2062         * dom/Event.cpp:
2063         * dom/MemoryInstrumentation.h:
2064         * dom/Node.cpp:
2065         * dom/QualifiedName.h:
2066         * dom/WebCoreMemoryInstrumentation.cpp: Renamed from Source/WebCore/dom/MemoryInstrumentation.cpp.
2067         (WebCore):
2068         (WebCore::String):
2069         (WebCore::StringImpl):
2070         (WebCore::KURL):
2071         (WebCore::AtomicString):
2072         * dom/WebCoreMemoryInstrumentation.h: Added.
2073         (WebCore):
2074         (WebCoreMemoryTypes):
2075         * loader/DocumentLoader.cpp:
2076         * loader/FrameLoader.cpp:
2077         * loader/SubresourceLoader.cpp:
2078         * loader/SubstituteData.cpp:
2079         * loader/cache/CachedCSSStyleSheet.cpp:
2080         * loader/cache/CachedFont.cpp:
2081         * loader/cache/CachedRawResource.cpp:
2082         * loader/cache/CachedResource.cpp:
2083         * loader/cache/CachedResourceHandle.cpp:
2084         * loader/cache/CachedScript.cpp:
2085         * loader/cache/CachedShader.cpp:
2086         * loader/cache/CachedXSLStyleSheet.cpp:
2087         * loader/cache/MemoryCache.cpp:
2088         * platform/SharedBuffer.cpp:
2089         * platform/graphics/BitmapImage.cpp:
2090         * platform/graphics/CrossfadeGeneratedImage.cpp:
2091         * platform/graphics/GeneratedImage.cpp:
2092         * platform/graphics/GeneratorGeneratedImage.h:
2093         * platform/graphics/Image.cpp:
2094         * platform/network/FormData.cpp:
2095         * platform/network/ResourceRequestBase.cpp:
2096         * platform/network/ResourceResponseBase.cpp:
2097         * rendering/style/RenderStyle.cpp:
2098         * rendering/style/StyleRareInheritedData.cpp:
2099         * rendering/style/StyleRareNonInheritedData.cpp:
2100         * svg/SVGColor.cpp:
2101         * svg/SVGPaint.cpp:
2102
2103 2012-09-07  Ian Vollick  <vollick@chromium.org>
2104
2105         [chromium] We should accelerate all transformations, except when we must blend matrices that cannot be decomposed.
2106         https://bugs.webkit.org/show_bug.cgi?id=95855
2107
2108         Reviewed by James Robinson.
2109
2110         WebTransformOperations are now able to report if they can successfully blend.
2111         WebTransformationMatrix::blend now returns a bool if blending would fail.
2112
2113         Unit tests:
2114           AnimationTranslationUtilTest.createTransformAnimationWithNonDecomposableMatrix
2115           AnimationTranslationUtilTest.createTransformAnimationWithNonInvertibleTransform
2116
2117         * platform/chromium/support/WebTransformOperations.cpp:
2118         (WebKit::blendTransformOperations):
2119         (WebKit::WebTransformOperations::blend):
2120         (WebKit::WebTransformOperations::canBlendWith):
2121         (WebKit):
2122         (WebKit::WebTransformOperations::blendInternal):
2123         * platform/chromium/support/WebTransformationMatrix.cpp:
2124         (WebKit::WebTransformationMatrix::blend):
2125         * platform/graphics/chromium/AnimationTranslationUtil.cpp:
2126         (WebCore::WebTransformAnimationCurve):
2127
2128 2012-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2129
2130         Unreviewed, rolling out r127780 and r127859.
2131         http://trac.webkit.org/changeset/127780
2132         http://trac.webkit.org/changeset/127859
2133         https://bugs.webkit.org/show_bug.cgi?id=96102
2134
2135         "inspector/styles/protocol-css-regions-commands.html crashing
2136         on Chromium Linux Debug and timing out flakily on Release"
2137         (Requested by apavlov on #webkit).
2138
2139         * dom/NamedFlowCollection.cpp:
2140         (WebCore::NamedFlowCollection::ensureFlowWithName):
2141         (WebCore::NamedFlowCollection::discardNamedFlow):
2142         * inspector/Inspector.json:
2143         * inspector/InspectorCSSAgent.cpp:
2144         (WebCore::InspectorCSSAgent::reset):
2145         (WebCore::InspectorCSSAgent::didCreateNamedFlow):
2146         (WebCore::InspectorCSSAgent::didRemoveNamedFlow):
2147         (WebCore::InspectorCSSAgent::getNamedFlowCollection):
2148         (WebCore::InspectorCSSAgent::getFlowByName):
2149         (WebCore):
2150         * inspector/InspectorCSSAgent.h:
2151         (WebCore):
2152         (InspectorCSSAgent):
2153         * inspector/InspectorInstrumentation.cpp:
2154         (WebCore):
2155         (WebCore::InspectorInstrumentation::didCreateNamedFlowImpl):
2156         (WebCore::InspectorInstrumentation::didRemoveNamedFlowImpl):
2157         * inspector/InspectorInstrumentation.h:
2158         (InspectorInstrumentation):
2159         (WebCore::InspectorInstrumentation::didCreateNamedFlow):
2160         (WebCore::InspectorInstrumentation::didRemoveNamedFlow):
2161         * inspector/front-end/CSSStyleModel.js:
2162         (WebInspector.CSSStyleModel):
2163         (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync):
2164         (WebInspector.CSSStyleModel.prototype.getFlowByNameAsync):
2165         (WebInspector.CSSStyleModel.prototype._namedFlowCreated.callback):
2166         (WebInspector.CSSStyleModel.prototype._namedFlowCreated):
2167         (WebInspector.CSSStyleModel.prototype._namedFlowRemoved.callback):
2168         (WebInspector.CSSStyleModel.prototype._namedFlowRemoved):
2169         (WebInspector.CSSDispatcher.prototype.namedFlowCreated):
2170         (WebInspector.CSSDispatcher.prototype.namedFlowRemoved):
2171         (WebInspector.NamedFlow):
2172         (WebInspector.NamedFlow.parsePayloadArray):
2173         * rendering/RenderNamedFlowThread.cpp:
2174         (WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEvent):
2175
2176 2012-09-07  Sami Kyostila  <skyostil@google.com>
2177
2178         [chromium] Dynamically removing preserve-3d from a layer has no effect
2179         https://bugs.webkit.org/show_bug.cgi?id=95732
2180
2181         Reviewed by James Robinson.
2182
2183         Fix removal of preserve-3d CSS attribute from a GraphicsLayerChromium.
2184         It was broken by a refactor in http://trac.webkit.org/changeset/126378.
2185
2186         Test: platform/chromium/compositing/preserve-3d-toggle.html
2187
2188         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2189         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
2190
2191 2012-09-06  Alexander Pavlov  <apavlov@chromium.org>
2192
2193         Web Inspector: Implement SCSS source highlighter
2194         https://bugs.webkit.org/show_bug.cgi?id=95585
2195
2196         Reviewed by Vsevolod Vlasov.
2197
2198         This change modifies the existing CSS highlighter to support SCSS as well. The "text/x-scss" mime-type is assigned to SASSSource.
2199
2200         * inspector/front-end/CSSCompletions.js:
2201         (WebInspector.CSSCompletions.cssPropertiesMetainfoKeySet):
2202         * inspector/front-end/ContentProviders.js:
2203         (WebInspector.StaticContentProvider): Enabled clients to supply the content mime-type.
2204         (WebInspector.StaticContentProvider.prototype.mimeType):
2205         (WebInspector.StaticContentProvider.prototype.requestContent): Use client-supplied content mime-type, if any.
2206         * inspector/front-end/SASSSourceMapping.js:
2207         (WebInspector.SASSSource): Construct StaticContentProvider with the "text/x-scss" mime-type.
2208         * inspector/front-end/SourceCSSTokenizer.js:
2209         (WebInspector.SourceCSSTokenizer):
2210         (WebInspector.SourceCSSTokenizer.prototype.nextToken):
2211         * inspector/front-end/SourceCSSTokenizer.re2js: Extended with the SCSS syntax.
2212         * inspector/front-end/SourceTokenizer.js:
2213         (WebInspector.SourceTokenizer.Registry):
2214         * inspector/front-end/inspectorSyntaxHighlight.css:
2215         (.webkit-css-bang-keyword):
2216
2217 2012-09-07  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2218
2219         X11 Global Selection
2220         https://bugs.webkit.org/show_bug.cgi?id=88238
2221
2222         Reviewed by Tony Chang.
2223
2224         In X11 global selection is the ability to share the active selection
2225         between applications and pasting with middle mouse-button.
2226
2227         This patch moves the implementations of global selection from the 
2228         separate implementations in Qt WebKit, Chromium and GTK to WebCore,
2229         by implementing a new EditorCommand for pasting the global selection.
2230
2231         Test: editing/pasteboard/paste-global-selection.html
2232
2233         * editing/EditorCommand.cpp:
2234         (WebCore::executePasteGlobalSelection):
2235         (WebCore::createCommandMap):
2236         * page/EditorClient.h:
2237         (EditorClient):
2238         (WebCore::EditorClient::supportsGlobalSelection):
2239         * platform/Pasteboard.h:
2240         (WebCore::Pasteboard::isSelectionMode):
2241         (WebCore::Pasteboard::setSelectionMode):
2242         * platform/gtk/PasteboardGtk.cpp:
2243         (WebCore::Pasteboard::writeSelection):
2244         (WebCore::Pasteboard::writeURL):
2245         (WebCore::Pasteboard::isSelectionMode):
2246         (WebCore::Pasteboard::setSelectionMode):
2247
2248 2012-09-06  Vsevolod Vlasov  <vsevik@chromium.org>
2249
2250         Web Inspector: Migrate Database to async protocol commands
2251         https://bugs.webkit.org/show_bug.cgi?id=95983
2252
2253         Reviewed by Alexander Pavlov.
2254
2255         * English.lproj/localizedStrings.js:
2256         * inspector/Inspector.json:
2257         * inspector/InspectorDatabaseAgent.cpp:
2258         (WebCore):
2259         (WebCore::InspectorDatabaseAgent::didOpenDatabase):
2260         (WebCore::InspectorDatabaseAgent::setFrontend):
2261         (WebCore::InspectorDatabaseAgent::clearFrontend):
2262         (WebCore::InspectorDatabaseAgent::enable):
2263         (WebCore::InspectorDatabaseAgent::executeSQL):
2264         * inspector/InspectorDatabaseAgent.h:
2265         (InspectorDatabaseAgent):
2266         * inspector/front-end/Database.js:
2267         (WebInspector.Database.prototype.executeSql):
2268         (WebInspector.DatabaseDispatcher.prototype.addDatabase):
2269
2270 2012-09-07  Ilya Tikhonovsky  <loislo@chromium.org>
2271
2272         Unreviewed single line follow-up change for r127856.
2273
2274         * dom/MemoryInstrumentation.h:
2275         (WebCore::MemoryClassInfo::MemoryClassInfo):
2276
2277 2012-09-07  Vsevolod Vlasov  <vsevik@chromium.org>
2278
2279         Unreviewed inspector closure compilation errors fix.
2280
2281         * inspector/front-end/CSSStyleModel.js:
2282         (WebInspector.NamedFlowCollection):
2283
2284 2012-09-06  Vsevolod Vlasov  <vsevik@chromium.org>
2285
2286         Web Inspector: Migrate FileSystem to async protocol commands.
2287         https://bugs.webkit.org/show_bug.cgi?id=95985
2288
2289         Reviewed by Alexander Pavlov.
2290
2291         Migrated FileSystem domain to async protocol commands and removed boilerplate code.
2292
2293         * inspector/Inspector.json:
2294         * inspector/InspectorFileSystemAgent.cpp:
2295         (WebCore):
2296         (WebCore::InspectorFileSystemAgent::~InspectorFileSystemAgent):
2297         (WebCore::InspectorFileSystemAgent::requestFileSystemRoot):
2298         (WebCore::InspectorFileSystemAgent::requestDirectoryContent):
2299         (WebCore::InspectorFileSystemAgent::requestMetadata):
2300         (WebCore::InspectorFileSystemAgent::requestFileContent):
2301         (WebCore::InspectorFileSystemAgent::deleteEntry):
2302         (WebCore::InspectorFileSystemAgent::clearFrontend):
2303         (WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent):
2304         (WebCore::InspectorFileSystemAgent::assertEnabled):
2305         * inspector/InspectorFileSystemAgent.h:
2306         (InspectorFileSystemAgent):
2307         * inspector/front-end/FileSystemModel.js:
2308         (WebInspector.FileSystemModel):
2309         (WebInspector.FileSystemModel.prototype._originAdded):
2310         (WebInspector.FileSystemModel.prototype._requestFileSystemRoot):
2311         (WebInspector.FileSystemModel.prototype.requestDirectoryContent):
2312         (WebInspector.FileSystemModel.prototype._requestDirectoryContent):
2313         (WebInspector.FileSystemModel.prototype._directoryContentReceived):
2314         (WebInspector.FileSystemModel.prototype.requestMetadata):
2315         (WebInspector.FileSystemModel.prototype.requestFileContent):
2316         (WebInspector.FileSystemModel.prototype._requestFileContent):
2317         (WebInspector.FileSystemModel.prototype._deleteEntry):
2318
2319 2012-09-07  Ilya Tikhonovsky  <loislo@chromium.org>
2320
2321         Web Inspector: NMI: remove DataRef instrumentation from the core NMI code.
2322         https://bugs.webkit.org/show_bug.cgi?id=96086
2323
2324         Reviewed by Yury Semikhatsky.
2325
2326         This patch is removing the last WebCore specific methods from core memory instrumentation code.
2327
2328         It is covered by webkit_unit_tests.
2329
2330         * dom/MemoryInstrumentation.h:
2331         (WebCore):
2332         (MemoryObjectInfo):
2333         (WebCore::MemoryClassInfo::MemoryClassInfo):
2334         * rendering/style/DataRef.h:
2335         (DataRef):
2336         (WebCore::DataRef::reportMemoryUsage):
2337
2338 2012-09-06  Vsevolod Vlasov  <vsevik@chromium.org>
2339
2340         Web Inspector: Migrate IndexedDB to async protocol commands.
2341         https://bugs.webkit.org/show_bug.cgi?id=95978
2342
2343         Reviewed by Alexander Pavlov.
2344
2345         IndexedDB is now implemented using async protocol commands.
2346         Removed boilerplate code used to emulate async commands before.
2347
2348         * inspector/Inspector.json:
2349         * inspector/InspectorIndexedDBAgent.cpp:
2350         (WebCore):
2351         (WebCore::InspectorIndexedDBAgent::clearFrontend):
2352         (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
2353         (WebCore::InspectorIndexedDBAgent::requestDatabase):
2354         (WebCore::InspectorIndexedDBAgent::requestData):
2355         * inspector/InspectorIndexedDBAgent.h:
2356         (InspectorIndexedDBAgent):
2357         * inspector/front-end/IndexedDBModel.js:
2358         (WebInspector.IndexedDBModel):
2359         (WebInspector.IndexedDBModel.prototype._frameDetached):
2360         (WebInspector.IndexedDBModel.prototype._reset):
2361         (WebInspector.IndexedDBModel.prototype._databaseRemoved):
2362         (WebInspector.IndexedDBModel.prototype._loadDatabaseNamesForFrame):
2363         (WebInspector.IndexedDBModel.prototype._loadDatabase.callback):
2364         (WebInspector.IndexedDBModel.prototype._loadDatabase):
2365         (WebInspector.IndexedDBModel.prototype.loadObjectStoreData):
2366         (WebInspector.IndexedDBModel.prototype.loadIndexData):
2367         (WebInspector.IndexedDBModel.prototype._requestData.innerCallback):
2368         (WebInspector.IndexedDBModel.prototype._requestData):
2369
2370 2012-09-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2371
2372         Add *explicit* keyword to constructors in WebCore/xml
2373         https://bugs.webkit.org/show_bug.cgi?id=96071
2374
2375         Reviewed by Kentaro Hara.
2376
2377         As a step to let *explicit* add to constructors which have only one parameter,
2378         *explicit* is added to Source/WebCore/xml in order to avoid implicit type conversion.
2379
2380         No new tests. Covered by existing tests.
2381
2382         * xml/NativeXPathNSResolver.h:
2383         (NativeXPathNSResolver):
2384         * xml/XMLHttpRequestException.h:
2385         (WebCore::XMLHttpRequestException::XMLHttpRequestException):
2386         * xml/XMLHttpRequestProgressEventThrottle.h:
2387         (XMLHttpRequestProgressEventThrottle):
2388         * xml/XMLHttpRequestUpload.h:
2389         (XMLHttpRequestUpload):
2390         * xml/XPathException.h:
2391         (WebCore::XPathException::XPathException):
2392         * xml/XPathPredicate.h:
2393         (Number):
2394         (StringExpression):
2395         (Predicate):
2396         * xml/XPathValue.h:
2397         (WebCore::XPath::ValueData::ValueData):
2398         * xml/XPathVariableReference.h:
2399         (VariableReference):
2400
2401 2012-09-07  Yoshifumi Inoue  <yosin@chromium.org>
2402
2403         We should have a localized string of empty for date time field
2404         https://bugs.webkit.org/show_bug.cgi?id=96081
2405
2406         Reviewed by Kent Tamura.
2407
2408         This patch add a declaration of function for getting localized string
2409         of empty field value date time field for accessibility inside
2410         ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
2411
2412         These functions will be used by derived classes of DateTimeFieldElement.
2413
2414         Note: We'll rename ENABLE_INPUT_TYPE_MULTIPLE_FIELDS to generic name
2415         to support "date", "datetime", "month" and "week" multiple fields input
2416         UI.
2417
2418         No new tests. This patch doesn't change behavior.
2419
2420         * platform/LocalizedStrings.h:
2421         (WebCore): Added a declaration of AXDateTimeFieldEmptyValueText().
2422
2423 2012-09-07  Ryuan Choi  <ryuan.choi@samsung.com>
2424
2425         [EFL] Use ASCIILiteral for cursorStringMap.
2426         https://bugs.webkit.org/show_bug.cgi?id=96072
2427
2428         Reviewed by Gyuyoung Kim.
2429
2430         This patch converts static strings of cursorStringMap to use ASCIILiteral
2431         as recommended by http://trac.webkit.org/wiki/EfficientStrings.
2432
2433         * platform/efl/EflScreenUtilities.cpp:
2434         (WebCore::CursorMap::CursorMap):
2435
2436 2012-09-07  Tim Horton  <timothy_horton@apple.com>
2437
2438         Scrolling performance logging should use WTFLogAlways instead of printf
2439         https://bugs.webkit.org/show_bug.cgi?id=96080
2440
2441         Reviewed by Dan Bernstein.
2442
2443         Use WTF logging facilities instead of printf() for scrolling performance logging.
2444
2445         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
2446         (WebCore::ScrollingTreeNodeMac::logExposedUnfilledArea):
2447         * platform/graphics/ca/mac/WebTileLayer.mm:
2448         (-[WebTileLayer logFilledFreshTile]):
2449
2450 2012-09-07  Luke Macpherson   <macpherson@chromium.org>
2451
2452         Make CSSPrimitiveValue::cleanup() handle all UnitTypes, fixing memory leak in the process.
2453         https://bugs.webkit.org/show_bug.cgi?id=95938
2454
2455         Reviewed by Andreas Kling.
2456
2457         Several unit types have been added without updating the cleanup function, including CSS_VARIABLE_NAME.
2458         I've added all the existing unit types back in and cast m_primitiveUnitType (a bitfield in CSSValue)
2459         to the enum type to ensure the compiler catches any future errors.
2460
2461         No test added, but switch made to use enum type so we can't accidentally fail to update this function again.
2462
2463         * css/CSSPrimitiveValue.cpp:
2464         (WebCore::CSSPrimitiveValue::cleanup):
2465
2466 2012-09-07  Tim Horton  <timothy_horton@apple.com>
2467
2468         Add optional debug logging when we fall into/out of threaded scrolling
2469         https://bugs.webkit.org/show_bug.cgi?id=93898
2470         <rdar://problem/12089098>
2471
2472         Reviewed by Simon Fraser.
2473
2474         Add logging when we enter and exit the threaded scrolling mode, and logs the reasons we
2475         fall into main-thread scrolling.
2476
2477         The logging output looks like this:
2478             SCROLLING: Switching to main-thread scrolling mode. Time: 15843.554718 Reason(s): viewport-constrained objects
2479             SCROLLING: Switching to threaded scrolling mode. Time: 15844.550866
2480             SCROLLING: Switching to main-thread scrolling mode. Time: 15845.551214 Reason(s): viewport-constrained objects
2481             SCROLLING: Switching to threaded scrolling mode. Time: 15846.552619
2482             SCROLLING: Switching to main-thread scrolling mode. Time: 15847.553587 Reason(s): viewport-constrained objects
2483             SCROLLING: Switching to threaded scrolling mode. Time: 15848.554084
2484
2485         No new tests, as this is just debugging logging.
2486
2487         * WebCore.xcodeproj/project.pbxproj:
2488         Expose ScrollingTreeState.h as a private header.
2489
2490         * page/scrolling/ScrollingCoordinator.cpp:
2491         (WebCore::ScrollingCoordinator::frameViewHasSlowRepaintObjectsDidChange):
2492         (WebCore::ScrollingCoordinator::frameViewFixedObjectsDidChange):
2493         (WebCore::ScrollingCoordinator::frameViewRootLayerDidChange):
2494         (WebCore::ScrollingCoordinator::setForceMainThreadScrollLayerPositionUpdates):
2495         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThreadReason):
2496         * page/scrolling/ScrollingCoordinator.h:
2497         (ScrollingCoordinator):
2498         * page/scrolling/ScrollingCoordinatorNone.cpp:
2499         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThreadReason):
2500         * page/scrolling/ScrollingTreeNode.cpp:
2501         (WebCore::ScrollingTreeNode::ScrollingTreeNode):
2502         (WebCore::ScrollingTreeNode::update):
2503         * page/scrolling/ScrollingTreeNode.h:
2504         (WebCore::ScrollingTreeNode::shouldUpdateScrollLayerPositionOnMainThreadReason):
2505         (ScrollingTreeNode):
2506         * page/scrolling/ScrollingTreeState.cpp:
2507         (WebCore::ScrollingTreeState::ScrollingTreeState):
2508         (WebCore::ScrollingTreeState::setShouldUpdateScrollLayerPositionOnMainThreadReason):
2509         * page/scrolling/ScrollingTreeState.h:
2510         (WebCore::ScrollingTreeState::shouldUpdateScrollLayerPositionOnMainThreadReason):
2511         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
2512         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThreadReason):
2513         Rename updateShouldUpdateScrollLayerPositionOnMainThread to updateShouldUpdateScrollLayerPositionOnMainThreadReason (and related).
2514
2515         * page/scrolling/ScrollingCoordinator.cpp:
2516         (WebCore::ScrollingCoordinator::hasNonLayerViewportConstrainedObjects):
2517         Renamed from hasNonLayerFixedObjects to match the rest of the renames going on.
2518         (WebCore::ScrollingCoordinator::updateShouldUpdateScrollLayerPositionOnMainThreadReason):
2519         Construct a bitfield describing the reasons we fall into main-thread scrolling mode.
2520
2521         * page/scrolling/ScrollingTreeState.h:
2522         (ScrollingTreeState):
2523         Add ReasonsForUpdatingScrollLayerPositionOnMainThread enum, with the current reasons that we might fallback to main-thread scrolling.
2524
2525         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
2526         (WebCore):
2527         (WebCore::ScrollingTreeNodeMac::update): Log every time scrolling mode changes.
2528         (WebCore::ScrollingTreeNodeMac::scrollPosition):
2529         (WebCore::ScrollingTreeNodeMac::setScrollPositionWithoutContentEdgeConstraints):
2530         (WebCore::ScrollingTreeNodeMac::setScrollLayerPosition):
2531         (WebCore::logThreadedScrollingMode): Pretty-print the scrolling mode and shouldUpdateScrollLayerPositionOnMainThreadReason.
2532
2533 2012-09-06  Patrick Gansterer  <paroga@webkit.org>
2534
2535         Build fix for WinCE after r127801.
2536
2537         * platform/graphics/wince/FontWinCE.cpp:
2538         (WebCore::generateComponents):
2539
2540 2012-09-06  Alexander Pavlov  <apavlov@chromium.org>
2541
2542         [Chromium] Regression: Web Inspector tool-tips pixellated with --force-device-scale-factor=2
2543         https://bugs.webkit.org/show_bug.cgi?id=95875
2544
2545         Reviewed by Vsevolod Vlasov.
2546
2547         The overlay canvas is scaled according to the actual devicePixelRatio of the inspected page, while retaining its original CSS size.
2548
2549         * inspector/InspectorOverlay.cpp:
2550         (WebCore::InspectorOverlay::reset):
2551         * inspector/InspectorOverlayPage.html:
2552
2553 2012-09-06  Sheriff Bot  <webkit.review.bot@gmail.com>
2554
2555         Unreviewed, rolling out r127822.
2556         http://trac.webkit.org/changeset/127822
2557         https://bugs.webkit.org/show_bug.cgi?id=96073
2558
2559         It broke compilation on chromium debug bots (Requested by
2560         loislo on #webkit).
2561
2562         * platform/graphics/chromium/cc/CCDirectRenderer.cpp:
2563         (WebCore::CCDirectRenderer::decideRenderPassAllocationsForFrame):
2564         (WebCore::CCDirectRenderer::haveCachedResourcesForRenderPassId):
2565         * platform/graphics/chromium/cc/CCDirectRenderer.h:
2566         (CCDirectRenderer):
2567         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2568         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
2569         (WebCore::findRenderPassById):
2570         (WebCore::removeRenderPassesRecursive):
2571         * platform/graphics/chromium/cc/CCRenderPass.cpp:
2572         (WebCore::CCRenderPass::create):
2573         (WebCore::CCRenderPass::CCRenderPass):
2574         (WebCore::CCRenderPass::copy):
2575         * platform/graphics/chromium/cc/CCRenderPass.h:
2576         (CCRenderPass):
2577         (WebCore::CCRenderPass::id):
2578         (WebCore):
2579         * platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp:
2580         (WebCore::CCRenderPassDrawQuad::create):
2581         (WebCore::CCRenderPassDrawQuad::CCRenderPassDrawQuad):
2582         (WebCore::CCRenderPassDrawQuad::copy):
2583         * platform/graphics/chromium/cc/CCRenderPassDrawQuad.h:
2584         (WebCore):
2585         (CCRenderPassDrawQuad):
2586         (WebCore::CCRenderPassDrawQuad::renderPassId):
2587         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
2588         (WebCore::CCRenderSurface::appendRenderPasses):
2589         (WebCore::CCRenderSurface::appendQuads):
2590         * platform/graphics/chromium/cc/CCRenderSurface.h:
2591         (WebCore):
2592         (CCRenderSurface):
2593         * platform/graphics/chromium/cc/CCRenderer.h:
2594         (WebCore::CCRenderer::haveCachedResourcesForRenderPassId):
2595
2596 2012-09-06  Anna Cavender  <annacc@chromium.org>
2597
2598         The CC button should have chrome-specific rendering for Mac.
2599         https://bugs.webkit.org/show_bug.cgi?id=95981
2600
2601         Reviewed by Eric Carlson.
2602
2603         This patch allows RenderThemeChromiumMac to define its own behavior for the CC button.
2604
2605         No new tests.  Button should display graphics from chromium resources.
2606
2607         * css/mediaControlsChromium.css:
2608         (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
2609         Adjust styling for the chromium graphics.
2610         * rendering/RenderMediaControlsChromium.cpp:
2611         (WebCore::paintMediaClosedCaptionsButton):
2612         Check whether closed captions are visible to decide how to draw the button.
2613         * rendering/RenderThemeChromiumMac.h:
2614         (RenderThemeChromiumMac):
2615         Override the paint function for the CC button.
2616         * rendering/RenderThemeChromiumMac.mm:
2617         (WebCore):
2618         (WebCore::RenderThemeChromiumMac::paintMediaToggleClosedCaptionsButton):
2619         Call the chromium-specific painting function.
2620
2621 2012-09-06  Elliott Sprehn  <esprehn@chromium.org>
2622
2623         Add methods to CounterDirectives to clean up StyleBuilder and RenderCounter.
2624         https://bugs.webkit.org/show_bug.cgi?id=94587
2625
2626         Reviewed by Julien Chaffraix.
2627
2628         Adds several methods to CounterDirectives and an accessor method to RenderStyle for
2629         getting the CounterDirectives by idenfitier and uses those methods to clean up
2630         the code in StyleBuilder and RenderCounter. This also switches to using AtomicString
2631         directly instead of AtomicStringImpl and calling get() everywhere.
2632
2633         The refactor fixes the unitialized read in WKBug 94642.
2634
2635         Test: fast/css/counters/counter-reset-inherit-bug-94642.html
2636
2637         * css/CSSComputedStyleDeclaration.cpp:
2638         (WebCore::counterToCSSValue): Use new accessors.
2639         * css/StyleBuilder.cpp:
2640         (WebCore::ApplyPropertyCounter::applyInheritValue): Use new inherit methods.
2641         (WebCore::ApplyPropertyCounter::applyValue): Use new setters.
2642         * rendering/RenderCounter.cpp:
2643         (WebCore):
2644         (WebCore::planCounter):
2645         (WebCore::makeCounterNode):
2646         (WebCore::destroyCounterNodeWithoutMapRemoval):
2647         (WebCore::RenderCounter::destroyCounterNodes):
2648         (WebCore::RenderCounter::destroyCounterNode):
2649         (WebCore::updateCounters):
2650         (WebCore::RenderCounter::rendererStyleChanged):
2651         (showCounterRendererTree):
2652         * rendering/style/CounterDirectives.cpp:
2653         (WebCore::operator==):
2654         * rendering/style/CounterDirectives.h: Added new accessors and switched to using AtomicString directly.
2655         (CounterDirectives):
2656         (WebCore::CounterDirectives::CounterDirectives):
2657         (WebCore::CounterDirectives::isReset):
2658         (WebCore::CounterDirectives::resetValue):
2659         (WebCore::CounterDirectives::setResetValue):
2660         (WebCore::CounterDirectives::clearReset):
2661         (WebCore::CounterDirectives::inheritReset):
2662         (WebCore::CounterDirectives::isIncrement):
2663         (WebCore::CounterDirectives::incrementValue):
2664         (WebCore::CounterDirectives::addIncrementValue):
2665         (WebCore::CounterDirectives::clearIncrement):
2666         (WebCore::CounterDirectives::inheritIncrement):
2667         (WebCore::CounterDirectives::isDefined): If either reset or increment is used.
2668         (WebCore::CounterDirectives::combinedValue): Combined local value of the counter.
2669         (WebCore):
2670         * rendering/style/RenderStyle.cpp:
2671         (WebCore::RenderStyle::getCounterDirectives): New method which always returns a CounterDirectives instance by identifier.
2672         (WebCore):
2673         * rendering/style/RenderStyle.h:
2674
2675 2012-09-06  Joanmarie Diggs  <jdiggs@igalia.com>
2676
2677         [Gtk] accessibility/canvas-description-and-role expected results needed
2678         https://bugs.webkit.org/show_bug.cgi?id=95644
2679
2680         Reviewed by Martin Robinson.
2681
2682         The new accessibility CanvasRole should be mapped to ATK_ROLE_CANVAS
2683         rather than ATK_ROLE_IMAGE.
2684
2685         No new test because the CanvasRole came with a new layout test lacking
2686         expected results for Gtk. The generated expected results for that test
2687         reflect the revised mapping to ATK_ROLE_CANVAS.
2688
2689         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
2690         (atkRole):
2691
2692 2012-09-06  Hironori Bono  <hbono@chromium.org>
2693
2694         A build fix for Chromium Windows
2695         https://bugs.webkit.org/show_bug.cgi?id=96062
2696
2697         Reviewed by James Robinson.
2698
2699         This change fixes a build break on Chromium Windows caused by r127801
2700         <http://trac.webkit.org/changeset/127801>. It replaces characters() with
2701         characters16().
2702
2703         No new tests because this change is a build fix.
2704
2705         * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
2706         (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun):
2707
2708 2012-09-06  Dana Jansens  <danakj@chromium.org>
2709
2710         [chromium] Make RenderPass ids hold both generating layer id and an index
2711         https://bugs.webkit.org/show_bug.cgi?id=95500
2712
2713         Reviewed by Adrienne Walker.
2714
2715         This change allows us to avoid complex renderPassId mappings between
2716         compositors for ubercomp. The ubercomp layer needs to add a number
2717         of RenderPasses to the frame, and these must not conflict with other
2718         RenderPasses in the frame. By using its layer id along with an extra
2719         value it determines, the layer can create a unique id without needing
2720         access to any global state or id generator.
2721
2722         Covered by existing tests.
2723
2724         * platform/graphics/chromium/cc/CCDirectRenderer.cpp:
2725         (WebCore::CCDirectRenderer::decideRenderPassAllocationsForFrame):
2726         (WebCore::CCDirectRenderer::haveCachedResourcesForRenderPassId):
2727         * platform/graphics/chromium/cc/CCDirectRenderer.h:
2728         (CCDirectRenderer):
2729         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2730         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
2731         (WebCore::findRenderPassById):
2732         (WebCore::removeRenderPassesRecursive):
2733         * platform/graphics/chromium/cc/CCRenderPass.cpp:
2734         (WebCore::CCRenderPass::create):
2735         (WebCore::CCRenderPass::CCRenderPass):
2736         * platform/graphics/chromium/cc/CCRenderPass.h:
2737         (Id):
2738         (WebCore::CCRenderPass::Id::Id):
2739         (WebCore::CCRenderPass::Id::operator==):
2740         (WebCore::CCRenderPass::Id::operator!=):
2741         (WebCore::CCRenderPass::Id::operator<):
2742         (CCRenderPass):
2743         (WebCore::CCRenderPass::id):
2744         (WebCore):
2745         * platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp:
2746         (WebCore::CCRenderPassDrawQuad::create):
2747         (WebCore::CCRenderPassDrawQuad::CCRenderPassDrawQuad):
2748         * platform/graphics/chromium/cc/CCRenderPassDrawQuad.h:
2749         (CCRenderPassDrawQuad):
2750         (WebCore::CCRenderPassDrawQuad::renderPassId):
2751         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
2752         (WebCore::CCRenderSurface::renderPassId):
2753         (WebCore):
2754         (WebCore::CCRenderSurface::appendRenderPasses):
2755         (WebCore::CCRenderSurface::appendQuads):
2756         * platform/graphics/chromium/cc/CCRenderSurface.h:
2757         (WebCore):
2758         (CCRenderSurface):
2759         * platform/graphics/chromium/cc/CCRenderer.h:
2760         (WebCore::CCRenderer::haveCachedResourcesForRenderPassId):
2761
2762 2012-09-06  Christopher Cameron  <ccameron@chromium.org>
2763
2764         [chromium] Do not delete texture backing structures on the main thread
2765         https://bugs.webkit.org/show_bug.cgi?id=96018
2766
2767         Reviewed by James Robinson.
2768
2769         Do not delete CCPrioritizedTexture::Backing structures on the main
2770         thread.  Instead, unlink them from their owning CCPrioritizedTexture
2771         in the main thread, and have the impl thread then delete all unlinked
2772         textures.
2773
2774         This is towards having the main thread not access the m_backings set,
2775         which will allow the impl thread to traverse that set when deleting
2776         resources in response to GPU memory management events.
2777
2778         Tested by existing eviction tests (CCLayerTreeHostTest's
2779         TestEvictTextures, LostContextAfterEvictTextures)
2780
2781         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2782         (WebCore::CCLayerTreeHost::unlinkAllContentTextures):
2783         (WebCore):
2784         (WebCore::CCLayerTreeHost::deleteUnlinkedTextures):
2785         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2786         (CCLayerTreeHost):
2787         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp:
2788         (WebCore::CCPrioritizedTextureManager::clearAllMemory):
2789         (WebCore::CCPrioritizedTextureManager::unlinkAllBackings):
2790         (WebCore):
2791         (WebCore::CCPrioritizedTextureManager::deleteAllUnlinkedBackings):
2792         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h:
2793         (CCPrioritizedTextureManager):
2794         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2795         (WebCore::CCSingleThreadProxy::commitAndComposite):
2796         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2797         (WebCore::CCThreadProxy::beginFrame):
2798         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
2799
2800 2012-09-06  Simon Hausmann  <simon.hausmann@nokia.com>
2801
2802         [Qt] Fix debug Windows build
2803         https://bugs.webkit.org/show_bug.cgi?id=96008
2804
2805         Reviewed by Tor Arne Vestbø.
2806
2807         Add a few more files to the AllInOne configuration to reduce the number of object files
2808         and their total size, allowing a debug build with MSVC again.
2809
2810         * Target.pri:
2811
2812 2012-09-06  Simon Hausmann  <simon.hausmann@nokia.com>
2813
2814         [Qt] Fix text encoding detecting
2815         https://bugs.webkit.org/show_bug.cgi?id=96014
2816
2817         Reviewed by Kenneth Rohde Christiansen.
2818
2819         Since we rely on ICU now, we might as well use the actually implemented text encoding
2820         detector instead of the dummy "none" one.
2821
2822         I could not locate any layout tests that actually cover this :(
2823
2824         * Target.pri:
2825
2826 2012-09-06  Yoshifumi Inoue  <yosin@chromium.org>
2827
2828         We should have localized strings of date time fields for accessibility
2829         https://bugs.webkit.org/show_bug.cgi?id=96050
2830
2831         Reviewed by Kent Tamura.
2832
2833         This patch adds declarations of function for getting localized string
2834         of date time field for accessibility inside ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
2835
2836         These functions will be used by derived classes of DateTimeFieldElement.
2837
2838         Note: We'll rename ENABLE_INPUT_TYPE_MULTIPLE_FIELDS to generic name
2839         to support "date", "datetime", "month" and "week" multiple fields input
2840         UI.
2841
2842         No new tests. This patch doesn't change behavior.
2843
2844         * platform/LocalizedStrings.h:
2845         (WebCore): Added declarations of AXAMPMFieldText(), AXDayOfMonthFieldText(),
2846         AXHourFieldText(), AXMillisecondFieldText(), AXMinuteFieldText(), AXMonthFieldText(),
2847         AXSecondFieldText(), AXWeekOfYearFieldText(), and AXYearFieldText().
2848
2849 2012-09-06  Tony Chang  <tony@chromium.org>
2850
2851         Make computePositionedLogicalWidth and computePositionedLogicalWidthReplaced const
2852         https://bugs.webkit.org/show_bug.cgi?id=95907
2853
2854         Reviewed by Ojan Vafai.
2855
2856         This is refactoring to make RenderBox::computeLogicalWidth const. Make some methods that
2857         get called by computeLogicalWidth const. We path in a struct that we populate with values.
2858
2859         No new tests, this is just a refactoring.
2860
2861         * rendering/RenderBox.cpp:
2862         (WebCore::RenderBox::computeLogicalWidthInRegion): Make a LogicalExtentComputedValues to
2863         hold results.
2864         (WebCore::RenderBox::computePositionedLogicalWidth): Make const.
2865         (WebCore::RenderBox::computePositionedLogicalWidthUsing): Change output to use LogicalExtentComputedValues
2866         instead of 4 separate params.
2867         (WebCore::RenderBox::computePositionedLogicalWidthReplaced): Make const.
2868         * rendering/RenderBox.h:
2869         (RenderBox): Add const and change out params to LogicalExtentComputedValues.
2870         * rendering/RenderTable.cpp:
2871         (WebCore::RenderTable::computeLogicalWidth): Make a LogicalExtentComputedValues to
2872         hold results.
2873
2874 2012-09-06  MORITA Hajime  <morrita@google.com>
2875
2876         [Shadow DOM][Refactoring] Element subclasses should have a way to reject author shadows.
2877         https://bugs.webkit.org/show_bug.cgi?id=95831
2878
2879         Reviewed by Dimitri Glazkov.
2880
2881         Originally, the availability of author shadows was decided by ShadowRoot class.
2882         This change moves that responsibility to each Element subclasses to make future
2883         author shadow support improvement local to each replaced elements, rather than
2884         touching ShadowRoot.cpp for reach.
2885
2886         No new tests. Should have no behavioral change.
2887
2888         * dom/Element.h:
2889         * dom/ShadowRoot.cpp:
2890         (WebCore::allowsAuthorShadowRoot):
2891         * html/HTMLTextFormControlElement.h:
2892         (HTMLTextFormControlElement):
2893         * svg/SVGElement.h:
2894         (SVGElement):
2895
2896 2012-09-06  Adam Barth  <abarth@chromium.org>
2897
2898         [V8] Weave creationContext through toV8 and related functions
2899         https://bugs.webkit.org/show_bug.cgi?id=96039
2900
2901         Reviewed by Eric Seidel.
2902
2903         In order to give DOM wrappers the correct prototype chain, we need to
2904         know what the creationContext ought to be for each wrapper. This patch
2905         weaves that information through toV8 and related functions.
2906
2907         This patch doesn't yet use the information. That will take place in a
2908         separate patch. For that reason, this patch should not have any
2909         behavior change.
2910
2911         * bindings/scripts/CodeGeneratorV8.pm:
2912         (GenerateHeader):
2913         (GenerateNormalAttrGetter):
2914         (GenerateNamedConstructorCallback):
2915         (GenerateImplementation):
2916         (GenerateToV8Converters):
2917         (GenerateFunctionCallString):
2918         (NativeToJSValue):
2919         * bindings/scripts/test/V8/V8Float64Array.cpp:
2920         (WebCore::Float64ArrayV8Internal::fooCallback):
2921         * bindings/v8/DOMTransaction.cpp:
2922         (WebCore::DOMTransaction::callFunction):
2923         * bindings/v8/IDBCustomBindings.cpp:
2924         (WebCore::V8IDBCursorWithValue::valueAccessorGetter):
2925         * bindings/v8/SerializedScriptValue.cpp:
2926         * bindings/v8/V8Binding.h:
2927         (WebCore::V8ValueTraits::arrayV8Value):
2928         * bindings/v8/V8Collection.h:
2929         (WebCore::getV8Object):
2930         (WebCore::getNamedPropertyOfCollection):
2931         (WebCore::collectionNamedPropertyGetter):
2932         (WebCore::getIndexedPropertyOfCollection):
2933         (WebCore::collectionIndexedPropertyGetter):
2934         * bindings/v8/V8DOMWindowShell.cpp:
2935         (WebCore::getter):
2936         * bindings/v8/V8DOMWrapper.cpp:
2937         (WebCore):
2938         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
2939         * bindings/v8/V8DOMWrapper.h:
2940         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
2941         (V8DOMWrapper):
2942         * bindings/v8/V8ThrowException.cpp:
2943         (WebCore):
2944         * bindings/v8/custom/V8BlobCustom.cpp:
2945         (WebCore::toV8):
2946         (WebCore::V8Blob::constructorCallback):
2947         * bindings/v8/custom/V8CSSRuleCustom.cpp:
2948         (WebCore::toV8):
2949         * bindings/v8/custom/V8CSSValueCustom.cpp:
2950         (WebCore::toV8):
2951         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
2952         (WebCore::toV8Object):
2953         (WebCore::V8CanvasRenderingContext2D::strokeStyleAccessorGetter):
2954         (WebCore::V8CanvasRenderingContext2D::fillStyleAccessorGetter):
2955         * bindings/v8/custom/V8ConsoleCustom.cpp:
2956         (WebCore::V8Console::memoryAccessorGetter):
2957         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2958         (WebCore::V8DOMWindow::openCallback):
2959         (WebCore::V8DOMWindow::indexedPropertyGetter):
2960         (WebCore::V8DOMWindow::namedPropertyGetter):
2961         (WebCore::toV8):
2962         * bindings/v8/custom/V8DataViewCustom.cpp:
2963         (WebCore::toV8):
2964         * bindings/v8/custom/V8DocumentCustom.cpp:
2965         (WebCore::V8Document::evaluateCallback):
2966         (WebCore::V8Document::getCSSCanvasContextCallback):
2967         (WebCore::toV8):
2968         (WebCore::V8Document::createTouchListCallback):
2969         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
2970         (WebCore::V8Document::locationAccessorGetter):
2971         * bindings/v8/custom/V8EntryCustom.cpp:
2972         (WebCore::toV8):
2973         * bindings/v8/custom/V8EntrySyncCustom.cpp:
2974         (WebCore::toV8):
2975         * bindings/v8/custom/V8EventCustom.cpp:
2976         (WebCore::V8Event::dataTransferAccessorGetter):
2977         (WebCore::V8Event::clipboardDataAccessorGetter):
2978         (WebCore):
2979         (WebCore::toV8):
2980         * bindings/v8/custom/V8FileReaderCustom.cpp:
2981         (WebCore::V8FileReader::resultAccessorGetter):
2982         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
2983         (WebCore::getNamedItems):
2984         (WebCore::getItem):
2985         (WebCore::V8HTMLAllCollection::namedPropertyGetter):
2986         (WebCore::V8HTMLAllCollection::itemCallback):
2987         (WebCore::V8HTMLAllCollection::namedItemCallback):
2988         (WebCore::V8HTMLAllCollection::callAsFunctionCallback):
2989         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2990         (WebCore::V8HTMLCanvasElement::getContextCallback):
2991         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
2992         (WebCore::getNamedItems):
2993         (WebCore::V8HTMLCollection::namedPropertyGetter):
2994         (WebCore::V8HTMLCollection::namedItemCallback):
2995         (WebCore::toV8):
2996         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2997         (WebCore::V8HTMLDocument::getNamedProperty):
2998         (WebCore::V8HTMLDocument::allAccessorGetter):
2999         (WebCore::toV8):
3000         * bindings/v8/custom/V8HTMLElementCustom.cpp:
3001         (WebCore::toV8):
3002         (WebCore::V8HTMLElement::itemValueAccessorGetter):
3003         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
3004         (WebCore::V8HTMLFormElement::indexedPropertyGetter):
3005         (WebCore::V8HTMLFormElement::namedPropertyGetter):
3006         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
3007         (WebCore::V8HTMLFrameSetElement::namedPropertyGetter):
3008         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
3009         (WebCore::v8HTMLImageElementConstructorCallback):
3010         * bindings/v8/custom/V8HTMLLinkElementCustom.cpp:
3011         (WebCore::V8HTMLLinkElement::sizesAccessorGetter):
3012         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
3013         (WebCore::V8HTMLOptionsCollection::indexedPropertyGetter):
3014         * bindings/v8/custom/V8HTMLOutputElementCustom.cpp:
3015         (WebCore::V8HTMLOutputElement::htmlForAccessorGetter):
3016         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
3017         (WebCore::V8HTMLSelectElement::indexedPropertyGetter):
3018         * bindings/v8/custom/V8IDBAnyCustom.cpp:
3019         (WebCore::toV8):
3020         * bindings/v8/custom/V8IDBKeyCustom.cpp:
3021         (WebCore::toV8):
3022         * bindings/v8/custom/V8ImageDataCustom.cpp:
3023         (WebCore::toV8):
3024         * bindings/v8/custom/V8LocationCustom.cpp:
3025         (WebCore::toV8):
3026         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
3027         (WebCore::V8MessageChannel::constructorCallback):
3028         * bindings/v8/custom/V8MessageEventCustom.cpp:
3029         (WebCore::V8MessageEvent::dataAccessorGetter):
3030         (WebCore::V8MessageEvent::portsAccessorGetter):
3031         * bindings/v8/custom/V8MicroDataItemValueCustom.cpp:
3032         (WebCore::toV8):
3033         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
3034         (WebCore::V8NamedNodeMap::indexedPropertyGetter):
3035         (WebCore::V8NamedNodeMap::namedPropertyGetter):
3036         * bindings/v8/custom/V8NodeCustom.cpp:
3037         (WebCore::toV8Slow):
3038         * bindings/v8/custom/V8NodeListCustom.cpp:
3039         (WebCore::V8NodeList::namedPropertyGetter):
3040         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
3041         (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
3042         (WebCore::V8NotificationCenter::createNotificationCallback):
3043         * bindings/v8/custom/V8PerformanceCustom.cpp:
3044         (WebCore):
3045         (WebCore::V8Performance::memoryAccessorGetter):
3046         * bindings/v8/custom/V8PerformanceEntryCustom.cpp:
3047         (WebCore::toV8):
3048         * bindings/v8/custom/V8PopStateEventCustom.cpp:
3049         (WebCore::V8PopStateEvent::stateAccessorGetter):
3050         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
3051         (WebCore::V8SQLTransactionSync::executeSqlCallback):
3052         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
3053         (WebCore::toV8):
3054         * bindings/v8/custom/V8SVGElementCustom.cpp:
3055         (WebCore::toV8):
3056         * bindings/v8/custom/V8SVGPathSegCustom.cpp:
3057         (WebCore::toV8):
3058         * bindings/v8/custom/V8ScriptProfileCustom.cpp:
3059         (WebCore::toV8):
3060         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
3061         (WebCore::toV8):
3062         * bindings/v8/custom/V8StyleSheetCustom.cpp:
3063         (WebCore::toV8):
3064         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
3065         (WebCore::V8StyleSheetList::namedPropertyGetter):
3066         * bindings/v8/custom/V8TrackEventCustom.cpp:
3067         (WebCore::V8TrackEvent::trackAccessorGetter):
3068         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
3069         (WebCore::toV8Object):
3070         (WebCore::getObjectParameter):
3071         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
3072         (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
3073         (WebCore::V8WebGLRenderingContext::getParameterCallback):
3074         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
3075         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
3076         (WebCore::V8WebGLRenderingContext::getUniformCallback):
3077         * bindings/v8/custom/V8WorkerContextCustom.cpp:
3078         (WebCore::toV8):
3079         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3080         (WebCore::V8XMLHttpRequest::responseAccessorGetter):
3081         * dom/make_names.pl:
3082         (printWrapperFunctions):
3083         (printWrapperFactoryCppFile):
3084         (printWrapperFactoryHeaderFile):
3085
3086 2012-09-06  Lauro Neto  <lauro.neto@openbossa.org>
3087
3088         [Qt] Deprecate String += operator
3089         https://bugs.webkit.org/show_bug.cgi?id=95895
3090
3091         Reviewed by Benjamin Poulain.
3092
3093         Replaced String +=() with append.
3094
3095         * platform/qt/RenderThemeQt.cpp:
3096         (WebCore::RenderThemeQt::extraMediaControlsStyleSheet):
3097
3098 2012-09-06  Michael Saboff  <msaboff@apple.com>
3099
3100         Add 8 bit string data path to TextRun
3101         https://bugs.webkit.org/show_bug.cgi?id=95812
3102
3103         Reviewed by Dan Bernstein.
3104
3105         Added 8 bit string path to TextRun.  Refactored TextRun::data() and ::characters into
3106         8 and 16 bit versions.  Made corresponding changes to users of TextRun.
3107         For efl, gtk, qt and win platform specific code using TextRun, only the methods have
3108         been renamed and the creation of 8 bit TextRuns has been disabled via compilation
3109         flags.  Someone knowledgeable in those platforms will need to make corresponding changes
3110         to enable 8 bit processing of TextRuns.
3111
3112         No changes to functionality - behavior covered by existing tests.
3113
3114         * platform/graphics/Font.cpp:
3115         (WebCore::normalizeSpacesInternal):
3116         (WebCore::Font::normalizeSpaces):
3117         (WebCore::Font:normalizeSpaces):
3118         (WebCore::Font::codePath):
3119         (WebCore::Font::expansionOpportunityCount):
3120         * platform/graphics/Font.h:
3121         (WebCore::Font::characterRangeCodePath):
3122         (WebCore::Font::normalizeSpaces):
3123         * platform/graphics/GraphicsContext.cpp:
3124         (WebCore::GraphicsContext::drawBidiText):
3125         * platform/graphics/TextRun.cpp:
3126         (ExpectedTextRunSize):
3127         * platform/graphics/TextRun.h:
3128         (WebCore::TextRun::TextRun):
3129         (WebCore::TextRun::subRun):
3130         (WebCore::TextRun::operator[]):
3131         (WebCore::TextRun::data8):
3132         (WebCore::TextRun::data16):
3133         (WebCore::TextRun::characters8):
3134         (WebCore::TextRun::characters16):
3135         (WebCore::TextRun::is8Bit):
3136         (WebCore::TextRun::setText):
3137         (WebCore::TextRun::setCharactersLength):
3138         * platform/graphics/WidthIterator.cpp:
3139         (WebCore::WidthIterator::WidthIterator):
3140         (WebCore::WidthIterator::advance):
3141         * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp:
3142         (WebCore::HarfBuzzShaperBase::setNormalizedBuffer):
3143         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
3144         (WebCore::HarfBuzzShaper::HarfBuzzShaper):
3145         * platform/graphics/mac/ComplexTextController.cpp:
3146         (WebCore::ComplexTextController::ComplexTextController):
3147         (WebCore::ComplexTextController::collectComplexTextRuns):
3148         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
3149         * platform/graphics/pango/FontPango.cpp:
3150         (WebCore::Font::drawComplexText):
3151         (WebCore::Font::floatWidthForComplexText):
3152         (WebCore::Font::offsetForPositionForComplexText):
3153         (WebCore::Font::selectionRectForComplexText):
3154         * platform/graphics/qt/FontQt.cpp:
3155         (WebCore::Font::drawComplexText):
3156         (WebCore::Font::floatWidthForComplexText):
3157         (WebCore::Font::offsetForPositionForComplexText):
3158         (WebCore::Font::selectionRectForComplexText):
3159         * platform/graphics/win/UniscribeController.cpp:
3160         (WebCore::UniscribeController::advance):
3161         (WebCore::UniscribeController::shapeAndPlaceItem):
3162         * rendering/RenderText.cpp:
3163         (WebCore::RenderText::computeCanUseSimpleFontCodePath):
3164         * rendering/svg/SVGTextMetrics.cpp:
3165         (WebCore::SVGTextMetrics::SVGTextMetrics):
3166         * rendering/svg/SVGTextMetricsBuilder.cpp:
3167         (WebCore::SVGTextMetricsBuilder::SVGTextMetricsBuilder):
3168         (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
3169         * svg/SVGFontData.cpp:
3170         (WebCore::SVGFontData::applySVGGlyphSelection):
3171
3172 2012-09-06  James Robinson  <jamesr@chromium.org>
3173
3174         [chromium] Don't link cc in to WebKit.dll when use_libcc_for_compositor=1
3175         https://bugs.webkit.org/show_bug.cgi?id=96024
3176
3177         Reviewed by Adam Barth.
3178
3179         When use_libcc_for_compositor=1, the implementation of the compositor guts are provided through PlatformSupport.
3180         We don't need to link anything in to WebKit.dll.
3181
3182         * WebCore.gyp/WebCore.gyp:
3183
3184 2012-09-06  Simon Fraser  <simon.fraser@apple.com>
3185
3186         Parcel up logic related to sticky positioning into a Constraints class that will later be used for threaded scrolling
3187         https://bugs.webkit.org/show_bug.cgi?id=96026
3188
3189         Reviewed by James Robinson.
3190
3191         Lay some groundwork for threaded scrolling with fixed position and sticky
3192         position objects, by packaging up logic related to how to reposition
3193         fixed and sticky things on viewport changes into "constraints" classes.
3194         
3195         ScrollingConstraints contains a 'ViewportConstraints' base class
3196         that is subclassed for sticky position. These classes store
3197         data about the constraints that govern the position of an object outside
3198         of the render tree, and know how to compute a new position when the
3199         viewport changes using only data in the class.
3200         
3201         This patch changes RenderBoxModelObject to use the StickyPositionViewportConstraints
3202         class for computing stick offsets at layout time. In the future, we'll have
3203         the scrolling tree store copies of the constraint data for threaded scrolling.
3204         
3205         * CMakeLists.txt: Add ScrollingConstraints.* to the build.
3206         * GNUmakefile.list.am: Ditto
3207         * Target.pri: Ditto
3208         * WebCore.gypi: Ditto
3209         * WebCore.vcproj/WebCore.vcproj: Ditto
3210         * WebCore.xcodeproj/project.pbxproj: Ditto
3211         * page/scrolling/ScrollingConstraints.cpp: Added.
3212         (WebCore::StickyPositionViewportConstraints::computeStickyOffset):
3213         (WebCore::StickyPositionViewportConstraints::layerPositionForViewportRect):
3214         * page/scrolling/ScrollingConstraints.h: Added.
3215         (WebCore::ViewportConstraints::ViewportConstraints):
3216         (WebCore::ViewportConstraints::~ViewportConstraints):
3217         (WebCore::ViewportConstraints::anchorEdges):
3218         (WebCore::ViewportConstraints::hasAnchorEdge):
3219         (WebCore::ViewportConstraints::addAnchorEdge):
3220         (WebCore::ViewportConstraints::alignmentOffset):
3221         (WebCore::ViewportConstraints::setAlignmentOffset):
3222         (StickyPositionViewportConstraints):
3223         (WebCore::StickyPositionViewportConstraints::StickyPositionViewportConstraints):
3224         (WebCore::StickyPositionViewportConstraints::stickyOffsetAtLastLayout):
3225         (WebCore::StickyPositionViewportConstraints::setStickyOffsetAtLastLayout):
3226         (WebCore::StickyPositionViewportConstraints::layerPositionAtLastLayout):
3227         (WebCore::StickyPositionViewportConstraints::setLayerPositionAtLastLayout):
3228         (WebCore::StickyPositionViewportConstraints::leftOffset):
3229         (WebCore::StickyPositionViewportConstraints::rightOffset):
3230         (WebCore::StickyPositionViewportConstraints::topOffset):
3231         (WebCore::StickyPositionViewportConstraints::bottomOffset):
3232         (WebCore::StickyPositionViewportConstraints::setLeftOffset):
3233         (WebCore::StickyPositionViewportConstraints::setRightOffset):
3234         (WebCore::StickyPositionViewportConstraints::setTopOffset):
3235         (WebCore::StickyPositionViewportConstraints::setBottomOffset):
3236         (WebCore::StickyPositionViewportConstraints::setAbsoluteContainingBlockRect):
3237         (WebCore::StickyPositionViewportConstraints::setAbsoluteStickyBoxRect):
3238         * rendering/RenderBoxModelObject.cpp:
3239         (WebCore::RenderBoxModelObject::computeStickyPositionConstraints): Fill out
3240         data in the supplied StickyPositionViewportConstraints instance.
3241         (WebCore::RenderBoxModelObject::stickyPositionOffset): Create a
3242         StickyPositionViewportConstraints object on the stack and use it to
3243         compute the sticky offset.
3244         * rendering/RenderBoxModelObject.h:
3245         (RenderBoxModelObject):
3246
3247 2012-09-06  James Robinson  <jamesr@chromium.org>
3248
3249         [chromium] Use WebCompositorSupport functions instead of WebCompositor statics
3250         https://bugs.webkit.org/show_bug.cgi?id=96007
3251
3252         Reviewed by Adrienne Walker.
3253
3254         Calls WebCompositorSupport functions instead of WebCompositor statics.
3255
3256         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
3257         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
3258         * platform/graphics/chromium/DrawingBufferChromium.cpp:
3259         (WebCore::DrawingBuffer::DrawingBuffer):
3260
3261 2012-09-06  Alec Flett  <alecflett@chromium.org>
3262
3263         IndexedDB: make IDBKeyPath's string and array constructors explicit
3264         https://bugs.webkit.org/show_bug.cgi?id=96004
3265
3266         Reviewed by Tony Chang.
3267
3268         Making these explicit to avoid accidental implicit conversions.
3269
3270         No new tests, existing tests cover correctness.
3271
3272         * Modules/indexeddb/IDBKeyPath.h:
3273         (IDBKeyPath):
3274
3275 2012-09-06  Jeff Timanus  <twiz@chromium.org>
3276
3277         [Chromium] Remove contentsScale and related logic from GraphicsLayerChromium.
3278         https://bugs.webkit.org/show_bug.cgi?id=95094
3279
3280         Reviewed by Adrienne Walker.
3281
3282         In the short term, the page-scale logic is to be unified in the CCLayerTreeHost class.  This is a first pass to
3283         try to remove the page-scale logic from GraphicsLayerChromium.  This change should be a no-op in terms of
3284         contentsScale behaviour.
3285
3286         Testing covered by existing compositor layout and unit tests.
3287
3288         * platform/graphics/GraphicsLayer.h:
3289         (WebCore::GraphicsLayer::setAppliesPageScale):
3290         (WebCore::GraphicsLayer::appliesPageScale):
3291             These routines are now virtual, so that they can push the notification to setDisregardsContentsScale in
3292             LayerChromium.
3293         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3294         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
3295         (WebCore::GraphicsLayerChromium::setSize):
3296         (WebCore::GraphicsLayerChromium::setTransform):
3297         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
3298         (WebCore):
3299         (WebCore::GraphicsLayerChromium::setAppliesPageScale):
3300         (WebCore::GraphicsLayerChromium::appliesPageScale):
3301             Now forwards the appliesPageScaleStatus to the owned layer.
3302         * platform/graphics/chromium/GraphicsLayerChromium.h:
3303         (GraphicsLayerChromium):
3304         (WebCore::GraphicsLayerChromium::contentsLayer):
3305         * platform/graphics/chromium/LayerChromium.cpp:
3306         (WebCore::LayerChromium::LayerChromium):
3307         (WebCore::LayerChromium::setContentsScale):
3308         (WebCore):
3309         (WebCore::LayerChromium::setBoundsContainPageScale):
3310             setAppliesPageScale is renamed to setBoundsContainPageScale in LayerChromium.
3311         * platform/graphics/chromium/LayerChromium.h:
3312         (LayerChromium):
3313         (WebCore::LayerChromium::boundsContainPageScale):
3314         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3315         (WebCore):
3316         (WebCore::setScale):
3317         (WebCore::updateLayerScale):
3318         (WebCore::CCLayerTreeHost::updateLayers):
3319             The contents scale of a layer is now applied in this routine.
3320
3321 2012-09-06  James Robinson  <jamesr@chromium.org>
3322
3323         [chromium] Split platform geometry types into separate static target
3324         https://bugs.webkit.org/show_bug.cgi?id=96021
3325
3326         Reviewed by Tony Chang.
3327
3328         This moves several WebCore/platform geometry classes out of webcore_platform into a separate static library.
3329         This library is relatively standalone and useful to statically link against in other contexts.
3330
3331         * WebCore.gyp/WebCore.gyp:
3332         * WebCore.gypi:
3333
3334 2012-09-06  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3335
3336         [EFL] Fuzzy load the Edje theme for HTML forms
3337         https://bugs.webkit.org/show_bug.cgi?id=95832
3338
3339         Reviewed by Antonio Gomes.
3340
3341         Change the theme so that it is first loaded when actually used.
3342         This also fixed the case that it was impossible to change theme
3343         a second time.
3344
3345         Tested by current tests. API unit test coming in separate patch.
3346
3347         * platform/efl/RenderThemeEfl.cpp:
3348         (WebCore):
3349
3350             Add some convenience macros.
3351
3352        (WebCore::applyColorCallback):
3353
3354             Use just one callback from the edje theme, which just calls
3355             setColorFromThemeClass.
3356
3357         (WebCore::fillColorsFromEdjeClass):
3358
3359             Add convenience method for receiving colors from Edje and
3360             storing them in Color's.
3361
3362         (WebCore::RenderThemeEfl::setColorFromThemeClass):
3363
3364             Set the class Color variabled with the values from the theme
3365             color class.
3366
3367         (WebCore::RenderThemeEfl::setThemePath):
3368
3369             Don't apply the theme immediately.
3370
3371         (WebCore::RenderThemeEfl::loadTheme):
3372
3373             Load the new theme and free the current one. If it fails,
3374             it will continue using the old one, if exists.
3375
3376         (WebCore::RenderThemeEfl::adjustSizeConstraints):
3377         (WebCore::RenderThemeEfl::themePartCacheEntryReset):
3378         (WebCore::RenderThemeEfl::cacheThemePartNew):
3379         (WebCore::RenderThemeEfl::paintThemePart):
3380         (WebCore::RenderThemeEfl::applyPartDescriptionsFrom):
3381         (WebCore::RenderThemeEfl::platformActiveSelectionBackgroundColor):
3382         (WebCore::RenderThemeEfl::platformInactiveSelectionBackgroundColor):
3383         (WebCore::RenderThemeEfl::platformActiveSelectionForegroundColor):
3384         (WebCore::RenderThemeEfl::platformInactiveSelectionForegroundColor):
3385         (WebCore::RenderThemeEfl::platformFocusRingColor):
3386
3387             Ensure the theme is loaded.
3388
3389         (WebCore::RenderThemeEfl::adjustCheckboxStyle):
3390         (WebCore::RenderThemeEfl::adjustRadioStyle):
3391         (WebCore::RenderThemeEfl::emitMediaButtonSignal):
3392
3393             Ensure the theme is loaded.
3394
3395         * platform/efl/RenderThemeEfl.h:
3396         (RenderThemeEfl):
3397         (WebCore::RenderThemeEfl::loadThemeIfNeeded):
3398
3399             Remove unneeded methods and add a method for loading a theme
3400             in the case it is not loaded yet.
3401
3402 2012-09-06  Simon Fraser  <simon.fraser@apple.com>
3403
3404         Move RenderView::setFixedPositionedObjectsNeedLayout to FrameView
3405         https://bugs.webkit.org/show_bug.cgi?id=96017
3406
3407         Reviewed by James Robinson.
3408
3409         FrameView already has a HashSet of RenderObjects whose position
3410         is affected by the viewport rect; this contains fixed and sticky-postion
3411         objects. RenderView::setFixedPositionedObjectsNeedLayout() was using
3412         the RenderView's list of postioned objects, but this omitted sticky-position
3413         objects whose container was not the RenderView. So it's simpler to use
3414         FrameView's set of fixed/sticky objects.
3415         
3416         Changed the terminology from "fixed" to "viewport-constrained" for this set
3417         of objects.
3418
3419         * page/FrameView.cpp:
3420         (WebCore::FrameView::useSlowRepaints):
3421         (WebCore::FrameView::addViewportConstrainedObject):
3422         (WebCore::FrameView::removeViewportConstrainedObject):
3423         (WebCore::FrameView::scrollContentsFastPath):
3424         (WebCore::FrameView::setFixedVisibleContentRect):
3425         (WebCore::FrameView::setViewportConstrainedObjectsNeedLayout):
3426         (WebCore::FrameView::repaintFixedElementsAfterScrolling):
3427         (WebCore::FrameView::updateFixedElementsAfterScrolling):
3428         * page/FrameView.h:
3429         (WebCore::FrameView::viewportConstrainedObjects):
3430         (WebCore::FrameView::hasViewportConstrainedObjects):
3431         * page/scrolling/ScrollingCoordinator.cpp:
3432         (WebCore::ScrollingCoordinator::hasNonLayerFixedObjects):
3433         (WebCore::ScrollingCoordinator::updateShouldUpdateScrollLayerPositionOnMainThread):
3434         * rendering/RenderBoxModelObject.cpp:
3435         (WebCore::RenderBoxModelObject::willBeDestroyed):
3436         (WebCore::RenderBoxModelObject::styleDidChange):
3437         * rendering/RenderView.cpp:
3438         * rendering/RenderView.h:
3439
3440 2012-09-06  Andrei Poenaru  <poenaru@adobe.com>
3441
3442         Web Inspector: Protocol Extension: Add "regionLayoutUpdate" event
3443         https://bugs.webkit.org/show_bug.cgi?id=93443
3444
3445         Reviewed by Alexander Pavlov.
3446
3447  &nbs