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