formenctype to have empty string as default value.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-02-05   Vineet Chaudhary  <rgf748@motorola.com>
2
3         formenctype to have empty string as default value.
4         https://bugs.webkit.org/show_bug.cgi?id=108969
5
6         Reviewed by Kent Tamura.
7
8         The spec says formEnctype should only have an invalid value default, not a missing value default.
9         Spec: http://www.w3.org/html/wg/drafts/html/master/forms.html#attr-fs-formenctype
10               http://www.whatwg.org/specs/web-apps/current-work/#attr-fs-formenctype
11
12         No new tests. Covered by existing test case fast/forms/submit-form-attributes.html
13
14         * html/HTMLFormControlElement.cpp: For the missing formEnctype attr return empty string.
15         (WebCore::HTMLFormControlElement::formEnctype):
16
17 2013-02-04  Kentaro Hara  <haraken@chromium.org>
18
19         [V8] Reduce usage of deprecatedString() and deprecatedInteger()
20         https://bugs.webkit.org/show_bug.cgi?id=108909
21
22         Reviewed by Adam Barth.
23
24         By passing an Isolate parameter around, we can reduce usage of
25         deprecated methods.
26
27         No tests. No change in behavior.
28
29         * bindings/scripts/CodeGeneratorV8.pm:
30         (GenerateNormalAttrSetter):
31         (GenerateEventListenerCallback):
32         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
33         (WebCore::TestEventTargetV8Internal::addEventListenerCallback):
34         (WebCore::TestEventTargetV8Internal::removeEventListenerCallback):
35         * bindings/scripts/test/V8/V8TestObj.cpp:
36         (WebCore::TestObjV8Internal::addEventListenerCallback):
37         (WebCore::TestObjV8Internal::removeEventListenerCallback):
38         * bindings/v8/IDBBindingUtilities.cpp:
39         (WebCore::get):
40         (WebCore::set):
41         (WebCore::getNthValueOnKeyPath):
42         (WebCore::canInjectNthValueOnKeyPath):
43         (WebCore::ensureNthValueOnKeyPath):
44         (WebCore::createIDBKeyFromScriptValueAndKeyPath):
45         (WebCore::injectIDBKeyIntoScriptValue):
46         (WebCore::canInjectIDBKeyIntoScriptValue):
47         * bindings/v8/NPV8Object.cpp:
48         (WebCore::createValueListFromVariantArgs):
49         (_NPN_Invoke):
50         (_NPN_InvokeDefault):
51         (_NPN_SetProperty):
52         (_NPN_Construct):
53         * bindings/v8/ScriptController.cpp:
54         (WebCore::ScriptController::compileAndRunScript):
55         * bindings/v8/ScriptProfiler.cpp:
56         (WebCore):
57         (WebCore::ScriptProfiler::takeHeapSnapshot):
58         * bindings/v8/ScriptSourceCode.cpp:
59         (WebCore::ScriptSourceCode::compileScript):
60         * bindings/v8/ScriptSourceCode.h:
61         (ScriptSourceCode):
62         * bindings/v8/V8LazyEventListener.cpp:
63         (WebCore::V8LazyEventListener::prepareListenerObject):
64         * bindings/v8/V8NPObject.cpp:
65         (WebCore::npObjectInvokeImpl):
66         (WebCore::npObjectGetProperty):
67         * bindings/v8/V8NPUtils.cpp:
68         (WebCore::convertNPVariantToV8Object):
69         * bindings/v8/V8NPUtils.h:
70         (WebCore):
71         * bindings/v8/V8Utilities.cpp:
72         (WebCore::createHiddenDependency):
73         (WebCore::removeHiddenDependency):
74         (WebCore::transferHiddenDependency):
75         * bindings/v8/V8Utilities.h:
76         (WebCore):
77         * bindings/v8/WorkerScriptController.cpp:
78         (WebCore::WorkerScriptController::evaluate):
79         * bindings/v8/custom/V8DOMWindowCustom.cpp:
80         (WebCore::V8DOMWindow::addEventListenerCallback):
81         (WebCore::V8DOMWindow::removeEventListenerCallback):
82
83 2013-02-05  Kentaro Hara  <haraken@chromium.org>
84
85         [V8] Make an Isolate parameter mandatory in HasInstance()
86         https://bugs.webkit.org/show_bug.cgi?id=108917
87
88         Reviewed by Adam Barth.
89
90         No tests. No change in behavior.
91
92         * bindings/scripts/CodeGeneratorV8.pm:
93         (GenerateHeader):
94         (GenerateImplementation):
95         * bindings/scripts/test/V8/V8Float64Array.cpp:
96         (WebCore::V8Float64Array::HasInstance):
97         * bindings/scripts/test/V8/V8Float64Array.h:
98         (V8Float64Array):
99         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
100         (WebCore::V8TestActiveDOMObject::HasInstance):
101         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
102         (V8TestActiveDOMObject):
103         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
104         (WebCore::V8TestCustomNamedGetter::HasInstance):
105         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
106         (V8TestCustomNamedGetter):
107         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
108         (WebCore::V8TestEventConstructor::HasInstance):
109         * bindings/scripts/test/V8/V8TestEventConstructor.h:
110         (V8TestEventConstructor):
111         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
112         (WebCore::V8TestEventTarget::HasInstance):
113         * bindings/scripts/test/V8/V8TestEventTarget.h:
114         (V8TestEventTarget):
115         * bindings/scripts/test/V8/V8TestException.cpp:
116         (WebCore::V8TestException::HasInstance):
117         * bindings/scripts/test/V8/V8TestException.h:
118         (V8TestException):
119         * bindings/scripts/test/V8/V8TestInterface.cpp:
120         (WebCore::V8TestInterface::HasInstance):
121         * bindings/scripts/test/V8/V8TestInterface.h:
122         (V8TestInterface):
123         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
124         (WebCore::V8TestMediaQueryListListener::HasInstance):
125         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
126         (V8TestMediaQueryListListener):
127         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
128         (WebCore::V8TestNamedConstructor::HasInstance):
129         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
130         (V8TestNamedConstructor):
131         * bindings/scripts/test/V8/V8TestNode.cpp:
132         (WebCore::V8TestNode::HasInstance):
133         * bindings/scripts/test/V8/V8TestNode.h:
134         (V8TestNode):
135         * bindings/scripts/test/V8/V8TestObj.cpp:
136         (WebCore::V8TestObj::HasInstance):
137         * bindings/scripts/test/V8/V8TestObj.h:
138         (V8TestObj):
139         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
140         (WebCore::V8TestOverloadedConstructors::HasInstance):
141         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
142         (V8TestOverloadedConstructors):
143         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
144         (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
145         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
146         (V8TestSerializedScriptValueInterface):
147         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
148         (WebCore::toWebGLUniformLocation):
149
150 2013-02-05  Kentaro Hara  <haraken@chromium.org>
151
152         [JSC] Clean up CodeGeneratorJS.pm by introducing HasCustom{Getter,Setter,Method}
153         https://bugs.webkit.org/show_bug.cgi?id=108898
154
155         Reviewed by Sam Weinig.
156
157         No tests. No change in behavior.
158
159         * bindings/scripts/CodeGeneratorJS.pm:
160         (GenerateHeader):
161         (GenerateImplementation):
162         (HasCustomGetter):
163         (HasCustomSetter):
164         (HasCustomMethod):
165
166 2013-02-05  Dana Jansens  <danakj@chromium.org>
167
168         [chromium] Provide compositor offscreen context through the WebLayerTreeViewClient interface
169         https://bugs.webkit.org/show_bug.cgi?id=107776
170
171         Reviewed by James Robinson.
172
173         Allow the compositor thread's context to be retrieved on either thread,
174         so the main thread can create and pass the context to the impl thread
175         via its own mechanisms.
176
177         Move the code to bind the GrGLInterface to a WebGraphicsContext3D into
178         chromium's GraphicsContext3DPrivate. The chromium-side code will need
179         to implement this code itself.
180
181         * platform/chromium/support/GraphicsContext3DPrivate.cpp:
182         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
183         (WebCore):
184         (WebCore::GraphicsContext3DPrivate::grContext):
185         * platform/chromium/support/GraphicsContext3DPrivate.h:
186         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
187         (WebCore::SharedGraphicsContext3D::getForImplThread):
188
189 2013-02-05  Tony Gentilcore  <tonyg@chromium.org>
190
191         Continue making XSSAuditor thread safe: Remove dependency on the parser's tokenizer
192         https://bugs.webkit.org/show_bug.cgi?id=108666
193
194         Reviewed by Adam Barth.
195
196         This is the final dependency on the parser, so we remove that as well. Yay!
197
198         No new tests because no new functionality.
199
200         * html/parser/HTMLDocumentParser.cpp:
201         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
202         (WebCore::HTMLDocumentParser::pumpTokenizer): Pass m_tokenizer->shouldAllowCDATA()
203         * html/parser/XSSAuditor.cpp:
204         (WebCore::XSSAuditor::XSSAuditor): Remove isMainThread() check because we have one in init() anyway.
205         Move m_isEnabled and m_documentURL initialization to init() because we have a Document* there.
206         (WebCore::XSSAuditor::init):
207         (WebCore::XSSAuditor::filterToken):
208         (WebCore::XSSAuditor::filterStartToken):
209         (WebCore::XSSAuditor::filterEndToken):
210         (WebCore::XSSAuditor::filterScriptToken):
211         (WebCore::XSSAuditor::decodedSnippetForJavaScript):
212         * html/parser/XSSAuditor.h:
213         (WebCore::FilterTokenRequest::FilterTokenRequest):
214         (FilterTokenRequest):
215         (XSSAuditor):
216
217 2013-02-05  Enrica Casucci  <enrica@apple.com>
218
219         Make baseWritingDirectionForSelectionStart available to all platforms in the Editor class.
220         https://bugs.webkit.org/show_bug.cgi?id=108977.
221
222         Reviewed by Ryosuke Niwa.
223         
224         Now that baseWritingDirectionForSelectionStart doesn't use
225         platform specific type anymore, we can make it available for
226         all platforms. This way it can be used for iOS as well.
227
228         No new tests, no functionality change.
229
230         * editing/Editor.cpp:
231         (WebCore::Editor::baseWritingDirectionForSelectionStart): Added.
232         * editing/Editor.h: Moved from PLATFORM(MAC).
233         * editing/mac/EditorMac.mm: baseWritingDirectionForSelectionStart removed.
234
235 2013-02-05  Benjamin Poulain  <bpoulain@apple.com>
236
237         Avoid String->AtomicString conversion in Attr::childrenChanged()
238         https://bugs.webkit.org/show_bug.cgi?id=108742
239
240         Reviewed by Andreas Kling.
241
242         * dom/Attr.cpp:
243         (WebCore::Attr::childrenChanged): StringBuilder can output AtomicString directly.
244
245 2013-02-05  Yusuf Ozuysal  <yusufo@google.com>
246
247         [chromium] Enable shouldGesturesTriggerActive for Android
248         https://bugs.webkit.org/show_bug.cgi?id=96948
249
250         Reviewed by James Robinson.
251
252         We need this to fix performance issues we are getting because of touchstart 
253         triggering hover/active states.
254
255         No new tests. The tests introduced in https://bugs.webkit.org/show_bug.cgi?id=96060
256         should run with the corrected behavior and would cover this change as well.
257
258         * page/EventHandler.cpp:
259         (WebCore::shouldGesturesTriggerActive):
260
261 2013-02-05  Mark Lam  <mark.lam@apple.com>
262
263         Introduced back-end database classes + a few small fixes.
264         https://bugs.webkit.org/show_bug.cgi?id=108759.
265
266         Reviewed by Brady Eidson.
267
268         1. Added DatabaseBackendContext, DatabaseBackendAsync, and DatabaseBackendSync.
269            These are backends for DatabaseContext, Database, and DatabaseSync
270            respectively.
271         2. Added DatabaseBase to hold common code between Database and DatabaseSync.
272         3. Renamed a few functions.
273         4. Cleaned up unneeded code in ~DatabaseSync().
274         5. Added some FIXMEs as reminders or places to clean up when we're done
275            refactoring.
276         6. Moved the calling of ScriptController::initializeThreading() from the Database
277            constructor to DatabaseManager::openDatabase(). This just moves the call
278            earlier in the same code path. System initialization work (i.e. initializing
279            script threading in this case) should be done by the manager instead of by
280            each Database instance.
281
282         No new tests.
283
284         * CMakeLists.txt:
285         * GNUmakefile.list.am:
286         * Modules/webdatabase/AbstractDatabaseServer.h:
287         (AbstractDatabaseServer):
288         * Modules/webdatabase/Database.cpp:
289         (WebCore::Database::Database):
290         (WebCore::Database::backend):
291         * Modules/webdatabase/Database.h:
292         (Database):
293         * Modules/webdatabase/DatabaseBackend.cpp:
294         (WebCore::DatabaseBackend::DatabaseBackend):
295         (WebCore::DatabaseBackend::~DatabaseBackend):
296         (WebCore::DatabaseBackend::incrementalVacuumIfNeeded):
297         * Modules/webdatabase/DatabaseBackend.h:
298         (DatabaseBackend):
299         (WebCore::DatabaseBackend::databaseContext):
300         (WebCore::DatabaseBackend::setFrontend):
301         * Modules/webdatabase/DatabaseBackendAsync.cpp: Added.
302         (WebCore::DatabaseBackendAsync::DatabaseBackendAsync):
303         * Modules/webdatabase/DatabaseBackendAsync.h: Added.
304         (DatabaseBackendAsync):
305         * Modules/webdatabase/DatabaseBackendContext.cpp: Added.
306         (WebCore::DatabaseBackendContext::securityOrigin):
307         (WebCore::DatabaseBackendContext::isContextThread):
308         * Modules/webdatabase/DatabaseBackendContext.h: Added.
309         (DatabaseBackendContext):
310         (WebCore::DatabaseBackendContext::scriptExecutionContext):
311         * Modules/webdatabase/DatabaseBackendSync.cpp: Added.
312         (WebCore::DatabaseBackendSync::DatabaseBackendSync):
313         (WebCore::DatabaseBackendSync::~DatabaseBackendSync):
314         * Modules/webdatabase/DatabaseBackendSync.h: Added.
315         (DatabaseBackendSync):
316         * Modules/webdatabase/DatabaseBase.cpp: Added.
317         (WebCore::DatabaseBase::DatabaseBase):
318         (WebCore::DatabaseBase::scriptExecutionContext):
319         (WebCore::DatabaseBase::logErrorMessage):
320         * Modules/webdatabase/DatabaseBase.h: Added.
321         (DatabaseBase):
322         * Modules/webdatabase/DatabaseContext.cpp:
323         (WebCore::DatabaseContext::DatabaseContext):
324         (WebCore::DatabaseContext::backend):
325         * Modules/webdatabase/DatabaseContext.h:
326         (DatabaseContext):
327         * Modules/webdatabase/DatabaseManager.cpp:
328         (WebCore::DatabaseManager::openDatabase):
329         (WebCore::DatabaseManager::openDatabaseSync):
330         (WebCore::DatabaseManager::hasOpenDatabases):
331         (WebCore::DatabaseManager::interruptAllDatabasesForContext):
332         (WebCore::DatabaseManager::getMaxSizeForDatabase):
333         (WebCore::DatabaseManager::logErrorMessage):
334         * Modules/webdatabase/DatabaseManager.h:
335         (DatabaseManager):
336         * Modules/webdatabase/DatabaseServer.cpp:
337         (WebCore::DatabaseServer::interruptAllDatabasesForContext):
338         (WebCore::DatabaseServer::canEstablishDatabase):
339         * Modules/webdatabase/DatabaseServer.h:
340         * Modules/webdatabase/DatabaseSync.cpp:
341         (WebCore::DatabaseSync::DatabaseSync):
342         (WebCore::DatabaseSync::~DatabaseSync):
343         (WebCore::DatabaseSync::backend):
344         * Modules/webdatabase/DatabaseSync.h:
345         (DatabaseSync):
346         * Modules/webdatabase/DatabaseTracker.cpp:
347         (WebCore::DatabaseTracker::openTrackerDatabase):
348         (WebCore::DatabaseTracker::canEstablishDatabase):
349         (WebCore::DatabaseTracker::hasEntryForDatabase):
350         (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
351         (WebCore::DatabaseTracker::populateOriginsIfNeeded):
352         (WebCore::DatabaseTracker::databaseNamesForOriginNoLock):
353         (WebCore::DatabaseTracker::detailsForNameAndOrigin):
354         (WebCore::DatabaseTracker::setDatabaseDetails):
355         (WebCore::DatabaseTracker::usageForOriginNoLock):
356         (WebCore::DatabaseTracker::setQuota):
357         (WebCore::DatabaseTracker::addDatabase):
358         (WebCore::DatabaseTracker::deleteOrigin):
359         (WebCore::DatabaseTracker::isDeletingDatabaseOrOriginFor):
360         (WebCore::DatabaseTracker::canDeleteDatabase):
361         (WebCore::DatabaseTracker::isDeletingDatabase):
362         (WebCore::DatabaseTracker::canDeleteOrigin):
363         (WebCore::DatabaseTracker::isDeletingOrigin):
364         (WebCore::DatabaseTracker::recordDeletingOrigin):
365         (WebCore::DatabaseTracker::doneDeletingOrigin):
366         (WebCore::DatabaseTracker::deleteDatabase):
367         (WebCore::DatabaseTracker::deleteDatabaseFile):
368         * Modules/webdatabase/DatabaseTracker.h:
369         (DatabaseTracker):
370         * Modules/webdatabase/SQLTransaction.cpp:
371         * Modules/webdatabase/SQLTransactionClient.cpp:
372         (WebCore::SQLTransactionClient::didExceedQuota):
373         * Modules/webdatabase/SQLTransactionSync.cpp:
374         * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp:
375         (WebCore::DatabaseTracker::canEstablishDatabase):
376         (WebCore::DatabaseTracker::removeOpenDatabase):
377         (WebCore::DatabaseTracker::prepareToOpenDatabase):
378         (WebCore::DatabaseTracker::failedToOpenDatabase):
379         (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
380         (WebCore::DatabaseTracker::closeDatabasesImmediately):
381         * Modules/webdatabase/chromium/SQLTransactionClientChromium.cpp:
382         (WebCore::SQLTransactionClient::didCommitWriteTransaction):
383         (WebCore::SQLTransactionClient::didExceedQuota):
384         * Target.pri:
385         * WebCore.gypi:
386         * WebCore.vcproj/WebCore.vcproj:
387         * WebCore.vcxproj/WebCore.vcxproj:
388         * WebCore.vcxproj/WebCore.vcxproj.filters:
389         * WebCore.xcodeproj/project.pbxproj:
390
391 2013-02-05  Nayan Kumar K  <nayankk@motorola.com>
392
393         [WEBGL] Rename WEBKIT_WEBGL_depth_texture to WEBGL_depth_texture.
394         https://bugs.webkit.org/show_bug.cgi?id=108959
395
396         Reviewed by Kenneth Russell.
397
398         WEBGL_depth_texture is official now. Hence remove the vendor prefix from
399         WEBKIT_WEBGL_depth_texture and rename this extension string to WEBGL_depth_texture.
400         Specification: http://www.khronos.org/registry/webgl/extensions/WEBGL_depth_texture/.
401
402         Tests already exists, modified them to test querying of unprefixed extension string.
403
404         * bindings/js/JSWebGLRenderingContextCustom.cpp:
405         (WebCore::toJS):
406         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
407         (WebCore::toV8Object):
408         * html/canvas/WebGLDepthTexture.cpp:
409         (WebCore::WebGLDepthTexture::getName):
410         * html/canvas/WebGLExtension.h:
411         * html/canvas/WebGLRenderingContext.cpp:
412         (WebCore):
413         (WebCore::WebGLRenderingContext::getExtension):
414
415 2013-02-05  Sheriff Bot  <webkit.review.bot@gmail.com>
416
417         Unreviewed, rolling out r141905.
418         http://trac.webkit.org/changeset/141905
419         https://bugs.webkit.org/show_bug.cgi?id=108963
420
421         "Broke mac build" (Requested by tonyg-cr on #webkit).
422
423         * html/parser/BackgroundHTMLParser.cpp:
424         (WebCore::BackgroundHTMLParser::pumpTokenizer):
425         * html/parser/CompactHTMLToken.cpp:
426         (SameSizeAsCompactHTMLToken):
427         (WebCore::isStringSafeToSendToAnotherThread):
428         (WebCore::CompactHTMLToken::isSafeToSendToAnotherThread):
429         * html/parser/CompactHTMLToken.h:
430         (WebCore):
431         (CompactHTMLToken):
432         * html/parser/HTMLDocumentParser.cpp:
433         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
434         (WebCore::HTMLDocumentParser::pumpTokenizer):
435         * html/parser/XSSAuditor.cpp:
436         (WebCore::XSSAuditor::filterToken):
437         * html/parser/XSSAuditor.h:
438         (WebCore):
439         (XSSAuditor):
440         * html/parser/XSSAuditorDelegate.cpp:
441         (WebCore::XSSAuditorDelegate::didBlockScript):
442         * html/parser/XSSAuditorDelegate.h:
443         (WebCore::DidBlockScriptRequest::create):
444         (WebCore::DidBlockScriptRequest::DidBlockScriptRequest):
445         (XSSAuditorDelegate):
446         * platform/KURL.cpp:
447         * platform/KURL.h:
448         (KURL):
449         * platform/KURLGoogle.cpp:
450         (WebCore::KURLGooglePrivate::reportMemoryUsage):
451         * platform/KURLGooglePrivate.h:
452         (KURLGooglePrivate):
453         * platform/KURLWTFURLImpl.h:
454         (WebCore::KURLWTFURLImpl::reportMemoryUsage):
455
456 2013-02-05  Dominik Röttsches  <dominik.rottsches@intel.com>
457
458         [HarfBuzz][Cairo] harfBuzzGetGlyph is slow and hot
459         https://bugs.webkit.org/show_bug.cgi?id=108941
460
461         Reviewed by Kenneth Rohde Christiansen.
462
463         The text to glyph conversion using Cairo is slow
464         due to expensive text codec conversion to UTF-8.
465         Additionally, the glyph lookup itself is expensive.
466
467         Inspired by the approach taken in HarfBuzzFaceSkia.cpp
468         I suggest to implement a similar caching mechanism to
469         accelerate this conversion.
470
471         Arabic line breaking test, under review in
472         bug 108948 shows about 58% improvement on my system
473         with this patch.
474
475         * platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp:
476         (WebCore::HarfBuzzFontData::HarfBuzzFontData):
477             New container structure that keeps pointers
478             to the cairo scaled font as well as the glyph cache.
479         (HarfBuzzFontData):
480         (WebCore):
481         (WebCore::harfBuzzGetGlyph): Using the new container structure for accessing the cache.
482         (WebCore::harfBuzzGetGlyphHorizontalAdvance): Using the new container structure for accessing the scaled font.
483         (WebCore::harfBuzzGetGlyphExtents): Ditto.
484         (WebCore::destroyHarfBuzzFontData): Destroying the container that held the pointers.
485         (WebCore::HarfBuzzFace::createFont):
486             Initializing the container structure with the pointers
487             to the cache that is held in HarfBuzzFace and the cairo scaled font.
488
489 2013-02-05  Tony Gentilcore  <tonyg@chromium.org>
490
491         Call XSSAuditor's didBlockScript() for the threaded HTML parser
492         https://bugs.webkit.org/show_bug.cgi?id=108726
493
494         Reviewed by Adam Barth.
495
496         This patch causes us to call didBlockScript() on the main thread if the CompactHTML token has XSSInfo.
497         To do so, we:
498         1. Rename DidBlockScriptRequest to XSSInfo.
499         2. Add an OwnPtr<XSSInfo> field to CompactHTMLToken.
500         3. Add an isSafeToSendToAnotherThread() method to String and KURL.
501
502         We don't yet populate didBlockScriptRequest on the background thread, but this should just work once we do.
503
504         No new tests because no new functionality.
505
506         * html/parser/BackgroundHTMLParser.cpp:
507         (WebCore::BackgroundHTMLParser::pumpTokenizer): Update comment for rename.
508         * html/parser/CompactHTMLToken.cpp:
509         (SameSizeAsCompactHTMLToken):
510         (WebCore::CompactHTMLToken::CompactHTMLToken): Add a copy constructor used by Vector.
511         (WebCore::CompactHTMLToken::isSafeToSendToAnotherThread): Include new m_xssInfo field in safety check.
512         (WebCore):
513         (WebCore::CompactHTMLToken::xssInfo): Added.
514         (WebCore::CompactHTMLToken::setXSSInfo): Added.
515         * html/parser/CompactHTMLToken.h: Add an OwnPtr<XSSInfo> field to CompactHTMLToken.
516         (WebCore):
517         (CompactHTMLToken):
518         (WTF): Add VectorTraits necessary for copying Vector fields objects that contain an OwnPtr.
519         * html/parser/HTMLDocumentParser.cpp:
520         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser): Add new didBlockScript() call.
521         (WebCore::HTMLDocumentParser::pumpTokenizer):
522         * html/parser/XSSAuditor.cpp: Renaming.
523         (WebCore::XSSAuditor::filterToken):
524         * html/parser/XSSAuditor.h: Renaming.
525         (WebCore):
526         (XSSAuditor):
527         * html/parser/XSSAuditorDelegate.cpp:
528         (WebCore::XSSInfo::isSafeToSendToAnotherThread):
529         (WebCore):
530         (WebCore::XSSAuditorDelegate::didBlockScript):
531         * html/parser/XSSAuditorDelegate.h:
532         (WebCore::XSSInfo::create):
533         (XSSInfo):
534         (WebCore::XSSInfo::XSSInfo):
535         (XSSAuditorDelegate):
536         * platform/KURL.cpp:
537         (WebCore::KURL::isSafeToSendToAnotherThread): Added.
538         (WebCore):
539         * platform/KURL.h:
540         (KURL):
541         * platform/KURLGoogle.cpp:
542         (WebCore):
543         (WebCore::KURLGooglePrivate::isSafeToSendToAnotherThread): Added.
544         * platform/KURLGooglePrivate.h:
545         (KURLGooglePrivate):
546         * platform/KURLWTFURLImpl.h:
547         (WebCore::KURLWTFURLImpl::isSafeToSendToAnotherThread): Added.
548
549 2013-02-05  Anton Vayvod  <avayvod@chromium.org>
550
551         TextAutosizing: adjust the maximum difference between cluster text width and its descendant
552         width.
553         https://bugs.webkit.org/show_bug.cgi?id=108411
554
555         Currently, if a render object is more than 200 CSS units shorter than its parent cluster, it
556         becomes a separate autosizing cluster (see https://bugs.webkit.org/show_bug.cgi?id=105188).
557         This doesn't work well for layouts when narrow nodes are related, like nested comments:
558         deeper comments are all shorter than the parent cluster and become autosized differently. To
559         avoid that the difference that makes a shorter descendant a new autosizing cluster is
560         adjusted each time the width difference is not greater than 50 CSS units from the previous
561         one. This allows nested comments, for example, to remain a part of the parent cluster and be
562         autosized with the same multiplier.
563         
564         Reviewed by Kenneth Rohde Christiansen.
565
566         Tests:
567                 fast/text-autosizing/nested-child.html
568
569         * rendering/TextAutosizer.cpp:
570         (WebCore::TextAutosizingClusterInfo::TextAutosizingClusterInfo):
571
572             Added a new field to store the current maximum width difference for the cluster.
573
574         (WebCore::TextAutosizer::isAutosizingCluster):
575
576             Uses the new field to determine if the current node is a separate cluster,
577             updates the maximum allowed width difference between the cluster and its descendant.
578
579         (WebCore::TextAutosizer::processContainer):
580         (WebCore::TextAutosizer::clusterShouldBeAutosized):
581         (WebCore::TextAutosizer::measureDescendantTextWidth):
582
583             Non-const reference passed to the methods above.
584
585         * rendering/TextAutosizer.h: updated method parameters.
586
587 2013-02-05  Tony Gentilcore  <tonyg@chromium.org>
588
589         Continue making XSSAuditor thread safe: Remove dependency on parser's sourceForToken and TextResourceDecoder
590         https://bugs.webkit.org/show_bug.cgi?id=108698
591
592         Reviewed by Adam Barth.
593
594         We'd like to be able to call filterToken() from the BackgroundHTMLParser where there is no HTMLDocumentParser. So we are removing the dependencies of
595         filterToken() on the HTMLDocumentParser. This patch brings us one step closer to removing the m_parser member from XSSAuditor by passing in the
596         TextResourceDecoder and HTMLSourceTracker to filterToken. To keep the number of parameters from blowing up, this introduces a FilterTokenRequest struct
597         to hold its arguments. We expect to add one more member to this struct.
598
599
600         No new tests because no new functionality.
601
602         * html/parser/HTMLDocumentParser.cpp:
603         (WebCore::HTMLDocumentParser::pumpTokenizer):
604         * html/parser/HTMLDocumentParser.h:
605         * html/parser/XSSAuditor.cpp:
606         (WebCore::XSSAuditor::filterToken):
607         (WebCore::XSSAuditor::filterStartToken):
608         (WebCore::XSSAuditor::filterCharacterToken):
609         (WebCore::XSSAuditor::filterScriptToken):
610         (WebCore::XSSAuditor::filterObjectToken):
611         (WebCore::XSSAuditor::filterParamToken):
612         (WebCore::XSSAuditor::filterEmbedToken):
613         (WebCore::XSSAuditor::filterAppletToken):
614         (WebCore::XSSAuditor::filterIframeToken):
615         (WebCore::XSSAuditor::filterMetaToken):
616         (WebCore::XSSAuditor::filterBaseToken):
617         (WebCore::XSSAuditor::filterFormToken):
618         (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
619         (WebCore::XSSAuditor::eraseAttributeIfInjected):
620         (WebCore::XSSAuditor::decodedSnippetForName):
621         (WebCore::XSSAuditor::decodedSnippetForAttribute):
622         (WebCore::XSSAuditor::decodedSnippetForJavaScript):
623         * html/parser/XSSAuditor.h:
624         (WebCore):
625         (WebCore::FilterTokenRequest::FilterTokenRequest):
626         (FilterTokenRequest):
627         (XSSAuditor):
628
629 2013-02-05  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
630
631         [Qt] REGRESSION(r137436): It made all inspector tests timeout on developer builds
632         https://bugs.webkit.org/show_bug.cgi?id=106554
633
634         Reviewed by Simon Hausmann.
635
636         * Target.pri:
637
638 2013-02-05  Peter Rybin  <prybin@chromium.org>
639
640         Web Inspector: prevent crash, add required error string value
641         https://bugs.webkit.org/show_bug.cgi?id=108776
642
643         Reviewed by Pavel Feldman.
644
645         Error string is assigned where missing, assert is added where empty string is
646         possible.
647
648         * inspector/InjectedScriptBase.cpp:
649         (WebCore::InjectedScriptBase::makeEvalCall):
650         * inspector/PageRuntimeAgent.cpp:
651         (WebCore::PageRuntimeAgent::injectedScriptForEval):
652
653 2013-02-05  Eugene Klyuchnikov  <eustas@chromium.org>
654
655         Web Inspector: Clicking a profile's title in the console loads about:blank.
656         https://bugs.webkit.org/show_bug.cgi?id=107949
657
658         Reviewed by Vsevolod Vlasov.
659
660         Quick fix for regression.
661
662         * inspector/front-end/inspector.js:
663         Avoid "exit route" when URL is a profile URL.
664
665 2013-02-05  Kent Tamura  <tkent@chromium.org>
666
667         INPUT_MULTIPLE_FIELDS_UI: element.focus() should not focus on disabled sub-fields.
668         https://bugs.webkit.org/show_bug.cgi?id=108924
669
670         Reviewed by Kentaro Hara.
671
672         The first field may be non-focusable. We should search sub-fields for
673         focusable one.
674
675         Test: fast/forms/date-multiple-fields/date-multiple-fields-focus.html
676
677         * html/shadow/DateTimeEditElement.cpp:
678         (WebCore::DateTimeEditElement::focusOnNextFocusableField):
679         Added. A private helper function.
680         (WebCore::DateTimeEditElement::focusIfNoFocus): Use focusOnNextFocusableField.
681         (WebCore::DateTimeEditElement::focusByOwner): Ditto.
682         (WebCore::DateTimeEditElement::focusOnNextField): Ditto.
683         * html/shadow/DateTimeEditElement.h:
684         (DateTimeEditElement): Declare focusOnNextFocusableField.
685
686 2013-02-04  Vsevolod Vlasov  <vsevik@chromium.org>
687
688         Web Inspector: Create separate project for each file system added to inspector.
689         https://bugs.webkit.org/show_bug.cgi?id=108652
690
691         Reviewed by Pavel Feldman.
692
693         Every file system added to web inspector is now represented by its own project in workspace.
694         FileSystemMapping changed accrodingly.
695
696         Test: inspector/file-system-mapping.html
697
698         * inspector/front-end/FileMapping.js:
699         (WebInspector.FileMapping.prototype._entryURIPrefix):
700         * inspector/front-end/FileSystemMapping.js:
701         (WebInspector.FileSystemMapping.prototype.fileForURI):
702         (WebInspector.FileSystemMapping.prototype.uriForFile):
703         (WebInspector.FileSystemMapping.prototype.uriPrefixForPathPrefix):
704         (WebInspector.FileSystemMappingImpl):
705         (WebInspector.FileSystemMappingImpl.prototype._loadFromSettings.get this):
706         (WebInspector.FileSystemMappingImpl.prototype._loadFromSettings):
707         (WebInspector.FileSystemMappingImpl.prototype._saveToSettings):
708         (WebInspector.FileSystemMappingImpl.prototype.set _fileSystemName):
709         (WebInspector.FileSystemMappingImpl.prototype.fileSystemId):
710         (WebInspector.FileSystemMappingImpl.prototype.addFileSystemMapping):
711         (WebInspector.FileSystemMappingImpl.prototype.removeFileSystemMapping):
712         (WebInspector.FileSystemMappingImpl.prototype.fileSystemPaths):
713         (WebInspector.FileSystemMappingImpl.prototype.fileForURI):
714         (WebInspector.FileSystemMappingImpl.prototype.uriForFile):
715         (WebInspector.FileSystemMappingImpl.prototype.uriPrefixForPathPrefix):
716         * inspector/front-end/FileSystemWorkspaceProvider.js:
717         (WebInspector.FileSystemWorkspaceProvider):
718         (WebInspector.FileSystemWorkspaceProvider.prototype.innerCallback):
719         (WebInspector.FileSystemWorkspaceProvider.prototype.requestFileContent):
720         (WebInspector.FileSystemWorkspaceProvider.prototype.setFileContent):
721         (WebInspector.FileSystemWorkspaceProvider.prototype._populate.filesLoaded):
722         (WebInspector.FileSystemWorkspaceProvider.prototype._populate):
723         (WebInspector.FileSystemWorkspaceProvider.prototype._addFile):
724         (WebInspector.FileSystemWorkspaceProvider.prototype._removeFile):
725         (WebInspector.FileSystemWorkspaceProvider.prototype.reset):
726         * inspector/front-end/IsolatedFileSystemModel.js:
727         (WebInspector.IsolatedFileSystemModel):
728         (WebInspector.IsolatedFileSystemModel.prototype._innerAddFileSystem):
729         (WebInspector.IsolatedFileSystemModel.prototype._fileSystemRemoved):
730         * inspector/front-end/Workspace.js:
731         (WebInspector.Project.prototype.searchInFileContent):
732         (WebInspector.Project.prototype.dispose):
733         (WebInspector.Workspace.prototype.removeProject):
734
735 2013-02-05  Kent Tamura  <tkent@chromium.org>
736
737         INPUT_MULTIPLE_FIELDS_UI: Should not move focus if the element already has focus
738         https://bugs.webkit.org/show_bug.cgi?id=108914
739
740         Reviewed by Kentaro Hara.
741
742         If timeInput.focus() is called when a sub-field of the time input
743         already has focus, we should not focus on the first sub-field of the
744         time input.
745
746         Test: fast/forms/time-multiple-fields/time-multiple-fields-focus.html
747
748         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
749         (WebCore::BaseMultipleFieldsDateAndTimeInputType::willCancelFocus): If
750         the input elment already has focused sub-field, we don't need to proceed
751         focus handling. FocusDirection check is required because we don't need
752         to do this in cases of sequential focus navigation.
753         * html/BaseMultipleFieldsDateAndTimeInputType.h:
754         (BaseMultipleFieldsDateAndTimeInputType): Override InputType::willCancelFocus.
755
756         * html/HTMLInputElement.cpp:
757         (WebCore::HTMLInputElement::focus):
758         Cancel focus if InputType::willCancelFocus returns true.
759         * html/HTMLInputElement.h:
760         (HTMLInputElement): Override focus.
761         * html/InputType.cpp:
762         (WebCore::InputType::willCancelFocus):
763         Add a default implementation. It returns false.
764         * html/InputType.h:
765         (InputType): Declare willCancelFocus.
766
767 2013-02-05  Allan Sandfeld Jensen  <allan.jensen@digia.com>
768
769         [Qt] RGB -> BGR is wrong on big endian
770         https://bugs.webkit.org/show_bug.cgi?id=107560
771
772         Reviewed by Jocelyn Turcotte.
773
774         Replace the conversion to methods that make it clearer what is going on.
775         The routines are also optimized compared to the existing by avoiding going
776         over slow Color constructor.
777
778         Tested by existing tests in canvas and fast/canvas.
779
780         * platform/graphics/Color.cpp:
781         (WebCore::colorFromPremultipliedARGB):
782             Cleanup.
783         (WebCore::premultipliedARGBFromColor):
784             Cleanup and correct for alpha = 0.
785         * platform/graphics/Color.h:
786         (WebCore):
787         * platform/graphics/qt/ImageBufferQt.cpp:
788         (WebCore::copyColorToRGBA):
789         (WebCore::copyRGBAToColor):
790         (WebCore::getImageData):
791         (WebCore::ImageBuffer::putByteArray):
792
793 2013-02-05  JungJik Lee  <jungjik.lee@samsung.com>
794
795         [TexMap] Use visible as initial value of backface-visibility-property.
796         https://bugs.webkit.org/show_bug.cgi?id=108875
797
798         Reviewed by Noam Rosenthal.
799
800         According to W3C spec, the initial value of backface-visibility-visibility is visible.
801         However TextureMapperLayer's initial value is false which means hidden.
802         So this patch is for changing the value to visible(true).
803
804         Covered by existing tests.
805
806         * platform/graphics/texmap/TextureMapperLayer.h:
807         (WebCore::TextureMapperLayer::State::State): Change the initial value false to true
808         to use backface-visibility.
809
810 2013-02-05  Andrey Adaikin  <aandrey@chromium.org>
811
812         Web Inspector: [Canvas] do not store a dropped trace log in backend
813         https://bugs.webkit.org/show_bug.cgi?id=108600
814
815         Reviewed by Pavel Feldman.
816
817         Clear memory immediately on dropping current trace log instead of waiting for the next capture command.
818
819         * inspector/InjectedScriptCanvasModuleSource.js:
820         (.):
821
822 2013-02-05  Andrey Adaikin  <aandrey@chromium.org>
823
824         Web Inspector: [Canvas] UI is not restored properly when deleting a live recording profile
825         https://bugs.webkit.org/show_bug.cgi?id=108602
826
827         Reviewed by Pavel Feldman.
828
829         Cancel recording profile of canvas-type when deleting an alive trace log.
830         Drive-by: rename ProfileHeader.reset to ProfileHeader.dispose since it's called on header's destruction.
831
832         * inspector/front-end/CanvasProfileView.js:
833         (WebInspector.CanvasProfileHeader.prototype.dispose):
834         * inspector/front-end/ProfilesPanel.js:
835         (WebInspector.ProfileHeader.prototype.dispose):
836         (WebInspector.ProfilesPanel.prototype._reset):
837         (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
838         (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
839
840 2013-02-05  Julien Brianceau  <jbrianceau@nds.com>
841
842         Build is broken since r141543 for platforms without OpenGL
843         https://bugs.webkit.org/show_bug.cgi?id=108862
844
845         Reviewed by Simon Hausmann.
846
847         * Target.pri:
848
849 2013-02-05  Kentaro Hara  <haraken@chromium.org>
850
851         Unreviewed, rolling out r141865.
852         http://trac.webkit.org/changeset/141865
853         https://bugs.webkit.org/show_bug.cgi?id=108909
854
855         webkit unit tests are broken
856
857         * bindings/scripts/CodeGeneratorV8.pm:
858         (GenerateNormalAttrSetter):
859         (GenerateEventListenerCallback):
860         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
861         (WebCore::TestEventTargetV8Internal::addEventListenerCallback):
862         (WebCore::TestEventTargetV8Internal::removeEventListenerCallback):
863         * bindings/scripts/test/V8/V8TestObj.cpp:
864         (WebCore::TestObjV8Internal::addEventListenerCallback):
865         (WebCore::TestObjV8Internal::removeEventListenerCallback):
866         * bindings/v8/IDBBindingUtilities.cpp:
867         (WebCore::get):
868         (WebCore::set):
869         (WebCore::getNthValueOnKeyPath):
870         (WebCore::canInjectNthValueOnKeyPath):
871         (WebCore::ensureNthValueOnKeyPath):
872         (WebCore::createIDBKeyFromScriptValueAndKeyPath):
873         (WebCore::injectIDBKeyIntoScriptValue):
874         (WebCore::canInjectIDBKeyIntoScriptValue):
875         * bindings/v8/NPV8Object.cpp:
876         (WebCore::createValueListFromVariantArgs):
877         (_NPN_Invoke):
878         (_NPN_InvokeDefault):
879         (_NPN_SetProperty):
880         (_NPN_Construct):
881         * bindings/v8/ScriptController.cpp:
882         (WebCore::ScriptController::compileAndRunScript):
883         * bindings/v8/ScriptProfiler.cpp:
884         (WebCore::ScriptProfiler::takeHeapSnapshot):
885         * bindings/v8/ScriptSourceCode.cpp:
886         (WebCore::ScriptSourceCode::compileScript):
887         * bindings/v8/ScriptSourceCode.h:
888         (ScriptSourceCode):
889         * bindings/v8/V8LazyEventListener.cpp:
890         (WebCore::V8LazyEventListener::prepareListenerObject):
891         * bindings/v8/V8NPObject.cpp:
892         (WebCore::npObjectInvokeImpl):
893         (WebCore::npObjectGetProperty):
894         * bindings/v8/V8NPUtils.cpp:
895         (WebCore::convertNPVariantToV8Object):
896         * bindings/v8/V8NPUtils.h:
897         (WebCore):
898         * bindings/v8/V8Utilities.cpp:
899         (WebCore::createHiddenDependency):
900         (WebCore::removeHiddenDependency):
901         (WebCore::transferHiddenDependency):
902         * bindings/v8/V8Utilities.h:
903         (WebCore):
904         * bindings/v8/WorkerScriptController.cpp:
905         (WebCore::WorkerScriptController::evaluate):
906         * bindings/v8/custom/V8DOMWindowCustom.cpp:
907         (WebCore::V8DOMWindow::addEventListenerCallback):
908         (WebCore::V8DOMWindow::removeEventListenerCallback):
909
910 2013-02-05  Mike West  <mkwst@chromium.org>
911
912         Cleanup: Use exceptionless Range::* methods rather than ignoring exceptions.
913         https://bugs.webkit.org/show_bug.cgi?id=108773
914
915         Reviewed by Darin Adler.
916
917         We often call Range::{start,end}{Container,Offset} with an ExceptionCode
918         that's completely ignored. In these cases, we should simply use the
919         exceptionless version of the method instead.
920
921         * dom/DocumentMarkerController.cpp:
922         (WebCore::DocumentMarkerController::addMarker):
923             Here, I also moved parameters onto one line to make the
924             stylebot happy.
925         (WebCore::DocumentMarkerController::addTextMatchMarker):
926         (WebCore::DocumentMarkerController::setMarkersActive):
927             Dropped ignored ExceptionCode variable entirely.
928         * accessibility/AccessibilityRenderObject.cpp:
929         (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
930             Can't drop the variable because of the selectNodeContents call.
931         * editing/Editor.cpp:
932         (WebCore::Editor::canDeleteRange):
933             Dropped ignored ExceptionCode variable entirely.
934         (WebCore::Editor::advanceToNextMisspelling):
935             Can't drop the variable because of setStart/setEnd.
936         * editing/EditorCommand.cpp:
937         (WebCore::unionDOMRanges):
938             Can't drop the variable because of compareBoundaryPoints.
939         * editing/MarkupAccumulator.cpp:
940         (WebCore::MarkupAccumulator::appendNodeValue):
941             Dropped ignored ExceptionCode variable entirely.
942         * editing/TextCheckingHelper.cpp:
943         (WebCore::TextCheckingParagraph::offsetAsRange):
944         (WebCore::TextCheckingHelper::findFirstMisspelling):
945         (WebCore::TextCheckingHelper::findFirstGrammarDetail):
946         (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
947         * editing/markup.cpp:
948         (WebCore::StyledMarkupAccumulator::renderedText):
949         (WebCore::StyledMarkupAccumulator::stringValueForRange):
950             Dropped ignored ExceptionCode variable entirely.
951         * editing/visible_units.cpp:
952         (WebCore::previousBoundary):
953             Can't drop the variable due to many other calls.
954         * page/DOMSelection.cpp:
955         (WebCore::DOMSelection::deleteFromDocument):
956         (WebCore::DOMSelection::containsNode):
957             For both these cases, the 'ASSERT(!ec)' after the statement I've
958             edited only checked the last occurance of the exception: that is,
959             if 'startXxx(ec)' threw an exception, it would be overwritten by
960             the 'setBaseAndExtend()' or 'compareBoundaryPoints()' exception.
961             Removing the exception parameters from the parameters' calls
962             shouldn't effect behavior.
963         * platform/chromium/PasteboardChromium.cpp:
964         (WebCore::Pasteboard::writeSelection):
965         * platform/mac/HTMLConverter.mm:
966         (+[WebHTMLConverter editingAttributedStringFromRange:]):
967         * platform/win/ClipboardWin.cpp:
968         (WebCore::ClipboardWin::writeRange):
969         * platform/win/PasteboardWin.cpp:
970         (WebCore::Pasteboard::writeSelection):
971         * platform/wince/PasteboardWinCE.cpp:
972         (WebCore::Pasteboard::writeSelection):
973             Dropped ignored ExceptionCode variable entirely.
974
975 2013-02-05  Yury Semikhatsky  <yurys@chromium.org>
976
977         Web Inspector:  introduce Memory.getDOMCounters
978         https://bugs.webkit.org/show_bug.cgi?id=108822
979
980         Reviewed by Pavel Feldman.
981
982         Introduced Memory.getDOMCounters command that returns number of Documents, Nodes
983         and JS event listeners in the inspected process.
984
985         * inspector/Inspector.json:
986         * inspector/InspectorMemoryAgent.cpp:
987         (WebCore::InspectorMemoryAgent::getDOMCounters):
988         (WebCore):
989         * inspector/InspectorMemoryAgent.h:
990         (InspectorMemoryAgent):
991
992 2013-02-04  Ilya Tikhonovsky  <loislo@chromium.org>
993
994         Web Inspector: Native Memory Instrumentation: rename Image m_data member to m_encodedImageData for the consistency
995         https://bugs.webkit.org/show_bug.cgi?id=108913
996
997         Reviewed by Yury Semikhatsky.
998
999         No new tests because no API changes.
1000
1001         * platform/graphics/Image.cpp:
1002         (WebCore::Image::setData):
1003         (WebCore::Image::reportMemoryUsage):
1004         * platform/graphics/Image.h:
1005         (WebCore::Image::data):
1006         (Image):
1007
1008 2013-02-05  Hajime Morrita  <morrita@google.com>
1009
1010         Unreviewed Linux ASAN build fix for r141783.
1011
1012         * platform/RefCountedSupplement.h:
1013         (Wrapper):
1014         * platform/Supplementable.h:
1015         (Supplement):
1016
1017 2013-02-05  Mike West  <mkwst@chromium.org>
1018
1019         [chromium] Unreviewed: Fix broken SVG-disabled build.
1020         https://bugs.webkit.org/show_bug.cgi?id=108916
1021
1022         The new enum value CSSPropertyWebkitGridAutoFlow was introduced in
1023         r141787, and accidentally left out of CSSParser::parseValue's big
1024         switch. This causes problems in non-SVG builds.
1025
1026         * css/CSSParser.cpp:
1027         (WebCore::CSSParser::parseValue):
1028
1029 2013-02-05  Tommy Widenflycht  <tommyw@google.com>
1030
1031         MediaStream API: Update RTCPeerConnections stream accessors to match the latest specification
1032         https://bugs.webkit.org/show_bug.cgi?id=108179
1033
1034         Reviewed by Adam Barth.
1035
1036         http://dev.w3.org/2011/webrtc/editor/webrtc.html#interface-definition
1037         The attributes localStreams and remoteStreams have been changes to the methods
1038         getLocalStreams() and getRemoteStreams() which return a native array instead.
1039
1040         Existing tests updated to cover patch.
1041
1042         * CMakeLists.txt:
1043         * GNUmakefile.list.am:
1044         * Modules/mediastream/MediaStream.h:
1045         (WebCore):
1046         * Modules/mediastream/MediaStreamList.cpp: Removed.
1047         * Modules/mediastream/MediaStreamList.h: Removed.
1048         * Modules/mediastream/MediaStreamList.idl: Removed.
1049         * Modules/mediastream/RTCPeerConnection.cpp:
1050         (WebCore::RTCPeerConnection::RTCPeerConnection):
1051         (WebCore::RTCPeerConnection::addStream):
1052         (WebCore::RTCPeerConnection::removeStream):
1053         (WebCore::RTCPeerConnection::getLocalStreams):
1054         (WebCore::RTCPeerConnection::getRemoteStreams):
1055         (WebCore::RTCPeerConnection::didAddRemoteStream):
1056         (WebCore::RTCPeerConnection::didRemoveRemoteStream):
1057         * Modules/mediastream/RTCPeerConnection.h:
1058         (RTCPeerConnection):
1059         * Modules/mediastream/RTCPeerConnection.idl:
1060         * WebCore.gypi:
1061
1062 2013-02-05  Viatcheslav Ostapenko  <sl.ostapenko@samsung.com>
1063
1064         [Qt][EFL][WebGL] Webgl doesn't work on nvidia cards
1065         https://bugs.webkit.org/show_bug.cgi?id=108059
1066
1067         Reviewed by Kenneth Rohde Christiansen.
1068
1069         Commit r138327 fixed repainting issues on mesa3d GL library by re-binding
1070         texture to the window after every glXSwapBuffer. Unfortunatelly re-bind
1071         breaks rendering on NVidia cards with NVidia propiertary drivers.
1072         This change limits texture re-binding only for mesa3d GL library.
1073
1074         No new tests. HW specific fix.
1075
1076         * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
1077         (WebCore::OffScreenRootWindow::isMesaGLX):
1078         (OffScreenRootWindow):
1079         (WebCore::GraphicsSurface::platformSwapBuffers):
1080
1081 2013-02-05  Praveen Jadhav  <praveen.j@samsung.com>
1082
1083         Floating point precision error in AudioPannerNode.
1084         https://bugs.webkit.org/show_bug.cgi?id=106001
1085
1086         Reviewed by Kentaro Hara.
1087
1088         Specifications Update: 
1089         https://dvcs.w3.org/hg/audio/rev/69a39a516e45
1090
1091         Conversion from double to float and back to double
1092         results in precision error. Avoiding these conversions
1093         will make sure that proper values are retained in the
1094         parameters.
1095
1096         * Modules/webaudio/PannerNode.h:
1097         (WebCore::PannerNode::refDistance):
1098         (WebCore::PannerNode::setRefDistance):
1099         (WebCore::PannerNode::maxDistance):
1100         (WebCore::PannerNode::setMaxDistance):
1101         (WebCore::PannerNode::rolloffFactor):
1102         (WebCore::PannerNode::setRolloffFactor):
1103         (WebCore::PannerNode::coneInnerAngle):
1104         (WebCore::PannerNode::setConeInnerAngle):
1105         (WebCore::PannerNode::coneOuterAngle):
1106         (WebCore::PannerNode::setConeOuterAngle):
1107         (WebCore::PannerNode::coneOuterGain):
1108         (WebCore::PannerNode::setConeOuterGain):
1109         * Modules/webaudio/PannerNode.idl:
1110
1111 2013-02-05  Kent Tamura  <tkent@chromium.org>
1112
1113         INPUT_MULTIPLE_FIELDS_UI: Use disabled attribute internally instead of readonly attribute
1114         https://bugs.webkit.org/show_bug.cgi?id=108911
1115
1116         Reviewed by Kentaro Hara.
1117
1118         Use 'disabled' attribute for shadow elements for <input> with
1119         multiple-fields UI instead of 'readonly' attribute because 'readonly'
1120         attribute represents focusable-but-non-editable state in HTML though
1121         we'd like to represent non-focusable-and-non-editable state.
1122
1123         The summary of changes:
1124         - Use 'disabled' attribute instead of 'readonly' attribute for DateTimeFieldElement,
1125         - Rename C++ functions for it,
1126         - Call isFocusable instead of isReadOnly to check focusable state.
1127
1128         No new tests. This doesn't make user-visible behavior changes.
1129
1130         * css/html.css:
1131         Replace [readonly] with [disabled] for sub-fields.
1132         * html/shadow/DateTimeEditElement.cpp:
1133         (DateTimeEditBuilder):
1134         (WebCore::DateTimeEditBuilder::visitField):
1135         (WebCore::DateTimeEditBuilder::shouldDayOfMonthFieldDisabled):
1136         (WebCore::DateTimeEditBuilder::shouldHourFieldDisabled):
1137         (WebCore::DateTimeEditBuilder::shouldMillisecondFieldDisabled):
1138         (WebCore::DateTimeEditBuilder::shouldMinuteFieldDisabled):
1139         (WebCore::DateTimeEditBuilder::shouldSecondFieldDisabled):
1140         (WebCore::DateTimeEditBuilder::shouldYearFieldDisabled):
1141         (WebCore::DateTimeEditElement::anyEditableFieldsHaveValues):
1142         (WebCore::DateTimeEditElement::focusOnNextField): Use isFocusable.
1143         (WebCore::DateTimeEditElement::focusOnPreviousField): Use isFocusable.
1144         * html/shadow/DateTimeFieldElement.cpp:
1145         (WebCore::DateTimeFieldElement::isFocusable):
1146         (WebCore::DateTimeFieldElement::isDisabled):
1147         (WebCore::DateTimeFieldElement::setDisabled):
1148         * html/shadow/DateTimeFieldElement.h:
1149         (DateTimeFieldElement): Make isFocusable public in order that
1150         DateTimeEditElement can call it.
1151         * html/shadow/DateTimeNumericFieldElement.cpp:
1152         (WebCore::DateTimeNumericFieldElement::handleKeyboardEvent):
1153         (WebCore::DateTimeNumericFieldElement::setEmptyValue):
1154         * html/shadow/DateTimeSymbolicFieldElement.cpp:
1155         (WebCore::DateTimeSymbolicFieldElement::setEmptyValue):
1156
1157 2013-02-05  Kentaro Hara  <haraken@chromium.org>
1158
1159         [V8] Reduce usage of deprecatedString() and deprecatedInteger()
1160         https://bugs.webkit.org/show_bug.cgi?id=108909
1161
1162         Reviewed by Adam Barth.
1163
1164         By passing an Isolate parameter around, we can reduce usage of
1165         deprecated methods.
1166
1167         No tests. No change in behavior.
1168
1169         * bindings/scripts/CodeGeneratorV8.pm:
1170         (GenerateNormalAttrSetter):
1171         (GenerateEventListenerCallback):
1172         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1173         (WebCore::TestEventTargetV8Internal::addEventListenerCallback):
1174         (WebCore::TestEventTargetV8Internal::removeEventListenerCallback):
1175         * bindings/scripts/test/V8/V8TestObj.cpp:
1176         (WebCore::TestObjV8Internal::addEventListenerCallback):
1177         (WebCore::TestObjV8Internal::removeEventListenerCallback):
1178         * bindings/v8/IDBBindingUtilities.cpp:
1179         (WebCore::get):
1180         (WebCore::set):
1181         (WebCore::getNthValueOnKeyPath):
1182         (WebCore::canInjectNthValueOnKeyPath):
1183         (WebCore::ensureNthValueOnKeyPath):
1184         (WebCore::createIDBKeyFromScriptValueAndKeyPath):
1185         (WebCore::injectIDBKeyIntoScriptValue):
1186         (WebCore::canInjectIDBKeyIntoScriptValue):
1187         * bindings/v8/NPV8Object.cpp:
1188         (WebCore::createValueListFromVariantArgs):
1189         (_NPN_Invoke):
1190         (_NPN_InvokeDefault):
1191         (_NPN_SetProperty):
1192         (_NPN_Construct):
1193         * bindings/v8/ScriptController.cpp:
1194         (WebCore::ScriptController::compileAndRunScript):
1195         * bindings/v8/ScriptProfiler.cpp:
1196         (WebCore):
1197         (WebCore::ScriptProfiler::takeHeapSnapshot):
1198         * bindings/v8/ScriptSourceCode.cpp:
1199         (WebCore::ScriptSourceCode::compileScript):
1200         * bindings/v8/ScriptSourceCode.h:
1201         (ScriptSourceCode):
1202         * bindings/v8/V8LazyEventListener.cpp:
1203         (WebCore::V8LazyEventListener::prepareListenerObject):
1204         * bindings/v8/V8NPObject.cpp:
1205         (WebCore::npObjectInvokeImpl):
1206         (WebCore::npObjectGetProperty):
1207         * bindings/v8/V8NPUtils.cpp:
1208         (WebCore::convertNPVariantToV8Object):
1209         * bindings/v8/V8NPUtils.h:
1210         (WebCore):
1211         * bindings/v8/V8Utilities.cpp:
1212         (WebCore::createHiddenDependency):
1213         (WebCore::removeHiddenDependency):
1214         (WebCore::transferHiddenDependency):
1215         * bindings/v8/V8Utilities.h:
1216         (WebCore):
1217         * bindings/v8/WorkerScriptController.cpp:
1218         (WebCore::WorkerScriptController::evaluate):
1219         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1220         (WebCore::V8DOMWindow::addEventListenerCallback):
1221         (WebCore::V8DOMWindow::removeEventListenerCallback):
1222
1223 2013-02-04  Dean Jackson  <dino@apple.com>
1224
1225         [Mac] Captions menu should indicate language and type of track
1226         https://bugs.webkit.org/show_bug.cgi?id=108882
1227
1228         Reviewed by Eric Carlson.
1229
1230         On Mac, we want a specific format for menu items in a caption list. Since
1231         other ports might want different formats, move the generation of the label
1232         into CaptionsUserPreferences where it can be overridden.
1233
1234         This required CaptionsUserPreferences to become public on the PageGroup, so
1235         it could be used when creating the menu. Also, since CaptionsUserPreferences
1236         was hidden on Mountain Lion and below, be a little more specific about
1237         which pieces can be seen on which builds.
1238
1239         Covered by exisiting media/video-controls-captions-trackmenu tests.
1240
1241         * English.lproj/Localizable.strings: Remove textTrackClosedCaptionsText.
1242         * html/shadow/MediaControlElements.cpp:
1243         (WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu): Build only
1244             one section and get the track's display name from the user preferences.
1245         * page/CaptionUserPreferences.h:
1246         (WebCore::CaptionUserPreferences::displayNameForTrack): Default implementation of
1247             virtual function that provides a label for a captions menu item.
1248         * page/CaptionUserPreferencesMac.h: Add the new virtual function, and expose just
1249             a bit of this class outside 10.9 builds.
1250         * page/CaptionUserPreferencesMac.mm:
1251         (WebCore::CaptionUserPreferencesMac::CaptionUserPreferencesMac): Guard features for system version.
1252         (WebCore::CaptionUserPreferencesMac::~CaptionUserPreferencesMac): Ditto.
1253         (WebCore::CaptionUserPreferencesMac::displayNameForTrack): New OS X-specific method that
1254             returns a string for the menu label.
1255         * page/PageGroup.cpp:
1256         (WebCore::PageGroup::captionPreferences): Unguard for system version.
1257         * page/PageGroup.h: Make captionPreferences public.
1258         * platform/LocalizedStrings.cpp: Remove textTrackClosedCaptionsText - not needed any more.
1259         * platform/LocalizedStrings.h: Remove textTrackClosedCaptionsText.
1260
1261 2013-02-04  Kentaro Hara  <haraken@chromium.org>
1262
1263         [V8] Pass an Isolate to V8DOMConfiguration
1264         https://bugs.webkit.org/show_bug.cgi?id=108900
1265
1266         Reviewed by Adam Barth.
1267
1268         No tests. No change in behavior.
1269
1270         * bindings/scripts/CodeGeneratorV8.pm:
1271         (GenerateHeader):
1272         (GenerateImplementation):
1273         (GenerateToV8Converters):
1274         * bindings/scripts/test/V8/V8Float64Array.cpp:
1275         (WebCore::ConfigureV8Float64ArrayTemplate):
1276         (WebCore::V8Float64Array::createWrapper):
1277         * bindings/scripts/test/V8/V8Float64Array.h:
1278         (WebCore::V8Float64Array::installPerContextProperties):
1279         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1280         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
1281         (WebCore::V8TestActiveDOMObject::createWrapper):
1282         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
1283         (WebCore::V8TestActiveDOMObject::installPerContextProperties):
1284         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1285         (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
1286         (WebCore::V8TestCustomNamedGetter::createWrapper):
1287         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
1288         (WebCore::V8TestCustomNamedGetter::installPerContextProperties):
1289         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1290         (WebCore::ConfigureV8TestEventConstructorTemplate):
1291         (WebCore::V8TestEventConstructor::createWrapper):
1292         * bindings/scripts/test/V8/V8TestEventConstructor.h:
1293         (WebCore::V8TestEventConstructor::installPerContextProperties):
1294         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1295         (WebCore::ConfigureV8TestEventTargetTemplate):
1296         (WebCore::V8TestEventTarget::createWrapper):
1297         * bindings/scripts/test/V8/V8TestEventTarget.h:
1298         (WebCore::V8TestEventTarget::installPerContextProperties):
1299         * bindings/scripts/test/V8/V8TestException.cpp:
1300         (WebCore::ConfigureV8TestExceptionTemplate):
1301         (WebCore::V8TestException::createWrapper):
1302         * bindings/scripts/test/V8/V8TestException.h:
1303         (WebCore::V8TestException::installPerContextProperties):
1304         * bindings/scripts/test/V8/V8TestInterface.cpp:
1305         (WebCore::ConfigureV8TestInterfaceTemplate):
1306         (WebCore::V8TestInterface::createWrapper):
1307         * bindings/scripts/test/V8/V8TestInterface.h:
1308         (WebCore::V8TestInterface::installPerContextProperties):
1309         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1310         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
1311         (WebCore::V8TestMediaQueryListListener::createWrapper):
1312         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
1313         (WebCore::V8TestMediaQueryListListener::installPerContextProperties):
1314         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1315         (WebCore::ConfigureV8TestNamedConstructorTemplate):
1316         (WebCore::V8TestNamedConstructor::createWrapper):
1317         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
1318         (WebCore::V8TestNamedConstructor::installPerContextProperties):
1319         * bindings/scripts/test/V8/V8TestNode.cpp:
1320         (WebCore::ConfigureV8TestNodeTemplate):
1321         (WebCore::V8TestNode::createWrapper):
1322         * bindings/scripts/test/V8/V8TestNode.h:
1323         (WebCore::V8TestNode::installPerContextProperties):
1324         * bindings/scripts/test/V8/V8TestObj.cpp:
1325         (WebCore::ConfigureV8TestObjTemplate):
1326         (WebCore::V8TestObj::installPerContextProperties):
1327         (WebCore::V8TestObj::createWrapper):
1328         * bindings/scripts/test/V8/V8TestObj.h:
1329         (V8TestObj):
1330         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
1331         (WebCore::ConfigureV8TestOverloadedConstructorsTemplate):
1332         (WebCore::V8TestOverloadedConstructors::createWrapper):
1333         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
1334         (WebCore::V8TestOverloadedConstructors::installPerContextProperties):
1335         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1336         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
1337         (WebCore::V8TestSerializedScriptValueInterface::createWrapper):
1338         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
1339         (WebCore::V8TestSerializedScriptValueInterface::installPerContextProperties):
1340         * bindings/v8/V8DOMConfiguration.cpp:
1341         (WebCore::V8DOMConfiguration::batchConfigureAttributes):
1342         (WebCore::V8DOMConfiguration::batchConfigureConstants):
1343         (WebCore::V8DOMConfiguration::batchConfigureCallbacks):
1344         (WebCore::V8DOMConfiguration::configureTemplate):
1345         * bindings/v8/V8DOMConfiguration.h:
1346         (V8DOMConfiguration):
1347         (WebCore::V8DOMConfiguration::configureAttribute):
1348         * bindings/v8/V8DOMWindowShell.cpp:
1349         (WebCore::V8DOMWindowShell::installDOMWindow):
1350
1351 2013-02-04  Kentaro Hara  <haraken@chromium.org>
1352
1353         [V8] Clean up CodeGeneratorV8.pm by introducing HasCustom{Getter,Setter,Method}
1354         https://bugs.webkit.org/show_bug.cgi?id=108896
1355
1356         Reviewed by Adam Barth.
1357
1358         No tests. No change in generated code.
1359
1360         * bindings/scripts/CodeGeneratorV8.pm:
1361         (GenerateHeader):
1362         (HasCustomGetter):
1363         (HasCustomSetter):
1364         (HasCustomMethod):
1365         (GetFunctionTemplateCallbackName):
1366         (GenerateSingleBatchedAttribute):
1367         (GenerateImplementation):
1368         (RequiresCustomSignature):
1369
1370 2013-02-04  Kent Tamura  <tkent@chromium.org>
1371
1372         Fix crash by <select> type change on focus
1373         https://bugs.webkit.org/show_bug.cgi?id=108830
1374
1375         Reviewed by Abhishek Arya.
1376
1377         Test: fast/forms/select/select-change-type-on-focus.html
1378
1379         * html/HTMLSelectElement.cpp:
1380         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
1381         focus() calls may change the renderer type.
1382
1383 2013-02-04  Kentaro Hara  <haraken@chromium.org>
1384
1385         [V8] Pass an Isolate to opaqueRootForGC()
1386         https://bugs.webkit.org/show_bug.cgi?id=108886
1387
1388         Reviewed by Adam Barth.
1389
1390         No tests. No change in behavior.
1391
1392         * bindings/scripts/CodeGeneratorV8.pm:
1393         (GenerateOpaqueRootForGC):
1394         (GenerateHeader):
1395         * bindings/v8/V8GCController.cpp:
1396         (WebCore::V8GCController::opaqueRootForGC):
1397         * bindings/v8/WrapperTypeInfo.h:
1398         (WebCore):
1399         (WebCore::WrapperTypeInfo::opaqueRootForGC):
1400         * bindings/v8/custom/V8NodeListCustom.cpp:
1401         (WebCore::V8NodeList::opaqueRootForGC):
1402
1403 2013-02-04  Wei James  <james.wei@intel.com>
1404
1405         Heap-buffer-overflow in WebCore::AudioBufferSourceNode::process
1406         https://bugs.webkit.org/show_bug.cgi?id=108515
1407
1408         After calling setBuffer() with a buffer having a different number of
1409         channels, there can in rare cases be a slight delay before the output
1410         bus is updated to the new number of channels because of use of
1411         tryLocks() in the context's updating system.
1412         In this case, if the the buffer has just been changed and we're
1413         not quite ready yet then just output silence.
1414
1415         Reviewed by Chris Rogers.
1416
1417         * Modules/webaudio/AudioBufferSourceNode.cpp:
1418         (WebCore::AudioBufferSourceNode::process):
1419         (WebCore::AudioBufferSourceNode::renderFromBuffer):
1420
1421 2013-02-04  James Simonsen  <simonjam@chromium.org>
1422
1423         [Chromium] Add a signal for when the body is inserted in the document
1424         https://bugs.webkit.org/show_bug.cgi?id=108725
1425
1426         Reviewed by Adam Barth.
1427
1428         This is an important signal for resource scheduling. We know we have enough to paint something,
1429         so we can start kicking off image preloads.
1430
1431         Test: Chromium webkit_unit_tests
1432
1433         * html/parser/HTMLConstructionSite.cpp:
1434         (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
1435         * loader/FrameLoaderClient.h:
1436         (FrameLoaderClient):
1437         (WebCore::FrameLoaderClient::dispatchWillInsertBody):
1438
1439 2013-02-04  Benjamin Poulain  <bpoulain@apple.com>
1440
1441         Kill suspendAnimation(), resumeAnimation() and numberOfActiveAnimations() from DRT/WTR; use Internals
1442         https://bugs.webkit.org/show_bug.cgi?id=108741
1443
1444         Reviewed by Tony Chang.
1445
1446         Move suspendAnimations and resumeAnimations to group all the animation related
1447         code together.
1448
1449         Add support for numberOfActiveAnimations, similarily to the feature previously defined
1450         in TestRunner.
1451
1452         * testing/Internals.cpp:
1453         (WebCore::Internals::numberOfActiveAnimations):
1454         (WebCore):
1455         (WebCore::Internals::suspendAnimations):
1456         (WebCore::Internals::resumeAnimations):
1457         * testing/Internals.h:
1458         (Internals):
1459         * testing/Internals.idl:
1460
1461 2013-02-04  Nayan Kumar K  <nayankk@motorola.com>
1462
1463         [WEBGL] Rename WEBKIT_WEBGL_compressed_texture_s3tc to WEBGL_compressed_texture_s3tc
1464         https://bugs.webkit.org/show_bug.cgi?id=108866
1465
1466         Reviewed by Kenneth Russell.
1467
1468         WEBGL_compressed_texture_s3tc is one of the community approved WebGL extension.
1469         Hence remove the vendor prefix from WEBKIT_WEBGL_compressed_texture_s3tc.
1470         Specification: http://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_s3tc/
1471
1472         No tests currently present to test WEBKIT_WEBGL_compressed_texture_s3tc.
1473
1474         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1475         (WebCore::toJS):
1476         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1477         (WebCore::toV8Object):
1478         * html/canvas/WebGLCompressedTextureS3TC.cpp:
1479         (WebCore::WebGLCompressedTextureS3TC::getName):
1480         * html/canvas/WebGLExtension.h:
1481         * html/canvas/WebGLRenderingContext.cpp:
1482         (WebCore):
1483         (WebCore::WebGLRenderingContext::getExtension):
1484
1485 2013-02-04  Nayan Kumar K  <nayankk@motorola.com>
1486
1487         [WEBGL] Rename WEBKIT_WEBGL_lose_context to WEBGL_lose_context.
1488         https://bugs.webkit.org/show_bug.cgi?id=108694
1489
1490         Reviewed by Kenneth Russell.
1491
1492         WEBGL_lose_context is one of the community approved WebGL extension.
1493         Hence remove the vendor prefix from WEBKIT_WEBGL_lose_context extension.
1494         Spefication: http://www.khronos.org/registry/webgl/extensions/WEBGL_lose_context/
1495
1496         Tests already exists, modified them to verify the change in extension name.
1497
1498         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1499         (WebCore::toJS):
1500         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1501         (WebCore::toV8Object):
1502         * html/canvas/WebGLExtension.h:
1503         * html/canvas/WebGLLoseContext.cpp:
1504         (WebCore::WebGLLoseContext::getName):
1505         * html/canvas/WebGLRenderingContext.cpp:
1506         (WebCore):
1507         (WebCore::WebGLRenderingContext::getExtension):
1508         (WebCore::WebGLRenderingContext::getSupportedExtensions):
1509
1510 2013-02-04  Dean Jackson  <dino@apple.com>
1511
1512         Default element styles are not always collected for sharing detection
1513         https://bugs.webkit.org/show_bug.cgi?id=108404
1514
1515         Reviewed by Antti Koivisto.
1516
1517         The method ensureDefaultStyleSheetsForElement is run as we add elements
1518         to the document. This may update the defaultStyle of the document, but
1519         does not recollect any changes into the StyleResolver. This means that
1520         style sharing might be overly ambitious, thinking it can share a style
1521         for an element which was matched in the new rules. This showed up most
1522         often in the Shadow Root for media elements, which would add a set of
1523         style rules, but the shadow children would sometimes share styles even
1524         when they shouldn't.
1525
1526         The fix is to detect if we need to collect after adding a
1527         style for an element. This might cause a little more work, but
1528         in my testing it doesn't happen very often.
1529
1530         Unfortunately it is hard to get a reproducible test for this.
1531
1532         * css/CSSDefaultStyleSheets.cpp:
1533         (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement): As we load in
1534             styles, keep track of whether or not we change the default style.
1535         * css/CSSDefaultStyleSheets.h:
1536         (CSSDefaultStyleSheets): New boolean parameter indicating if the style has changed.
1537         * css/StyleResolver.cpp:
1538         (WebCore::StyleResolver::styleForElement): Collect features if the element
1539             caused the default style to update.
1540         (WebCore::StyleResolver::collectFeatures): Protect for null in updates.
1541
1542 2013-02-04  Jun Jiang  <jun.a.jiang@intel.com>
1543
1544         Fix the issue that some possible source formats are ignored for float textures in texture packing for CG port
1545         https://bugs.webkit.org/show_bug.cgi?id=108812
1546
1547         Reviewed by Kenneth Russell.
1548
1549         Already covered by latest WebGL conformance test.
1550
1551         * platform/graphics/GraphicsContext3D.cpp:
1552         (WebCore):
1553
1554 2013-02-04  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1555
1556         [EFL] Remove needless local variables in LocalizedStringsEfl.cpp
1557         https://bugs.webkit.org/show_bug.cgi?id=108869
1558
1559         Reviewed by Kentaro Hara.
1560
1561         fromUTF8() returns static String. So, we don't need to use needless local variables.
1562
1563         * platform/efl/LocalizedStringsEfl.cpp:
1564         (WebCore::contextMenuItemTagCopy):
1565         (WebCore::contextMenuItemTagDelete):
1566         (WebCore::contextMenuItemTagSelectAll):
1567         (WebCore::contextMenuItemTagGoBack):
1568         (WebCore::contextMenuItemTagGoForward):
1569         (WebCore::contextMenuItemTagStop):
1570         (WebCore::contextMenuItemTagCut):
1571         (WebCore::contextMenuItemTagPaste):
1572         (WebCore::contextMenuItemTagBold):
1573         (WebCore::contextMenuItemTagItalic):
1574         (WebCore::contextMenuItemTagUnderline):
1575
1576 2013-02-04  Jun Jiang  <jun.a.jiang@intel.com>
1577
1578         WebGL: Move the format conversion for 16-bit per channel formats into Core Graphics port only
1579         https://bugs.webkit.org/show_bug.cgi?id=108304
1580
1581         Reviewed by Kenneth Russell.
1582
1583         Since the 16-bit per channel formats are only used for Core Graphics port in WebGL and not a standard to represent any file format that is widely used 
1584         for each platform, it is better to limit and hide this kinds of information and processing in CG specific code only. 
1585         It can make the code more clear and reduce the binary size for both CG port and non-CG port.
1586
1587         Already covered by current tests.
1588
1589         * platform/graphics/GraphicsContext3D.cpp:
1590         (WebCore):
1591         * platform/graphics/GraphicsContext3D.h:
1592         (GraphicsContext3D):
1593         (WebCore::GraphicsContext3D::srcFormatComeFromDOMElementOrImageData):
1594         (ImageExtractor):
1595         * platform/graphics/cg/GraphicsContext3DCG.cpp:
1596         (WebCore):
1597         (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
1598
1599 2013-02-04  Dean Jackson  <dino@apple.com>
1600
1601         Allow TextTracks to be marked as closed captions
1602         https://bugs.webkit.org/show_bug.cgi?id=108856
1603
1604         Reviewed by Darin Adler.
1605
1606         While this isn't exposed directly in markup, some platform media frameworks can
1607         provide indication that a caption track is a closed caption. Expose such a flag
1608         on TextTrack and platforms can show a different UI if they want to.
1609
1610         No tests - this isn't used elsewhere yet, nor exposed to the DOM.
1611
1612         * html/track/TextTrack.cpp:
1613         (WebCore::TextTrack::TextTrack): Initialise new member.
1614         * html/track/TextTrack.h:
1615         (WebCore::TextTrack::isClosedCaptions): New member variable.
1616         (WebCore::TextTrack::setIsClosedCaptions):
1617
1618 2013-02-04  Chris Hopman  <cjhopman@chromium.org>
1619
1620         Make moveCaretTowardsWindowPoint not snap to the beginning/end when moved above/below editable
1621         https://bugs.webkit.org/show_bug.cgi?id=107850
1622
1623         Reviewed by Ojan Vafai.
1624
1625         On Android, EditingBehavior::shouldMoveCaret[...] controls the
1626         behavior of insertion handles. This change adds a new Android specific
1627         editing behavior type.
1628
1629         The new EditingBehavior is the same as EditingUnixBehavior except for
1630         EditingBehavior::shouldMoveCaret[...]. This new behavior fixes
1631         WebFrame::moveCaretTowardsWindowPoint to not span to the
1632         beginning/end.
1633
1634         * editing/EditingBehavior.h:
1635         (WebCore::EditingBehavior::shouldMoveCaretToHorizontalBoundaryWhenPastTopOrBottom):
1636         (WebCore::EditingBehavior::shouldAllowSpellingSuggestionsWithoutSelection):
1637         (WebCore::EditingBehavior::shouldNavigateBackOnBackspace):
1638         * editing/EditingBehaviorTypes.h:
1639         * page/Settings.cpp:
1640         (WebCore):
1641         (WebCore::editingBehaviorTypeForPlatform):
1642         * testing/InternalSettings.cpp:
1643         (WebCore::InternalSettings::setEditingBehavior):
1644
1645 2013-02-04  Kent Tamura  <tkent@chromium.org>
1646
1647         INPUT_MULTIPLE_FIELDS_UI: Focus order is not controllable by tabIndex attribute on <input>
1648         https://bugs.webkit.org/show_bug.cgi?id=108447
1649
1650         Reviewed by Hajime Morita.
1651
1652         We make <input> elements with the multiple-fields UI focusable.
1653          - However, we don't want to change the existing focus behavior for
1654            multiple-fields <input>. We'd like to focus on the last sub-field of
1655            an<input> with Shift + TAB focus navigation, and focus on the first
1656            sub-field of the <input> otherwise. So, we move focus immediately
1657            after the <input> gets focus.
1658          - We don't need the isFocusableByClickOnLabel hack any more. <input>
1659            elements with the multiple-fields UI are mouse-focusable.
1660
1661         Test: fast/forms/time-multiple-fields/time-multiple-fields-tabindex.html
1662
1663         * html/InputType.h:
1664         (InputType): Add FocusDirection argument to handleFocusEvent, and remove
1665         unnecessary isFocusableByClickOnLabel and focus.
1666         * html/InputType.cpp:
1667         (WebCore::InputType::handleFocusEvent): Ditto.
1668         * html/PasswordInputType.cpp:
1669         (WebCore::PasswordInputType::handleFocusEvent): Follow the argument change.
1670         * html/PasswordInputType.h:
1671         (PasswordInputType): Ditto.
1672
1673         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
1674         (WebCore::BaseMultipleFieldsDateAndTimeInputType::handleFocusEvent):
1675         If this element gets focus by FocusDirectionBackward (it means the focus
1676         is moved from the first sub-field of the element,) move the focus
1677         backward once more. Otherwise, we focus on the first sub-filed of the
1678         element.
1679         (WebCore::BaseMultipleFieldsDateAndTimeInputType::isKeyboardFocusable):
1680         Make this keyboard-focusable. We have a wrong test to ensure read-only
1681         input does NOT get focus. We'll address it later.
1682         (WebCore::BaseMultipleFieldsDateAndTimeInputType::isMouseFocusable):
1683         Make this mouse-focusable.
1684         * html/BaseMultipleFieldsDateAndTimeInputType.h:
1685         (BaseMultipleFieldsDateAndTimeInputType):
1686
1687         * html/HTMLInputElement.h:
1688         (HTMLInputElement): Remove defaultFocus, focus, and isFocusableByClickOnLabel.
1689         Add missing OVERRIDE to handleFocusEvent.
1690         * html/HTMLInputElement.cpp: Remove unnecessary functions.
1691         (WebCore::HTMLInputElement::handleFocusEvent):
1692         Pass FocusDirection value to InputTYpe::handleFocusEvent.
1693
1694         * html/HTMLLabelElement.cpp:
1695         (WebCore::HTMLLabelElement::defaultEventHandler):
1696         Use isMouseFocusable().
1697         * html/HTMLElement.cpp: Remove unnecessary isFocusableByClickOnLabel.
1698         * html/HTMLElement.h: Ditto.
1699
1700 2013-02-04  Seulgi Kim  <seulgikim@company100.net>
1701
1702         Coordinated Graphics: crash in TiledBackingStore::adjustForContentsRect
1703         https://bugs.webkit.org/show_bug.cgi?id=107639
1704
1705         Reviewed by Kenneth Rohde Christiansen.
1706
1707         In TiledBackingStore::adjustForContentsRect method, inflating is not
1708         needed when there is no intersections between the cover/keep rect and
1709         the content rect.
1710
1711         No new tests, no change in functionality.
1712
1713         * platform/graphics/TiledBackingStore.cpp:
1714         (WebCore::TiledBackingStore::adjustForContentsRect):
1715
1716 2013-02-04  Stephen White  <senorblanco@chromium.org>
1717
1718         [skia] Remove use of SkSingleInputImageFilter.
1719         https://bugs.webkit.org/show_bug.cgi?id=108867
1720
1721         Reviewed by James Robinson.
1722
1723         This class is but a hollow shell of its former self, and has
1724         been removed in Skia.
1725
1726         Covered by existing tests in css3/filters.
1727
1728         * platform/graphics/filters/skia/DropShadowImageFilter.cpp:
1729         (WebCore::DropShadowImageFilter::DropShadowImageFilter):
1730         (WebCore::DropShadowImageFilter::onFilterImage):
1731         * platform/graphics/filters/skia/DropShadowImageFilter.h:
1732
1733 2013-01-31  Kentaro Hara  <haraken@chromium.org>
1734
1735         Implement WheelEvent::deltaMode
1736         https://bugs.webkit.org/show_bug.cgi?id=108455
1737
1738         Reviewed by Adam Barth.
1739
1740         Per the spec, WheelEvent::deltaMode should return
1741         DOM_DELTA_PIXEL or DOM_DELTA_LINE or DOM_DELTA_PAGE.
1742
1743         Spec: http://www.w3.org/TR/DOM-Level-3-Events/#events-wheelevents
1744         https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm#constructor-wheelevent
1745
1746         Test: fast/event/wheel-event-constructor.html
1747
1748         * dom/WheelEvent.cpp:
1749         (WebCore::WheelEventInit::WheelEventInit):
1750         (WebCore::WheelEvent::WheelEvent):
1751         (WebCore::WheelEvent::initWheelEvent):
1752         (WebCore::deltaMode):
1753         * dom/WheelEvent.h:
1754         (WheelEventInit):
1755         (WebCore::WheelEvent::create):
1756         (WebCore::WheelEvent::deltaMode):
1757         (WheelEvent):
1758         * dom/WheelEvent.idl:
1759         * page/EventHandler.cpp:
1760         (WebCore::wheelGranularityToScrollGranularity):
1761
1762 2013-02-04  Gustavo Noronha Silva  <gns@gnome.org>
1763
1764         [Soup] Remove duplicate setting of first party for cookies
1765         https://bugs.webkit.org/show_bug.cgi?id=108814
1766
1767         Reviewed by Martin Robinson.
1768
1769         Covered by existing tests.
1770
1771         * platform/network/soup/ResourceHandleSoup.cpp:
1772         (WebCore::createSoupMessageForHandleAndRequest): there is no need to set
1773         the first party for cookies here, since that is already done in
1774         ResourceRequest::updateSoupMessage, which is called a few lines before.
1775
1776 2013-02-04  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
1777
1778         [GStreamer][Soup] Let GStreamer provide the buffer data is downloaded to, to avoid copying
1779         https://bugs.webkit.org/show_bug.cgi?id=105552
1780
1781         Reviewed by Philippe Normand.
1782
1783         Makes it possible for the GStreamer media backend to provide the buffer to which
1784         the Soup networking backend will use to download data to. This makes copying
1785         memory unnecessary when ResourceHandle hands data over to the media player's
1786         StreamingClient. Thanks to Dan Winship for help designing the interface.
1787
1788         No behaviour change, covered by existing tests.
1789
1790         * platform/graphics/gstreamer/GStreamerVersioning.cpp:
1791         (createGstBufferForData): New helper to create a GstBuffer when
1792         we have a data pointer and a length.
1793         (getGstBufferSize): Abstract obtaining the size of the buffer, so the code
1794         is cleaner while still working for both GST 0.10 and 1.0.
1795         (setGstBufferSize): Ditto, but for setting the size.
1796         (getGstBufferDataPointer): Ditto, but for grabbing the data pointer.
1797         (mapGstBuffer): Convenience method to take care of mapping the buffer so that
1798         we can provide the data pointer to ResourceHandle.
1799         (unmapGstBuffer): Convenience method which takes care of unmapping the buffer
1800         and properly freeing the GstMapInfo.
1801         * platform/graphics/gstreamer/GStreamerVersioning.h:
1802         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1803         (StreamingClient): New methods.
1804         (_WebKitWebSrcPrivate): We now store the GstBuffer we provided the data pointer from
1805         so we can later unmap it and push it to the pipeline.
1806         (webKitWebSrcDispose): Deal with the GstBuffer in case it exists when the source is
1807         destroyed.
1808         (webKitWebSrcStop): Also clear the GstBuffer in this case.
1809         (StreamingClient::didReceiveData): Handle the hand-over of the buffer.
1810         (StreamingClient::getBuffer): Provide ResourceHandle with a new GstBuffer's data pointer.
1811         * platform/network/ResourceHandleClient.h:
1812         (ResourceHandleClient):
1813         (WebCore::ResourceHandleClient::ResourceHandleClient): Constructor to initialize the buffer
1814         member variable to 0.
1815         (WebCore::ResourceHandleClient::~ResourceHandleClient): Destructor to free the buffer if it
1816         has been allocated.
1817         (WebCore::ResourceHandleClient::getBuffer): Default implementation which returns a
1818         newly allocated char pointer.
1819         * platform/network/ResourceHandleInternal.h:
1820         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
1821         (ResourceHandleInternal): Store actual buffer size, which is no longer a constant.
1822         * platform/network/soup/ResourceHandleSoup.cpp:
1823         (WebCore::cleanupSoupRequestOperation): Clear the buffer pointer, the life-cycle of the
1824         buffer is handled by the ResourceHandleClient.
1825         (WebCore::nextMultipartResponsePartCallback): Get a new buffer from the client before reading.
1826         (WebCore::sendRequestCallback): Ditto.
1827         (WebCore::readCallback): Ditto.
1828
1829 2013-02-04  Mark Pilgrim  <pilgrim@chromium.org>
1830
1831         [Chromium] Move WorkerContextProxy to WebCore
1832         https://bugs.webkit.org/show_bug.cgi?id=108847
1833
1834         Reviewed by Adam Barth.
1835
1836         Part of a larger refactoring series; see tracking bug 106829.
1837
1838         * WebCore.gyp/WebCore.gyp:
1839         * WebCore.gypi:
1840         * workers/chromium: Added.
1841         * workers/chromium/WorkerContextProxyChromium.cpp: Added.
1842         (WebCore):
1843         (WebCore::setWorkerContextProxyCreateFunction):
1844         (WebCore::WorkerContextProxy::create):
1845         * workers/chromium/WorkerContextProxyChromium.h: Added.
1846         (WebCore):
1847
1848 2013-02-04  Dima Gorbik  <dgorbik@apple.com>
1849
1850         WebVTT <i>, <b> and <u> elements should have default styles
1851         https://bugs.webkit.org/show_bug.cgi?id=107214
1852
1853         Reviewed by Darin Adler.
1854
1855         Added default styles for basic webvtt object types.
1856
1857         Test: media/track/track-css-matching-default.html
1858
1859         * css/mediaControls.css:
1860         (video::-webkit-media-text-track-container b):
1861         (video::-webkit-media-text-track-container u):
1862         (video::-webkit-media-text-track-container i):
1863
1864 2013-02-04  Abhishek Arya  <inferno@chromium.org>
1865
1866         Add ASSERT_WITH_SECURITY_IMPLICATION to detect out of bounds access
1867         https://bugs.webkit.org/show_bug.cgi?id=108668
1868
1869         Reviewed by Eric Seidel.
1870
1871         * bindings/v8/SerializedScriptValue.cpp:
1872         * css/CSSCalculationValue.cpp:
1873         (WebCore::CSSCalcExpressionNodeParser::parseCalc):
1874         * css/CSSImageSetValue.cpp:
1875         (WebCore::CSSImageSetValue::fillImageSet):
1876         (WebCore::CSSImageSetValue::customCssText):
1877         * css/CSSParserValues.h:
1878         (WebCore::CSSParserString::operator[]):
1879         * css/CSSValueList.h:
1880         (WebCore::CSSValueListInspector::item):
1881         * css/StyleSheetContents.cpp:
1882         (WebCore::StyleSheetContents::ruleAt):
1883         (WebCore::StyleSheetContents::wrapperInsertRule):
1884         (WebCore::StyleSheetContents::wrapperDeleteRule):
1885         * dom/Document.cpp:
1886         (WebCore::Document::processArguments):
1887         * dom/Element.cpp:
1888         (WebCore::Element::removeAttributeInternal):
1889         * dom/ElementAttributeData.cpp:
1890         (WebCore::ElementAttributeData::removeAttribute):
1891         * dom/ElementAttributeData.h:
1892         (WebCore::ElementAttributeData::attributeItem):
1893         * dom/SpaceSplitString.h:
1894         (WebCore::SpaceSplitStringData::operator[]):
1895         (WebCore::SpaceSplitString::operator[]):
1896         * editing/TextIterator.cpp:
1897         (WebCore::TextIterator::characterAt):
1898         * html/HTMLFormElement.cpp:
1899         (WebCore::HTMLFormElement::removeFormElement):
1900         * html/HTMLSelectElementWin.cpp:
1901         (WebCore::HTMLSelectElement::platformHandleKeydownEvent):
1902         * html/canvas/WebGLRenderingContext.cpp:
1903         (WebCore):
1904         * html/parser/HTMLFormattingElementList.cpp:
1905         (WebCore::HTMLFormattingElementList::swapTo):
1906         * inspector/InspectorStyleSheet.cpp:
1907         (WebCore::InspectorStyleSheet::styleSheetTextWithChangedStyle):
1908         * inspector/InspectorStyleTextEditor.cpp:
1909         (WebCore::InspectorStyleTextEditor::replaceProperty):
1910         * inspector/InspectorValues.cpp:
1911         (WebCore::InspectorArrayBase::get):
1912         * page/WindowFeatures.cpp:
1913         (WebCore::WindowFeatures::WindowFeatures):
1914         * platform/audio/AudioArray.h:
1915         (WebCore::AudioArray::at):
1916         * platform/audio/AudioFIFO.cpp:
1917         (WebCore::AudioFIFO::findWrapLengths):
1918         * platform/graphics/GlyphPage.h:
1919         (WebCore::GlyphPage::glyphDataForIndex):
1920         (WebCore::GlyphPage::glyphAt):
1921         (WebCore::GlyphPage::setGlyphDataForIndex):
1922         * platform/graphics/TextRun.h:
1923         (WebCore::TextRun::operator[]):
1924         (WebCore::TextRun::data8):
1925         (WebCore::TextRun::data16):
1926         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
1927         (WebCore::HarfBuzzShaper::setDrawRange):
1928         * platform/graphics/openvg/TiledImageOpenVG.cpp:
1929         (WebCore::TiledImageOpenVG::setTile):
1930         (WebCore::TiledImageOpenVG::tile):
1931         * platform/image-decoders/ico/ICOImageDecoder.cpp:
1932         (WebCore::ICOImageDecoder::decodeAtIndex):
1933         (WebCore::ICOImageDecoder::imageTypeAtIndex):
1934         * platform/text/QuotedPrintable.cpp:
1935         (WebCore::lengthOfLineEndingAtIndex):
1936         * platform/text/SegmentedString.cpp:
1937         (WebCore::SegmentedString::advance):
1938         * platform/win/WebCoreTextRenderer.cpp:
1939         (WebCore::doDrawTextAtPoint):
1940         * rendering/InlineTextBox.cpp:
1941         (WebCore::InlineTextBox::paint):
1942         (WebCore::InlineTextBox::paintSelection):
1943
1944 2013-02-04  Nate Chapin  <japhet@chromium.org>
1945
1946         REGRESSION (r137607): Loading of archives as substitute data is broken
1947         https://bugs.webkit.org/show_bug.cgi?id=108589
1948
1949         Reviewed by Alexey Proskuryakov.
1950
1951         * loader/MainResourceLoader.cpp:
1952         (WebCore::MainResourceLoader::resourceData): Return the content from
1953             SubstituteData as mainResourceData if present.
1954
1955 2013-02-04  Julien Chaffraix  <jchaffraix@webkit.org>
1956
1957         [CSS Grid Layout] Heap-buffer-overflow in std::sort
1958         https://bugs.webkit.org/show_bug.cgi?id=108834
1959
1960         Reviewed by Abhishek Arya.
1961
1962         Test: fast/css-grid-layout/grid-strict-ordering-crash.html
1963
1964         * rendering/RenderGrid.cpp:
1965         (WebCore::sortByGridTrackGrowthPotential):
1966         The std::sort documentation says that this function should define a *strict* weak ordering. Fixed the strict
1967         part of the ordering. Also moved the function definition next to where it is needed and made the GridTrack
1968         argument const (as it shouldn't modify them or std::sort will misbehave).
1969
1970         * rendering/RenderGrid.cpp:
1971         (WebCore::sortByGridTrackGrowthPotential):
1972         (WebCore):
1973
1974 2013-02-04  Igor Oliveira  <igor.o@sisa.samsung.com>
1975
1976         [Texmap] Implement BGRA swizzling detection
1977         https://bugs.webkit.org/show_bug.cgi?id=81103
1978
1979         For OpenGLES if the extension EXT_texture_format_BGRA8888 is supported
1980         the internal and external formats need to be BGRA.
1981
1982         Reviewed by Noam Rosenthal.
1983
1984         * platform/graphics/texmap/TextureMapperGL.cpp:
1985         (WebCore):
1986         (WebCore::driverSupportsExternalTextureBGRA):
1987         (WebCore::driverSupportsSubImage):
1988         (WebCore::BitmapTextureGL::didReset):
1989
1990 2013-02-04  Dima Gorbik  <dgorbik@apple.com>
1991
1992         class="cue" is getting some default style
1993         https://bugs.webkit.org/show_bug.cgi?id=108752
1994
1995         Reviewed by Dean Jackson.
1996         
1997         The value variable inside the selector is used to store different information depending on the 
1998         type of the selector so we have to check explicitly that the selector we apply filtering to 
1999         matches a pseudo element.
2000         
2001         Existing tests modified to cover this case.
2002
2003         * css/RuleSet.cpp:
2004         (WebCore::determinePropertyWhitelistType):
2005
2006 2013-02-04  Tom Sepez  <tsepez@chromium.org>
2007
2008         [V8] Binding Integrity crash in V8HTMLEmbedElement::createWrapper
2009         https://bugs.webkit.org/show_bug.cgi?id=108841
2010
2011         Reviewed by Adam Barth.
2012
2013         * html/HTMLEmbedElement.idl:
2014         Quick change to IDL to disable binding check for now.
2015         
2016 2013-02-04  Martin Robinson  <mrobinson@igalia.com>
2017
2018         Fix GTK+ 'make dist' in preparation for the 1.11.5 release.
2019
2020         * GNUmakefile.list.am:
2021
2022 2013-02-04  Enrica Casucci  <enrica@apple.com>
2023
2024         Add specific EditActions for Bold and Italic commands.
2025         https://bugs.webkit.org/show_bug.cgi?id=108842.
2026         <rdar://problem/13098252>
2027
2028         This change is required on iOS where we need to
2029         identify the command in order to display the correct
2030         message in the undo popup. It is also in line with
2031         what we do for underline, which already has its own
2032         separate EditAction.
2033         
2034         Reviewed by Ryosuke Niwa.
2035
2036         No new tests. No behavior change.
2037
2038         * editing/EditAction.h:
2039         * editing/EditorCommand.cpp:
2040         (WebCore::executeToggleBold):
2041         (WebCore::executeToggleItalic):
2042
2043 2013-02-04  Dima Gorbik  <dgorbik@apple.com>
2044
2045         Implemet :lang() pseudo class support for the WebVTT ::cue pseudo element
2046         https://bugs.webkit.org/show_bug.cgi?id=105478
2047
2048         Reviewed by Antti Koivisto.
2049
2050         In WebVTT lang is preprocessed and stored in the lang attribute of the element, 
2051         so we access it instead of walking up the tree the way it is done in HTML.
2052
2053         Existing tests were modified to cover this case.
2054
2055         * css/SelectorChecker.cpp:
2056         (WebCore::SelectorChecker::checkOne):
2057
2058 2013-02-04  Tim Horton  <timothy_horton@apple.com>
2059
2060         Disable autoscrolling the main frame if main frame scrolling is disabled
2061         https://bugs.webkit.org/show_bug.cgi?id=108848
2062         <rdar://problem/13004059>
2063
2064         Reviewed by Simon Fraser.
2065
2066         Ensure that the main frame can scroll at all before allowing an autoscroll.
2067
2068         * rendering/RenderBox.cpp:
2069         (WebCore::RenderBox::canAutoscroll):
2070
2071 2013-02-04  Tom Sepez  <tsepez@chromiium.org>
2072
2073         XSS Auditor bypass via svg tags and xlink:href
2074         https://bugs.webkit.org/show_bug.cgi?id=84158
2075
2076         This patch adds a test for the xlink:href attribute inside of
2077         script tokens. The test is complicated by the namespacing; the
2078         xlink hrefAttr qualified name does not contain a literal "xlink"
2079         prefix but only the URI of the namespace.
2080         
2081         Reviewed by Adam Barth.
2082
2083         Test: http/tests/security/xssAuditor/svg-script-tag.html
2084
2085         * html/parser/XSSAuditor.cpp:
2086         (WebCore::findAttributeWithName):
2087         (WebCore::XSSAuditor::filterScriptToken):
2088
2089 2013-02-04  Eric Carlson  <eric.carlson@apple.com>
2090
2091         Update CaptionUserPreferences
2092         https://bugs.webkit.org/show_bug.cgi?id=108783
2093
2094         Reviewed by Dean Jackson.
2095
2096         * html/shadow/MediaControlElements.cpp:
2097         (WebCore::MediaControlTextTrackContainerElement::updateSizes): Mark font size as important
2098             when necessary.
2099         * page/CaptionUserPreferences.h:
2100         (WebCore::CaptionUserPreferences::setUserPrefersCaptions): New, allow a port to remember that
2101             the user has chosen to see captions.
2102         (WebCore::CaptionUserPreferences::setPreferredLanguage): New, allow a port to remember the
2103             user's preferred caption language.
2104         (WebCore::CaptionUserPreferences::preferredLanguages): New, return a Vector of the user's 
2105             preferred caption languages.
2106         * page/CaptionUserPreferencesMac.h:
2107         * page/CaptionUserPreferencesMac.mm:
2108         * page/PageGroup.cpp:
2109         (WebCore::PageGroup::captionPreferences):
2110         (WebCore::PageGroup::captionFontSizeScale):
2111         * page/PageGroup.h:
2112         * platform/Language.cpp:
2113         (WebCore::userPreferredLanguagesOverride): New, return the user preferred languages override
2114             used during testing.
2115         * platform/Language.h:
2116         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
2117         (WebCore::InbandTextTrackPrivateAVFObjC::kind):
2118
2119 2013-02-04  Tim Horton  <timothy_horton@apple.com>
2120
2121         Allow TiledCoreAnimationDrawingArea overlay layers to become tiled
2122         https://bugs.webkit.org/show_bug.cgi?id=108729
2123         <rdar://problem/13047546>
2124
2125         Reviewed by Anders Carlsson.
2126
2127         * WebCore.exp.in:
2128         * platform/graphics/ca/GraphicsLayerCA.cpp:
2129         (WebCore::GraphicsLayerCA::flushCompositingStateForThisLayerOnly): The "for this layer only" variant
2130         of flushCompositingState wasn't informing its client that it committed changes for the layer.
2131         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): We now explicitly want to be able to have a
2132         GraphicsLayerCA switch into or out of tiling while being unparented (we'll get a client callback and
2133         swap out its parent ourselves).
2134
2135 2013-02-04  Julien Chaffraix  <jchaffraix@webkit.org>
2136
2137         [CSS Grid Layout] Add parsing for grid-auto-flow
2138         https://bugs.webkit.org/show_bug.cgi?id=108397
2139
2140         Reviewed by Ojan Vafai.
2141
2142         Test: fast/css-grid-layout/grid-auto-flow-get-set.html
2143
2144         This change adds the parsing, application and conversion back through getComputedStyle
2145         for the new property -webkit-grid-auto-flow, which accpets the following:
2146
2147         -webkit-grid-auto-flow: none | rows | columns
2148
2149         * css/CSSComputedStyleDeclaration.cpp:
2150         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2151         Added code to convert the RenderStyle information back into a CSS value.
2152
2153         * css/CSSParser.cpp:
2154         (WebCore::isValidKeywordPropertyAndValue):
2155         (WebCore::isKeywordPropertyID):
2156         Implemented parsing for -webkit-grid-auto-flow.
2157
2158         * css/CSSPrimitiveValueMappings.h:
2159         (WebCore::CSSPrimitiveValue::operator GridAutoFlow):
2160         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2161         Added the conversion operators, used for parsing and getComputedStyle.
2162
2163         * css/CSSProperty.cpp:
2164         (WebCore::CSSProperty::isInheritedProperty):
2165         Added -webkit-grid-auto-flow to the list of the not inherited properties.
2166
2167         * css/CSSPropertyNames.in:
2168         Added the new value and keywords.
2169
2170         * css/StyleBuilder.cpp:
2171         (WebCore::StyleBuilder::StyleBuilder):
2172         Added a handler for the new CSS property.
2173
2174         * rendering/style/RenderStyle.h:
2175         Added the usual getter / setter / initial function.
2176
2177         * rendering/style/RenderStyleConstants.h:
2178         Added a new enum GridAutoFlow to hold the parsed value.
2179
2180         * rendering/style/StyleGridData.cpp:
2181         (WebCore::StyleGridData::StyleGridData):
2182         * rendering/style/StyleGridData.h:
2183         (WebCore::StyleGridData::operator==):
2184         Updated after adding a new field for the GridAutoFlow value.
2185
2186 2013-02-04  Mark Pilgrim  <pilgrim@chromium.org>
2187
2188         [Chromium] Move IDBFactoryBackendInterface to WebCore
2189         https://bugs.webkit.org/show_bug.cgi?id=108638
2190
2191         Reviewed by Adam Barth.
2192
2193         Part of a larger refactoring series; see tracking bug 106829.
2194
2195         * Modules/indexeddb/chromium: Added.
2196         * Modules/indexeddb/chromium/IDBFactoryBackendInterfaceChromium.cpp: Added.
2197         (WebCore):
2198         (WebCore::setIDBFactoryBackendInterfaceCreateFunction):
2199         (WebCore::IDBFactoryBackendInterface::create):
2200         * Modules/indexeddb/chromium/IDBFactoryBackendInterfaceChromium.h: Added.
2201         (WebCore):
2202         * WebCore.gyp/WebCore.gyp:
2203         * WebCore.gypi:
2204
2205 2013-02-04  Abhishek Arya  <inferno@chromium.org>
2206
2207         Add ASSERT_WITH_SECURITY_IMPLICATION to detect bad cast in DOM, CSS, etc.
2208         https://bugs.webkit.org/show_bug.cgi?id=108688
2209
2210         Reviewed by Eric Seidel.
2211
2212         * Modules/notifications/Notification.cpp:
2213         (WebCore::Notification::Notification):
2214         (WebCore::Notification::permission):
2215         (WebCore::Notification::requestPermission):
2216         * Modules/speech/SpeechGrammar.cpp:
2217         (WebCore::SpeechGrammar::setSrc):
2218         * Modules/speech/SpeechGrammarList.cpp:
2219         (WebCore::SpeechGrammarList::addFromUri):
2220         * Modules/websockets/ThreadableWebSocketChannel.cpp:
2221         (WebCore::ThreadableWebSocketChannel::create):
2222         * accessibility/AccessibilityMenuListPopup.cpp:
2223         (WebCore::AccessibilityMenuListPopup::menuListOptionAccessibilityObject):
2224         * accessibility/AccessibilityTable.cpp:
2225         (WebCore::AccessibilityTable::cellForColumnAndRow):
2226         * css/CSSFontFaceRule.cpp:
2227         (WebCore::CSSFontFaceRule::reattach):
2228         * css/CSSImageSetValue.cpp:
2229         (WebCore::CSSImageSetValue::fillImageSet):
2230         * css/CSSPageRule.cpp:
2231         (WebCore::CSSPageRule::reattach):
2232         * css/CSSStyleRule.cpp:
2233         (WebCore::CSSStyleRule::reattach):
2234         * css/StyleBuilder.cpp:
2235         (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
2236         (WebCore::ApplyPropertyTextDecoration::applyValue):
2237         (WebCore::ApplyPropertyZoom::applyValue):
2238         * css/StyleResolver.cpp:
2239         (WebCore::createGridPosition):
2240         (WebCore::StyleResolver::applyProperty):
2241         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
2242         * css/WebKitCSSFilterRule.cpp:
2243         (WebCore::WebKitCSSFilterRule::reattach):
2244         * css/WebKitCSSKeyframesRule.cpp:
2245         (WebCore::WebKitCSSKeyframesRule::reattach):
2246         * css/WebKitCSSViewportRule.cpp:
2247         (WebCore::WebKitCSSViewportRule::reattach):
2248         * editing/EditCommand.h:
2249         (WebCore::toSimpleEditCommand):
2250         * editing/visible_units.cpp:
2251         (WebCore::startOfParagraph):
2252         (WebCore::endOfParagraph):
2253         * html/HTMLCollection.cpp:
2254         (WebCore::LiveNodeListBase::setItemCache):
2255         * loader/ThreadableLoader.cpp:
2256         (WebCore::ThreadableLoader::create):
2257         (WebCore::ThreadableLoader::loadResourceSynchronously):
2258         * loader/WorkerThreadableLoader.cpp:
2259         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
2260         * page/Frame.cpp:
2261         (WebCore::Frame::frameForWidget):
2262         * platform/RefCountedSupplement.h:
2263         (WebCore::RefCountedSupplement::from):
2264         * rendering/RenderBlock.cpp:
2265         (WebCore::RenderBlock::splitBlocks):
2266         (WebCore::RenderBlock::firstLineBlock):
2267         * rendering/RenderBlockLineLayout.cpp:
2268         (WebCore::RenderBlock::createLineBoxes):
2269         * rendering/RenderBox.cpp:
2270         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
2271         * rendering/svg/RenderSVGText.cpp:
2272         (WebCore::RenderSVGText::positionForPoint):
2273         * rendering/svg/SVGRootInlineBox.cpp:
2274         (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
2275         (WebCore::SVGRootInlineBox::layoutChildBoxes):
2276         * testing/js/WebCoreTestSupport.cpp:
2277         (WebCoreTestSupport::resetInternalsObject):
2278         * testing/v8/WebCoreTestSupport.cpp:
2279         (WebCoreTestSupport::resetInternalsObject):
2280         * workers/DefaultSharedWorkerRepository.cpp:
2281         (WebCore::SharedWorkerProxy::addToWorkerDocuments):
2282         (WebCore::SharedWorkerConnectTask::performTask):
2283         * workers/SharedWorker.cpp:
2284         (WebCore::SharedWorker::create):
2285         * workers/WorkerContext.cpp:
2286         (WebCore::CloseWorkerContextTask::performTask):
2287         * workers/WorkerMessagingProxy.cpp:
2288         (WebCore::MessageWorkerContextTask::performTask):
2289         (WebCore::connectToWorkerContextInspectorTask):
2290         (WebCore::disconnectFromWorkerContextInspectorTask):
2291         (WebCore::dispatchOnInspectorBackendTask):
2292         * workers/WorkerScriptLoader.cpp:
2293         (WebCore::WorkerScriptLoader::loadSynchronously):
2294         * workers/WorkerThread.cpp:
2295         (WebCore::WorkerThreadShutdownFinishTask::performTask):
2296         (WebCore::WorkerThreadShutdownStartTask::performTask):
2297
2298 2013-02-04  Dominik Röttsches  <dominik.rottsches@intel.com>
2299
2300         [Skia] Argument to HarfBuzzShaper::offsetForPosition unnecessarily truncated
2301         https://bugs.webkit.org/show_bug.cgi?id=108479
2302
2303         Reviewed by Emil A Eklund.
2304
2305         Remove a FIXME that intended to solve the value truncation.
2306         Should positively affect SVG text positioning.
2307
2308         No new tests, partially covered by manual test
2309         ManualTests/harfbuzz-mouse-selection-crash.html.
2310
2311         * platform/graphics/harfbuzz/FontHarfBuzz.cpp:
2312         (WebCore::Font::offsetForPositionForComplexText):
2313
2314 2013-02-04  Vladislav Kaznacheev  <kaznacheev@chromium.org>
2315
2316         Web Inspector: Create a container class for SidebarPane instances
2317         https://bugs.webkit.org/show_bug.cgi?id=108183
2318
2319         Reviewed by Pavel Feldman.
2320
2321         SidebarPaneStack is responsible for pane title bar and expand/collapse behavior (previously handled by SidebarPane).
2322         SidebarPanes are inserted into DOM lazily and can belong to more than one container.
2323         SidebarPane is ready to be displayed in other types of containers (such as tabbed pane as requested in https://bugs.webkit.org/show_bug.cgi?id=107552).
2324         There should be no visible changes except for one: DOM breakpoint pane expand/collapse state is no longer
2325         shared between Elements and Sources sidebars.
2326
2327         * inspector/front-end/AuditResultView.js:
2328         (WebInspector.AuditResultView):
2329         * inspector/front-end/BreakpointsSidebarPane.js:
2330         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._addBreakpoint):
2331         (WebInspector.XHRBreakpointsSidebarPane.prototype.highlightBreakpoint):
2332         (WebInspector.EventListenerBreakpointsSidebarPane.prototype.highlightBreakpoint):
2333         * inspector/front-end/DOMBreakpointsSidebarPane.js:
2334         (WebInspector.DOMBreakpointsSidebarPane.prototype.highlightBreakpoint):
2335         * inspector/front-end/ElementsPanel.js:
2336         (WebInspector.ElementsPanel):
2337         (WebInspector.ElementsPanel.prototype.wasShown):
2338         (WebInspector.ElementsPanel.prototype.updateStyles):
2339         (WebInspector.ElementsPanel.prototype.updateMetrics):
2340         (WebInspector.ElementsPanel.prototype.updateProperties):
2341         (WebInspector.ElementsPanel.prototype.updateEventListeners):
2342         * inspector/front-end/ExtensionPanel.js:
2343         (WebInspector.ExtensionSidebarPane):
2344         * inspector/front-end/ExtensionServer.js:
2345         (WebInspector.ExtensionServer.prototype._onCreateSidebarPane):
2346         * inspector/front-end/ScriptsPanel.js:
2347         (WebInspector.ScriptsPanel.prototype.wasShown):
2348         * inspector/front-end/SidebarPane.js:
2349         (WebInspector.SidebarPane):
2350         (WebInspector.SidebarPane.prototype.title):
2351         (WebInspector.SidebarPane.prototype.prepareContent):
2352         (WebInspector.SidebarPane.prototype.expand):
2353         (WebInspector.SidebarPane.prototype.onContentReady):
2354         (WebInspector.SidebarPane.prototype.setExpandCallback):
2355         (WebInspector.SidebarPane.prototype.setShowCallback):
2356         (WebInspector.SidebarPane.prototype.wasShown):
2357         (WebInspector.SidebarPaneStack):
2358         (WebInspector.SidebarPaneStack.prototype.wasShown):
2359         (WebInspector.SidebarPaneStack.prototype.addPane):
2360         (WebInspector.SidebarPaneStack.prototype._addTitle):
2361         (WebInspector.SidebarPaneStack.prototype._attachToPane):
2362         (WebInspector.SidebarPaneStack.prototype._isExpanded):
2363         (WebInspector.SidebarPaneStack.prototype._setExpanded):
2364         (WebInspector.SidebarPaneStack.prototype._onPaneExpanded):
2365         (WebInspector.SidebarPaneStack.prototype._collapsePane):
2366         (WebInspector.SidebarPaneStack.prototype._togglePane):
2367         (WebInspector.SidebarPaneStack.prototype._onTitleKeyDown):
2368         * inspector/front-end/StylesSidebarPane.js:
2369         (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
2370         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
2371         (WebInspector.StylesSidebarPane.prototype.set _createNewRule):
2372         (WebInspector.ComputedStyleSidebarPane.prototype.prepareContent):
2373         * inspector/front-end/WatchExpressionsSidebarPane.js:
2374         (WebInspector.WatchExpressionsSidebarPane):
2375         (WebInspector.WatchExpressionsSidebarPane.prototype.wasShown):
2376         (WebInspector.WatchExpressionsSidebarPane.prototype.addExpression):
2377         (WebInspector.WatchExpressionsSidebarPane.prototype._addButtonClicked):
2378         * inspector/front-end/inspector.css:
2379         (.pane-title + .pane-title, .pane:not(.visible) + .pane-title, .pane-title:first-of-type):
2380         (.pane-title):
2381         (.pane-title:active):
2382         (.pane-title::before):
2383         (.pane-title.expanded::before):
2384         (.pane-title > select):
2385         (.pane-title > select:hover):
2386         (.pane-title > select:active):
2387         (.pane-title > select.select-settings):
2388         (.pane-title > select.select-filter):
2389         (.pane-title > select > option, .pane-title > select > hr):
2390         (.pane-title > .pane-title-button):
2391         (.pane-title > .pane-title-button:hover):
2392         (.pane-title > .pane-title-button:active, .pane-title > .pane-title-button.toggled):
2393         (.pane-title > .pane-title-button.add):
2394         (.pane-title > .pane-title-button.element-state):
2395         (.pane-title > .pane-title-button.refresh):
2396         (.pane.visible > .body):
2397         (.pane.visible:nth-last-of-type(1)):
2398         (.panel-enabler-view button:not(.status-bar-item), .pane-title-button, button.show-all-nodes):
2399         (.panel-enabler-view button:active:not(.status-bar-item), .pane-title-button:active, button.show-all-nodes:active):
2400         (body.inactive .panel-enabler-view button:not(.status-bar-item), .panel-enabler-view button:disabled:not(.status-bar-item), body.inactive .pane-title-button, .pane-title-button:disabled, body.inactive button.show-all-nodes):
2401
2402 2013-02-01  Emil A Eklund  <eae@chromium.org>
2403
2404         Remove duplicate code in RenderBoxModelObject::computedCSSPadding*
2405         https://bugs.webkit.org/show_bug.cgi?id=108707
2406
2407         Reviewed by Eric Seidel.
2408         
2409         The computedCSSPaddingTop/Bottom/... methods in
2410         RenderBoxModelObject all do pretty much exactly the same thing
2411         yet share no code.
2412         
2413         Break out shared code into computedCSSPadding method and have
2414         the top/bottom/left/right/... ones call it with the appropriate
2415         length value.
2416
2417         No new tests, no change in functionality.
2418
2419         * rendering/RenderBoxModelObject.cpp:
2420         (WebCore::RenderBoxModelObject::computedCSSPadding):
2421         * rendering/RenderBoxModelObject.h:
2422         (WebCore::RenderBoxModelObject::computedCSSPaddingTop):
2423         (WebCore::RenderBoxModelObject::computedCSSPaddingBottom):
2424         (WebCore::RenderBoxModelObject::computedCSSPaddingLeft):
2425         (WebCore::RenderBoxModelObject::computedCSSPaddingRight):
2426         (WebCore::RenderBoxModelObject::computedCSSPaddingBefore):
2427         (WebCore::RenderBoxModelObject::computedCSSPaddingAfter):
2428         (WebCore::RenderBoxModelObject::computedCSSPaddingStart):
2429         (WebCore::RenderBoxModelObject::computedCSSPaddingEnd):
2430         (RenderBoxModelObject):
2431
2432 2013-02-04  Andrey Lushnikov  <lushnikov@chromium.org>
2433
2434         Web Inspector: add round braces to javascript tokenizer
2435         https://bugs.webkit.org/show_bug.cgi?id=108692
2436
2437         Reviewed by Pavel Feldman.
2438
2439         Change SourceJavascriptTokenizer.re2js file to produce "brace-start"
2440         and "brace-end" tokens for round braces.
2441         Regenerate SourceJavascriptTokenizer.js according to new re2js file.
2442
2443         No new tests: no change in behaviour.
2444
2445         * inspector/front-end/SourceJavaScriptTokenizer.js:
2446         (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
2447         * inspector/front-end/SourceJavaScriptTokenizer.re2js:
2448
2449 2013-02-04  Pavel Feldman  <pfeldman@chromium.org>
2450
2451         Web Inspector: take page scale factor into account when updating overlay.
2452         https://bugs.webkit.org/show_bug.cgi?id=108831
2453
2454         Reviewed by Vsevolod Vlasov.
2455
2456         Otherwise, the ports that use page scale factor have broken overlay.
2457
2458         * inspector/InspectorOverlay.cpp:
2459         (WebCore::InspectorOverlay::update):
2460
2461 2013-02-04  Dan Carney  <dcarney@google.com>
2462
2463         [v8] explicit isolate parameter for MakeWeak calls
2464         https://bugs.webkit.org/show_bug.cgi?id=108818
2465
2466         Reviewed by Kentaro Hara.
2467
2468         No new tests. No change in functionality.
2469
2470         * bindings/v8/DOMDataStore.cpp:
2471         (WebCore::DOMDataStore::DOMDataStore):
2472         (WebCore::DOMDataStore::weakCallback):
2473         * bindings/v8/DOMDataStore.h:
2474         (WebCore::DOMDataStore::setWrapper):
2475         (WebCore::DOMDataStore::set):
2476         (WebCore::DOMDataStore::setWrapperInObject):
2477         (DOMDataStore):
2478         * bindings/v8/DOMWrapperMap.h:
2479         (WebCore::DOMWrapperMap::DOMWrapperMap):
2480         (WebCore::DOMWrapperMap::set):
2481         (WebCore::DOMWrapperMap::defaultWeakCallback):
2482         (DOMWrapperMap):
2483         * bindings/v8/DOMWrapperWorld.cpp:
2484         (WebCore::isolatedWorldWeakCallback):
2485         (WebCore::DOMWrapperWorld::makeContextWeak):
2486         * bindings/v8/ScriptState.cpp:
2487         (WebCore::ScriptState::ScriptState):
2488         (WebCore::ScriptState::weakReferenceCallback):
2489         * bindings/v8/ScriptState.h:
2490         (ScriptState):
2491         * bindings/v8/V8AbstractEventListener.cpp:
2492         (WebCore::V8AbstractEventListener::weakEventListenerCallback):
2493         (WebCore::V8AbstractEventListener::V8AbstractEventListener):
2494         (WebCore::V8AbstractEventListener::setListenerObject):
2495         * bindings/v8/V8AbstractEventListener.h:
2496         (V8AbstractEventListener):
2497         * bindings/v8/V8EventListener.cpp:
2498         (WebCore::V8EventListener::V8EventListener):
2499         * bindings/v8/V8LazyEventListener.cpp:
2500         (WebCore::V8LazyEventListener::V8LazyEventListener):
2501         * bindings/v8/V8MutationCallback.cpp:
2502         (WebCore::V8MutationCallback::V8MutationCallback):
2503         * bindings/v8/V8MutationCallback.h:
2504         (WebCore::V8MutationCallback::create):
2505         (WebCore::V8MutationCallback::weakCallback):
2506         * bindings/v8/V8NPObject.cpp:
2507         (WebCore::V8NPTemplateMap::set):
2508         (WebCore::V8NPTemplateMap::sharedInstance):
2509         (WebCore::V8NPTemplateMap::V8NPTemplateMap):
2510         (V8NPTemplateMap):
2511         (WebCore::V8NPTemplateMap::weakCallback):
2512         (WebCore::npObjectGetProperty):
2513         (WebCore):
2514         (WebCore::staticNPObjectMap):
2515         (WebCore::weakNPObjectCallback):
2516         * bindings/v8/V8ValueCache.cpp:
2517         (WebCore::cachedStringCallback):
2518         (WebCore::StringCache::v8ExternalStringSlow):
2519         * bindings/v8/custom/V8InjectedScriptManager.cpp:
2520         (WebCore::WeakReferenceCallback):
2521         (WebCore::createInjectedScriptHostV8Wrapper):
2522         * bindings/v8/custom/V8MutationObserverCustom.cpp:
2523         (WebCore::V8MutationObserver::constructorCallbackCustom):
2524
2525 2013-02-04  Dmitry Gozman  <dgozman@chromium.org>
2526
2527         Web Inspector: Allow user to change dock side by dragging toolbar
2528         https://bugs.webkit.org/show_bug.cgi?id=108073
2529
2530         Dragging toolbar to the right/bottom will change the dock side accordingly
2531         instead of changing the inspector window height (if dock to right is available).
2532
2533         Reviewed by Pavel Feldman.
2534
2535         No new tests, because of pure inspector UI change.
2536
2537         * inspector/front-end/DockController.js:
2538         (WebInspector.DockController.prototype.dockSide):
2539         * inspector/front-end/Toolbar.js:
2540         (WebInspector.Toolbar):
2541         (WebInspector.Toolbar.prototype._isDockedToBottom):
2542         (WebInspector.Toolbar.prototype._isUndocked):
2543         (WebInspector.Toolbar.prototype._toolbarDragStart):
2544         (WebInspector.Toolbar.prototype._toolbarDragEnd):
2545         (WebInspector.Toolbar.prototype._toolbarDrag):
2546         (WebInspector.Toolbar.prototype._toolbarDragMoveWindow):
2547         (WebInspector.Toolbar.prototype._toolbarDragChangeDocking):
2548         (WebInspector.Toolbar.prototype._toolbarDragChangeHeight):
2549         * inspector/front-end/UIUtils.js:
2550         (WebInspector._elementDragStart):
2551         (WebInspector._elementDragMove):
2552         (WebInspector._cancelDragEvents):
2553         (WebInspector._elementDragEnd):
2554
2555 2013-02-04  Andrey Kosyakov  <caseq@chromium.org>
2556
2557         Web Inspector: sync list of console API methods to that used by auto-complete
2558         https://bugs.webkit.org/show_bug.cgi?id=108804
2559
2560         Reviewed by Pavel Feldman.
2561
2562         - push new method names from InjectedScriptSource to RuntimeModel;
2563         - add a comment to InjectedScriptSource noting the necessity of keeping lists in sync.
2564
2565         * inspector/InjectedScriptSource.js:
2566         * inspector/front-end/RuntimeModel.js:
2567         (WebInspector.RuntimeModel.prototype.receivedPropertyNames):
2568         (WebInspector.RuntimeModel.prototype._completionsForExpression):
2569
2570 2013-02-04  Eugene Klyuchnikov  <eustas@chromium.org>
2571
2572         Web Inspector: [Network] Minor refactorings.
2573         https://bugs.webkit.org/show_bug.cgi?id=108162
2574
2575         Reviewed by Vsevolod Vlasov.
2576
2577         Apply minor refactorings to NetworkPanel.js
2578         Add hint to statusbar selector buttons.
2579
2580         * English.lproj/localizedStrings.js: Added hint string.
2581         * inspector/front-end/NetworkPanel.js:
2582         (WebInspector.NetworkLogView.prototype._createStatusBarItems): Ditto.
2583         (WebInspector.NetworkLogView.prototype._makeHeaderFragment):
2584         Applied minor refactoring.
2585         (WebInspector.NetworkLogView.prototype._createStatusBarItems.createFilterElement):
2586         Ditto.
2587         (WebInspector.NetworkLogView.prototype._updateOffscreenRows): Ditto.
2588         (WebInspector.NetworkPanel.prototype._onRowSizeChanged): Ditto.
2589
2590 2013-02-04  Eugene Klyuchnikov  <eustas@chromium.org>
2591
2592         Web Inspector: [CPU Profile] Apply minor refactorings and add JSDocs.
2593         https://bugs.webkit.org/show_bug.cgi?id=108437
2594
2595         Reviewed by Pavel Feldman.
2596
2597         CPU Profile code has obsolete inline-comments to clarify types.
2598         Currently we use JSDocs to specify types.
2599
2600         Also applied some minor refactorings.
2601
2602         * inspector/front-end/BottomUpProfileDataGridTree.js:
2603         (WebInspector.BottomUpProfileDataGridNode):
2604         Added JSDocs. Removed profileView parameter.
2605         (WebInspector.BottomUpProfileDataGridNode.prototype._takePropertiesFromProfileDataGridNode):
2606         Added JSDocs.
2607         (WebInspector.BottomUpProfileDataGridNode.prototype._keepOnlyChild):
2608         Ditto.
2609         (WebInspector.BottomUpProfileDataGridNode.prototype._merge):
2610         Ditto.
2611         (WebInspector.BottomUpProfileDataGridNode.prototype._sharedPopulate):
2612         Do not pass profileView to constructor.
2613         (WebInspector.BottomUpProfileDataGridTree):
2614         Added JSDocs. Renamed parameters.
2615         (WebInspector.BottomUpProfileDataGridTree.prototype.focus):
2616         Added JSDocs.
2617         (WebInspector.BottomUpProfileDataGridTree.prototype.exclude):
2618         Ditto.
2619         * inspector/front-end/CPUProfileView.js: Removed unused getter/setter.
2620         (WebInspector.CPUProfileView.prototype._getCPUProfileCallback):
2621         Un-nested. Added JSDocs.
2622         (WebInspector.CPUProfileView.prototype._getBottomUpProfileDataGridTree):
2623         Added JSDocs. Turned to method from getter. Simplified.
2624         (WebInspector.CPUProfileView.prototype._getTopDownProfileDataGridTree):
2625         Added JSDocs. Turned to method from getter.
2626         (WebInspector.CPUProfileView.prototype._assignParentsInProfile):
2627         Optimized.
2628         * inspector/front-end/DataGrid.js: Added JSDocs.
2629         * inspector/front-end/ProfileDataGridTree.js:
2630         (WebInspector.ProfileDataGridNode):
2631         Added JSDocs. Removed profileView parameter.
2632         (WebInspector.ProfileDataGridNode.prototype.createCell): Added JSDocs.
2633         (WebInspector.ProfileDataGridNode.prototype.sort): Ditto.
2634         (WebInspector.ProfileDataGridNode.prototype.insertChild): Ditto.
2635         (WebInspector.ProfileDataGridNode.prototype.removeChild): Ditto.
2636         (WebInspector.ProfileDataGridNode.prototype.removeChildren):
2637         Added JSDocs. Removed parameter.
2638         (WebInspector.ProfileDataGridNode.prototype.findChild): Added JSDocs.
2639         (WebInspector.ProfileDataGridTree): Added JSDocs. Renamed parameter.
2640         * inspector/front-end/TopDownProfileDataGridTree.js:
2641         (WebInspector.TopDownProfileDataGridNode):
2642         Added JSDocs. Removed profileView parameter.
2643         (WebInspector.TopDownProfileDataGridNode.prototype._sharedPopulate):
2644         Do not pass profileView to constructor.
2645         (WebInspector.TopDownProfileDataGridTree):
2646         Added JSDocs. Renamed parameter.
2647         (WebInspector.TopDownProfileDataGridTree.prototype.focus):
2648         Added JSDocs.
2649         (WebInspector.TopDownProfileDataGridTree.prototype.exclude):
2650         Ditto.
2651
2652 2013-02-04  Dan Carney  <dcarney@google.com>
2653
2654         [v8] use toV8Fast in hand coded callbacks
2655         https://bugs.webkit.org/show_bug.cgi?id=108817
2656
2657         Reviewed by Kentaro Hara.
2658
2659         No new tests. No change in functionality.
2660
2661         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2662         (WebCore::V8DOMWindow::openCallback):
2663         (WebCore::V8DOMWindow::indexedPropertyGetter):
2664         (WebCore::V8DOMWindow::namedPropertyGetter):
2665         * bindings/v8/custom/V8DocumentCustom.cpp:
2666         (WebCore::V8Document::evaluateCallback):
2667         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
2668         (WebCore::V8Document::locationAccessorGetter):
2669         * bindings/v8/custom/V8EventCustom.cpp:
2670         (WebCore::V8Event::dataTransferAccessorGetter):
2671         (WebCore::V8Event::clipboardDataAccessorGetter):
2672         * bindings/v8/custom/V8FileReaderCustom.cpp:
2673         (WebCore::V8FileReader::resultAccessorGetter):
2674         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
2675         (WebCore):
2676         (WebCore::getNamedItems):
2677         (WebCore::getItem):
2678         (WebCore::V8HTMLAllCollection::namedPropertyGetter):
2679         (WebCore::V8HTMLAllCollection::itemCallback):
2680         (WebCore::V8HTMLAllCollection::namedItemCallback):
2681         (WebCore::V8HTMLAllCollection::callAsFunctionCallback):
2682         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2683         (WebCore::V8HTMLCanvasElement::getContextCallback):
2684         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
2685         (WebCore::V8HTMLCollection::namedPropertyGetter):
2686         * bindings/v8/custom/V8HTMLElementCustom.cpp:
2687         (WebCore::V8HTMLElement::itemValueAccessorGetter):
2688         * bindings/v8/custom/V8HTMLFormControlsCollectionCustom.cpp:
2689         (WebCore):
2690         (WebCore::getNamedItems):
2691         (WebCore::V8HTMLFormControlsCollection::namedPropertyGetter):
2692         (WebCore::V8HTMLFormControlsCollection::namedItemCallback):
2693         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
2694         (WebCore::V8HTMLFormElement::indexedPropertyGetter):
2695         (WebCore::V8HTMLFormElement::namedPropertyGetter):
2696         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
2697         (WebCore::V8HTMLFrameSetElement::namedPropertyGetter):
2698         * bindings/v8/custom/V8HTMLLinkElementCustom.cpp:
2699         (WebCore::V8HTMLLinkElement::sizesAccessorGetter):
2700         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
2701         (WebCore):
2702         (WebCore::getNamedItems):
2703         (WebCore::V8HTMLOptionsCollection::namedPropertyGetter):
2704         (WebCore::V8HTMLOptionsCollection::namedItemCallback):
2705         (WebCore::V8HTMLOptionsCollection::indexedPropertyGetter):
2706         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
2707         (WebCore::V8HTMLSelectElement::indexedPropertyGetter):
2708         * bindings/v8/custom/V8MessageEventCustom.cpp:
2709         (WebCore::V8MessageEvent::dataAccessorGetter):
2710         (WebCore::V8MessageEvent::portsAccessorGetter):
2711         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
2712         (WebCore::V8NamedNodeMap::indexedPropertyGetter):
2713         (WebCore::V8NamedNodeMap::namedPropertyGetter):
2714         * bindings/v8/custom/V8NodeListCustom.cpp:
2715         (WebCore::V8NodeList::namedPropertyGetter):
2716         * bindings/v8/custom/V8PopStateEventCustom.cpp:
2717         (WebCore::V8PopStateEvent::stateAccessorGetter):
2718         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
2719         (WebCore::V8SQLTransactionSync::executeSqlCallback):
2720         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
2721         (WebCore::V8StyleSheetList::namedPropertyGetter):
2722         * bindings/v8/custom/V8TrackEventCustom.cpp:
2723         (WebCore::V8TrackEvent::trackAccessorGetter):
2724         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2725         (WebCore::V8XMLHttpRequest::responseAccessorGetter):
2726
2727 2013-02-04  David Kilzer  <ddkilzer@apple.com>
2728
2729         Remove duplicate entry from WebCore Xcode project
2730
2731             $ uniq Source/WebCore/WebCore.xcodeproj/project.pbxproj | diff -u - Source/WebCore/WebCore.xcodeproj/project.pbxproj | patch -p0 -R
2732             patching file Source/WebCore/WebCore.xcodeproj/project.pbxproj
2733
2734         * WebCore.xcodeproj/project.pbxproj: Remove duplicate.
2735
2736 2013-02-04  David Kilzer  <ddkilzer@apple.com>
2737
2738         Sort WebCore Xcode project file
2739
2740         * WebCore.xcodeproj/project.pbxproj:
2741
2742 2013-02-04  Dan Carney  <dcarney@google.com>
2743
2744         [v8] disable ascii check once latin-1 is enabled in v8
2745         https://bugs.webkit.org/show_bug.cgi?id=108805
2746
2747         Reviewed by Kentaro Hara.
2748
2749         No new tests. No change in functionality.
2750
2751         * bindings/v8/V8ValueCache.cpp:
2752         (WebCore::makeExternalString):
2753
2754 2013-02-04  Pavel Feldman  <pfeldman@chromium.org>
2755
2756         Web Inspector: make tabbed pane header a relayout boundary.
2757         https://bugs.webkit.org/show_bug.cgi?id=108650
2758
2759         Reviewed by Alexander Pavlov.
2760
2761         Otherwise, its measure width routine causes total reflow.
2762
2763         * inspector/front-end/tabbedPane.css:
2764         (.tabbed-pane-header):
2765
2766 2013-02-04  Hayato Ito  <hayato@chromium.org>
2767
2768         Split InspectorCSSOMWrappers out from StyleResolver.h into its own file.
2769         https://bugs.webkit.org/show_bug.cgi?id=108797
2770
2771         Reviewed by Hajime Morita.
2772
2773         This is a following patch after r141373. Now we can have
2774         InspectorCSSOMWrappers in its own file since CSSDefaultStyleSheets
2775         was factored out from StyleResolver.cpp in r141733.
2776
2777         WebCore/inspector/ directory is used for basic inspector
2778         functionalities. Therefore, I've put
2779         InspectorCSSOMWrappers.{h,cpp} in WebCore/css/ rather than
2780         WebCore/inspector/.
2781
2782         No new tests, refactoring only.
2783
2784         * CMakeLists.txt:
2785         * GNUmakefile.list.am:
2786         * Target.pri:
2787         * WebCore.gypi:
2788         * WebCore.xcodeproj/project.pbxproj:
2789         * css/CSSAllInOne.cpp:
2790         * css/InspectorCSSOMWrappers.cpp: Added.
2791         (WebCore):
2792         (WebCore::InspectorCSSOMWrappers::collectFromStyleSheetIfNeeded):
2793         (WebCore::InspectorCSSOMWrappers::collect):
2794         (WebCore::InspectorCSSOMWrappers::collectFromStyleSheetContents):
2795         (WebCore::InspectorCSSOMWrappers::collectFromStyleSheets):
2796         (WebCore::InspectorCSSOMWrappers::collectFromDocumentStyleSheetCollection):
2797         (WebCore::InspectorCSSOMWrappers::getWrapperForRuleInSheets):
2798         (WebCore::InspectorCSSOMWrappers::reportMemoryUsage):
2799         * css/InspectorCSSOMWrappers.h: Added.
2800         (WebCore):
2801         (InspectorCSSOMWrappers):
2802         * css/StyleResolver.cpp:
2803         * css/StyleResolver.h:
2804
2805 2013-02-04  Balazs Kelemen  <kbalazs@webkit.org>
2806
2807         [Soup] Wrap SoupSession by NetworkStorageSession
2808         https://bugs.webkit.org/show_bug.cgi?id=108615
2809
2810         Reviewed by Alexey Proskuryakov.
2811
2812         Implement NetworkStorageSession for ports using soup. It has been
2813         separated from NetworkingContext, so now we have a default storage
2814         session, which is the same as before but now wrapped with NetworkStorageSession,
2815         and it can be overridden by the networking context.
2816
2817         No change in behavior so no new tests.
2818
2819         * CMakeLists.txt:
2820         * GNUmakefile.list.am:
2821         * PlatformBlackBerry.cmake:
2822         * PlatformEfl.cmake:
2823         * loader/CookieJar.cpp:
2824         (WebCore):
2825         Now we also get the storage session from the networking context
2826         and not the other way.
2827
2828         * platform/network/NetworkStorageSession.h:
2829         (NetworkStorageSession):
2830         (WebCore::NetworkStorageSession::setSoupSession):
2831         (WebCore::NetworkStorageSession::soupSession):
2832         Hold a SoupSession pointer for ports using soup. Added a setter because it is
2833         necessary for API's that allow it to be specified per page, like EFL WK1.
2834
2835         * platform/network/NetworkingContext.h:
2836         (NetworkingContext):
2837         * platform/network/soup/CookieJarSoup.cpp:
2838         (WebCore::cookieJarForSession):
2839         * platform/network/soup/NetworkStorageSessionSoup.cpp: Copied from Source/WebKit2/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp.
2840         (WebCore::NetworkStorageSession::NetworkStorageSession):
2841         (WebCore::NetworkStorageSession::defaultStorageSession):
2842         (WebCore::NetworkStorageSession::createDefaultSession):
2843         (WebCore::NetworkStorageSession::createPrivateBrowsingSession):
2844         (WebCore::NetworkStorageSession::switchToNewTestingSession):
2845         * platform/network/soup/ResourceHandleSoup.cpp:
2846         (WebCore::sessionFromContext):
2847
2848         * CMakeLists.txt:
2849         * GNUmakefile.list.am:
2850         * PlatformBlackBerry.cmake:
2851         * PlatformEfl.cmake:
2852         * loader/CookieJar.cpp:
2853         (WebCore):
2854         * platform/network/NetworkStorageSession.h:
2855         (NetworkStorageSession):
2856         (WebCore::NetworkStorageSession::setSoupSession):
2857         (WebCore::NetworkStorageSession::soupSession):
2858         * platform/network/NetworkingContext.h:
2859         (NetworkingContext):
2860         * platform/network/soup/CookieJarSoup.cpp:
2861         (WebCore::cookieJarForSession):
2862         * platform/network/soup/ResourceHandleSoup.cpp:
2863         (WebCore::sessionFromContext):
2864
2865 2013-02-04  Andrey Lushnikov  <lushnikov@chromium.org>
2866
2867         Web Inspector: source location in statusbar has few bugs in it
2868         https://bugs.webkit.org/show_bug.cgi?id=108748
2869
2870         Reviewed by Vsevolod Vlasov.
2871
2872         Call super method statusBarItems in SnippetJavaScriptSourceFrame class
2873         and merge its results. Fix css styles for source location in statusbar
2874         and rename its css class into a less confusing name.
2875
2876         No new test: no change in behaviour.
2877
2878         * inspector/front-end/SnippetJavaScriptSourceFrame.js:
2879         (WebInspector.SnippetJavaScriptSourceFrame.prototype.statusBarItems):
2880         * inspector/front-end/SourceFrame.js:
2881         (WebInspector.SourceFrame):
2882         * inspector/front-end/inspector.css:
2883         (.source-frame-cursor-position):
2884
2885 2013-02-04  Mike West  <mkwst@chromium.org>
2886
2887         Cleanup: Normalize usage of ExceptionCode in ContainerNode::checkXxxChild()
2888         https://bugs.webkit.org/show_bug.cgi?id=108766
2889
2890         Reviewed by Kentaro Hara.
2891
2892         This patch refactors checkAddChild and checkReplaceChild to remove the
2893         creation of an extra ExceptionCode that's not necessary for the
2894         desired behavior, and to bring the ExceptionCode usage into line with
2895         the rest of WebKit (this was the only case where ExceptionCode was
2896         assigned inside an 'if' statement's condition).
2897
2898         After this patch, 'ec' will always be assigned a value, even if the
2899         result of 'checkAcceptChild' is 0. This would only change behavior if
2900         'ec' was non-zero coming into the function, and 'checkAcceptChild'
2901         returned 0. Since every callsite is either directly after an explicit
2902         zeroing of 'ec', or after an 'if (ec)' clause, that case should never
2903         appear. This patch, therefore, shouldn't visibly change WebKit's
2904         behavior.
2905
2906         * dom/ContainerNode.cpp:
2907         (WebCore::checkAddChild):
2908         (WebCore::checkReplaceChild):
2909
2910 2013-02-03  David Kilzer  <ddkilzer@apple.com>
2911
2912         Upstream ENABLE_PDFKIT_PLUGIN settting
2913         <http://webkit.org/b/108792>
2914
2915         Reviewed by Tim Horton.
2916
2917         * Configurations/FeatureDefines.xcconfig: Disable PDFKIT_PLUGIN
2918         on iOS since PDFKit is a Mac-only framework.
2919
2920 2013-02-03  Takashi Sakamoto  <tasak@google.com>
2921
2922         Split per-resolve logic out from StyleResolver.
2923         https://bugs.webkit.org/show_bug.cgi?id=96421
2924
2925         Reviewed by Eric Seidel.
2926
2927         Implemented class StyleResolver::State and added m_state to
2928         StyleResolver. All member variables used for per-resolve logic are
2929         moved into the state class.
2930
2931         No new tests, because just refactoring.
2932
2933         * css/SVGCSSStyleSelector.cpp:
2934         (WebCore::StyleResolver::applySVGProperty):
2935         * css/StyleResolver.cpp:
2936         (WebCore):
2937         (WebCore::StyleResolver::StyleResolver):
2938         (WebCore::StyleResolver::collectMatchingRules):
2939         (WebCore::StyleResolver::collectMatchingRulesForRegion):
2940         (WebCore::StyleResolver::sortAndTransferMatchedRules):
2941         (WebCore::StyleResolver::matchScopedAuthorRules):
2942         (WebCore::StyleResolver::styleSharingCandidateMatchesHostRules):
2943         (WebCore::StyleResolver::matchHostRules):
2944         (WebCore::StyleResolver::matchAuthorRules):
2945         (WebCore::StyleResolver::matchUserRules):
2946         (WebCore::StyleResolver::matchUARules):
2947         (WebCore::StyleResolver::collectMatchingRulesForList):
2948         (WebCore::StyleResolver::sortMatchedRules):
2949         (WebCore::StyleResolver::matchAllRules):
2950         (WebCore::StyleResolver::initElement):
2951         (WebCore::StyleResolver::initForStyleResolve):
2952         (WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
2953         (WebCore::StyleResolver::canShareStyleWithControl):
2954         (WebCore::StyleResolver::sharingCandidateHasIdenticalStyleAffectingAttributes):
2955         (WebCore::StyleResolver::canShareStyleWithElement):
2956         (WebCore::StyleResolver::locateSharedStyle):
2957         (WebCore::StyleResolver::styleForElement):
2958         (WebCore::StyleResolver::styleForKeyframe):
2959         (WebCore::StyleResolver::pseudoStyleForElement):
2960         (WebCore::StyleResolver::styleForPage):
2961         (WebCore::StyleResolver::defaultStyleForElement):
2962         (WebCore::StyleResolver::adjustRenderStyle):
2963         (WebCore::StyleResolver::updateFont):
2964         (WebCore::StyleResolver::cacheBorderAndBackground):
2965         (WebCore::StyleResolver::pseudoStyleRulesForElement):
2966         (WebCore::StyleResolver::ruleMatches):
2967         (WebCore::StyleResolver::checkRegionSelector):
2968         (WebCore::StyleResolver::applyProperties):
2969         (WebCore::StyleResolver::applyMatchedProperties):
2970         (WebCore::StyleResolver::isLeftPage):
2971         (WebCore::StyleResolver::applyPropertyToStyle):
2972         (WebCore::StyleResolver::useSVGZoomRules):
2973         (WebCore::createGridTrackBreadth):
2974         (WebCore::createGridTrackMinMax):
2975         (WebCore::createGridTrackGroup):
2976         (WebCore::createGridTrackList):
2977         (WebCore::StyleResolver::resolveVariables):
2978         (WebCore::StyleResolver::applyProperty):
2979         (WebCore::StyleResolver::cachedOrPendingFromValue):
2980         (WebCore::StyleResolver::generatedOrPendingFromValue):
2981         (WebCore::StyleResolver::setOrPendingFromValue):
2982         (WebCore::StyleResolver::cursorOrPendingFromValue):
2983         (WebCore::StyleResolver::checkForTextSizeAdjust):
2984         (WebCore::StyleResolver::initializeFontStyle):
2985         (WebCore::StyleResolver::setFontSize):
2986         (WebCore::StyleResolver::colorFromPrimitiveValue):
2987         (WebCore::StyleResolver::loadPendingSVGDocuments):
2988         (WebCore::StyleResolver::cachedOrPendingStyleShaderFromValue):
2989         (WebCore::StyleResolver::loadPendingShaders):
2990         (WebCore::StyleResolver::parseCustomFilterTransformParameter):
2991         (WebCore::StyleResolver::createFilterOperations):
2992         (WebCore::StyleResolver::loadPendingImage):
2993         (WebCore::StyleResolver::loadPendingImages):
2994         (WebCore::StyleResolver::reportMemoryUsage):
2995         * css/StyleResolver.h:
2996         (WebCore::StyleResolver::style):
2997         (WebCore::StyleResolver::parentStyle):
2998         (WebCore::StyleResolver::rootElementStyle):
2999         (WebCore::StyleResolver::element):
3000         (WebCore::StyleResolver::setFontDescription):
3001         (WebCore::StyleResolver::setZoom):
3002         (WebCore::StyleResolver::setEffectiveZoom):
3003         (WebCore::StyleResolver::setTextSizeAdjust):
3004         (WebCore::StyleResolver::setWritingMode):
3005         (WebCore::StyleResolver::setTextOrientation):
3006         (WebCore::StyleResolver::hasParentNode):
3007         (WebCore::StyleResolver::addMatchedRule):
3008         (StyleResolver):
3009         (State):
3010         (WebCore::StyleResolver::State::State):
3011         (WebCore::StyleResolver::applyPropertyToRegularStyle):
3012         (WebCore::StyleResolver::applyPropertyToVisitedLinkStyle):
3013         Added "m_state." to access member variables used for per-resolve logic.
3014
3015 2013-02-03  Kent Tamura  <tkent@chromium.org>
3016
3017         Support setLangAttributeAwareFormControlUIEnabled on Chromium Windows XP
3018         https://bugs.webkit.org/show_bug.cgi?id=108791
3019
3020         Reviewed by Kentaro Hara.
3021
3022         We didn't support setLangAttributeAwareFormControlUIEnabled(true) on
3023         Chromium Windows XP because of lack of LocaleNameToLCID API. This change
3024         add manual mapping from locale names to LCIDs for Windows XP.
3025
3026         No new tests. This doesn't make any behavior changes in products, and
3027         this improves some test results.
3028
3029         * platform/text/win/LocaleWin.cpp:
3030         (WebCore): Define NameToLCIDMap.
3031         (WebCore::removeLastComponent):
3032         Remove the last component separated with '-'.
3033         (WebCore::ensureNameToLCIDMap):
3034         Add locale names used in layout tests.
3035         (WebCore::convertLocaleNameToLCID):
3036         Find an appropriate LCID longest matching with the specified locale name.
3037         (WebCore::LCIDFromLocale):
3038         Use convertLocaleNameToLCID if LocaleNameToLCID is not available.
3039
3040 2013-02-03  Kent Tamura  <tkent@chromium.org>
3041
3042         Add FocusDirection argument to HTMLTextFormControlElement::handleFocusEvent
3043         https://bugs.webkit.org/show_bug.cgi?id=108775
3044
3045         Reviewed by Hajime Morita.
3046
3047         We'd like to add a FocusDirection argument to
3048         HTMLTextFormControlElement::handleFocusEvent in order to fix Bug
3049         108447. This is a preparation for it.
3050
3051         We need to add FocusDirection arguments to some focus-related functions
3052         to pass it correctly when TAB or Shift+TAB is pressed.
3053
3054         No new tests. This doesn't make any behavior changes.
3055
3056         * html/HTMLTextFormControlElement.cpp:
3057         (WebCore::HTMLTextFormControlElement::dispatchFocusEvent):
3058         To pass the FocusDirection argument to handleFocusEvent, we need to add
3059         it to dispatchFocusEvent too.
3060         * html/HTMLTextFormControlElement.h:
3061         (HTMLTextFormControlElement):
3062         Add FocusDirection arugment to dispatchFocusEvent.
3063         (WebCore::HTMLTextFormControlElement::handleFocusEvent):
3064         Add FocusDirection argument.
3065
3066         * dom/Node.cpp:
3067         (WebCore::Node::dispatchFocusEvent): Add FocusDirection argument.
3068         * dom/Node.h:
3069         (Node): Ditto.
3070
3071         * dom/Document.cpp:
3072         (WebCore::Document::setFocusedNode): Add FocusDirection argument in
3073         order to pass it to Node::dispatchFocusEvent.
3074         * dom/Document.h:
3075         (Document): Ditto.
3076
3077         * page/FocusController.cpp:
3078         (WebCore::dispatchEventsOnWindowAndFocusedNode):
3079         Adjust Node::dispatchFocusEvent argument.
3080         (WebCore::FocusController::advanceFocusInDocumentOrder):
3081         Pass FocusDirectio to Element::focus.
3082         (WebCore::FocusController::setFocusedNode):
3083         Add FocusDirection argument in order to pass it to Document::setFocusedNode.
3084         (WebCore::FocusController::advanceFocusDirectionallyInContainer):
3085         Pass FocusDirectio to Element::focus.
3086         * page/FocusController.h:
3087         (FocusController): Add FocusDirection argument to setFocusedNode.
3088
3089         * dom/Element.cpp:
3090         (WebCore::Element::focus):
3091         Add FocusDirection argument to pass it to FocusController::setFocusedNode.
3092         * dom/Element.h:
3093         (Element): Ditto.
3094
3095         * WebCore.exp.in:
3096         Update FocusController::setFocusedNode and Document::setFocusedNode.
3097
3098         * html/HTMLLabelElement.cpp:
3099         (WebCore::HTMLLabelElement::focus): Adjust FocusDirection argument.
3100         * html/HTMLLabelElement.h:
3101         (HTMLLabelElement): Ditto.
3102         * html/HTMLLegendElement.cpp:
3103         (WebCore::HTMLLegendElement::focus): Ditto.
3104         * html/HTMLLegendElement.h:
3105         (HTMLLegendElement): Ditto.
3106         * html/HTMLSelectElement.cpp:
3107         (WebCore::HTMLSelectElement::dispatchFocusEvent): Ditto.
3108         * html/HTMLSelectElement.h:
3109         (HTMLSelectElement): Ditto.
3110
3111         * html/HTMLInputElement.cpp:
3112         (WebCore::HTMLInputElement::defaultFocus):
3113         Add FocusDirection argument in order to pass it from
3114         HTMLInputElement::focus() to HTMLTextFormControlElement::focus().
3115         (WebCore::HTMLInputElement::focus):
3116         Pass the FocusDirection argument to InputType::focus. See above.
3117         (WebCore::HTMLInputElement::handleFocusEvent):
3118         Adjust FocusDirection argument.
3119         * html/HTMLInputElement.h:
3120         (HTMLInputElement):
3121         * html/InputType.cpp:
3122         (WebCore::InputType::focus): Add FocusDirection argument.
3123         * html/InputType.h:
3124         (InputType): Ditto.
3125
3126         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
3127         (WebCore::BaseMultipleFieldsDateAndTimeInputType::focus):
3128         Add FocusDirection argument to follow InputType.
3129         * html/BaseMultipleFieldsDateAndTimeInputType.h:
3130         (BaseMultipleFieldsDateAndTimeInputType): Ditto.
3131
3132 2013-02-03  Kassy Coan  <kassycoan@chromium.org>
3133
3134         Adds usage instrumentation for indexedDB
3135         Includes new header file in project files
3136
3137         https://bugs.webkit.org/show_bug.cgi?id=107772
3138
3139         Reviewed by Tony Chang.
3140
3141         Currently untestable. Has zero effect apart from histogramming.
3142
3143         * GNUmakefile.list.am:
3144         * Modules/indexeddb/IDBDatabase.cpp:
3145         (WebCore::IDBDatabase::createObjectStore):
3146         (WebCore::IDBDatabase::deleteObjectStore):
3147         (WebCore::IDBDatabase::transaction):
3148         * Modules/indexeddb/IDBFactory.cpp:
3149         (WebCore::IDBFactory::openInternal):
3150         (WebCore::IDBFactory::deleteDatabase):
3151         * Modules/indexeddb/IDBHistograms.h: Added.
3152         (WebCore):
3153         * Target.pri:
3154         * WebCore.gypi:
3155         * WebCore.vcproj/WebCore.vcproj:
3156         * WebCore.xcodeproj/project.pbxproj:
3157
3158 2013-02-03  Hayato Ito  <hayato@chromium.org>
3159
3160         Split default style-sheet statics out from StyleResolver into its own class
3161         https://bugs.webkit.org/show_bug.cgi?id=107780
3162
3163         Reviewed by Dimitri Glazkov.
3164
3165         Factored static variables and logic about default style sheets out from StyleResolver into its own class
3166         CSSDefaultStyleSheets. This is a following patch after r141373.
3167
3168         No new tests, refactoring only.
3169
3170         * CMakeLists.txt:
3171         * GNUmakefile.list.am:
3172         * Target.pri:
3173         * WebCore.gypi:
3174         * WebCore.xcodeproj/project.pbxproj:
3175         * css/CSSAllInOne.cpp:
3176         * css/CSSDefaultStyleSheets.cpp: Added.
3177         (WebCore):
3178         (WebCore::elementCanUseSimpleDefaultStyle):
3179         (WebCore::screenEval):
3180         (WebCore::printEval):
3181         (WebCore::parseUASheet):
3182         (WebCore::CSSDefaultStyleSheets::initDefaultStyle):
3183         (WebCore::CSSDefaultStyleSheets::loadFullDefaultStyle):
3184         (WebCore::CSSDefaultStyleSheets::loadSimpleDefaultStyle):
3185         (WebCore::CSSDefaultStyleSheets::viewSourceStyle):
3186         (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
3187         * css/CSSDefaultStyleSheets.h: Added.
3188         (WebCore):
3189         (CSSDefaultStyleSheets):
3190         * css/StyleResolver.cpp:
3191         (WebCore):
3192         (WebCore::StyleResolver::StyleResolver):
3193         (WebCore::StyleResolver::matchUARules):
3194         (WebCore::StyleResolver::styleForElement):
3195         (WebCore::StyleResolver::styleForPage):
3196         (WebCore::InspectorCSSOMWrappers::getWrapperForRuleInSheets):
3197         (WebCore::StyleResolver::collectFeatures):
3198         (WebCore::StyleResolver::reportMemoryUsage):
3199
3200 2013-02-03  Kentaro Hara  <haraken@chromium.org>
3201
3202         [V8] Simplify CodeGeneratorV8.pm by using InheritsExtendedAttribute("EventTarget")
3203         https://bugs.webkit.org/show_bug.cgi?id=108441
3204
3205         Reviewed by Adam Barth.
3206
3207         A complicated condition in GetInternalFields() can be simplified
3208         by using InheritsExtendedAttribute("EventTarget").
3209
3210         No tests. No change in behavior.
3211
3212         * bindings/scripts/CodeGeneratorV8.pm:
3213         (GetInternalFields):
3214         * dom/EventTarget.idl: Added [EventTarget] which should have been added.
3215         * svg/SVGElementInstance.idl: Ditto.
3216
3217 2013-02-03  Gustavo Noronha Silva  <gns@gnome.org>
3218
3219         [Soup] Do not use local variables for the client
3220         https://bugs.webkit.org/show_bug.cgi?id=108714
3221
3222         Reviewed by Martin Robinson.
3223
3224         Covered by existing tests, refactoring code only.
3225
3226         We have had problems in the past with the client being destroyed or
3227         changed inside a method or function, and we ended up with a stale
3228         pointer, leading to crashes. This refactoring is an effort to minimize
3229         the possibility of hitting that same issue in the future.
3230
3231         * platform/network/soup/ResourceHandleSoup.cpp:
3232         (WebCore::redirectSkipCallback): no longer use a local variable to hold
3233         the client.
3234         (WebCore::wroteBodyDataCallback): ditto.
3235         (WebCore::nextMultipartResponsePartCallback): ditto.
3236         (WebCore::sendRequestCallback): ditto.
3237         (WebCore::closeCallback): ditto.
3238         (WebCore::readCallback): ditto.
3239
3240 2013-02-03  Kentaro Hara  <haraken@chromium.org>
3241
3242         [V8] Pass an Isolate to HasInstance() (part 1)
3243         https://bugs.webkit.org/show_bug.cgi?id=108617
3244
3245         Reviewed by Adam Barth.
3246
3247         This is one of efforts to pass an Isolate to GetTemplate().
3248
3249         No tests. No change in behavior.
3250
3251         * bindings/scripts/CodeGeneratorV8.pm:
3252         (JSValueToNative):
3253         * bindings/scripts/test/V8/V8Float64Array.cpp:
3254         (WebCore::Float64ArrayV8Internal::fooCallback):
3255         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
3256         (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionCallback):
3257         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
3258         (WebCore::TestEventTargetV8Internal::dispatchEventCallback):
3259         * bindings/scripts/test/V8/V8TestInterface.cpp:
3260         (WebCore::TestInterfaceV8Internal::supplementalNodeAttrSetter):
3261         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
3262         * bindings/scripts/test/V8/V8TestObj.cpp:
3263         (WebCore::TestObjV8Internal::testObjAttrAttrSetter):
3264         (WebCore::TestObjV8Internal::XMLObjAttrAttrSetter):
3265         (WebCore::TestObjV8Internal::typedArrayAttrAttrSetter):
3266         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrSetter):
3267         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetter):
3268         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrSetter):
3269         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrSetter):
3270         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter):
3271         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetter):
3272         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetter):
3273         (WebCore::TestObjV8Internal::mutablePointAttrSetter):
3274         (WebCore::TestObjV8Internal::immutablePointAttrSetter):
3275         (WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
3276         (WebCore::TestObjV8Internal::longMethodWithArgsCallback):
3277         (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
3278         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
3279         (WebCore::TestObjV8Internal::overloadedMethod1Callback):
3280         (WebCore::TestObjV8Internal::overloadedMethod2Callback):
3281         (WebCore::TestObjV8Internal::overloadedMethod8Callback):
3282         (WebCore::TestObjV8Internal::convert1Callback):
3283         (WebCore::TestObjV8Internal::convert2Callback):
3284         (WebCore::TestObjV8Internal::convert4Callback):
3285         (WebCore::TestObjV8Internal::convert5Callback):
3286         (WebCore::TestObjV8Internal::variadicNodeMethodCallback):
3287         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
3288         (WebCore::V8TestOverloadedConstructors::constructor1Callback):
3289         (WebCore::V8TestOverloadedConstructors::constructor2Callback):
3290         (WebCore::V8TestOverloadedConstructors::constructor3Callback):
3291         * bindings/v8/Dictionary.cpp:
3292         (WebCore::Dictionary::get):
3293         * bindings/v8/ScriptProfiler.cpp:
3294         (WebCore::ScriptProfiler::visitNodeWrappers):
3295         * bindings/v8/SerializedScriptValue.cpp:
3296         (WebCore::SerializedScriptValue::SerializedScriptValue):
3297         (WebCore::SerializedScriptValue::deserialize):
3298         * bindings/v8/V8Binding.cpp:
3299         (WebCore::toDOMStringList):
3300         (WebCore::toXPathNSResolver):
3301         * bindings/v8/V8Binding.h:
3302         (WebCore):
3303         * bindings/v8/V8Collection.cpp:
3304         (WebCore::toOptionsCollectionSetter):
3305         * bindings/v8/V8GCController.cpp:
3306         (WebCore::WrapperVisitor::WrapperVisitor):
3307         (WrapperVisitor):
3308         (WebCore::V8GCController::majorGCPrologue):
3309         * bindings/v8/V8NPObject.cpp:
3310         (WebCore::npObjectInvokeImpl):
3311         * bindings/v8/V8Utilities.cpp:
3312         (WebCore::extractTransferables):
3313         * bindings/v8/custom/V8DocumentCustom.cpp:
3314         (WebCore::V8Document::evaluateCallback):
3315
3316 2013-02-03  Joanmarie Diggs  <jdiggs@igalia.com>
3317
3318         [GTK] Make distcheck fails
3319         https://bugs.webkit.org/show_bug.cgi?id=108756
3320
3321         Reviewed by Kentaro Hara.
3322
3323         * GNUmakefile.list.am: Remove header files which no longer exist;
3324         correct one which got added incorrectly.
3325
3326 2013-02-03  Kentaro Hara  <haraken@chromium.org>
3327
3328         [V8] Pass an Isolate to HasInstance() (part 3)
3329         https://bugs.webkit.org/show_bug.cgi?id=108622
3330
3331         Reviewed by Adam Barth.
3332
3333         This is one of efforts to pass an Isolate to GetTemplate().
3334
3335         No tests. No change in behavior.
3336
3337         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3338         (WebCore::V8InjectedScriptHost::isHTMLAllCollectionCallback):
3339         (WebCore::V8InjectedScriptHost::typeCallback):
3340         (WebCore::V8InjectedScriptHost::getEventListenersCallback):
3341         * bindings/v8/custom/V8NodeCustom.cpp:
3342         (WebCore::V8Node::insertBeforeCallback):
3343         (WebCore::V8Node::replaceChildCallback):
3344         (WebCore::V8Node::removeChildCallback):
3345         (WebCore::V8Node::appendChildCallback):
3346         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
3347         (WebCore::toWebGLUniformLocation):
3348         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
3349         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
3350         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
3351         (WebCore::V8WebGLRenderingContext::getUniformCallback):
3352         (WebCore::vertexAttribAndUniformHelperf):
3353         (WebCore::uniformHelperi):
3354         (WebCore::uniformMatrixHelper):
3355         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3356         (WebCore::isDocumentType):
3357         (WebCore::V8XMLHttpRequest::sendCallback):
3358
3359 2013-02-03  Kentaro Hara  <haraken@chromium.org>
3360
3361         [V8] Pass an Isolate to HasInstance() (part 2)
3362         https://bugs.webkit.org/show_bug.cgi?id=108620
3363
3364         Reviewed by Adam Barth.
3365
3366         This is one of efforts to pass an Isolate to GetTemplate().
3367
3368         No tests. No change in behavior.
3369
3370         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
3371         (WebCore::constructWebGLArray):
3372         (WebCore::setWebGLArrayHelper):
3373         * bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp:
3374         (WebCore::V8AudioBufferSourceNode::bufferAccessorSetter):
3375         * bindings/v8/custom/V8BlobCustom.cpp:
3376         (WebCore::V8Blob::constructorCallbackCustom):
3377         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
3378         (WebCore::toCanvasStyle):
3379         (WebCore::V8CanvasRenderingContext2D::strokeStyleAccessorSetter):
3380         * bindings/v8/custom/V8ClipboardCustom.cpp:
3381         (WebCore::V8Clipboard::setDragImageCallback):
3382         * bindings/v8/custom/V8CryptoCustom.cpp:
3383         (WebCore::V8Crypto::getRandomValuesCallback):
3384         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
3385         (WebCore::V8DOMFormData::constructorCallbackCustom):
3386         (WebCore::V8DOMFormData::appendCallback):
3387         * bindings/v8/custom/V8DataViewCustom.cpp:
3388         (WebCore::V8DataView::constructorCallbackCustom):
3389         * bindings/v8/custom/V8DocumentCustom.cpp:
3390         (WebCore::V8Document::evaluateCallback):
3391         * bindings/v8/custom/V8HTMLMediaElementCustom.cpp:
3392         (WebCore::V8HTMLMediaElement::controllerAccessorSetter):
3393         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
3394         (WebCore::V8HTMLOptionsCollection::addCallback):
3395         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
3396         (WebCore::removeElement):
3397
3398 2013-02-03  Mike West  <mkwst@chromium.org>
3399
3400         Cleanup: 'ExceptionCode& ec', not 'ExceptionCode &ec'.
3401         https://bugs.webkit.org/show_bug.cgi?id=108769
3402
3403         Reviewed by Eric Seidel.
3404
3405         Does what it says on the tin: reference parameters should read
3406         'type& name', and this patch fixes the two occurances of 'type &name'
3407         that cropped up for ExceptionCode.
3408
3409         Pure style change; no effect on behavior.
3410
3411         * html/HTMLOptionsCollection.cpp:
3412         (WebCore::HTMLOptionsCollection::add):
3413
3414 2013-02-02  Jun Jiang  <jun.a.jiang@intel.com>
3415
3416         Optimize some operations for float type in texture format conversions of WebGL
3417         https://bugs.webkit.org/show_bug.cgi?id=107526
3418
3419         Reviewed by Darin Adler.
3420
3421         Some small changes are made to optimize the operations for float type in the texture format conversion of WebGL to improve performance.
3422
3423         Already covered by current tests.
3424
3425         * platform/graphics/GraphicsContext3D.cpp:
3426         (WebCore):
3427
3428 2013-02-02  Simon Fraser  <simon.fraser@apple.com>
3429
3430         Clean up the storage of dirty bits on nodes in the scrolling state tree
3431         https://bugs.webkit.org/show_bug.cgi?id=108744
3432
3433         Reviewed by Sam Weinig.
3434
3435         ScrollingStateNode and its subclasses used different techniques for
3436         tracking which properties changed. ScrollingStateNode tracked its layers
3437         via a bool member and some layer-specific methods, but also had virtual
3438         methods to allow subclasses to track properties via a bit mask.
3439         
3440         Clean this up by having the base class store the bit mask, and use
3441         enums to specify bits for the various properties. All properties are thus
3442         tracked in the same way. Bits are read and written through non-virtual member
3443         functions on ScrollingStateNode. All bit checking is done via hasChangedProperty().
3444
3445         * page/scrolling/ScrollingStateFixedNode.cpp:
3446         (WebCore::ScrollingStateFixedNode::ScrollingStateFixedNode): m_changedProperties is now on the base class.
3447         (WebCore::ScrollingStateFixedNode::updateConstraints): Use setPropertyChanged()
3448         * page/scrolling/ScrollingStateFixedNode.h: Remove overrides that are no longer needed.
3449         * page/scrolling/ScrollingStateNode.cpp:
3450         (WebCore::ScrollingStateNode::ScrollingStateNode): Initialize m_changedProperties,
3451         m_scrollLayerDidChange no longer tracked separately.
3452         (WebCore::ScrollingStateNode::cloneAndReset):
3453         * page/scrolling/ScrollingStateNode.h:
3454         (WebCore::ScrollingStateNode::hasChangedProperties):
3455         (WebCore::ScrollingStateNode::hasChangedProperty): Tests the bit.
3456         (WebCore::ScrollingStateNode::resetChangedProperties): Set all bits to 0.
3457         (WebCore::ScrollingStateNode::setPropertyChanged): Set the bit.
3458         (WebCore::ScrollingStateNode::changedProperties): Private to discourage incorrect usage
3459         (changeProperties() & foo).
3460         * page/scrolling/ScrollingStateScrollingNode.cpp:
3461         (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode): Base class does the copying now.
3462         (WebCore::ScrollingStateScrollingNode::setViewportRect): Use setPropertyChanged().
3463         (WebCore::ScrollingStateScrollingNode::setContentsSize): Ditto.
3464         (WebCore::ScrollingStateScrollingNode::setFrameScaleFactor): Etc.
3465         (WebCore::ScrollingStateScrollingNode::setNonFastScrollableRegion):
3466         (WebCore::ScrollingStateScrollingNode::setWheelEventHandlerCount):
3467         (WebCore::ScrollingStateScrollingNode::setShouldUpdateScrollLayerPositionOnMainThread):