Add ENABLE_DIALOG_ELEMENT and skeleton files
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-07-09  Matt Falkenhagen  <falken@chromium.org>
2
3         Add ENABLE_DIALOG_ELEMENT and skeleton files
4         https://bugs.webkit.org/show_bug.cgi?id=90521
5
6         Reviewed by Kent Tamura.
7
8         This adds the ENABLE_DIALOG_ELEMENT feature flag and dummy implementation files for <dialog>. In addition, a runtime feature flag is added.
9         The feature is diabled by default.
10
11         No new tests, as there is no behavior change.
12
13         * CMakeLists.txt:
14         * Configurations/FeatureDefines.xcconfig:
15         * DerivedSources.cpp:
16         * DerivedSources.make:
17         * DerivedSources.pri:
18         * Target.pri:
19         * WebCore.gypi:
20         * WebCore.xcodeproj/project.pbxproj:
21         * bindings/generic/RuntimeEnabledFeatures.cpp:
22         (WebCore):
23         * bindings/generic/RuntimeEnabledFeatures.h: Added a runtime feature flag for dialog.
24         (RuntimeEnabledFeatures):
25         (WebCore::RuntimeEnabledFeatures::dialogElementEnabled):
26         (WebCore::RuntimeEnabledFeatures::setDialogElementEnabled):
27         * dom/ContextFeatures.cpp:
28         (WebCore::ContextFeatures::dialogElementEnabled):
29         (WebCore):
30         * dom/ContextFeatures.h: Added a per-context flag for dialog so that dialog can be disabled in HTMLTagNames.in and DOMWindow.idl when the dialog runtime feature flag is off.
31         * html/HTMLDialogElement.cpp: Added.
32         (WebCore):
33         (WebCore::HTMLDialogElement::HTMLDialogElement):
34         (WebCore::HTMLDialogElement::create):
35         (WebCore::HTMLDialogElement::close):
36         (WebCore::HTMLDialogElement::show):
37         * html/HTMLDialogElement.h: Added.
38         (WebCore):
39         (HTMLDialogElement):
40         * html/HTMLDialogElement.idl: Added.
41         * html/HTMLElementsAllInOne.cpp:
42         * html/HTMLTagNames.in:
43         * page/DOMWindow.idl:
44
45 2012-07-09  Hayato Ito  <hayato@chromium.org>
46
47         Unreviewed gardening.
48         Remove an assertion starting to fail on interactive_ui_tests on Chromium OS.
49
50         * platform/graphics/chromium/LayerRendererChromium.cpp:
51         (WebCore::LayerRendererChromium::decideRenderPassAllocationsForFrame):
52
53 2012-07-09  Hayato Ito  <hayato@chromium.org>
54
55         Unreviewed gardening.
56         Build fix after r122175
57
58         * WebCore.gypi: Remove Source/WebCore/platform/graphics/qt/Extensions3DQt.{cpp,h}
59
60 2012-07-09  Kiran Muppala  <cmuppala@apple.com>
61
62         Improve performance of RenderInline::absoluteQuads for deeply nested inlines.
63         https://bugs.webkit.org/show_bug.cgi?id=90715
64
65         Reviewed by Maciej Stachowiak.
66
67         No new tests: functionality unchanged.
68
69         * rendering/RenderInline.cpp: Cache transformation from local to absolute coordinates using a
70         RenderGeometryMap and use it for subsequent mappings.
71         (WebCore::(anonymous namespace)::AbsoluteQuadsGeneratorContext::AbsoluteQuadsGeneratorContext):
72         (WebCore::(anonymous namespace)::AbsoluteQuadsGeneratorContext::operator()):
73
74 2012-07-09  Yoshifumi Inoue  <yosin@chromium.org>
75
76         [Chromium-Mac] Implement functions for localized time format information
77         https://bugs.webkit.org/show_bug.cgi?id=90237
78
79         Reviewed by Kent Tamura.
80
81         This patch introduces following localized time format related
82         functions:
83           - localizeTimeFormatText()
84           - localizeShortTimeFormatText()
85           - timeAMPMLabels
86         for Mac OSX in feature flag: ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
87
88         These function will be used by input type "time" with multiple input
89         fields UI.
90
91         Note: ICU version of localized time format functions are implemented
92         in https://bugs.webkit.org/show_bug.cgi?id=89965
93
94         Tests: WebKit/chromium/tests/LocaleMacTest.cpp
95
96         * platform/text/mac/LocaleMac.h:
97         (LocaleMac): Added time format related functions and variables.
98         * platform/text/mac/LocaleMac.mm:
99         (WebCore::createDateTimeFormatter): Added. A helper function for creating date time formatter.
100         (WebCore::LocaleMac::createShortDateFormatter): Changed to use createDateTimeFormatter.
101         (WebCore::LocaleMac::createTimeFormatter): Added.
102         (WebCore::LocaleMac::createShortTimeFormatter): Added.
103         (WebCore::LocaleMac::timeFormatText): Added.
104         (WebCore::LocaleMac::shortTimeFormatText): Added.
105         (WebCore::LocaleMac::timeAMPMLabels): Added.
106
107 2012-07-09  Alexandru Chiculita  <achicu@adobe.com>
108
109         [CSS Shaders] The FECustomFilter is not making the GL context active
110         https://bugs.webkit.org/show_bug.cgi?id=90840
111
112         Reviewed by Dean Jackson.
113
114         I've added a couple of makeContextCurrent() in the FECustomFilter related classes.
115         Also, removed the assumption that GraphicsContext3D::create() never returns 0.
116
117         No new tests, this was crashing on existing tests.
118
119         * platform/graphics/filters/CustomFilterCompiledProgram.cpp:
120         (WebCore::CustomFilterCompiledProgram::CustomFilterCompiledProgram):
121         (WebCore::CustomFilterCompiledProgram::~CustomFilterCompiledProgram):
122         * platform/graphics/filters/CustomFilterGlobalContext.cpp:
123         (WebCore::CustomFilterGlobalContext::prepareContextIfNeeded):
124         * platform/graphics/filters/CustomFilterMesh.cpp:
125         (WebCore::CustomFilterMesh::CustomFilterMesh):
126         (WebCore::CustomFilterMesh::~CustomFilterMesh):
127         * platform/graphics/filters/FECustomFilter.cpp:
128         (WebCore::FECustomFilter::deleteRenderBuffers):
129         (WebCore::FECustomFilter::platformApplySoftware):
130         (WebCore::FECustomFilter::initializeContext):
131         * platform/graphics/filters/FECustomFilter.h:
132         (FECustomFilter):
133
134 2012-07-09  Kent Tamura  <tkent@chromium.org>
135
136         REGRESSION(r114862-r114886): Fix a crash by switching the input type to hidden.
137         https://bugs.webkit.org/show_bug.cgi?id=90774
138
139         Reviewed by Andreas Kling.
140
141         Test: fast/forms/hidden/change-type-to-hidden-after-updating-value.html
142
143         * dom/Element.cpp:
144         (WebCore::Element::setAttributeInternal):
145         Pass a copy of the existing Attribute object.
146
147 2012-07-07  Philippe Normand  <pnormand@igalia.com>
148
149         [GStreamer] cache video dimensions
150         https://bugs.webkit.org/show_bug.cgi?id=90733
151
152         Reviewed by Martin Robinson.
153
154         Invalidate the cached video dimensions whenever the video-sink sink pad caps
155         change and let ::naturalSize() lazily recalculate them.
156
157         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
158         (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
159         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
160         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
161         (MediaPlayerPrivateGStreamer):
162
163 2012-07-09  Eric Penner  <epenner@google.com>
164
165         [chromium] Merge updates and idle updates into one pass
166         https://bugs.webkit.org/show_bug.cgi?id=90324
167
168         Reviewed by Adrienne Walker.
169
170         We no longer need to do painting is passes in order
171         to allocate memory in the right order. So this merges
172         updates and idle updates into one pass.
173
174         Covered by existing unit tests (some of which are
175         updated with this patch).
176
177         * platform/graphics/chromium/ContentLayerChromium.cpp:
178         (WebCore::ContentLayerChromium::needMoreUpdates):
179         * platform/graphics/chromium/ContentLayerChromium.h:
180         (ContentLayerChromium):
181         * platform/graphics/chromium/LayerChromium.h:
182         (WebCore::LayerChromium::needMoreUpdates):
183         * platform/graphics/chromium/TiledLayerChromium.cpp:
184         (WebCore::TiledLayerChromium::updateTiles):
185         (WebCore::TiledLayerChromium::updateLayerRect):
186         * platform/graphics/chromium/TiledLayerChromium.h:
187         (TiledLayerChromium):
188         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
189         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
190         (WebCore::CCLayerTreeHost::compositeAndReadback):
191         (WebCore::CCLayerTreeHost::updateLayers):
192         (WebCore::CCLayerTreeHost::paintMasksForRenderSurface):
193         (WebCore::CCLayerTreeHost::paintLayerContents):
194         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
195         (CCLayerTreeHost):
196
197 2012-07-09  Yoshifumi Inoue  <yosin@chromium.org>
198
199         [Platform] Introduce LocaleMac class
200         https://bugs.webkit.org/show_bug.cgi?id=90248
201
202         Reviewed by Kent Tamura.
203
204         This patch moves implementation of localized date format related
205         functions into LocaleMac class as of LocaleWin class for ease of
206         maintain and using specific locale in testing rather than system
207         default locale.
208
209         Tests: WebKit/chromium/tests/LocaleMacTest.cpp
210
211         * WebCore.gyp/WebCore.gyp: Include LocaleMac.mm
212         * WebCore.gypi:
213         * platform/text/mac/LocaleMac.h: Replace LocaleWin to LocaleMac.
214         * platform/text/mac/LocaleMac.mm:
215         (WebCore::LocaleMac::LocaleMac):
216         (WebCore::LocaleMac::~LocaleMac):
217         (WebCore::LocaleMac::create):
218         (WebCore::LocaleMac::currentLocale):
219         (WebCore::LocaleMac::createShortDateFormatter):
220         (WebCore::LocaleMac::parseDate):
221         (WebCore::LocaleMac::formatDate):
222         (WebCore::LocaleMac::dateFormatText):
223         (WebCore::LocaleMac::monthLabels):
224         (WebCore::LocaleMac::weekDayShortLabels):
225         (WebCore::LocaleMac::firstDayOfWeek):
226         * platform/text/mac/LocalizedDateMac.cpp:
227         (WebCore::parseLocalizedDate):
228         (WebCore::formatLocalizedDate):
229         (WebCore::localizedDateFormatText):
230         (WebCore::monthLabels):
231         (WebCore::weekDayShortLabels):
232         (WebCore::firstDayOfWeek):
233         * platform/text/mac/LocalizedDateMac.mm: Removed.
234
235 2012-07-09  Dana Jansens  <danakj@chromium.org>
236
237         [chromium] Create CCScopedTexture class for creating/freeing textures
238         https://bugs.webkit.org/show_bug.cgi?id=89485
239
240         Reviewed by Adrienne Walker.
241
242         This class provides a standard way to create texture ids in a way that
243         ensures they will be freed later.
244
245         Also includes a CCTexture base class that holds textureId, size, and
246         format together in a struct that can be used in place of storing an
247         unsigned textureId in other classes.
248
249         Unit tests: CCScopedTexureTest.NewScopedTexture
250                     CCScopedTexureTest.CreateScopedTexture
251                     CCScopedTexureTest.ScopedTextureIsDeleted
252                     CCScopedTexureTest.LoseScopedTexture
253
254         * WebCore.gypi:
255         * platform/graphics/chromium/cc/CCScopedTexture.cpp: Added.
256         (WebCore):
257         (WebCore::CCScopedTexture::CCScopedTexture):
258         (WebCore::CCScopedTexture::~CCScopedTexture):
259         (WebCore::CCScopedTexture::allocate):
260         (WebCore::CCScopedTexture::free):
261         (WebCore::CCScopedTexture::leak):
262         * platform/graphics/chromium/cc/CCScopedTexture.h: Added.
263         (WebCore):
264         (CCScopedTexture):
265         (WebCore::CCScopedTexture::create):
266         * platform/graphics/chromium/cc/CCTexture.cpp: Added.
267         (WebCore):
268         (WebCore::CCTexture::setDimensions):
269         (WebCore::CCTexture::bytes):
270         (WebCore::CCTexture::memorySizeBytes):
271         * platform/graphics/chromium/cc/CCTexture.h: Added.
272         (WebCore):
273         (CCTexture):
274         (WebCore::CCTexture::CCTexture):
275         (WebCore::CCTexture::id):
276         (WebCore::CCTexture::size):
277         (WebCore::CCTexture::format):
278         (WebCore::CCTexture::setId):
279
280 2012-07-09  Joshua Bell  <jsbell@chromium.org>
281
282         IndexedDB: deleteDatabase fails if transaction running in other database
283         https://bugs.webkit.org/show_bug.cgi?id=90822
284
285         Reviewed by Tony Chang.
286
287         The IDBLevelDBBackingStore was preventing a deleteDatabase() from running
288         if any other database was running a transaction. Fix by just creating a scratch
289         LevelDBTransaction for the delete steps.
290
291         Test: storage/indexeddb/deletedatabase-transaction.html
292
293         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
294         (WebCore::IDBLevelDBBackingStore::deleteDatabase): Use a LevelDBTransaction
295         directly.
296
297 2012-07-09  Pete Williamson  <petewil@google.com>
298
299         Changed the behavior of iconURLs to always recalculate the list.
300         https://bugs.webkit.org/show_bug.cgi?id=88665
301
302         Reviewed by Kent Tamura..
303
304         As it turns out, it can contain stale URLs in the case that some script
305         manipulates the DOM, which breaks scripts trying to reset the favicon
306         URL. Also added a method in Internals to allow tests to get the list of
307         icon
308
309         Tests: fast/dom/icon-url-change.html
310                fast/dom/icon-url-list.html
311
312         * WebCore.exp.in: export Document::iconURLs on the mac for the Internals class
313         * dom/Document.cpp:
314         (WebCore::Document::iconURLs): Changed the method to recalculate the iconURL list every time
315         (WebCore::Document::addIconURL): we no longer need to add to the internal list since we recalculate it
316         (WebCore::Document::setUseSecureKeyboardEntryWhenActive): removed extra whitespace
317         * dom/Document.h:
318         (Document): removed the addIconURL method which is no longer used
319         * html/HTMLLinkElement.cpp:
320         (WebCore::HTMLLinkElement::iconType): exposed the icon type with an accessor
321         (WebCore):
322         (WebCore::HTMLLinkElement::iconSizes): exposed the icon sizes with an accessor
323         * html/HTMLLinkElement.h:
324         (HTMLLinkElement): declared the icon type and size accessors
325         * testing/Internals.cpp:
326         (WebCore::Internals::iconURLs): made a method to be used by unit tests for inspecting the icon URL list
327         (WebCore):
328         * testing/Internals.h:
329         (Internals): declared the method for unit testing the icon URL list
330         * testing/Internals.idl: exported the Document::iconURLs function
331
332 2012-07-09  Ryosuke Niwa  <rniwa@webkit.org>
333
334         Gcc build fix after r122174.
335
336         * storage/StorageAreaImpl.cpp:
337         (WebCore::StorageAreaImpl::decrementAccessCount):
338
339 2012-07-09  Alice Cheng  <alice_cheng@apple.com>
340
341         Editing: Autocorrection in blockquotes causes text to break out of quote
342         https://bugs.webkit.org/show_bug.cgi?id=90487
343         <rdar://problem/11769020> 
344
345         Reviewed by Enrica Casucci.
346
347         Test: platform/mac/editing/spelling/autocorrection-blockquote-crash.html
348
349         SpellingCorrectionCommand uses ReplaceSelectionCommand to replace the misspelled word with the auto-corrected word. Specifically, ReplaceSelectionCommand does a smart copy, where it breaks out of blockquotes. Thus, the fix is to substitute ReplaceSelectionCommand with InserTextCommand.
350
351         * editing/SpellingCorrectionCommand.cpp:
352         (WebCore::SpellingCorrectionCommand::doApply):
353
354 2012-07-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
355
356         Shared code that is guarded with ENABLE(WEBGL) should be guarded with USE()
357         https://bugs.webkit.org/show_bug.cgi?id=90506
358
359         Reviewed by Martin Robinson.
360
361         GraphicsContext3D, ANGLEWebKitBridge and Extensions3D are now guarded with USE(3D_GRAPHICS)
362         instead of ENABLE(WEBGL).
363
364         No new tests, build changes only.
365
366         * Target.pri:
367             Removed references to unused files.
368
369         * WebCore.pri:
370             Updated the Qt build so that the basic 3D-graphics sources can be compiled even when
371             WebGL is disabled.
372
373         * platform/graphics/ANGLEWebKitBridge.cpp:
374         * platform/graphics/GraphicsContext3D.cpp:
375         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
376         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
377         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
378         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
379         * platform/graphics/qt/GraphicsContext3DQt.cpp:
380         * platform/qt/QWebPageClient.h:
381         * platform/graphics/OpenGLShims.cpp:
382         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
383         * platform/graphics/cairo/DrawingBufferCairo.cpp:
384         * platform/graphics/cairo/GLContext.h:
385         (GLContext):
386         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
387         * platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
388         * platform/graphics/cg/GraphicsContext3DCG.cpp:
389         * platform/graphics/clutter/DrawingBufferClutter.cpp:
390         * platform/graphics/clutter/GraphicsContext3DClutter.cpp:
391         * platform/graphics/clutter/GraphicsContext3DPrivate.cpp:
392         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
393         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
394         * platform/graphics/filters/CustomFilterCompiledProgram.cpp:
395         * platform/graphics/filters/CustomFilterCompiledProgram.h:
396         * platform/graphics/filters/CustomFilterGlobalContext.cpp:
397         * platform/graphics/filters/CustomFilterGlobalContext.h:
398         * platform/graphics/filters/CustomFilterMesh.cpp:
399         * platform/graphics/filters/CustomFilterMesh.h:
400         * platform/graphics/filters/CustomFilterProgram.cpp:
401         (WebCore):
402         * platform/graphics/filters/CustomFilterProgram.h:
403         * platform/graphics/filters/FECustomFilter.cpp:
404         * platform/graphics/filters/FECustomFilter.h:
405         * platform/graphics/glx/GLContextGLX.cpp:
406         (WebCore):
407         * platform/graphics/glx/GLContextGLX.h:
408         (GLContextGLX):
409         * platform/graphics/gpu/DrawingBuffer.cpp:
410         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
411         * platform/graphics/gpu/qt/DrawingBufferQt.cpp:
412         * platform/graphics/mac/GraphicsContext3DMac.mm:
413         * platform/graphics/qt/Extensions3DQt.cpp: Removed.
414         * platform/graphics/qt/Extensions3DQt.h: Removed.
415         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
416         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
417             Chaned ENABLE(WEBGL) to USE(3D_GRAPHICS)
418
419 2012-07-09  Yongjun Zhang  <yongjun_zhang@apple.com>
420
421         Consider closing unused localStorage database after a timeout.
422         https://bugs.webkit.org/show_bug.cgi?id=90713
423
424         For a localStorage, if there is no active document referencing to it for certain amount of time (300 seconds),
425         we can close the underlying sqlite database.
426
427         Reviewed by Brady Eidson.
428
429         Test: storage/domstorage/storage-close-database-on-idle.html
430
431         * storage/Storage.cpp:
432         (WebCore::Storage::Storage): increment storageArea access count when a DOMWindow is referencing it.
433         (WebCore::Storage::~Storage): decrement storageArea access count when DOMWindow is done with it.
434         * storage/StorageArea.h:
435         (StorageArea):
436         * storage/StorageAreaImpl.cpp:
437         (WebCore::StorageAreaImpl::StorageAreaImpl):
438         (WebCore::StorageAreaImpl::incrementAccessCount):
439         (WebCore):
440         (WebCore::StorageAreaImpl::decrementAccessCount): schedule closeDatabaseTimer if there is no active document
441             referencing to this storageArea.
442         (WebCore::StorageAreaImpl::closeDatabaseTimerFired): close the underlying sqlite database.
443         * storage/StorageAreaImpl.h:
444         (StorageAreaImpl):
445         * storage/StorageAreaSync.cpp:
446         (WebCore::StorageAreaSync::sync): if m_syncCloseDatabase flag is set and the database is not opened, bail out.
447         * storage/StorageTracker.cpp:
448         (WebCore):
449         (WebCore::StorageTracker::StorageTracker):
450         * storage/StorageTracker.h:
451         (WebCore::StorageTracker::storageDatabaseIdleInterval):
452         (WebCore::StorageTracker::setStorageDatabaseIdleInterval):  set the timeout value that we will wait before closing the
453             database.  This is currently used by DumpRenderTree only.
454         (StorageTracker):
455
456 2012-07-09  Joshua Bell  <jsbell@chromium.org>
457
458         IndexedDB: A null or undefined storeNames argument to IDBDatabase::transaction() should be coerced to string
459         https://bugs.webkit.org/show_bug.cgi?id=90474
460
461         Reviewed by Tony Chang.
462
463         Test: storage/indexeddb/transaction-basics.html
464
465         * Modules/indexeddb/IDBDatabase.cpp:
466         (WebCore::IDBDatabase::transaction):
467         * Modules/indexeddb/IDBDatabase.idl:
468
469 2012-07-09  Joshua Bell  <jsbell@chromium.org>
470
471         IndexedDB: Remove obsolete accessor plumbing
472         https://bugs.webkit.org/show_bug.cgi?id=90812
473
474         Reviewed by Tony Chang.
475
476         No new tests - just deleting code.
477
478         * Modules/indexeddb/IDBTransaction.cpp:
479         (WebCore::IDBTransaction::IDBTransaction): Since backend mode() is disconnected, can no
480         longer assert that front-end/back-end modes match; not worth it to keeping the plumbing.
481
482 2012-07-09  Dana Jansens  <danakj@chromium.org>
483
484         [chromium] Remove HashMap workaround for layers with id=0 in CCDamageTracker
485         https://bugs.webkit.org/show_bug.cgi?id=90825
486
487         Reviewed by Adrienne Walker.
488
489         Layer ids are no longer allowed to be 0, and the behaviour is guarded
490         with asserts, so this workaround is not needed any longer.
491
492         * platform/graphics/chromium/cc/CCDamageTracker.h:
493         (CCDamageTracker):
494
495 2012-07-09  Vincent Scheib  <scheib@chromium.org>
496
497         Pointer Lock requestPointerLock rejects locking an element not in a document.
498         https://bugs.webkit.org/show_bug.cgi?id=90821
499
500         Reviewed by Adrienne Walker.
501
502         Test: pointer-lock/lock-element-not-in-dom.html
503
504         * page/PointerLockController.cpp:
505         (WebCore::PointerLockController::requestPointerLock):
506
507 2012-07-09  Eric Seidel  <eric@webkit.org>
508
509         document.write of scripts that also document.write sometimes writes async
510         https://bugs.webkit.org/show_bug.cgi?id=89102
511
512         Reviewed by Adam Barth.
513
514         When a script tag is first encountered, the TreeBuilder holds the element and returns
515         out to the outer HTMLDocumentParser parse loop.  The HTMLDocumentParser then takes
516         the script element and passes it to the HTMLScriptRunner for execution. However, if the
517         script is an "external script" the HTMLScriptRunner may have to wait for that parser
518         blocking script to load, and may store the script in its own m_parserBlockingScript member.
519
520         While the HTMLScriptRunner has this not-yet-loaded-script the parser is also blocked.
521         Because the "paused" state of the parser was held as a separate bool on the TreeBuilder
522         we'd have to be careful to update it to reflect the current state of this pending script
523         on the HTMLScriptRunner.
524
525         This patch removes this separate "paused" bool and makes the HTMLDocumentParser responsible
526         for the "paused" state of the parser through the isWaitingForScripts() function which
527         knows how to check both the TreeBuilder and the ScriptRunner for possible parser-blocking scripts.
528
529         I suspect this change may actually fix a bunch of edge cases where we were not
530         checking for the HTMLScriptRunner's parser blocking script and thus incorrectly ending
531         the parser, or not starting the pre-load scanner, etc.
532
533         As part of this change I also renamed m_haveParsingBlockingScript in HTMLScriptRunner to match
534         the naming style used elsewhere in the parser, as well as removed all the "bool" return values
535         for these parse/execute functions as they are no longer useful (or correct). The correct way
536         is always to check HTMLDocumentParser::isWaitingForScripts().
537
538         Test: fast/parser/cached-script-document-write.html
539
540         * html/parser/HTMLDocumentParser.cpp:
541         (WebCore::HTMLDocumentParser::pumpTokenizerIfPossible):
542         (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
543         (WebCore::HTMLDocumentParser::canTakeNextToken):
544         (WebCore::HTMLDocumentParser::isWaitingForScripts):
545         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
546         (WebCore::HTMLDocumentParser::notifyFinished):
547         (WebCore::HTMLDocumentParser::executeScriptsWaitingForStylesheets):
548         * html/parser/HTMLScriptRunner.cpp:
549         (WebCore::HTMLScriptRunner::~HTMLScriptRunner):
550         (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
551         (WebCore::HTMLScriptRunner::execute):
552         (WebCore::HTMLScriptRunner::hasParserBlockingScript):
553         (WebCore::HTMLScriptRunner::executeParsingBlockingScripts):
554         (WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
555         (WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
556         (WebCore::HTMLScriptRunner::requestParsingBlockingScript):
557         (WebCore::HTMLScriptRunner::runScript):
558         * html/parser/HTMLScriptRunner.h:
559         (HTMLScriptRunner):
560         * html/parser/HTMLTreeBuilder.cpp:
561         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
562         (WebCore::HTMLTreeBuilder::takeScriptToProcess):
563         (WebCore::HTMLTreeBuilder::processEndTag):
564         (WebCore::HTMLTreeBuilder::processTokenInForeignContent):
565         * html/parser/HTMLTreeBuilder.h:
566         (HTMLTreeBuilder):
567         (WebCore::HTMLTreeBuilder::hasParserBlockingScript):
568
569 2012-07-09  Ryosuke Niwa  <rniwa@webkit.org>
570
571         Microdata tests are flaky
572         https://bugs.webkit.org/show_bug.cgi?id=90830
573
574         Reviewed by Antti Koivisto.
575
576         The bug was caused by SpaceSplitString's not copying on write properly.
577         Even if there was exactly one owner of the SpaceSplitString, we should still not modify
578         m_data since m_data is associated with a particular m_keyString in sharedDataMap().
579
580         The only situation in which we can safely modify m_data is when m_data's m_keyString is null
581         meaning that it had been unique'ed. Furthermore, this optimization had not been used for
582         class lists because class list's refCount is always zero as its ref and deref are forwarded
583         to the associated Element's ref and deref. This fix re-enables the optimization for class lists.
584
585         This behavior change is tested by existing microdata API tests. Without this patch,
586         some tests such as properties-collection-add-remove-property.html fail on the first run
587         when several tests were ran in the same WebKit instance.
588
589         * dom/SpaceSplitString.h:
590         (WebCore::SpaceSplitStringData::isUnique):
591         (WebCore::SpaceSplitString::ensureUnique):
592
593 2012-07-09  Dana Jansens  <danakj@chromium.org>
594
595         [chromium] Decouple RenderPass drawing from CCRenderSurface
596         https://bugs.webkit.org/show_bug.cgi?id=90573
597
598         Reviewed by Adrienne Walker.
599
600         Removes the managed textures from CCRenderSurface and stores them in a
601         HashMap in LayerRendererChromium.
602
603         At the start of a frame, all textures for the frame are reserved, and
604         unneeded textures are deleted. After each quad is drawn, evicted textures
605         (ie temporary textures used for background filters) are deleted to keep
606         within memory limits. At the end of the frame, all surface contents
607         textures are kept reserved and thus not deleted.
608
609         We add a numeric identifier to CCRenderPass which can be used to
610         identify the pass across serialization in the future, and is used
611         in the interface to LayerRendererChromium. Also we add to the
612         CCRenderPass a contentsChangedSinceLastFrame() flag so that the
613         value does not need to be retrieved from the CCRenderSurface.
614
615         The pointer from CCRenderPass to CCRenderSurface remains for some
616         code in the CCLayerTreeHostImpl, and will be addressed in the future, but
617         the pointer is no longer used at all while drawing a frame inside
618         LayerRendererChromium.
619
620         Covered by existing tests, no intended change in behaviour.
621
622         * platform/graphics/chromium/LayerRendererChromium.cpp:
623         (WebCore::LayerRendererChromium::releaseRenderPassTextures):
624         (WebCore::LayerRendererChromium::decideRenderPassAllocationsForFrame):
625         (WebCore):
626         (WebCore::LayerRendererChromium::haveCachedResourcesForRenderPassId):
627         (WebCore::LayerRendererChromium::drawQuad):
628         (WebCore::LayerRendererChromium::drawBackgroundFilters):
629         (WebCore::LayerRendererChromium::drawRenderPassQuad):
630         (WebCore::LayerRendererChromium::finishDrawingFrame):
631         (WebCore::LayerRendererChromium::useRenderPass):
632         (WebCore::LayerRendererChromium::initializeSharedObjects):
633         * platform/graphics/chromium/LayerRendererChromium.h:
634         (LayerRendererChromium):
635         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
636         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
637         (WebCore::CCLayerTreeHostImpl::removePassesWithCachedTextures):
638         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
639         (CCLayerTreeHostImpl):
640         * platform/graphics/chromium/cc/CCRenderPass.cpp:
641         (WebCore::CCRenderPass::create):
642         (WebCore::CCRenderPass::CCRenderPass):
643         * platform/graphics/chromium/cc/CCRenderPass.h:
644         (CCRenderPass):
645         (WebCore::CCRenderPass::id):
646         (WebCore::CCRenderPass::setFramebufferOutputRect):
647         * platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp:
648         (WebCore::CCRenderPassDrawQuad::create):
649         (WebCore::CCRenderPassDrawQuad::CCRenderPassDrawQuad):
650         * platform/graphics/chromium/cc/CCRenderPassDrawQuad.h:
651         (CCRenderPassDrawQuad):
652         (WebCore::CCRenderPassDrawQuad::renderPassId):
653         (WebCore::CCRenderPassDrawQuad::contentsChangedSinceLastFrame):
654         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
655         (WebCore::CCRenderSurface::appendQuads):
656         * platform/graphics/chromium/cc/CCRenderSurface.h:
657         (WebCore):
658         (CCRenderSurface):
659         * platform/graphics/chromium/cc/CCRenderer.h:
660         (CCRenderer):
661         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
662         (WebCore::CCTiledLayerImpl::pushTileProperties):
663         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
664         (CCTiledLayerImpl):
665
666 2012-07-09  Adam Klein  <adamk@chromium.org>
667
668         Rename WebCore::WebKitMutationObserver to WebCore::MutationObserver
669         https://bugs.webkit.org/show_bug.cgi?id=90810
670
671         Reviewed by Ojan Vafai.
672
673         This is in preparation for removing the vendor prefix from the
674         MutationObserver constructor on Window (currently it's called
675         WebKitMutationObserver). Doing the WebCore-internal rename first
676         makes that change a much smaller one, which is especially useful
677         because there's ongoing discussion of when the prefix should be
678         removed from the web-facing API.
679
680         * CMakeLists.txt:
681         * DerivedSources.cpp:
682         * DerivedSources.make:
683         * GNUmakefile.list.am:
684         * Target.pri:
685         * UseJSC.cmake:
686         * UseV8.cmake:
687         * WebCore.gypi:
688         * WebCore.vcproj/WebCore.vcproj:
689         * WebCore.xcodeproj/project.pbxproj:
690         * bindings/js/JSBindingsAllInOne.cpp:
691         * bindings/js/JSMainThreadExecState.cpp:
692         (WebCore::JSMainThreadExecState::didLeaveScriptContext):
693         * bindings/js/JSMutationCallbackCustom.cpp:
694         (WebCore::JSMutationCallback::handleEvent):
695         * bindings/js/JSMutationObserverCustom.cpp: Renamed from Source/WebCore/bindings/js/JSWebKitMutationObserverCustom.cpp.
696         (WebCore):
697         (WebCore::JSMutationObserverConstructor::constructJSMutationObserver):
698         * bindings/v8/V8RecursionScope.cpp:
699         (WebCore::V8RecursionScope::didLeaveScriptContext):
700         * bindings/v8/custom/V8MutationCallbackCustom.cpp:
701         (WebCore::V8MutationCallback::handleEvent):
702         * bindings/v8/custom/V8MutationObserverCustom.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8WebKitMutationObserverCustom.cpp.
703         (WebCore):
704         (WebCore::V8MutationObserver::constructorCallback):
705         * dom/CharacterData.cpp:
706         * dom/ChildListMutationScope.h:
707         (WebCore::ChildListMutationScope::ChildListMutationScope):
708         * dom/DOMAllInOne.cpp:
709         * dom/Document.h:
710         (WebCore::Document::hasMutationObserversOfType):
711         * dom/Element.cpp:
712         * dom/MutationCallback.h:
713         (WebCore):
714         (MutationCallback):
715         * dom/MutationCallback.idl:
716         * dom/MutationObserver.cpp: Renamed from Source/WebCore/dom/WebKitMutationObserver.cpp.
717         (WebCore):
718         (WebCore::MutationObserver::ObserverLessThan::operator()):
719         (WebCore::MutationObserver::create):
720         (WebCore::MutationObserver::MutationObserver):
721         (WebCore::MutationObserver::~MutationObserver):
722         (WebCore::MutationObserver::validateOptions):
723         (WebCore::MutationObserver::observe):
724         (WebCore::MutationObserver::takeRecords):
725         (WebCore::MutationObserver::disconnect):
726         (WebCore::MutationObserver::observationStarted):
727         (WebCore::MutationObserver::observationEnded):
728         (WebCore::activeMutationObservers):
729         (WebCore::MutationObserver::enqueueMutationRecord):
730         (WebCore::MutationObserver::setHasTransientRegistration):
731         (WebCore::MutationObserver::deliver):
732         (WebCore::MutationObserver::deliverAllMutations):
733         * dom/MutationObserver.h: Renamed from Source/WebCore/dom/WebKitMutationObserver.h.
734         (WebCore):
735         (MutationObserver):
736         * dom/MutationObserver.idl: Renamed from Source/WebCore/dom/WebKitMutationObserver.idl.
737         * dom/MutationObserverInterestGroup.cpp:
738         (WebCore::MutationObserverInterestGroup::createIfNeeded):
739         (WebCore::MutationObserverInterestGroup::MutationObserverInterestGroup):
740         (WebCore::MutationObserverInterestGroup::isOldValueRequested):
741         (WebCore::MutationObserverInterestGroup::enqueueMutationRecord):
742         * dom/MutationObserverInterestGroup.h:
743         (WebCore::MutationObserverInterestGroup::createForChildListMutation):
744         (WebCore::MutationObserverInterestGroup::createForCharacterDataMutation):
745         (WebCore::MutationObserverInterestGroup::createForAttributesMutation):
746         (MutationObserverInterestGroup):
747         * dom/MutationObserverRegistration.cpp:
748         (WebCore::MutationObserverRegistration::create):
749         (WebCore::MutationObserverRegistration::MutationObserverRegistration):
750         (WebCore::MutationObserverRegistration::shouldReceiveMutationFrom):
751         * dom/MutationObserverRegistration.h:
752         (MutationObserverRegistration):
753         (WebCore::MutationObserverRegistration::isSubtree):
754         (WebCore::MutationObserverRegistration::observer):
755         (WebCore::MutationObserverRegistration::deliveryOptions):
756         (WebCore::MutationObserverRegistration::mutationTypes):
757         * dom/Node.cpp:
758         (WebCore::Node::collectMatchingObserversForMutation):
759         (WebCore::Node::getRegisteredMutationObserversOfType):
760         (WebCore::Node::registerMutationObserver):
761         * dom/Node.h:
762         (Node):
763         * dom/NodeRareData.h:
764         * page/DOMWindow.idl:
765
766 2012-07-09  Filip Pizlo  <fpizlo@apple.com>
767
768         Unreviewed, rolling out http://trac.webkit.org/changeset/122116 and http://trac.webkit.org/changeset/122119
769
770         * GNUmakefile.list.am:
771         * PlatformBlackBerry.cmake:
772         * Target.pri:
773         * WebCore.gypi:
774         * WebCore.xcodeproj/project.pbxproj:
775         * platform/graphics/GraphicsContext3D.h:
776         (WebCore):
777         * platform/graphics/OpenGLESShims.h:
778         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
779         (WebCore):
780         * platform/graphics/clutter/GraphicsContext3DClutter.cpp:
781         (WebCore):
782         * platform/graphics/mac/GraphicsContext3DMac.mm:
783         (WebCore):
784         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
785         (WebCore::Extensions3DOpenGL::Extensions3DOpenGL):
786         (WebCore::Extensions3DOpenGL::supports):
787         (WebCore):
788         (WebCore::Extensions3DOpenGL::ensureEnabled):
789         (WebCore::Extensions3DOpenGL::isEnabled):
790         (WebCore::Extensions3DOpenGL::getGraphicsResetStatusARB):
791         (WebCore::Extensions3DOpenGL::getTranslatedShaderSourceANGLE):
792         (WebCore::Extensions3DOpenGL::copyTextureCHROMIUM):
793         * platform/graphics/opengl/Extensions3DOpenGL.h:
794         (Extensions3DOpenGL):
795         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
796         * platform/graphics/opengl/Extensions3DOpenGLCommon.h:
797         * platform/graphics/opengl/Extensions3DOpenGLES.cpp:
798         * platform/graphics/opengl/Extensions3DOpenGLES.h:
799         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
800         (WebCore):
801         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
802         (WebCore::systemAllowsMultisamplingOnATICards):
803         (WebCore):
804         (WebCore::GraphicsContext3D::validateAttributes):
805         (WebCore::GraphicsContext3D::compileShader):
806         (WebCore::GraphicsContext3D::readPixels):
807         (WebCore::GraphicsContext3D::releaseShaderCompiler):
808         (WebCore::GraphicsContext3D::getExtensions):
809         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
810         (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
811         (WebCore::GraphicsContext3D::reshapeFBOs):
812         (WebCore):
813         * platform/graphics/qt/GraphicsContext3DQt.cpp:
814         (WebCore):
815
816 2012-07-09  Ryosuke Niwa  <rniwa@webkit.org>
817
818         Build fix after r122115 and some cleanups.
819
820         * html/HTMLCollection.h:
821         (HTMLCollection):
822         * html/HTMLElement.cpp:
823         (WebCore::HTMLElement::properties):
824         * html/HTMLElement.h:
825         (HTMLElement):
826         * html/HTMLPropertiesCollection.cpp:
827         (WebCore::HTMLPropertiesCollection::HTMLPropertiesCollection):
828         * html/HTMLPropertiesCollection.h:
829         (HTMLPropertiesCollection):
830
831 2012-07-09  Dean Jackson  <dino@apple.com>
832
833         Tiled drawing means some elements can disappear behind the page
834         https://bugs.webkit.org/show_bug.cgi?id=88906
835
836         Reviewed by Simon Fraser.
837
838         The compositing layers in the tile cache could become siblings
839         of the compositing layers for page elements. This meant that in
840         some 3d transforms, the elements could disappear behind the
841         page background (which is rendered into the tile cache) or intersect
842         with the tile cache tiles.
843
844         Fix this by inserting a flattening layer between the tile cache
845         and the page, ensuring that the cache will always be rendered
846         first. I was able to reuse the clipping layer for this, because
847         the tile cache is attached to the RenderView, so there should never
848         be a case where we have both a clipping layer and tiles.
849
850         The unfortunate part of this code is the temporary state variable
851         that wraps the call to GraphicsLayer::create. Because that method
852         calls back into the object, we need to make sure we don't create
853         another tile cache.
854
855         Also added some obvious names to the tile cache layers to
856         help with debugging.
857
858         Test: compositing/tile-cache-must-flatten.html
859
860         * platform/graphics/ca/mac/TileCache.mm:
861         (WebCore::TileCache::TileCache): give the tile host layer a name.
862         (WebCore::TileCache::createTileLayer):
863         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
864         (WebCore): give each tile layer a name.
865         * rendering/RenderLayerBacking.cpp:
866         (WebCore):
867         (WebCore::RenderLayerBacking::shouldUseTileCache): check if we're in the middle
868         of creating the primary graphics layer before answering.
869         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): wrap our call to
870         createGraphicsLayer with a message to indicate we are making the layer that should
871         get a tile cache.
872         (WebCore::RenderLayerBacking::destroyGraphicsLayers):
873         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): needs to make
874         sure the flattening layer is in the tree.
875         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
876         (WebCore::RenderLayerBacking::updateInternalHierarchy):
877         (WebCore::RenderLayerBacking::updateClippingLayers):
878         (WebCore::RenderLayerBacking::backingStoreMemoryEstimate):
879         * rendering/RenderLayerBacking.h: rename m_clippingLayer to m_containmentLayer
880         because it can now either be the clip or the tile cache flattener. Also
881         a new state property used when creating the main graphics layer.
882         (WebCore::RenderLayerBacking::hasClippingLayer):
883         (WebCore::RenderLayerBacking::clippingLayer):
884         (WebCore::RenderLayerBacking::parentForSublayers):
885         (WebCore::RenderLayerBacking::hasTileCacheFlatteningLayer):
886         (WebCore::RenderLayerBacking::tileCacheFlatteningLayer):
887         (RenderLayerBacking):
888
889 2012-07-09  Christophe Dumez  <christophe.dumez@intel.com>
890
891         [EFL] Log significant Gamepad API-related events
892         https://bugs.webkit.org/show_bug.cgi?id=90595
893
894         Reviewed by Antonio Gomes.
895
896         Log significant Gamepad API-related events in
897         GamepadsEfl.
898
899         No new tests, no behavior change.
900
901         * platform/efl/GamepadsEfl.cpp:
902         (WebCore::GamepadDeviceEfl::deviceFile):
903         (GamepadDeviceEfl):
904         (WebCore::GamepadDeviceEfl::GamepadDeviceEfl):
905         (WebCore::GamepadDeviceEfl::readCallback):
906         (WebCore::GamepadsEfl::registerDevice):
907         (WebCore::GamepadsEfl::unregisterDevice):
908
909 2012-07-09  Simon Fraser  <simon.fraser@apple.com>
910
911         Reduce the amount of flashing when falling into tiled layers
912         https://bugs.webkit.org/show_bug.cgi?id=90808
913
914         Reviewed by Dean Jackson.
915
916         Implement +prefetchedTiles so that CATiledLayer renders more
917         tiles at a time, reducing the appearance of flashing.
918
919         * platform/graphics/mac/WebTiledLayer.mm:
920         (+[WebTiledLayer prefetchedTiles]):
921
922 2012-07-09  Leandro Gracia Gil  <leandrogracia@chromium.org>
923
924         SurroundingText should not advance character iterators if they are at end.
925         https://bugs.webkit.org/show_bug.cgi?id=90560
926
927         Reviewed by Ryosuke Niwa.
928
929         CharacterIterator and BackwardsCharacterIterator try to advance their
930         internal TextIterator without checking if they already are at end.
931         This can cause crashes in TextIterator::advance.
932
933         Test: platform/chromium/editing/surrounding-text/surrounding-text.html
934
935         * editing/SurroundingText.cpp:
936         (WebCore::SurroundingText::SurroundingText):
937         (WebCore::SurroundingText::rangeFromContentOffsets):
938
939 2012-07-09  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
940
941         [EFL] [WK2] Ecore errors from ecore_evas_screen_geometry_get()
942         https://bugs.webkit.org/show_bug.cgi?id=90609
943
944         Reviewed by Daniel Bates.
945
946         Do not call ecore_evas_screen_geometry_get() if ecoreEvas is null.
947
948         No new tests. This patch doesn't change behavior.
949
950         * platform/efl/PlatformScreenEfl.cpp:
951         (WebCore::screenRect): Early return if Evas is null.
952
953 2012-07-09  Alexandru Chiculita  <achicu@adobe.com>
954
955         [CSS Filters] Blur filter is not repainted correctly when applied on a parent of a fixed element
956         https://bugs.webkit.org/show_bug.cgi?id=90087
957
958         Reviewed by Simon Fraser.
959
960         Added a new method, RenderLayer::hasAncestorWithFilterOutsets, to check that there's no filter with outsets (ie. blur) 
961         applied on top level fixed positioned elements, nor any of its parent layers. In the event of a blur filter we need to
962         disable the fast scrolling optimization, otherwise the outsets of the filter will be carried around the page and 
963         repainting will not work correctly.
964
965         Tests: css3/filters/blur-filter-page-scroll-parents.html
966                css3/filters/blur-filter-page-scroll-self.html
967
968         * page/FrameView.cpp:
969         (WebCore::FrameView::scrollContentsFastPath):
970         * rendering/RenderLayer.cpp:
971         (WebCore):
972         (WebCore::RenderLayer::hasAncestorWithFilterOutsets):
973         * rendering/RenderLayer.h:
974         (RenderLayer):
975
976 2012-07-09  Joshua Bell  <jsbell@chromium.org>
977
978         IndexedDB: Empty arrays shouldn't be valid key paths
979         https://bugs.webkit.org/show_bug.cgi?id=90798
980
981         Reviewed by Tony Chang.
982
983         Other IDB implementations already enforce this although it is not yet in 
984         the spec (see https://www.w3.org/Bugs/Public/show_bug.cgi?id=17657). If an
985         empty array is passed as the key path arg to IDBDatabase.createObjectStore()
986         or IDBObjectStore.createIndex(), a SYNTAX_ERR DOMException is now thrown.
987
988         Test: storage/indexeddb/keypath-arrays.html
989               storage/indexeddb/keypath-basics.html
990
991         * Modules/indexeddb/IDBKeyPath.cpp:
992         (WebCore::IDBKeyPath::isValid): Test for empty array.
993
994 2012-07-09  Dana Jansens  <danakj@chromium.org>
995
996         [chromium] Create render surfaces on main thread only for the current frame
997         https://bugs.webkit.org/show_bug.cgi?id=89793
998
999         Reviewed by Adrienne Walker.
1000
1001         Previously we would create render surfaces for animating layers
1002         in the main thread since these layers might have a surface on impl,
1003         in order to assist culling. This makes it very difficult to estimate
1004         how much texture memory is needed for RenderSurfaces on the main
1005         thread, in order to keep contents+surface memory below our limit.
1006
1007         Here we stop doing this, and create RenderSurfaces on both threads
1008         under the same conditions, so main thread has surfaces only if the
1009         layers in its current frame demand them. While this may reduce
1010         paint culling within an animating subtree, this seems like an edge
1011         case and knowing the amount of surface memory needed for the frame
1012         is important.
1013
1014         Animation tests in CCLayerTreeHostCommonTest used to verify that these
1015         layers got surfaces, so now no longer do. Creation of surfaces under
1016         other conditions is covered by other CCLayerTreeHostCommonTests.
1017
1018         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1019         (WebCore::subtreeShouldRenderToSeparateSurface):
1020
1021 2012-07-09  Ryosuke Niwa  <rniwa@webkit.org>
1022
1023         Mac build fix after r122116.
1024
1025         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1026
1027 2012-07-09  Ryosuke Niwa  <rniwa@webkit.org>
1028
1029         EFL build fix after r122115.
1030
1031         * html/HTMLPropertiesCollection.cpp:
1032         (WebCore::HTMLPropertiesCollection::create):
1033
1034 2012-07-09  Joshua Netterfield  <jnetterfield@rim.com>
1035         Make GC3D and E3D more maintainable for GLES platforms
1036         https://bugs.webkit.org/show_bug.cgi?id=90567
1037
1038         Reviewed by Rob Buis.
1039
1040         This patch cleans up code for WebGL on OpenGLES platforms which use 
1041         GraphicsContext3DOpenGL* and Extensions3DOpenGL*. Although
1042         GraphicsContext3DOpenGL was already split into GraphicsContext3DOpenGL,
1043         GraphicsContext3DOpenGLCommon, and  GraphicsContext3DOpenGLES, this patch
1044         is an attempt to refactor this code in a way that will help BlackBerry and
1045         other teams support WebGL on mobile platforms with as little use of
1046         "#IF USE(OPENGL_ES_2)" in common code as possible. Also included is the
1047         separation of Extensions3DOpenGL into Extensions3DOpenGLCommon,
1048         Extensions3DOpenGL, and Extensions3DOpenGLES as well as the introduction
1049         of OpenGLESShims.
1050
1051         This patch is created in large part by Jonathan Feldstein.
1052
1053         No new tests: no new behaviour.
1054
1055         * PlatformBlackBerry.cmake: Recognize BlackBerry as OPENGL ES, add new files to build
1056         * Target.pri: Add new Extensions3DOpenGL* to WebGL builds
1057         * platform/graphics/GraphicsContext3D.h: Add validateDepthStencil, make systemAllowsMultisamplingOnATICards a a member function.
1058         (WebCore):
1059         * platform/graphics/OpenGLESShims.h: Added.
1060         * platform/graphics/opengl/Extensions3DOpenGL.cpp: Move code to Extensions3DOpenGLCommon where possible
1061         (WebCore::Extensions3DOpenGL::Extensions3DOpenGL): Reflect that it is now inherits Extensions3DCommon
1062         (WebCore::Extensions3DOpenGL::supportsExtension): Contains OpenGL specific code from supports
1063         (WebCore):
1064         (WebCore::Extensions3DOpenGL::getExtensions): Returns a list of extensions
1065         * platform/graphics/opengl/Extensions3DOpenGL.h: Remove functions now in Extensions3DOpenGLCommon
1066         (WebCore):
1067         (Extensions3DOpenGL):
1068         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp: Added.
1069         (WebCore):
1070         (WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon):
1071         (WebCore::Extensions3DOpenGLCommon::~Extensions3DOpenGLCommon):
1072         (WebCore::Extensions3DOpenGLCommon::supports):
1073         (WebCore::Extensions3DOpenGLCommon::ensureEnabled):
1074         (WebCore::Extensions3DOpenGLCommon::isEnabled):
1075         (WebCore::Extensions3DOpenGLCommon::getGraphicsResetStatusARB):
1076         (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE): Existed before, but did nothing. Now does what is says it does.
1077         (WebCore::Extensions3DOpenGLCommon::initializeAvailableExtensions): Moved from Extensions3DOpenGL::supports
1078         * platform/graphics/opengl/Extensions3DOpenGLCommon.h: Copied from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.h.
1079         (WebCore):
1080         (Extensions3DOpenGLCommon):
1081         * platform/graphics/opengl/Extensions3DOpenGLES.cpp: Added.
1082         (WebCore):
1083         (WebCore::Extensions3DOpenGLES::Extensions3DOpenGLES):
1084         (WebCore::Extensions3DOpenGLES::~Extensions3DOpenGLES):
1085         (WebCore::Extensions3DOpenGLES::framebufferTexture2DMultisampleIMG):
1086         (WebCore::Extensions3DOpenGLES::renderbufferStorageMultisampleIMG):
1087         (WebCore::Extensions3DOpenGLES::createVertexArrayOES):
1088         (WebCore::Extensions3DOpenGLES::deleteVertexArrayOES):
1089         (WebCore::Extensions3DOpenGLES::isVertexArrayOES):
1090         (WebCore::Extensions3DOpenGLES::bindVertexArrayOES):
1091         (WebCore::Extensions3DOpenGLES::supportsExtension): Contains OpenGLES specific code from supports
1092         (WebCore::Extensions3DOpenGLES::getExtensions):
1093         * platform/graphics/opengl/Extensions3DOpenGLES.h: Copied from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.h.
1094         (WebCore):
1095         (Extensions3DOpenGLES):
1096         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1097         (WebCore::GraphicsContext3D::validateAttributes):
1098         (WebCore):
1099         (WebCore::GraphicsContext3D::renderbufferStorage):
1100         (WebCore::GraphicsContext3D::texImage2D):
1101         (WebCore::GraphicsContext3D::systemAllowsMultisamplingOnATICards): Now a member function.
1102         (WebCore::GraphicsContext3D::getExtensions):
1103         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1104         (WebCore::GraphicsContext3D::validateDepthStencil):
1105         (WebCore::GraphicsContext3D::clear):
1106         (WebCore::GraphicsContext3D::isTexture):
1107         (WebCore):
1108         (WebCore::GraphicsContext3D::lineWidth):
1109         (WebCore::GraphicsContext3D::linkProgram):
1110         (WebCore::GraphicsContext3D::pixelStorei):
1111         (WebCore::GraphicsContext3D::polygonOffset):
1112         (WebCore::GraphicsContext3D::readPixels):
1113         (WebCore::GraphicsContext3D::deleteBuffer):
1114         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
1115         (WebCore::GraphicsContext3D::releaseShaderCompiler):
1116         (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
1117         (WebCore::GraphicsContext3D::validateAttributes):
1118         (WebCore):
1119         (WebCore::GraphicsContext3D::getExtensions):
1120         (WebCore::GraphicsContext3D::systemAllowsMultisamplingOnATICards): Now a member function.
1121         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1122         (WebCore):
1123         (WebCore::GraphicsContext3D::releaseShaderCompiler):
1124
1125 2012-07-02  Ryosuke Niwa  <rniwa@webkit.org>
1126
1127         Make HTMLCollection RefCounted
1128         https://bugs.webkit.org/show_bug.cgi?id=90414
1129
1130         Reviewed by Sam Weinig.
1131
1132         Make HTMLCollection ref counted and stop forwarding ref and deref to its owner (m_base)
1133         so as to align its life time management to that of DynamicNodeList.
1134
1135         After this patch, each HTMLCollection is owned by JSC/V8 and m_cachedCollections in ElementRareData
1136         and m_collection in Document merely hold raw pointers for the caching purpose. These raw pointers
1137         are cleared when each HTMLCollection is destructed via corresponding removeCachedHTMLCollection's.
1138
1139         In the destructor of HTMLCollection, we use the CollectionType to decide whether base() is an element
1140         or an document, and call the appropriate removeCachedHTMLCollection except for WindowNamedItems and
1141         DocumentNamedItems. For those two types, we need to know the atomic string name associated with
1142         the collection just like many DynamicNodeList to remove the cache, so we let HTMLNameCollection
1143         directly call removeWindowNamedItemCache and removeDocumentNamedItemCache. We'll cleanup this mess in
1144         a follow up patch using a nice class hierarchy and virtual destructors.
1145
1146         * accessibility/AccessibilityRenderObject.cpp:
1147         (WebCore::AccessibilityRenderObject::getDocumentLinks):
1148         * bindings/js/JSDOMWindowCustom.cpp:
1149         (WebCore::namedItemGetter):
1150         * bindings/js/JSHTMLDocumentCustom.cpp:
1151         (WebCore::JSHTMLDocument::nameGetter):
1152         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1153         (WebCore::V8DOMWindow::namedPropertyGetter):
1154         * dom/Document.cpp:
1155         (WebCore::Document::Document):
1156         (WebCore::Document::openSearchDescriptionURL):
1157         (WebCore):
1158         (WebCore::Document::cachedCollection):
1159         (WebCore::Document::removeCachedHTMLCollection):
1160         (WebCore::Document::images):
1161         (WebCore::Document::applets):
1162         (WebCore::Document::embeds):
1163         (WebCore::Document::plugins):
1164         (WebCore::Document::objects):
1165         (WebCore::Document::scripts):
1166         (WebCore::Document::links):
1167         (WebCore::Document::forms):
1168         (WebCore::Document::anchors):
1169         (WebCore::Document::all):
1170         (WebCore::Document::windowNamedItems):
1171         (WebCore::Document::documentNamedItems):
1172         (WebCore::Document::removeWindowNamedItemCache):
1173         (WebCore::Document::removeDocumentNamedItemCache):
1174         * dom/Document.h:
1175         (Document):
1176         * dom/Element.cpp:
1177         (WebCore::Element::ensureCachedHTMLCollection):
1178         (WebCore::ElementRareData::ensureCachedHTMLCollection):
1179         (WebCore::Element::removeCachedHTMLCollection):
1180         (WebCore):
1181         * dom/Element.h:
1182         (Element):
1183         * dom/ElementRareData.h:
1184         (ElementRareData):
1185         (WebCore::ElementRareData::cachedHTMLCollection):
1186         (WebCore::ElementRareData::removeCachedHTMLCollection):
1187         * html/CollectionType.h:
1188         (WebCore): Since WindowNamedItems is not a part of UnnamedDocumentCachedType, we shouldn't addd 1.
1189         (WebCore::isUnnamedDocumentCachedType):
1190         (WebCore::isNodeCollectionType):
1191         * html/HTMLAllCollection.cpp:
1192         (WebCore::HTMLAllCollection::create):
1193         * html/HTMLAllCollection.h:
1194         (HTMLAllCollection):
1195         * html/HTMLCollection.cpp:
1196         (WebCore::HTMLCollection::create):
1197         (WebCore::HTMLCollection::~HTMLCollection):
1198         (WebCore::HTMLCollection::itemAfter):
1199         * html/HTMLCollection.h:
1200         (WebCore::HTMLCollectionCacheBase::HTMLCollectionCacheBase):
1201         (HTMLCollection):
1202         (WebCore::HTMLCollection::base):
1203         * html/HTMLDataListElement.cpp:
1204         (WebCore::HTMLDataListElement::options):
1205         * html/HTMLDataListElement.h:
1206         (HTMLDataListElement):
1207         * html/HTMLElement.cpp:
1208         (WebCore::HTMLElement::children):
1209         (WebCore::HTMLElement::properties):
1210         * html/HTMLElement.h:
1211         (HTMLElement):
1212         * html/HTMLFieldSetElement.cpp:
1213         (WebCore::HTMLFieldSetElement::elements):
1214         * html/HTMLFieldSetElement.h:
1215         (HTMLFieldSetElement):
1216         * html/HTMLFormCollection.cpp:
1217         (WebCore::HTMLFormCollection::create):
1218         * html/HTMLFormCollection.h:
1219         (HTMLFormCollection):
1220         * html/HTMLFormElement.cpp:
1221         (WebCore::HTMLFormElement::elements):
1222         * html/HTMLFormElement.h:
1223         (HTMLFormElement):
1224         * html/HTMLMapElement.cpp:
1225         (WebCore::HTMLMapElement::imageElement):
1226         (WebCore::HTMLMapElement::areas):
1227         * html/HTMLMapElement.h:
1228         (HTMLMapElement):
1229         * html/HTMLNameCollection.cpp:
1230         (WebCore::HTMLNameCollection::HTMLNameCollection):
1231         (WebCore::HTMLNameCollection::~HTMLNameCollection):
1232         (WebCore):
1233         * html/HTMLNameCollection.h:
1234         (WebCore::HTMLNameCollection::create):
1235         (HTMLNameCollection):
1236         * html/HTMLOptionsCollection.cpp:
1237         (WebCore::HTMLOptionsCollection::create):
1238         * html/HTMLOptionsCollection.h:
1239         (HTMLOptionsCollection):
1240         * html/HTMLPropertiesCollection.h:
1241         (HTMLPropertiesCollection):
1242         * html/HTMLSelectElement.cpp:
1243         (WebCore::HTMLSelectElement::selectedOptions):
1244         (WebCore::HTMLSelectElement::options):
1245         * html/HTMLSelectElement.h:
1246         (HTMLSelectElement):
1247         * html/HTMLTableElement.cpp:
1248         (WebCore::HTMLTableElement::rows):
1249         (WebCore::HTMLTableElement::tBodies):
1250         * html/HTMLTableElement.h:
1251         (HTMLTableElement):
1252         * html/HTMLTableRowElement.cpp:
1253         (WebCore::HTMLTableRowElement::insertCell):
1254         (WebCore::HTMLTableRowElement::deleteCell):
1255         (WebCore::HTMLTableRowElement::cells):
1256         * html/HTMLTableRowElement.h:
1257         (HTMLTableRowElement):
1258         * html/HTMLTableRowsCollection.cpp:
1259         (WebCore::HTMLTableRowsCollection::create):
1260         * html/HTMLTableRowsCollection.h:
1261         (HTMLTableRowsCollection):
1262         * html/HTMLTableSectionElement.cpp:
1263         (WebCore::HTMLTableSectionElement::insertRow):
1264         (WebCore::HTMLTableSectionElement::deleteRow):
1265         (WebCore::HTMLTableSectionElement::rows):
1266         * html/HTMLTableSectionElement.h:
1267         (HTMLTableSectionElement):
1268
1269 2012-07-09  Pavel Feldman  <pfeldman@chromium.org>
1270
1271         Web Inspector: unindent line ending block upon { hit.
1272         https://bugs.webkit.org/show_bug.cgi?id=90795
1273
1274         Reviewed by Vsevolod Vlasov.
1275
1276         Added block-start / block-end markup into the highlighter.
1277
1278         * inspector/front-end/SourceCSSTokenizer.js:
1279         (WebInspector.SourceCSSTokenizer.prototype.nextToken):
1280         * inspector/front-end/SourceCSSTokenizer.re2js:
1281         * inspector/front-end/SourceJavaScriptTokenizer.js:
1282         (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
1283         * inspector/front-end/SourceJavaScriptTokenizer.re2js:
1284         * inspector/front-end/TextEditor.js:
1285         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
1286         (WebInspector.TextEditorMainPanel.prototype._unindentAfterBlock):
1287
1288 2012-07-09  Sheriff Bot  <webkit.review.bot@gmail.com>
1289
1290         Unreviewed, rolling out r122107.
1291         http://trac.webkit.org/changeset/122107
1292         https://bugs.webkit.org/show_bug.cgi?id=90794
1293
1294         Build failure on Mac debug bots (Requested by falken_ on
1295         #webkit).
1296
1297         * CMakeLists.txt:
1298         * Configurations/FeatureDefines.xcconfig:
1299         * DerivedSources.cpp:
1300         * DerivedSources.make:
1301         * DerivedSources.pri:
1302         * Target.pri:
1303         * WebCore.gypi:
1304         * WebCore.xcodeproj/project.pbxproj:
1305         * bindings/generic/RuntimeEnabledFeatures.cpp:
1306         (WebCore):
1307         * bindings/generic/RuntimeEnabledFeatures.h:
1308         (RuntimeEnabledFeatures):
1309         * dom/ContextFeatures.cpp:
1310         * dom/ContextFeatures.h:
1311         * html/HTMLDialogElement.cpp: Removed.
1312         * html/HTMLDialogElement.h: Removed.
1313         * html/HTMLDialogElement.idl: Removed.
1314         * html/HTMLElementsAllInOne.cpp:
1315         * html/HTMLTagNames.in:
1316         * page/DOMWindow.idl:
1317
1318 2012-07-09  Andrei Onea  <onea@adobe.com>
1319
1320         [CSSRegions] Rename NamedFlow::getRegionsByContentNode to NamedFlow::getRegionsByContent
1321         https://bugs.webkit.org/show_bug.cgi?id=90759
1322
1323         Reviewed by Andreas Kling.
1324
1325         Renamed NamedFlow::getRegionsByContentNode to NamedFlow::getRegionsByContent as per CSS Regions spec:
1326         http://www.w3.org/TR/css3-regions/#dom-named-flow
1327
1328         Tests: fast/regions/get-regions-by-content-horiz-bt.html
1329                fast/regions/get-regions-by-content-horiz-tb.html
1330                fast/regions/get-regions-by-content-vert-lr.html
1331                fast/regions/get-regions-by-content-vert-rl.html
1332                fast/regions/get-regions-by-content.html
1333                fast/regions/get-regions-by-content2.html
1334
1335         * dom/WebKitNamedFlow.cpp:
1336         (WebCore::WebKitNamedFlow::getRegionsByContent):
1337         * dom/WebKitNamedFlow.h:
1338         (WebKitNamedFlow):
1339         * dom/WebKitNamedFlow.idl:
1340
1341 2012-07-09  Matt Falkenhagen  <falken@chromium.org>
1342
1343         Add ENABLE_DIALOG_ELEMENT and skeleton files
1344         https://bugs.webkit.org/show_bug.cgi?id=90521
1345
1346         Reviewed by Kent Tamura.
1347
1348         This adds the ENABLE_DIALOG_ELEMENT feature flag and dummy implementation files for <dialog>. In addition, a runtime feature flag is added.
1349         The feature is diabled by default.
1350
1351         No new tests, as there is no behavior change.
1352
1353         * CMakeLists.txt:
1354         * Configurations/FeatureDefines.xcconfig:
1355         * DerivedSources.cpp:
1356         * DerivedSources.make:
1357         * DerivedSources.pri:
1358         * Target.pri:
1359         * WebCore.gypi:
1360         * WebCore.xcodeproj/project.pbxproj:
1361         * bindings/generic/RuntimeEnabledFeatures.cpp:
1362         (WebCore):
1363         * bindings/generic/RuntimeEnabledFeatures.h: Added a runtime feature flag for dialog.
1364         (RuntimeEnabledFeatures):
1365         (WebCore::RuntimeEnabledFeatures::dialogElementEnabled):
1366         (WebCore::RuntimeEnabledFeatures::setDialogElementEnabled):
1367         * dom/ContextFeatures.cpp:
1368         (WebCore::ContextFeatures::dialogElementEnabled):
1369         (WebCore):
1370         * dom/ContextFeatures.h: Added a per-context flag for dialog so that dialog can be disabled in HTMLTagNames.in and DOMWindow.idl when the dialog runtime feature flag is off.
1371         * html/HTMLDialogElement.cpp: Added.
1372         (WebCore):
1373         (WebCore::HTMLDialogElement::HTMLDialogElement):
1374         (WebCore::HTMLDialogElement::create):
1375         (WebCore::HTMLDialogElement::close):
1376         (WebCore::HTMLDialogElement::show):
1377         * html/HTMLDialogElement.h: Added.
1378         (WebCore):
1379         (HTMLDialogElement):
1380         * html/HTMLDialogElement.idl: Added.
1381         * html/HTMLElementsAllInOne.cpp:
1382         * html/HTMLTagNames.in:
1383         * page/DOMWindow.idl:
1384
1385 2012-07-09  Pavel Feldman  <pfeldman@chromium.org>
1386
1387         Web Inspector: inspector does not reflect newly created text nodes from contenteditable
1388         https://bugs.webkit.org/show_bug.cgi?id=90779
1389
1390         Reviewed by Vsevolod Vlasov.
1391
1392         We need to report first text node as inserted, otherwise we fail to report character data modified on it.
1393
1394         * inspector/InspectorDOMAgent.cpp:
1395         (WebCore::InspectorDOMAgent::characterDataModified):
1396
1397 2012-07-09  Andrey Kosyakov  <caseq@chromium.org>
1398
1399         REGRESSION(r121980) Layout Test inspector/timeline/timeline-frames.html started to crash.
1400         https://bugs.webkit.org/show_bug.cgi?id=90747
1401
1402         Reviewed by Pavel Feldman.
1403
1404         - consider didCancelFrame() call normal if there is no pending frame, remove assertion;
1405         - always set empty data object for frame records;
1406
1407         * inspector/InspectorTimelineAgent.cpp:
1408         (WebCore::InspectorTimelineAgent::didCancelFrame):
1409         (WebCore::InspectorTimelineAgent::commitFrameRecord):
1410
1411 2012-07-09  Taiju Tsuiki  <tzik@chromium.org>
1412
1413         Web Inspector: Add FileContentView for FileSystemView
1414         https://bugs.webkit.org/show_bug.cgi?id=90529
1415
1416         Adding FileContentView to Inspector.
1417         This class provides preview of text files in FileSystem.
1418
1419         Reviewed by Vsevolod Vlasov.
1420
1421         * WebCore.gypi:
1422         * WebCore.vcproj/WebCore.vcproj:
1423         * inspector/compile-front-end.py:
1424         * inspector/front-end/FileContentView.js: Added.
1425         * inspector/front-end/FileSystemView.js:
1426         (WebInspector.FileSystemView.prototype.get visibleView):
1427         (WebInspector.FileSystemView.EntryTreeElement.prototype.onselect):
1428         (WebInspector.FileSystemView.EntryTreeElement.prototype._directoryContentReceived):
1429         (WebInspector.FileSystemView.EntryTreeElement.prototype.refresh):
1430         * inspector/front-end/WebKit.qrc:
1431         * inspector/front-end/inspector.html:
1432
1433 2012-07-09  Carlos Garcia Campos  <cgarcia@igalia.com>
1434
1435         [SOUP] Use soup_cookie_jar_is_persistent() to set whether cookie is a session one or not
1436         https://bugs.webkit.org/show_bug.cgi?id=90769
1437
1438         Reviewed by Gustavo Noronha Silva.
1439
1440         It's currently set to false, because there were no API to know
1441         whether cookies were persistent or not. Now that we bumped libsoup
1442         requirements, we can use soup_cookie_jar_is_persistent().
1443
1444         * platform/network/soup/CookieJarSoup.cpp:
1445         (WebCore::getRawCookies):
1446
1447 2012-07-09  Taiju Tsuiki  <tzik@chromium.org>
1448
1449         Web Inspector: Add text file support for FileSystemAgent::requestFileContent
1450         https://bugs.webkit.org/show_bug.cgi?id=90439
1451
1452         Reviewed by Vsevolod Vlasov.
1453
1454         * inspector/Inspector.json:
1455         * inspector/InspectorFileSystemAgent.cpp:
1456         (WebCore):
1457         (WebCore::InspectorFileSystemAgent::requestFileContent):
1458         * inspector/InspectorFileSystemAgent.h:
1459         (InspectorFileSystemAgent):
1460         * inspector/front-end/FileSystemModel.js:
1461         (WebInspector.FileSystemModel.prototype.requestFileContent):
1462         (WebInspector.FileSystemModel.File.prototype.requestFileContent):
1463         (WebInspector.FileSystemRequestManager.prototype._fileContentReceived):
1464         (WebInspector.FileSystemDispatcher.prototype.fileContentReceived):
1465
1466 2012-07-09  MORITA Hajime  <morrita@google.com>
1467
1468         [Chromium] ContextFeaturesClient::isEnabled is slow
1469         https://bugs.webkit.org/show_bug.cgi?id=90367
1470
1471         Reviewed by Kent Tamura.
1472
1473         * dom/ContextFeatures.h:
1474         (WebCore::ContextFeaturesClient::urlDidChange): Added.
1475         (WebCore::ContextFeatures::urlDidChange): Added.
1476         (WebCore):
1477         * dom/Document.cpp:
1478         (WebCore::Document::setURL): Added an urlDidChange() call.
1479
1480 2012-07-09  Andrei Onea  <onea@adobe.com>
1481
1482         [CSSRegions] Implement NamedFlow::firstEmptyRegionIndex attribute
1483         https://bugs.webkit.org/show_bug.cgi?id=90608
1484
1485         Reviewed by Andreas Kling.
1486
1487         Implemented NamedFlow::firstEmptyRegionIndex as per spec: http://www.w3.org/TR/css3-regions/#dom-named-flow
1488
1489         Test: fast/regions/webkit-named-flow-first-empty-region-index.html
1490
1491         * dom/WebKitNamedFlow.cpp:
1492         (WebCore::WebKitNamedFlow::firstEmptyRegionIndex):
1493         (WebCore):
1494         * dom/WebKitNamedFlow.h:
1495         (WebKitNamedFlow):
1496         * dom/WebKitNamedFlow.idl:
1497
1498 2012-07-08  Yoshifumi Inoue  <yosin@chromium.org>
1499
1500         [Platform-Mac] Derive LocaleMac.{cpp,h} and LocalizedDateMac.cpp from LocaleWin
1501         https://bugs.webkit.org/show_bug.cgi?id=90752
1502
1503         Reviewed by Kent Tamura.
1504
1505         This patch is preparation of introducing LocaleMac class for localize date form.
1506         This patch copies LocaleWin and LocalizedDateWin.cpp as below:
1507          - LocaleMac.h from LocaleWin.h
1508          - LocaleMac.mm from LocaliedDateMac.mm
1509          - LocaliedDateMac.cpp from LocalizedDateWin.cpp
1510
1511         Due by git, diffs are appeared as new thing. I'll do svn copy at landing time.
1512
1513         No new tests. This patch doesn't change behavior.
1514
1515         * platform/text/mac/LocaleMac.h: Copied from platform/text/LocaleWin.h
1516         * platform/text/mac/LocaleMac.mm: Copied from platform/text/mac/LocalizedDateMac.mm
1517         * platform/text/mac/LocalizedDateMac.cpp: Copied from platform/text/LocalizedDateWin.cpp
1518
1519 2012-07-08  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1520
1521         Introduce a build flag for low quality JPEG images
1522         https://bugs.webkit.org/show_bug.cgi?id=90748
1523
1524         Reviewed by Adam Barth.
1525
1526         Introduce build options for no JPEG dithering (USE(LOW_QUALITY_IMAGE_NO_JPEG_DITHERING))
1527         and no JPEG fancy upsampling (USE(LOW_QUALITY_IMAGE_NO_JPEG_FANCY_UPSAMPLING)).
1528
1529         No new tests as there is no change in functionality.
1530
1531         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1532         (ditherMode):
1533         (doFancyUpsampling):
1534
1535 2012-07-08  Sheriff Bot  <webkit.review.bot@gmail.com>
1536
1537         Unreviewed, rolling out r121968.
1538         http://trac.webkit.org/changeset/121968
1539         https://bugs.webkit.org/show_bug.cgi?id=90749
1540
1541         Caused a link error on chromium Win dbg. (Requested by hayato
1542         on #webkit).
1543
1544         * inspector/InspectorMemoryAgent.cpp:
1545         (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
1546         * inspector/front-end/NativeMemorySnapshotView.js:
1547         (WebInspector.MemoryBlockViewProperties._initialize):
1548         * platform/MemoryUsageSupport.cpp:
1549         * platform/MemoryUsageSupport.h:
1550         (MemoryUsageSupport):
1551         * platform/chromium/MemoryUsageSupportChromium.cpp:
1552
1553 2012-07-08  Mary Wu  <mary.wu@torchmobile.com.cn>
1554
1555         [BlackBerry] Make setForceDownload a setter method.
1556         https://bugs.webkit.org/show_bug.cgi?id=90591
1557
1558         Reviewed by Rob Buis.
1559
1560         * platform/network/blackberry/ResourceRequest.h:
1561         (WebCore::ResourceRequest::setForceDownload):
1562
1563 2012-07-05  MORITA Hajime  <morrita@google.com>
1564
1565         Heap-use-after-free in WebCore::RenderObject::destroyAndCleanupAnonymousWrappers
1566         https://bugs.webkit.org/show_bug.cgi?id=90480
1567
1568         Reviewed by Kent Tamura.
1569
1570         If <select> has any insertion point, the attachment phase
1571         unpextedly creates a renderer for distributed node and added to
1572         the renderer of the <select>, which breaks an assumption and
1573         results the crash.
1574
1575         This change tighten the childShouldCreateRenderer() to forbid
1576         child renderers even from distributed nodes.
1577
1578         There is an exception as always: ValidationMessage can create a
1579         ShadowRoot to <select>, which generates usually-forbidden child
1580         renderers.  This change introduces HTMLFormControlElement::validationMessageContains()
1581         to let these renderers in.
1582
1583         Test: fast/dom/shadow/insertion-point-list-menu-crash.html
1584
1585         * html/HTMLFormControlElement.cpp:
1586         (WebCore::HTMLFormControlElement::validationMessageContains):
1587         (WebCore):
1588         * html/HTMLFormControlElement.h:
1589         (HTMLFormControlElement):
1590         * html/HTMLSelectElement.cpp:
1591         (WebCore::HTMLSelectElement::childShouldCreateRenderer):
1592         * html/ValidationMessage.cpp:
1593         (WebCore::ValidationMessage::contains):
1594         (WebCore):
1595         * html/ValidationMessage.h:
1596         (WebCore):
1597         (ValidationMessage):
1598
1599 2012-07-07  Kwang Yul Seo  <skyul@company100.net>
1600
1601         Remove unnecessary member HTMLTreeBuilder::m_lastScriptElementStartPosition
1602         https://bugs.webkit.org/show_bug.cgi?id=90726
1603
1604         Reviewed by Adam Barth.
1605
1606         HTMLTreeBuilder::m_lastScriptElementStartPosition is of no use. Currently,
1607         m_lastScriptElementStartPosition is used to store the text position in
1608         "script" start tag, and then the stored position is passed to m_scriptToProcessStartPosition
1609         later in "script" end tag. Because HTMLTreeBuilder handles one script tag at
1610         a time, we can store the text position directly to m_scriptToProcessStartPosition
1611         in "script" start tag.
1612
1613         No behavior change, so no new tests.
1614
1615         * html/parser/HTMLTreeBuilder.cpp:
1616         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
1617         (WebCore::HTMLTreeBuilder::processEndTag):
1618         (WebCore::HTMLTreeBuilder::processScriptStartTag):
1619         * html/parser/HTMLTreeBuilder.h:
1620         (HTMLTreeBuilder):
1621
1622 2012-07-08  Philip Rogers  <pdr@google.com>
1623
1624         Refactor RenderSVGShape to not contain fallback code
1625         https://bugs.webkit.org/show_bug.cgi?id=90514
1626
1627         Reviewed by Nikolas Zimmermann.
1628
1629         The interaction between RenderSVGShape and {RenderSVGEllipse, RenderSVGRect}
1630         was too coupled and it was not clear when a path existed or who controlled
1631         falling back to path codepaths in RenderSVGShape.
1632
1633         This patch cleans up RenderSVGShape so that it does not track fallback state
1634         and does not have special handling for creating a shape in strokeContains. Because
1635         some functions of RenderSVGShape can be called without a path existing, each
1636         of these functions has switched to using the path() function which asserts that
1637         a path exists.
1638
1639         There is only one remaining use of hasPath() in RenderSVGShape which I plan
1640         to remove in a followup patch.
1641
1642         This patch also cleans up RenderSVGRect and RenderSVGEllipse. These classes
1643         now handle fallback tracking themselves and choose when to use their optimized
1644         strokeContains codepaths.
1645
1646         No new tests as this is just a refactoring.
1647
1648         * rendering/svg/RenderSVGEllipse.cpp:
1649         (WebCore::RenderSVGEllipse::RenderSVGEllipse):
1650         (WebCore::RenderSVGEllipse::createShape):
1651         (WebCore::RenderSVGEllipse::objectBoundingBox):
1652         (WebCore::RenderSVGEllipse::strokeBoundingBox):
1653         (WebCore::RenderSVGEllipse::fillShape):
1654         (WebCore::RenderSVGEllipse::strokeShape):
1655         (WebCore::RenderSVGEllipse::shapeDependentStrokeContains):
1656         (WebCore::RenderSVGEllipse::shapeDependentFillContains):
1657         * rendering/svg/RenderSVGEllipse.h:
1658         (WebCore::RenderSVGEllipse::isEmpty):
1659         (RenderSVGEllipse):
1660         * rendering/svg/RenderSVGRect.cpp:
1661         (WebCore::RenderSVGRect::RenderSVGRect):
1662         (WebCore::RenderSVGRect::createShape):
1663         (WebCore::RenderSVGRect::objectBoundingBox):
1664         (WebCore::RenderSVGRect::strokeBoundingBox):
1665         (WebCore::RenderSVGRect::fillShape):
1666         (WebCore::RenderSVGRect::strokeShape):
1667         (WebCore::RenderSVGRect::shapeDependentStrokeContains):
1668         (WebCore::RenderSVGRect::shapeDependentFillContains):
1669         * rendering/svg/RenderSVGRect.h:
1670         (WebCore::RenderSVGRect::isEmpty):
1671         (RenderSVGRect):
1672         * rendering/svg/RenderSVGShape.cpp:
1673         (WebCore::RenderSVGShape::RenderSVGShape):
1674         (WebCore::RenderSVGShape::createShape):
1675         (WebCore::RenderSVGShape::isEmpty):
1676         (WebCore::RenderSVGShape::objectBoundingBox):
1677         (WebCore::RenderSVGShape::shapeDependentStrokeContains):
1678         (WebCore::RenderSVGShape::shapeDependentFillContains):
1679         (WebCore::RenderSVGShape::strokeContains):
1680         (WebCore::RenderSVGShape::layout):
1681         (WebCore::RenderSVGShape::hasSmoothStroke):
1682         (WebCore):
1683         * rendering/svg/RenderSVGShape.h:
1684         (RenderSVGShape):
1685
1686 2012-07-08  Kinuko Yasuda  <kinuko@chromium.org>
1687
1688         XHR.send should support ArrayBufferView
1689         https://bugs.webkit.org/show_bug.cgi?id=90536
1690
1691         XHR.send should support ArrayBufferView according to the latest draft
1692         and also eventually deprecate ArrayBuffer.
1693         Spec: http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#dom-xmlhttprequest-send
1694
1695         Reviewed by Kenneth Russell.
1696
1697         Test: http/tests/xmlhttprequest/send-array-buffer.html
1698               http/tests/xmlhttprequest/send-data-view.html
1699
1700         * bindings/js/JSXMLHttpRequestCustom.cpp:
1701         (WebCore::JSXMLHttpRequest::send):
1702         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1703         (WebCore::V8XMLHttpRequest::sendCallback):
1704         * xml/XMLHttpRequest.cpp:
1705         (WebCore):
1706         (WebCore::XMLHttpRequest::send):
1707         * xml/XMLHttpRequest.h:
1708         (XMLHttpRequest):
1709         * xml/XMLHttpRequest.idl:
1710
1711 2012-07-08  Vivek Galatage  <vivekgalatage@gmail.com>
1712
1713         Web Inspector: CodeGeneratorInspector.py should not generate statements with no effect
1714         https://bugs.webkit.org/show_bug.cgi?id=90697
1715
1716         Reviewed by Vsevolod Vlasov.
1717
1718         Fix to remove the statements with no effect. The check for errors is added only when some valid
1719         statements exist.
1720
1721         No new tests as generator related patch.
1722
1723         * inspector/CodeGeneratorInspector.py:
1724         (Generator.process_command):
1725
1726 2012-07-06  Lauro Neto  <lauro.neto@openbossa.org>
1727
1728         [Qt] Avoid deep copy of QImage in GraphicsContext3D::getImageData()
1729         https://bugs.webkit.org/show_bug.cgi?id=90705
1730
1731         Reviewed by Noam Rosenthal.
1732
1733         Use QImage.constBits() as argument to packPixels instead of bits() to avoid
1734         deep copying it.
1735
1736         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1737         (WebCore::GraphicsContext3D::getImageData):
1738
1739 2012-07-06  Andy Estes  <aestes@apple.com>
1740
1741         Fix errors reported by generate-bindings.pl after r121882.
1742
1743         * DerivedSources.make: Specify the correct path for notifications idl
1744         files now that notifications/ lives in WebCore/Modules/.
1745
1746 2012-07-06  Justin Novosad  <junov@chromium.org>
1747
1748         Drawing to accelerated 2D canvas causes compositor to recompute layer tree
1749         https://bugs.webkit.org/show_bug.cgi?id=90630
1750
1751         Reviewed by Simon Fraser.
1752
1753         No new tests: covered by existing canvas/compositing layout tests
1754
1755         Before this change, there was no distinction between canvas changes
1756         that require recomputing the compositor tree and canvas changes that
1757         only require re-display. The new CanvasPixelsChanged member of enum
1758         ContentChangeType requests re-display without re-layout.
1759
1760         * html/canvas/CanvasRenderingContext2D.cpp:
1761         (WebCore::CanvasRenderingContext2D::didDraw):
1762         * rendering/RenderBoxModelObject.h:
1763         * rendering/RenderLayerBacking.cpp:
1764         (WebCore::RenderLayerBacking::contentChanged):
1765
1766 2012-07-06  Pavel Feldman  <pfeldman@chromium.org>
1767
1768         Web Inspector: get rid of this._lastMarkedRange in TextEditor.
1769         https://bugs.webkit.org/show_bug.cgi?id=90691
1770
1771         Reviewed by Vsevolod Vlasov.
1772
1773         We don't need it, should use setSelection instead.
1774
1775         * inspector/front-end/TextEditor.js:
1776         (WebInspector.TextEditor.prototype.markAndRevealRange):
1777         (WebInspector.TextEditor.prototype._handleSelectionChange):
1778         (WebInspector.TextEditor.prototype.setSelection):
1779         (WebInspector.TextEditor.prototype._handleFocused):
1780
1781 2012-07-06  Vsevolod Vlasov  <vsevik@chromium.org>
1782
1783         Web Inspector: Snippet renaming behavior is not correct.
1784         https://bugs.webkit.org/show_bug.cgi?id=90689
1785
1786         Reviewed by Pavel Feldman.
1787
1788         Navigator overlay is now not closed when editing is canceled.
1789         Esc handler in NavigatorOverlayController is not installed as a shortcut anymore since
1790         it should not be called until all underlying DOM elements handled the key down event.
1791
1792         * inspector/front-end/NavigatorOverlayController.js:
1793         (WebInspector.NavigatorOverlayController.prototype.set showNavigatorOverlay):
1794         (WebInspector.NavigatorOverlayController.prototype._keyDown):
1795         (WebInspector.NavigatorOverlayController.prototype._innerHideNavigatorOverlay):
1796         * inspector/front-end/NavigatorView.js:
1797         (WebInspector.NavigatorView.prototype.rename.commitHandler):
1798         (WebInspector.NavigatorView.prototype.rename.cancelHandler):
1799         (WebInspector.NavigatorView.prototype.rename.afterEditing):
1800         * inspector/front-end/ScriptsNavigator.js:
1801         (WebInspector.ScriptsNavigator):
1802         (WebInspector.ScriptsNavigator.prototype._itemRenamingRequested):
1803         (WebInspector.SnippetsNavigatorView.prototype._handleRenameSnippet):
1804         * inspector/front-end/ScriptsPanel.js:
1805         (WebInspector.ScriptsPanel.prototype._itemRenamingRequested.callback):
1806         (WebInspector.ScriptsPanel.prototype._itemRenamingRequested):
1807
1808 2012-07-06  Andreas Kling  <kling@webkit.org>
1809
1810         Separate mutating CSSStyleDeclaration operations.
1811         <http://webkit.org/b/89945>
1812
1813         Reviewed by Antti Koivisto.
1814
1815         Use separate paths for mutating the StylePropertySet wrapped by a CSSStyleDeclaration.
1816         PropertySetCSSStyleDeclaration now has:
1817
1818             - propertySet() const
1819             - ensureMutablePropertySet()
1820
1821         This is prep work for supporting immutable ElementAttributeData objects, the idea being
1822         that calling ensureMutablePropertySet() may cause the element to convert its internal
1823         attribute storage (which also holds the inline StylePropertySet.)
1824
1825         * css/PropertySetCSSStyleDeclaration.cpp:
1826         (WebCore::PropertySetCSSStyleDeclaration::length):
1827         (WebCore::PropertySetCSSStyleDeclaration::item):
1828         (WebCore::PropertySetCSSStyleDeclaration::cssText):
1829         (WebCore::PropertySetCSSStyleDeclaration::setCssText):
1830         (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValue):
1831         (WebCore::PropertySetCSSStyleDeclaration::getPropertyValue):
1832         (WebCore::PropertySetCSSStyleDeclaration::getPropertyPriority):
1833         (WebCore::PropertySetCSSStyleDeclaration::getPropertyShorthand):
1834         (WebCore::PropertySetCSSStyleDeclaration::isPropertyImplicit):
1835         (WebCore::PropertySetCSSStyleDeclaration::setProperty):
1836         (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
1837         (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal):
1838         (WebCore::PropertySetCSSStyleDeclaration::getPropertyValueInternal):
1839         (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
1840         (WebCore::PropertySetCSSStyleDeclaration::copy):
1841         (WebCore::PropertySetCSSStyleDeclaration::makeMutable):
1842         (WebCore::PropertySetCSSStyleDeclaration::cssPropertyMatches):
1843         (WebCore::InlineCSSStyleDeclaration::didMutate):
1844         (WebCore::InlineCSSStyleDeclaration::ensureMutablePropertySet):
1845         * css/PropertySetCSSStyleDeclaration.h:
1846         (PropertySetCSSStyleDeclaration):
1847         (WebCore::PropertySetCSSStyleDeclaration::propertySet):
1848         (WebCore::PropertySetCSSStyleDeclaration::ensureMutablePropertySet):
1849
1850 2012-07-06  Pavel Feldman  <pfeldman@chromium.org>
1851
1852         Web Inspector: text editor scrolls 2px horizontally as one navigates the source code.
1853         https://bugs.webkit.org/show_bug.cgi?id=90682
1854
1855         Reviewed by Vsevolod Vlasov.
1856
1857         Removing the hack that is glueing the scroller to the left.
1858
1859         * inspector/front-end/TextEditor.js:
1860         (WebInspector.TextEditor.prototype._updatePanelOffsets):
1861         (WebInspector.TextEditorChunkedPanel.prototype._scroll):
1862         * inspector/front-end/textEditor.css:
1863
1864 2012-07-06  Andrey Kosyakov  <caseq@chromium.org>
1865
1866         Web Inspector: get rid of cancellable records in Timeline, manage frame records explicitly
1867         https://bugs.webkit.org/show_bug.cgi?id=90684
1868
1869         Reviewed by Pavel Feldman.
1870
1871         - drop handling of "cancelable" records;
1872         - keep frame record until other records come (or frame is canceled)
1873
1874         * inspector/InspectorTimelineAgent.cpp:
1875         (WebCore::InspectorTimelineAgent::didBeginFrame):
1876         (WebCore::InspectorTimelineAgent::didCancelFrame):
1877         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
1878         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
1879         (WebCore::InspectorTimelineAgent::commitFrameRecord):
1880         (WebCore::InspectorTimelineAgent::clearRecordStack):
1881         * inspector/InspectorTimelineAgent.h:
1882         (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
1883         (TimelineRecordEntry):
1884         (InspectorTimelineAgent):
1885
1886 2012-07-06  Alexei Filippov  <alexeif@chromium.org>
1887
1888         Web Inspector: Add native memory used by GlyphCache to the snapshot
1889         https://bugs.webkit.org/show_bug.cgi?id=90615
1890
1891         Reviewed by Yury Semikhatsky.
1892
1893         * inspector/InspectorMemoryAgent.cpp:
1894         (MemoryBlockName):
1895         (WebCore):
1896         (WebCore::addPlatformComponentsInfo):
1897         (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
1898         * inspector/front-end/NativeMemorySnapshotView.js:
1899         (WebInspector.MemoryBlockViewProperties._initialize):
1900         * platform/MemoryUsageSupport.cpp:
1901         (WebCore::MemoryUsageSupport::memoryUsageByComponents):
1902         (WebCore):
1903         * platform/MemoryUsageSupport.h:
1904         (MemoryUsageSupport):
1905         (ComponentInfo):
1906         (WebCore::MemoryUsageSupport::ComponentInfo::ComponentInfo):
1907         * platform/chromium/MemoryUsageSupportChromium.cpp:
1908         (WebCore::glyphCacheVisitor):
1909         (WebCore):
1910         (WebCore::MemoryUsageSupport::memoryUsageByComponents):
1911
1912 2012-07-06  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>
1913
1914         [Qt] Switch to new-style Qt 5 configure tests
1915
1916         Use explicit project file action instead of syncqt magic.
1917
1918         https://bugs.webkit.org/show_bug.cgi?id=90461
1919
1920         Reviewed by Tor Arne Vestbø.
1921
1922         * WebCore.pri:
1923
1924 2012-07-06  Pavel Feldman  <pfeldman@chromium.org>
1925
1926         Web Inspector: start searching from the cursor position in the Sources panel.
1927         https://bugs.webkit.org/show_bug.cgi?id=90677
1928
1929         Reviewed by Vsevolod Vlasov.
1930
1931         Web Inspector: start searching from the cursor position in the Sources panel.
1932         Drive-by: select whole match upon search cancel.
1933
1934         * inspector/front-end/ScriptsPanel.js:
1935         (WebInspector.ScriptsPanel.prototype.performSearch.finishedCallback):
1936         (WebInspector.ScriptsPanel.prototype.performSearch):
1937         * inspector/front-end/SourceFrame.js:
1938         (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
1939         (WebInspector.SourceFrame.prototype.performSearch):
1940         * inspector/front-end/TextEditor.js:
1941         (WebInspector.TextEditor.prototype.lastSelection):
1942         (WebInspector.TextEditor.prototype._handleFocused):
1943         * inspector/front-end/TextEditorModel.js:
1944         (WebInspector.TextRange.prototype.serializeToObject):
1945         (WebInspector.TextRange.prototype.compareTo):
1946
1947 2012-07-06  Vsevolod Vlasov  <vsevik@chromium.org>
1948
1949         Web Inspector: Snippets should be correctly (re)loaded when inspector is open and on navigation.
1950         https://bugs.webkit.org/show_bug.cgi?id=90672
1951
1952         Reviewed by Pavel Feldman.
1953
1954         Snippets are now reloaded from the storage on ScriptSnippetMapping reset.
1955         Fixed snippets storage.
1956
1957         * inspector/front-end/ScriptSnippetModel.js:
1958         (WebInspector.ScriptSnippetModel):
1959         (WebInspector.ScriptSnippetModel.prototype._loadSnippets):
1960         (WebInspector.ScriptSnippetModel.prototype._reset):
1961         * inspector/front-end/SnippetStorage.js:
1962         (WebInspector.Snippet.fromObject):
1963
1964 2012-07-06  Vsevolod Vlasov  <vsevik@chromium.org>
1965
1966         Web Inspector: Implement snippets removing.
1967         https://bugs.webkit.org/show_bug.cgi?id=90674
1968
1969         Reviewed by Pavel Feldman.
1970
1971         * inspector/front-end/NavigatorView.js:
1972         (WebInspector.NavigatorView.prototype.rename.afterEditing):
1973         * inspector/front-end/ScriptsNavigator.js:
1974         (WebInspector.ScriptsNavigator.prototype.removeUISourceCode):
1975         (WebInspector.SnippetsNavigatorView.prototype._handleRemoveSnippet):
1976         * inspector/front-end/ScriptsPanel.js:
1977         (WebInspector.ScriptsPanel.prototype._addUISourceCode):
1978         (WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
1979         (WebInspector.ScriptsPanel.prototype._revealExecutionLine):
1980         * inspector/front-end/TabbedEditorContainer.js:
1981
1982 2012-07-06  'Pavel Feldman'  <pfeldman@chromium.org>
1983
1984         Not reviewed: fix inspector front-end compilation.
1985
1986         * inspector/front-end/ElementsTreeOutline.js:
1987         * inspector/front-end/SearchController.js:
1988
1989 2012-07-06  Yury Semikhatsky  <yurys@chromium.org>
1990
1991         Web Inspector: add memory reporting routine to Document
1992         https://bugs.webkit.org/show_bug.cgi?id=90668
1993
1994         Reviewed by Pavel Feldman.
1995
1996         Added methods for reporting HashSet, ListHashSet and Vector memory
1997         footprint. Made Document report its size along with its internal
1998         collections sizes.
1999
2000         * dom/Document.cpp:
2001         (WebCore::Document::reportMemoryUsage):
2002         (WebCore):
2003         * dom/Document.h:
2004         (Document):
2005         * dom/MemoryInstrumentation.h:
2006         (MemoryInstrumentation):
2007         (MemoryObjectInfo):
2008         (WebCore::MemoryObjectInfo::reportHashMap):
2009         (WebCore::MemoryObjectInfo::reportHashSet):
2010         (WebCore::MemoryObjectInfo::reportListHashSet):
2011         (WebCore::MemoryObjectInfo::reportVector):
2012         (WebCore::MemoryObjectInfo::memoryInstrumentation):
2013         (WebCore::MemoryInstrumentation::reportHashMap):
2014         (WebCore):
2015         (WebCore::MemoryInstrumentation::reportHashSet):
2016         (WebCore::MemoryInstrumentation::reportListHashSet):
2017         (WebCore::MemoryInstrumentation::reportVector):
2018         * inspector/InspectorMemoryAgent.cpp:
2019         (WebCore):
2020
2021 2012-07-06  Gabor Rapcsanyi  <rgabor@webkit.org>
2022
2023         Fixing defines for NEON intrinsics.
2024         https://bugs.webkit.org/show_bug.cgi?id=90666
2025
2026         Reviewed by Zoltan Herczeg.
2027
2028         Existing tests cover this issue.
2029
2030         * platform/graphics/filters/FEGaussianBlur.cpp:
2031         (WebCore::FEGaussianBlur::platformApplyGeneric):
2032         * platform/graphics/filters/arm/FEGaussianBlurNEON.h:
2033         * platform/graphics/filters/arm/NEONHelpers.h:
2034
2035 2012-07-05  Vsevolod Vlasov  <vsevik@chromium.org>
2036
2037         Web Inspector: Workspace should dispatch WorkspaceReset event on navigation.
2038         https://bugs.webkit.org/show_bug.cgi?id=90616
2039
2040         Reviewed by Pavel Feldman.
2041
2042         Workspace UISourceCodeProviders are now reset on navigation.
2043         UISourceCodeRemoved event is not dispatched from UISourceCodeProviders on reset (page navigation) anymore.
2044
2045         * inspector/front-end/CompilerScriptMapping.js:
2046         (WebInspector.CompilerScriptMapping.prototype.reset):
2047         * inspector/front-end/DebuggerScriptMapping.js:
2048         (WebInspector.DebuggerScriptMapping):
2049         * inspector/front-end/ResourceScriptMapping.js:
2050         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeRemoved):
2051         * inspector/front-end/ScriptSnippetModel.js:
2052         (WebInspector.ScriptSnippetModel.prototype._reset):
2053         * inspector/front-end/ScriptsPanel.js:
2054         (WebInspector.ScriptsPanel.prototype._loadUISourceCodes):
2055         (WebInspector.ScriptsPanel.prototype._reset):
2056         (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
2057         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
2058         (WebInspector.ScriptsPanel.prototype.showGoToSourceDialog):
2059         * inspector/front-end/StylesPanel.js:
2060         (WebInspector.StylesUISourceCodeProvider):
2061         (WebInspector.StylesUISourceCodeProvider.prototype.reset):
2062         * inspector/front-end/Workspace.js:
2063         (WebInspector.CompositeUISourceCodeProvider.prototype.uiSourceCodeProviders):
2064         (WebInspector.Workspace):
2065         (WebInspector.Workspace.prototype.registerUISourceCodeProvider):
2066         (WebInspector.Workspace.prototype._reset):
2067
2068 2012-07-05  Arnaud Renevier  <arno@renevier.net>
2069
2070         [GTK] Showing the context menu in the Web Inspector can crash the browser
2071         https://bugs.webkit.org/show_bug.cgi?id=88800
2072
2073         Reviewed by Carlos Garcia Campos.
2074
2075         Remove ContextMenuItem from its parent before appending it again to a
2076         new parent
2077
2078         No new tests, behavior is unchanged.
2079
2080         * platform/gtk/ContextMenuGtk.cpp:
2081         (WebCore::ContextMenu::appendItem):
2082
2083 2012-07-05  Dongwoo Im  <dw.im@samsung.com>
2084
2085         [EFL] Unreviewed, Fix build break when WEB_AUDIO is enabled.
2086         https://bugs.webkit.org/show_bug.cgi?id=90653
2087
2088         Unreviewed build fix.
2089
2090         A new file, AudioFIFO.cpp, is added for the Web Audio fearure.
2091         This file should be included into the CMakeLists.txt file.
2092
2093         * CMakeLists.txt: Add the newly created file into the CMakeLists.txt
2094
2095 2012-07-05  Mike West  <mkwst@chromium.org>
2096
2097         Multiple Content Security Policy headers are correctly processed as separate headers.
2098         https://bugs.webkit.org/show_bug.cgi?id=90629
2099
2100         Headers of the same name are normalized into a single, comma-separated
2101         string as per RFC2616, section 4.2. We didn't correctly account for this
2102         in ContentSecurityPolicy::didReceiveHeader. Now we do by walking through
2103         the header string, looking for commas and processing each block in turn.
2104
2105         This oversight bit Firefox as well, and was patched in February:
2106         https://bugzilla.mozilla.org/show_bug.cgi?id=717511
2107
2108         Reviewed by Adam Barth.
2109
2110         Test: http/tests/security/contentSecurityPolicy/directive-parsing-multiple-headers.html
2111
2112         * page/ContentSecurityPolicy.cpp:
2113         (WebCore::ContentSecurityPolicy::didReceiveHeader):
2114
2115 2012-07-05  Sheriff Bot  <webkit.review.bot@gmail.com>
2116
2117         Unreviewed, rolling out r121921.
2118         http://trac.webkit.org/changeset/121921
2119         https://bugs.webkit.org/show_bug.cgi?id=90648
2120
2121         caused hundreds of crashes on Mac (Requested by pizlo on
2122         #webkit).
2123
2124         * editing/SurroundingText.cpp:
2125         (WebCore::SurroundingText::SurroundingText):
2126         * editing/TextIterator.cpp:
2127         (WebCore::CharacterIterator::advance):
2128         (WebCore::BackwardsCharacterIterator::advance):
2129
2130 2012-07-05  Anders Carlsson  <andersca@apple.com>
2131
2132         Type-ahead doesn't work in options inside optgroups
2133         https://bugs.webkit.org/show_bug.cgi?id=90647
2134         <rdar://problem/5604894>
2135
2136         Reviewed by Dan Bernstein.
2137
2138         Set the title of the menu item to a string that doesn't contain any leading or trailing whitespace.
2139
2140         * platform/mac/PopupMenuMac.mm:
2141         (WebCore::PopupMenuMac::populate):
2142
2143 2012-07-05  Hayato Ito  <hayato@chromium.org>
2144
2145         [Crash] Click an element which will be 'display: none' on focus.
2146         https://bugs.webkit.org/show_bug.cgi?id=90516
2147
2148         Reviewed by Hajime Morita.
2149
2150         EventHandler::handleMousePressEventSingleClick checks whether
2151         innerNode has a renderer in the beginning of the function.  But
2152         the renderer may disappear in the middle of the function since its
2153         style has just become 'display:none'.  As a result, it touches null renderer
2154         in EventHandler.cpp:517:
2155             VisiblePosition visiblePos(innerNode->renderer()->positionForPoint(event.localPoint()));
2156         In the case of 'display:none', we don't have to continue.  So call
2157         updateLayoutIgnorePendingStylesheets() in the beginning so that we
2158         can early exit and do not touch null renderer.
2159
2160         Test: fast/events/display-none-on-focus-crash.html
2161
2162         * page/EventHandler.cpp:
2163         (WebCore::EventHandler::handleMousePressEventSingleClick):
2164
2165 2012-07-05  Benjamin Poulain  <bpoulain@apple.com>
2166
2167         Double release of resources if the load is canceled in a callback of ResourceLoader::didFinishLoading
2168         https://bugs.webkit.org/show_bug.cgi?id=90431
2169
2170         Reviewed by Anders Carlsson.
2171
2172         In ResourceLoader::didFinishLoadingOnePart(), we invoke didFinishLoad() on the WebKit client. If WebKit
2173         causes the current frame to cancel the load synchronously, the resources are already freed when
2174         ResourceLoader::didFinishLoadingOnePart() ends.
2175         When ResourceLoader::didFinishLoading() subsequently invokes releaseResources(), we are releasing the
2176         resources a second time.
2177
2178         This patch add a second check for cancellation after invoking ResourceLoader::didFinishLoadingOnePart() to
2179         avoid such issues.
2180
2181         The previous check at the beginning of ResourceLoader::didFinishLoading() has been removed because it is
2182         redundant with ResourceLoader::didFinishLoadingOnePart().
2183
2184         * loader/ResourceLoader.cpp:
2185         (WebCore::ResourceLoader::didFinishLoading):
2186         (WebCore::ResourceLoader::didFinishLoadingOnePart):
2187
2188 2012-07-05  Simon Fraser  <simon.fraser@apple.com>
2189
2190         Add a utility method for hasOverflowClip() or hasClip()
2191         https://bugs.webkit.org/show_bug.cgi?id=90635
2192
2193         Reviewed by Dean Jackson.
2194         
2195         Add RenderObject::hasClipOrOverflowClip() as a convenience method
2196         since we end up calling hasOverfFlowClip() || hasClip() a lot in the layer code.
2197
2198         No new tests; refactoring only.
2199
2200         * rendering/RenderLayer.cpp:
2201         (WebCore::RenderLayer::calculateClipRects):
2202         (WebCore::RenderLayer::calculateRects):
2203         * rendering/RenderLayerCompositor.cpp:
2204         (WebCore::RenderLayerCompositor::enclosingNonStackingClippingLayer):
2205         (WebCore::RenderLayerCompositor::clipsCompositingDescendants):
2206         * rendering/RenderObject.h:
2207         (WebCore::RenderObject::hasClipOrOverflowClip):
2208
2209 2012-07-05  Yongjun Zhang  <yongjun_zhang@apple.com>
2210
2211         Code refactoring: move mimeTypeFromUTITree to a separate file.
2212         https://bugs.webkit.org/show_bug.cgi?id=90619
2213
2214         We should move UTI handling related code to a separate file.
2215
2216         Reviewed by David Kilzer.
2217
2218         * WebCore.xcodeproj/project.pbxproj: Add UTIUtilities.h/UTIUtilities.mm to xcode project, and drive-by fix
2219             that happened when editing the Xcode project file.
2220         * platform/network/mac/UTIUtilities.h: Added.
2221         (WebCore):
2222         * platform/network/mac/UTIUtilities.mm: Added.  move mimeTypeFromUTITree to UTIUtilities.mm.
2223         (WebCore):
2224         (WebCore::mimeTypeFromUTITree):
2225         * platform/network/mac/WebCoreURLResponse.mm: include UTIUtilities.h to use mimeTypeFromUTITree.
2226         (WebCore):
2227
2228 2012-07-05  Leandro Gracia Gil  <leandrogracia@chromium.org>
2229
2230         Character iterators should not advance if they are at end
2231         https://bugs.webkit.org/show_bug.cgi?id=90560
2232
2233         Reviewed by Ryosuke Niwa.
2234
2235         CharacterIterator and BackwardsCharacterIterator try to advance their
2236         internal TextIterator without checking if they already are at end.
2237         This can cause crashes in TextIterator::advance.
2238
2239         Test: platform/chromium/editing/surrounding-text/surrounding-text.html
2240
2241         * editing/SurroundingText.cpp:
2242         (WebCore::SurroundingText::SurroundingText):
2243         * editing/TextIterator.cpp:
2244         (WebCore::CharacterIterator::advance):
2245         (WebCore::BackwardsCharacterIterator::advance):
2246
2247 2012-07-05  John Mellor  <johnme@chromium.org>
2248
2249         Text Autosizing: Add basic framework
2250         https://bugs.webkit.org/show_bug.cgi?id=88655
2251
2252         Follow-up patch tweaking method signatures.
2253
2254         Reviewed by Simon Fraser.
2255
2256         No functional change, so no new tests.
2257
2258         * page/FrameView.cpp:
2259         (WebCore::FrameView::layout):
2260         * rendering/TextAutosizer.cpp:
2261         (WebCore::TextAutosizer::processSubtree):
2262         (WebCore::TextAutosizer::processBlock):
2263         (WebCore::TextAutosizer::processText):
2264         (WebCore):
2265         * rendering/TextAutosizer.h:
2266         (TextAutosizer):
2267
2268 2012-07-05  Pavel Feldman  <pfeldman@chromium.org>
2269
2270         Web Inspector: move cursor to the current search match.
2271         https://bugs.webkit.org/show_bug.cgi?id=90621
2272
2273         Reviewed by Vsevolod Vlasov.
2274
2275         After closing the search dialog, the cursor should be at the latest search match location.
2276
2277         * inspector/front-end/TextEditor.js:
2278         (WebInspector.TextEditor.prototype.markAndRevealRange):
2279         (WebInspector.TextEditor.prototype._handleFocused):
2280
2281 2012-07-05  Behdad Esfahbod  <behdad@behdad.org>
2282
2283         Subpixel layout broken with spans with CSS position other than static
2284         https://bugs.webkit.org/show_bug.cgi?id=90097
2285
2286         Reviewed by Eric Seidel.
2287
2288         In InlineBox, don't truncate size to integers when returning.
2289
2290         In RenderBlock, don't round-up width to next integer.  Round-up to
2291         next LayoutUnit instead.
2292
2293         Test: Added fast/sub-pixel/size-of-span-with-different-positions.html
2294         Adjust expected outputs affected by the rounding changes.
2295
2296         * platform/FractionalLayoutUnit.h:
2297         (WebCore::FractionalLayoutUnit::fromFloatCeil):
2298         (FractionalLayoutUnit):
2299         * rendering/InlineBox.h:
2300         (WebCore::InlineBox::size):
2301         * rendering/RenderBlock.cpp:
2302         (WebCore::updatePreferredWidth):
2303
2304 2012-07-05  Nate Chapin  <japhet@chromium.org>
2305
2306         REGRESSION (r115654): Sometimes does not replace content for multipart/x-mixed-replace
2307         https://bugs.webkit.org/show_bug.cgi?id=88436
2308
2309         Reviewed by Brady Eidson.
2310
2311         Test: http/tests/multipart/multipart-replace-non-html-content.php
2312
2313         * loader/DocumentLoader.cpp:
2314         (WebCore::DocumentLoader::commitData): We should only send receivedFirstData() once per main resource load,
2315             rather than multiple times in a multipart load. 
2316         (WebCore::DocumentLoader::setupForReplaceByMIMEType): m_gotFirstByte isn't set to true until data is
2317             actually committed, and multipart data is often not committed until the part is finished. Check
2318             whether the SharedBuffer is non-null instead.
2319         * testing/js/WebCoreTestSupport.cpp:
2320         (WebCoreTestSupport::resetInternalsObject): The JSInternals object my have already been cleared if the window shell
2321             was cleared as part of creation of a new Document. Check it before using it.
2322
2323 2012-07-05  Pavel Feldman  <pfeldman@chromium.org>
2324
2325         Web Inspector: move search field to the bottom of the page.
2326         https://bugs.webkit.org/show_bug.cgi?id=90610
2327
2328         Reviewed by Vsevolod Vlasov.
2329
2330         This is the first step in the Search/replace implementation. This change moves search
2331         field from the inspector toolbar to the inspector view footer that is visible upon Cmd/Ctrl+F.
2332
2333         * English.lproj/localizedStrings.js:
2334         * inspector/front-end/InspectorView.js:
2335         (WebInspector.InspectorView):
2336         (WebInspector.InspectorView.prototype._pushToHistory):
2337         (WebInspector.InspectorView.prototype.panelsElement):
2338         (WebInspector.InspectorView.prototype.setFooterElement):
2339         * inspector/front-end/Panel.js:
2340         (WebInspector.Panel.prototype.show):
2341         * inspector/front-end/ProfilesPanel.js:
2342         (WebInspector.ProfilesPanel.prototype._reset):
2343         * inspector/front-end/SearchController.js:
2344         (WebInspector.SearchController):
2345         (WebInspector.SearchController.prototype.updateSearchLabel):
2346         (WebInspector.SearchController.prototype.cancelSearch):
2347         (WebInspector.SearchController.prototype._updateSearchNavigationButtonState):
2348         (WebInspector.SearchController.prototype.focusSearchField):
2349         (WebInspector.SearchController.prototype._onKeyDown):
2350         (WebInspector.SearchController.prototype._onNextButtonSearch):
2351         (WebInspector.SearchController.prototype._onPrevButtonSearch):
2352         (WebInspector.SearchController.prototype._performSearch):
2353         * inspector/front-end/inspector.css:
2354         (#search):
2355         (.toolbar-search-container):
2356         (.toolbar-search-navigation):
2357         (.toolbar-search-navigation:hover):
2358         (.toolbar-search-navigation.toolbar-search-navigation-prev):
2359         (.toolbar-search-navigation.toolbar-search-navigation-next):
2360         (.toolbar-search-navigation-hidden):
2361         (.status-bar):
2362         (.search-drawer-header input[type="search"].search-config-search):
2363         (.inspector-footer):
2364         (.inspector-footer > div):
2365         * inspector/front-end/inspector.html:
2366         * inspector/front-end/inspector.js:
2367         (WebInspector.get _setCompactMode):
2368         (WebInspector.postDocumentKeyDown):
2369
2370 2012-07-05  Sergey Rogulenko  <rogulenko@google.com>
2371
2372         Web Inspector: added low-level instrumentation support for TimelineAgent
2373         https://bugs.webkit.org/show_bug.cgi?id=90264
2374
2375         Reviewed by Pavel Feldman.
2376
2377         * inspector/InspectorInstrumentation.cpp:
2378         (WebCore::InspectorInstrumentation::timelineAgentForOrphanEvents):
2379         (WebCore::InspectorInstrumentation::setTimelineAgentForOrphanEvents):
2380         (WebCore::InspectorInstrumentation::threadSpecificTimelineAgentForOrphanEvents):
2381         * inspector/InspectorInstrumentation.h:
2382         (InspectorInstrumentation):
2383         * inspector/InspectorTimelineAgent.cpp:
2384         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
2385         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
2386         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
2387         * inspector/InspectorTimelineAgent.h:
2388         (InspectorTimelineAgent):
2389
2390 2012-07-05  John Mellor  <johnme@chromium.org>
2391
2392         Text Autosizing: Add test framework and simple test.
2393         https://bugs.webkit.org/show_bug.cgi?id=90561
2394
2395         Exposes methods allowing Layout Tests to enable Text Autosizing and
2396         get the same results as if they were running on a mobile device.
2397
2398         Reviewed by Adam Barth.
2399
2400         Test: fast/text-autosizing/simple-paragraph.html
2401
2402         * page/Settings.cpp:
2403         (WebCore::Settings::Settings):
2404         (WebCore):
2405         (WebCore::Settings::setTextAutosizingWindowSizeOverride):
2406         * page/Settings.h:
2407         (Settings):
2408         (WebCore::Settings::textAutosizingWindowSizeOverride):
2409         * rendering/TextAutosizer.cpp:
2410         (WebCore::TextAutosizer::boostSubtree):
2411         * testing/InternalSettings.cpp:
2412         (WebCore::InternalSettings::InternalSettings):
2413         (WebCore::InternalSettings::restoreTo):
2414         (WebCore::InternalSettings::setTextAutosizingEnabled):
2415         (WebCore):
2416         (WebCore::InternalSettings::setTextAutosizingWindowSizeOverride):
2417         * testing/InternalSettings.h:
2418         (InternalSettings):
2419         * testing/InternalSettings.idl:
2420
2421 2012-07-04  Andrey Kosyakov  <caseq@chromium.org>
2422
2423         Web Inspector: timeline events in the vicinity of event dividers some times are tricky to expand
2424         https://bugs.webkit.org/show_bug.cgi?id=90572
2425
2426         Reviewed by Pavel Feldman.
2427
2428         - do not use resources-event-divider-padding;
2429         - make dividers larger and use border-color to visualize them;
2430         - move resources-<color>-divider to timelinePanel.css, as they're not used outside of timeline;
2431
2432         * inspector/front-end/TimelinePresentationModel.js:
2433         (WebInspector.TimelinePresentationModel.createEventDivider):
2434         * inspector/front-end/inspectorCommon.css:
2435         * inspector/front-end/timelinePanel.css:
2436         (.timeline .resources-event-divider):
2437         (.resources-red-divider):
2438         (.resources-blue-divider):
2439         (.resources-orange-divider):
2440         (.resources-divider.last):
2441         (.timeline .resources-event-divider.timeline-frame-divider):
2442
2443 2012-07-04  Andrey Kosyakov  <caseq@chromium.org>
2444
2445         Web Inspector: incorrect height of main timeline pane after switching to memory mode
2446         https://bugs.webkit.org/show_bug.cgi?id=90387
2447
2448         Reviewed by Pavel Feldman.
2449
2450         * inspector/front-end/TimelinePanel.js:
2451         (WebInspector.TimelinePanel.prototype._splitterDragging):
2452         (WebInspector.TimelinePanel.prototype.set _setSplitterPosition):
2453         (WebInspector.TimelinePanel.prototype._overviewModeChanged):
2454
2455 2012-07-05  Vivek Galatage  <vivekgalatage@gmail.com>
2456
2457         Web Inspector: Add support for keyboard increment / decrement on numbers in attributes in Elements Panel
2458         https://bugs.webkit.org/show_bug.cgi?id=89586
2459
2460         Reviewed by Pavel Feldman
2461
2462         Refactoring the key events while editing style property values. Migrated the code to UIUtils.js and referred
2463         from StylesSidebarPane.js, ElementsTreeOutline.js and MetricsSidebarPane.js.
2464
2465         No new tests as code refactoring and UI feature added to ElementsTreeOutline.js
2466
2467         * inspector/front-end/ElementsTreeOutline.js:
2468         (WebInspector.ElementsTreeElement.prototype._startEditingAttribute.handleKeyDownEvents):
2469         (WebInspector.ElementsTreeElement.prototype._startEditingAttribute):
2470         * inspector/front-end/MetricsSidebarPane.js:
2471         (WebInspector.MetricsSidebarPane.prototype._handleKeyDown.finishHandler):
2472         (WebInspector.MetricsSidebarPane.prototype._handleKeyDown.customNumberHandler):
2473         (WebInspector.MetricsSidebarPane.prototype._handleKeyDown):
2474         * inspector/front-end/StylesSidebarPane.js:
2475         (WebInspector.StylesSidebarPane.prototype._handleNameOrValueUpDown.finishHandler):
2476         (WebInspector.StylesSidebarPane.prototype._handleNameOrValueUpDown):
2477         * inspector/front-end/UIUtils.js:
2478         (WebInspector._modifiedHexValue):
2479         (WebInspector._modifiedFloatNumber):
2480         (WebInspector.handleElementValueModifications):
2481
2482 2012-07-05  Gabor Rapcsanyi  <rgabor@webkit.org>
2483
2484         NEON intrinsics should be used with gaussian blur filter
2485         https://bugs.webkit.org/show_bug.cgi?id=90166
2486
2487         Reviewed by Zoltan Herczeg.
2488
2489         Rewrite inline assembly to NEON intrinsics for better portabilty 
2490         and readibility. Remove unnecessary FEGaussianBlurNEON.cpp and add
2491         NEONHelpers.h to the project which will contains the shared
2492         NEON code of the filters.
2493
2494         Existing tests cover this issue.
2495
2496         * CMakeLists.txt:
2497         * GNUmakefile.list.am:
2498         * Target.pri:
2499         * WebCore.gypi:
2500         * WebCore.vcproj/WebCore.vcproj:
2501         * WebCore.xcodeproj/project.pbxproj:
2502         * platform/graphics/filters/FEGaussianBlur.cpp:
2503         (WebCore::FEGaussianBlur::platformApplyGeneric):
2504         (WebCore::FEGaussianBlur::platformApplyWorker):
2505         * platform/graphics/filters/FEGaussianBlur.h:
2506         (FEGaussianBlur):
2507         * platform/graphics/filters/arm/FEGaussianBlurNEON.cpp: Removed.
2508         * platform/graphics/filters/arm/FEGaussianBlurNEON.h:
2509         (WebCore::boxBlurNEON):
2510         * platform/graphics/filters/arm/NEONHelpers.h: Added.
2511         (WebCore):
2512         (WebCore::loadRGBA8AsFloat):
2513         (WebCore::storeFloatAsRGBA8):
2514
2515 2012-07-05  Sam D  <dsam2912@gmail.com>
2516
2517         Web Inspector: Having a "Scroll into view" for nodes through web inspector.
2518         https://bugs.webkit.org/show_bug.cgi?id=89554
2519
2520         Added options for scrolling-into-view the  element node through web
2521         inspector.
2522
2523         Reviewed by Pavel Feldman.
2524
2525         No new tests. UI change.
2526
2527         * English.lproj/localizedStrings.js:
2528         * inspector/front-end/ElementsTreeOutline.js:
2529         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
2530         (.):
2531         * inspector/front-end/RemoteObject.js:
2532         (WebInspector.RemoteObject.prototype.callFunction):
2533
2534 2012-07-05  Zan Dobersek  <zandobersek@gmail.com>
2535
2536         Add Gamepad logging channel
2537         https://bugs.webkit.org/show_bug.cgi?id=90570
2538
2539         Reviewed by Carlos Garcia Campos.
2540
2541         Add a new logging channel for logging significant
2542         events that are related to Gamepad API implementation.
2543
2544         No new tests - no new testable functionality.
2545
2546         * platform/Logging.cpp:
2547         (WebCore):
2548         (WebCore::getChannelFromName):
2549         * platform/Logging.h:
2550         (WebCore):
2551         * platform/gtk/GamepadsGtk.cpp: Log when a device is
2552         registered or unregistered.
2553         (WebCore::GamepadsGtk::registerDevice):
2554         (WebCore::GamepadsGtk::unregisterDevice):
2555
2556 2012-07-05  Peter Wang  <peter.wang@torchmobile.com.cn>
2557
2558         Web Inspector: [JSC] support JS execution in the context of an isolated world
2559         https://bugs.webkit.org/show_bug.cgi?id=85709
2560
2561         Reviewed by Gavin Barraclough.
2562
2563         No new test case for this bug. 
2564
2565         * bindings/js/ScriptController.cpp:
2566         (WebCore::ScriptController::collectIsolatedContexts):
2567         (WebCore):
2568
2569 2012-07-04  Huang Dongsung  <luxtella@company100.net>
2570
2571         Add virtual keyword to ~BitmapImage and ~StillImage because ~Image is virtual.
2572         https://bugs.webkit.org/show_bug.cgi?id=90447
2573
2574         Reviewed by Alexey Proskuryakov.
2575
2576         No new tests. This patch doesn't change behavior.
2577
2578         * platform/graphics/BitmapImage.h:
2579         (BitmapImage):
2580         * platform/graphics/qt/StillImageQt.h:
2581         (StillImage):
2582
2583 2012-07-04  Mike West  <mkwst@chromium.org>
2584
2585         Implement the script-nonce Content Security Policy directive.
2586         https://bugs.webkit.org/show_bug.cgi?id=89577
2587
2588         Reviewed by Adam Barth.
2589
2590         This patch implements the (experimental) script-nonce Content Security
2591         Policy directive from the 1.1 spec, which allows for selective
2592         execution of script by specifying a "nonce" attribute for the
2593         script tag. Script is only loaded and executed if it both matches the
2594         nonce and matches the script-src whitelist (if present).
2595
2596         The implementation is gated on the ENABLE_CSP_NEXT flag, which is
2597         currently disabled for all ports other than Chromium.
2598
2599         Spec: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#script-nonce--experimental
2600
2601         Tests: http/tests/security/contentSecurityPolicy/1.1/scriptnonce-allowed.html
2602                http/tests/security/contentSecurityPolicy/1.1/scriptnonce-badnonce.html
2603                http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked.html
2604                http/tests/security/contentSecurityPolicy/1.1/scriptnonce-emptynonce.html
2605                http/tests/security/contentSecurityPolicy/1.1/scriptnonce-scriptsrc-blocked.html
2606
2607         * dom/ScriptElement.cpp:
2608         (WebCore::ScriptElement::requestScript):
2609         (WebCore::ScriptElement::executeScript):
2610             Passing the nonce attribute through to check against CSP.
2611         * html/HTMLAttributeNames.in:
2612         * html/HTMLScriptElement.idl:
2613             Adding the `nonce` attribute to the script tag.
2614         * page/ContentSecurityPolicy.cpp:
2615         (CSPDirectiveList):
2616         (WebCore::CSPDirectiveList::logInvalidNonce):
2617         (WebCore):
2618         (WebCore::CSPDirectiveList::checkNonceAndReportViolation):
2619         (WebCore::CSPDirectiveList::allowJavaScriptURLs):
2620         (WebCore::CSPDirectiveList::allowInlineEventHandlers):
2621             If a nonce is set, deny JavaScript URLs and inline event handlers.
2622         (WebCore::CSPDirectiveList::allowScriptNonce):
2623         (WebCore::CSPDirectiveList::parseScriptNonce):
2624         (WebCore::CSPDirectiveList::addDirective):
2625         (WebCore::isAllowedByAllWithNonce):
2626         (WebCore::ContentSecurityPolicy::allowScriptNonce):
2627         * page/ContentSecurityPolicy.h:
2628         (WebCore):
2629
2630 2012-07-04  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2631
2632         Notifications should be in Modules/notifications
2633         https://bugs.webkit.org/show_bug.cgi?id=82121
2634
2635         Reviewed by Adam Barth.
2636
2637         The notifications directory is now self-contained. This patch moves it to the Modules directory.
2638
2639         No new tests, covered by existing tests.
2640
2641         * CMakeLists.txt:
2642         * DerivedSources.make:
2643         * DerivedSources.pri:
2644         * GNUmakefile.am:
2645         * GNUmakefile.list.am:
2646         * Modules/notifications/DOMWindowNotifications.cpp: Renamed from Source/WebCore/notifications/DOMWindowNotifications.cpp.
2647         (WebCore):
2648         (WebCore::DOMWindowNotifications::DOMWindowNotifications):
2649         (WebCore::DOMWindowNotifications::~DOMWindowNotifications):
2650         (WebCore::DOMWindowNotifications::from):
2651         (WebCore::DOMWindowNotifications::webkitNotifications):
2652         (WebCore::DOMWindowNotifications::disconnectFrameForPageCache):
2653         (WebCore::DOMWindowNotifications::reconnectFrameFromPageCache):
2654         (WebCore::DOMWindowNotifications::willDestroyGlobalObjectInCachedFrame):
2655         (WebCore::DOMWindowNotifications::willDestroyGlobalObjectInFrame):
2656         (WebCore::DOMWindowNotifications::willDetachGlobalObjectFromFrame):
2657         * Modules/notifications/DOMWindowNotifications.h: Renamed from Source/WebCore/notifications/DOMWindowNotifications.h.
2658         (WebCore):
2659         (DOMWindowNotifications):
2660         * Modules/notifications/DOMWindowNotifications.idl: Renamed from Source/WebCore/notifications/DOMWindowNotifications.idl.
2661         * Modules/notifications/Notification.cpp: Renamed from Source/WebCore/notifications/Notification.cpp.
2662         (WebCore):
2663         (WebCore::Notification::Notification):
2664         (WebCore::Notification::~Notification):
2665         (WebCore::Notification::create):
2666         (WebCore::getAndAddEventListener):
2667         (WebCore::Notification::interfaceName):
2668         (WebCore::Notification::show):
2669         (WebCore::Notification::close):
2670         (WebCore::Notification::eventTargetData):
2671         (WebCore::Notification::ensureEventTargetData):
2672         (WebCore::Notification::contextDestroyed):
2673         (WebCore::Notification::finalize):
2674         (WebCore::Notification::dispatchShowEvent):
2675         (WebCore::Notification::dispatchClickEvent):
2676         (WebCore::Notification::dispatchCloseEvent):
2677         (WebCore::Notification::dispatchErrorEvent):
2678         (WebCore::Notification::taskTimerFired):
2679         (WebCore::Notification::permissionLevel):
2680         (WebCore::Notification::permissionString):
2681         (WebCore::Notification::requestPermission):
2682         * Modules/notifications/Notification.h: Renamed from Source/WebCore/notifications/Notification.h.
2683         (WebCore):
2684         (Notification):
2685         (WebCore::Notification::cancel):
2686         (WebCore::Notification::isHTML):
2687         (WebCore::Notification::setHTML):
2688         (WebCore::Notification::url):
2689         (WebCore::Notification::setURL):
2690         (WebCore::Notification::iconURL):
2691         (WebCore::Notification::title):
2692         (WebCore::Notification::body):
2693         (WebCore::Notification::dir):
2694         (WebCore::Notification::setDir):
2695         (WebCore::Notification::replaceId):
2696         (WebCore::Notification::setReplaceId):
2697         (WebCore::Notification::tag):
2698         (WebCore::Notification::setTag):
2699         (WebCore::Notification::direction):
2700         (WebCore::Notification::scriptExecutionContext):
2701         (WebCore::Notification::detachPresenter):
2702         (WebCore::Notification::setBody):
2703         (WebCore::Notification::refEventTarget):
2704         (WebCore::Notification::derefEventTarget):
2705         * Modules/notifications/Notification.idl: Renamed from Source/WebCore/notifications/Notification.idl.
2706         * Modules/notifications/NotificationCenter.cpp: Renamed from Source/WebCore/notifications/NotificationCenter.cpp.
2707         (WebCore):
2708         (WebCore::NotificationCenter::create):
2709         (WebCore::NotificationCenter::NotificationCenter):
2710         (WebCore::NotificationCenter::checkPermission):
2711         (WebCore::NotificationCenter::requestPermission):
2712         (WebCore::NotificationCenter::stop):
2713         (WebCore::NotificationCenter::requestTimedOut):
2714         (WebCore::NotificationCenter::NotificationRequestCallback::createAndStartTimer):
2715         (WebCore::NotificationCenter::NotificationRequestCallback::NotificationRequestCallback):
2716         (WebCore::NotificationCenter::NotificationRequestCallback::startTimer):
2717         (WebCore::NotificationCenter::NotificationRequestCallback::timerFired):
2718         * Modules/notifications/NotificationCenter.h: Renamed from Source/WebCore/notifications/NotificationCenter.h.
2719         (WebCore):
2720         (NotificationCenter):
2721         (WebCore::NotificationCenter::createHTMLNotification):
2722         (WebCore::NotificationCenter::createNotification):
2723         (WebCore::NotificationCenter::client):
2724         (NotificationRequestCallback):
2725         * Modules/notifications/NotificationCenter.idl: Renamed from Source/WebCore/notifications/NotificationCenter.idl.
2726         * Modules/notifications/NotificationClient.h: Renamed from Source/WebCore/notifications/NotificationClient.h.
2727         (WebCore):
2728         (NotificationClient):
2729         (WebCore::NotificationClient::clearNotifications):
2730         (WebCore::NotificationClient::~NotificationClient):
2731         * Modules/notifications/NotificationController.cpp: Renamed from Source/WebCore/notifications/NotificationController.cpp.
2732         (WebCore):
2733         (WebCore::NotificationController::NotificationController):
2734         (WebCore::NotificationController::~NotificationController):
2735         (WebCore::NotificationController::create):
2736         (WebCore::NotificationController::clientFrom):
2737         (WebCore::NotificationController::supplementName):
2738         (WebCore::provideNotification):
2739         * Modules/notifications/NotificationController.h: Renamed from Source/WebCore/notifications/NotificationController.h.
2740         (WebCore):
2741         (NotificationController):
2742         (WebCore::NotificationController::from):
2743         (WebCore::NotificationController::client):
2744         * Modules/notifications/NotificationPermissionCallback.h: Renamed from Source/WebCore/notifications/NotificationPermissionCallback.h.
2745         (WebCore):
2746         (NotificationPermissionCallback):
2747         (WebCore::NotificationPermissionCallback::~NotificationPermissionCallback):
2748         * Modules/notifications/NotificationPermissionCallback.idl: Renamed from Source/WebCore/notifications/NotificationPermissionCallback.idl.
2749         * Modules/notifications/WorkerContextNotifications.cpp: Renamed from Source/WebCore/notifications/WorkerContextNotifications.cpp.
2750         (WebCore):
2751         (WebCore::WorkerContextNotifications::WorkerContextNotifications):
2752         (WebCore::WorkerContextNotifications::~WorkerContextNotifications):
2753         (WebCore::WorkerContextNotifications::from):
2754         (WebCore::WorkerContextNotifications::webkitNotifications):
2755         * Modules/notifications/WorkerContextNotifications.h: Renamed from Source/WebCore/notifications/WorkerContextNotifications.h.
2756         (WebCore):
2757         (WorkerContextNotifications):
2758         * Modules/notifications/WorkerContextNotifications.idl: Renamed from Source/WebCore/notifications/WorkerContextNotifications.idl.
2759         * Target.pri:
2760         * WebCore.gyp/WebCore.gyp:
2761         * WebCore.gypi:
2762         * WebCore.pri:
2763         * WebCore.vcproj/WebCore.vcproj:
2764         * WebCore.vcproj/WebCoreCommon.vsprops:
2765         * WebCore.vcproj/copyForwardingHeaders.cmd:
2766         * WebCore.xcodeproj/project.pbxproj:
2767
2768 2012-07-04  Hayato Ito  <hayato@chromium.org>
2769
2770         Remove inline keywords from functions which can not be inlined in ComposedShadowTreeWalker
2771         https://bugs.webkit.org/show_bug.cgi?id=90432
2772
2773         Reviewed by Hajime Morita.
2774
2775         No new tests - no functional changes.
2776
2777         * dom/ComposedShadowTreeWalker.cpp:
2778         (WebCore::ComposedShadowTreeWalker::traverseParent):
2779         (WebCore::ComposedShadowTreeWalker::traverseParentBackToYoungerShadowRootOrHost):
2780
2781 2012-07-04  Luke Macpherson  <macpherson@chromium.org>
2782
2783         Inspector crashes when trying to inspect a page with CSS variables
2784         https://bugs.webkit.org/show_bug.cgi?id=89818
2785
2786         Reviewed by Antti Koivisto.
2787
2788         Patch works by fixing treating handling of CSSPropertyID == CSSPropertyVariable as a special case,
2789         and looking up the author-defined property name from the CSSValue.
2790
2791         Added test inspector/styles/variables/css-variables.html that inspects an element using CSS variables.
2792         Test is skipped when variables are compiled out.
2793
2794         * css/CSSProperty.cpp:
2795         (WebCore::CSSProperty::cssName):
2796         (WebCore):
2797         (WebCore::CSSProperty::cssText):
2798         * css/CSSProperty.h:
2799         (CSSProperty):
2800         * css/PropertySetCSSStyleDeclaration.cpp:
2801         (WebCore::PropertySetCSSStyleDeclaration::item):
2802         * css/StylePropertySet.cpp:
2803         (WebCore::StylePropertySet::asText):
2804         * inspector/InspectorStyleSheet.cpp:
2805         (WebCore::InspectorStyle::populateAllProperties):
2806
2807 2012-07-04  Anthony Scian  <ascian@rim.com>
2808
2809         Web Inspector [JSC]: Implement ScriptCallStack::stackTrace
2810         https://bugs.webkit.org/show_bug.cgi?id=40118
2811
2812         Reviewed by Yong Li.
2813
2814         Implemented stub for createScriptCallStack to call into
2815         Interpreter and extract the current stack frames, iterate
2816         through the frames and create the return result required.
2817
2818         No new tests, manually tested thrown exception and inspector
2819         tracebacks.
2820
2821         * bindings/js/ScriptCallStackFactory.cpp:
2822         (WebCore::createScriptCallStack):
2823
2824 2012-07-04  Dana Jansens  <danakj@chromium.org>
2825
2826         [chromium] Respect memory needed for RenderSurfaces when reserving contents textures
2827         https://bugs.webkit.org/show_bug.cgi?id=89901
2828
2829         Reviewed by Adrienne Walker.
2830
2831         Treat the memory allocation given to a tab as an allocation for its
2832         contents and surfaces. Then only use up contents memory such that
2833         the surface textures will still fit within the limit. Report histograms
2834         for the amount of contents and surface texture memory used by each
2835         frame generated by the main thread.
2836
2837         In the context of ubercomp, each nested compositor will use less memory
2838         for contents ensuring that the root compositor has space for surfaces
2839         caused by that nested compositor.
2840
2841         Since surface memory can no longer be taken by contents, we remove the
2842         preferred memory limit from the texture manager.
2843
2844         Tests: TiledLayerChromiumTest.dontAllocateContentsWhenTargetSurfaceCantBeAllocated
2845                CCPrioritizedTextureTest.renderSurfacesReduceMemoryAvailableOutsideRootSurface
2846                CCPrioritizedTextureTest.renderSurfacesReduceMemoryAvailableForRequestLate
2847                CCPrioritizedTextureTest.whenRenderSurfaceNotAvailableTexturesAlsoNotAvailable
2848
2849         * platform/graphics/chromium/LayerRendererChromium.cpp:
2850         (WebCore::LayerRendererChromium::drawBackgroundFilters):
2851         * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
2852         (WebCore::ScrollbarLayerChromium::setTexturePriorities):
2853         * platform/graphics/chromium/TiledLayerChromium.cpp:
2854         (WebCore::TiledLayerChromium::setTexturePrioritiesInRect):
2855         * platform/graphics/chromium/TiledLayerChromium.h:
2856         (TiledLayerChromium):
2857         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2858         (WebCore::CCLayerTreeHost::initializeLayerRenderer):
2859         (WebCore::CCLayerTreeHost::updateLayers):
2860         (WebCore::CCLayerTreeHost::prioritizeTextures):
2861         (WebCore::CCLayerTreeHost::paintLayerContents):
2862         * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
2863         (WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
2864         (WebCore::CCOverdrawMetrics::didUseContentsTextureMemoryBytes):
2865         (WebCore):
2866         (WebCore::CCOverdrawMetrics::didUseRenderSurfaceTextureMemoryBytes):
2867         (WebCore::CCOverdrawMetrics::recordMetricsInternal):
2868         * platform/graphics/chromium/cc/CCOverdrawMetrics.h:
2869         (CCOverdrawMetrics):
2870         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp:
2871         (WebCore::CCPrioritizedTextureManager::CCPrioritizedTextureManager):
2872         (WebCore::CCPrioritizedTextureManager::prioritizeTextures):
2873         (WebCore::CCPrioritizedTextureManager::requestLate):
2874         (WebCore::CCPrioritizedTextureManager::acquireBackingTextureIfNeeded):
2875         (WebCore::CCPrioritizedTextureManager::reduceMemory):
2876         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h:
2877         (WebCore::CCPrioritizedTextureManager::create):
2878         (WebCore::CCPrioritizedTextureManager::memoryForRenderSurfacesBytes):
2879         (CCPrioritizedTextureManager):
2880         * platform/graphics/chromium/cc/CCPriorityCalculator.cpp:
2881         (WebCore::CCPriorityCalculator::uiPriority):
2882         (WebCore::CCPriorityCalculator::visiblePriority):
2883         (WebCore):
2884         (WebCore::CCPriorityCalculator::renderSurfacePriority):
2885         (WebCore::CCPriorityCalculator::priorityFromDistance):
2886         (WebCore::CCPriorityCalculator::priorityFromVisibility):
2887         * platform/graphics/chromium/cc/CCPriorityCalculator.h:
2888         (CCPriorityCalculator):
2889
2890 2012-07-04  John Mellor  <johnme@chromium.org>
2891
2892         Text Autosizing: Add basic framework
2893         https://bugs.webkit.org/show_bug.cgi?id=88655
2894
2895         This adds a highly simplified foundation that subsequent Text Autosizing patches
2896         can build upon. I've refactored this code (since the earlier combined diff
2897         uploaded to http://webkit.org/b/84186) to touch as few files as possible.
2898
2899         Reviewed by Adam Barth.
2900
2901         No new tests. I plan to add a test framework as my next Text Autosizing patch.
2902
2903         * WebCore.gypi:
2904         * dom/Document.cpp:
2905         (WebCore::Document::Document):
2906         * dom/Document.h:
2907         (WebCore):
2908         (Document):
2909         (WebCore::Document::textAutosizer):
2910         * page/FrameView.cpp:
2911         (WebCore::FrameView::layout):
2912         * rendering/TextAutosizer.cpp: Added.
2913         (WebCore):
2914         (WebCore::TextAutosizer::TextAutosizer):
2915         (WebCore::TextAutosizer::~TextAutosizer):
2916         (WebCore::TextAutosizer::create):
2917         (WebCore::TextAutosizer::boostSubtree):
2918         (WebCore::TextAutosizer::boostBlock):
2919         (WebCore::TextAutosizer::boostText):
2920         (WebCore::TextAutosizer::treatAsInline):
2921         (WebCore::TextAutosizer::traverseNext):
2922         (WebCore::TextAutosizer::cloneRenderStyleWithState):
2923         * rendering/TextAutosizer.h: Added.
2924         (WebCore):
2925         (TextAutosizer):
2926
2927 2012-07-04  Andrey Kosyakov  <caseq@chromium.org>
2928
2929         Unreviewed, rolling out r121767.
2930         http://trac.webkit.org/changeset/121767
2931         https://bugs.webkit.org/show_bug.cgi?id=89584
2932
2933         Crashes inspected page while recording timeline due to
2934         conflict with BeginFrame in record stack
2935
2936         * inspector/InspectorTimelineAgent.cpp:
2937         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
2938         (WebCore::InspectorTimelineAgent::willProcessTask):
2939         (WebCore::InspectorTimelineAgent::didProcessTask):
2940         (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
2941         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
2942         * inspector/InspectorTimelineAgent.h:
2943         (InspectorTimelineAgent):
2944         * inspector/front-end/MemoryStatistics.js:
2945         (WebInspector.MemoryStatistics.prototype._onRecordAdded):
2946         * inspector/front-end/TimelineFrameController.js:
2947         (WebInspector.TimelineFrameController.prototype._addRecord):
2948         * inspector/front-end/TimelineModel.js:
2949         * inspector/front-end/TimelineOverviewPane.js:
2950         (WebInspector.TimelineCategoryStrips.prototype.update.appendRecord):
2951         (WebInspector.TimelineCategoryStrips.prototype.update):
2952         * inspector/front-end/TimelinePanel.js:
2953         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
2954         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
2955         * inspector/front-end/TimelinePresentationModel.js:
2956         (WebInspector.TimelinePresentationModel.categories):
2957         (WebInspector.TimelinePresentationModel.recordStyle):
2958         (WebInspector.TimelinePresentationModel.categoryForRecord):
2959         (WebInspector.TimelinePresentationModel.forAllRecords):
2960         (WebInspector.TimelinePresentationModel.prototype.addRecord):
2961
2962 2012-07-04  Dana Jansens  <danakj@chromium.org>
2963
2964         [chromium] Clear RenderSurfaces still when no idle paint will be done
2965         https://bugs.webkit.org/show_bug.cgi?id=90553
2966
2967         Reviewed by Adrienne Walker.
2968
2969         Currently if idle painting is disabled, updateLayers() will early-out.
2970         But this prevents it from doing cleanup and clearing all RenderSurface
2971         pointers, leaving the layer tree in an unexpected state.
2972
2973         Tests: CCLayerTreeHostTestCompositeAndReadbackCleanup
2974
2975         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2976         (WebCore::CCLayerTreeHost::updateLayers):
2977
2978 2012-07-04  John Mellor  <johnme@chromium.org>
2979
2980         Text Autosizing: Add compile flag and runtime setting
2981         https://bugs.webkit.org/show_bug.cgi?id=87394
2982
2983         This patch renames Font Boosting to Text Autosizing and adds compile guards around the runtime setting.
2984
2985         Reviewed by Adam Barth.
2986
2987         No functionality yet, so no new tests.
2988
2989         * Configurations/FeatureDefines.xcconfig:
2990         * GNUmakefile.am:
2991         * Target.pri:
2992         * page/Settings.cpp:
2993         (WebCore::Settings::Settings):
2994         (WebCore::Settings::setTextAutosizingEnabled):
2995         * page/Settings.h:
2996         (Settings):
2997         (WebCore::Settings::textAutosizingEnabled):
2998
2999 2012-07-03  Alexander Pavlov  <apavlov@chromium.org>
3000
3001         Web Inspector: Emulate pseudo styles (hover etc.) of non-selected elements
3002         https://bugs.webkit.org/show_bug.cgi?id=86630
3003
3004         Reviewed by Pavel Feldman.
3005
3006         - A map of pseudo-states for all bound DOM nodes is maintained in the backend and queried whenever StyleResolver
3007         calculates the effective element style.
3008         - In the frontend, markers are introduced to distinguish elements that have forced pseudo styles set for them.
3009         Additionally, dimmed markers are added for collapsed nodes, whose descendants have forced pseudo styles.
3010         More ElementDecorator subtypes will be added for other types of markers.
3011
3012         Test: inspector/styles/force-pseudo-state.html
3013
3014         * English.lproj/localizedStrings.js:
3015         * inspector/InspectorCSSAgent.cpp:
3016         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
3017         (WebCore::InspectorCSSAgent::clearFrontend):
3018         (WebCore::InspectorCSSAgent::reset):
3019         (WebCore::InspectorCSSAgent::forcePseudoState):
3020         (WebCore::InspectorCSSAgent::recalcStyleForPseudoStateIfNeeded):
3021         (WebCore::InspectorCSSAgent::elementForId):
3022         (WebCore::InspectorCSSAgent::didRemoveDocument):
3023         (WebCore::InspectorCSSAgent::didRemoveDOMNode):
3024         (WebCore::InspectorCSSAgent::resetPseudoStates):
3025         * inspector/InspectorCSSAgent.h:
3026         (InspectorCSSAgent):
3027         * inspector/InspectorDOMAgent.cpp:
3028         (WebCore::InspectorDOMAgent::unbind):
3029         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
3030         * inspector/front-end/ElementsPanel.js:
3031         (WebInspector.ElementsPanel.get this):
3032         (WebInspector.ElementsPanel):
3033         (WebInspector.ElementsPanel.prototype._setPseudoClassForNodeId):
3034         * inspector/front-end/ElementsTreeOutline.js:
3035         (WebInspector.ElementsTreeOutline):
3036         (WebInspector.ElementsTreeOutline.prototype._createNodeDecorators):
3037         (WebInspector.ElementsTreeOutline.prototype.updateOpenCloseTags):
3038         (WebInspector.ElementsTreeOutline.ElementDecorator):
3039         (WebInspector.ElementsTreeOutline.ElementDecorator.prototype.decorate):
3040         (WebInspector.ElementsTreeOutline.ElementDecorator.prototype.decorateAncestor):
3041         (WebInspector.ElementsTreeOutline.PseudoStateDecorator):
3042         (WebInspector.ElementsTreeOutline.PseudoStateDecorator.prototype.decorate):
3043         (WebInspector.ElementsTreeOutline.PseudoStateDecorator.prototype.decorateAncestor):
3044         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
3045         (WebInspector.ElementsTreeElement.prototype._populateForcedPseudoStateItems):
3046         (WebInspector.ElementsTreeElement.prototype.updateTitle):
3047         (WebInspector.ElementsTreeElement.prototype._createDecoratorElement):
3048         (WebInspector.ElementsTreeElement.prototype._updateDecorations):
3049         * inspector/front-end/StylesSidebarPane.js:
3050         (WebInspector.StylesSidebarPane):
3051         (WebInspector.StylesSidebarPane.prototype.get forcedPseudoClasses):
3052         (WebInspector.StylesSidebarPane.prototype._updateForcedPseudoStateInputs):
3053         (WebInspector.StylesSidebarPane.prototype.update):
3054         (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
3055         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
3056         (WebInspector.StylesSidebarPane.prototype._toggleElementStatePane):
3057         (WebInspector.StylesSidebarPane.prototype._createElementStatePane.clickListener):
3058         * inspector/front-end/elementsPanel.css:
3059         (#elements-content .elements-gutter-decoration):
3060         (#elements-content .elements-gutter-decoration.elements-has-decorated-children):
3061
3062 2012-07-04  Pavel Feldman  <pfeldman@chromium.org>
3063
3064         Web Inspector: fix search on the network panel.
3065         https://bugs.webkit.org/show_bug.cgi?id=90557
3066
3067         Reviewed by Vsevolod Vlasov.
3068
3069         * inspector/front-end/NetworkPanel.js:
3070         (WebInspector.NetworkLogView.prototype._highlightNthMatchedRequest):
3071
3072 2012-07-04  Kwang Yul Seo  <skyul@company100.net>
3073
3074         Stop tracking line number in tokenizer
3075         https://bugs.webkit.org/show_bug.cgi?id=90544
3076
3077         Reviewed by Adam Barth.
3078
3079         Because SegmentedString knows how to track the current line and column,
3080         a tokenizer does not need to keep track of the current line by itself.
3081         No behavior change, so no new tests.
3082
3083         * html/parser/HTMLDocumentParser.cpp:
3084         (WebCore::HTMLDocumentParser::pumpTokenizer):
3085         (WebCore::HTMLDocumentParser::lineNumber):
3086         (WebCore::HTMLDocumentParser::textPosition):
3087         * html/parser/HTMLTokenizer.cpp:
3088         (WebCore::HTMLTokenizer::reset):
3089         (WebCore::HTMLTokenizer::flushBufferedEndTag):
3090         (WebCore):
3091         (WebCore::HTMLTokenizer::nextToken):
3092         * html/parser/HTMLTreeBuilder.cpp:
3093         (WebCore::HTMLTreeBuilder::processScriptStartTag):
3094         * html/track/WebVTTTokenizer.cpp:
3095         (WebCore::WebVTTTokenizer::reset):
3096         (WebCore::WebVTTTokenizer::nextToken):
3097         * platform/text/SegmentedString.cpp:
3098         (WebCore::SegmentedString::advanceAndUpdateLineNumberSlowCase):
3099         * platform/text/SegmentedString.h:
3100         (WebCore::SegmentedString::advancePastNewlineAndUpdateLineNumber):
3101         (WebCore::SegmentedString::advanceAndUpdateLineNumber):
3102         (SegmentedString):
3103         * xml/parser/MarkupTokenizerBase.h:
3104         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::peek):
3105         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::advance):
3106         (WebCore::MarkupTokenizerBase::emitAndResumeIn):
3107         (WebCore::MarkupTokenizerBase::emitEndOfFile):
3108         (WebCore::MarkupTokenizerBase::reset):
3109         (MarkupTokenizerBase):
3110         * xml/parser/MarkupTokenizerInlineMethods.h:
3111         (WebCore):
3112         * xml/parser/XMLTokenizer.cpp:
3113         (WebCore::XMLTokenizer::nextToken):
3114
3115 2012-07-04  Ryuan Choi  <ryuan.choi@samsung.com>
3116
3117         [CMAKE] Add GENERATE_BINDINGS macro to share the codes which use generate-bindings.pl.
3118         https://bugs.webkit.org/show_bug.cgi?id=90258
3119
3120         Reviewed by Rob Buis.
3121
3122         Use GENERATE_BINDINGS instead of using generate-bindings.pl directly.
3123
3124         * UseJSC.cmake:
3125         * UseV8.cmake:
3126         * PlatformBlackBerry.cmake:
3127
3128 2012-07-04  Vsevolod Vlasov  <vsevik@chromium.org>
3129
3130         Web Inspector: UISourceCode should take care of adding revision after committing working copy.
3131         https://bugs.webkit.org/show_bug.cgi?id=90549
3132
3133         Reviewed by Pavel Feldman.
3134
3135         Revision is now added in UISourceCode.commitWorkingCopy synchronously even if saving to JS VM or CSS model failed.
3136
3137         * inspector/front-end/CSSStyleModel.js:
3138         (WebInspector.CSSStyleModelResourceBinding.prototype.setStyleContent):
3139         * inspector/front-end/ExtensionServer.js:
3140         (WebInspector.ExtensionServer.prototype._handleOpenURL):
3141         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
3142         (WebInspector.ExtensionServer.prototype._onSetResourceContent):
3143         * inspector/front-end/JavaScriptSource.js:
3144         (WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
3145         * inspector/front-end/StylesPanel.js:
3146         (WebInspector.StyleSource.prototype._callOrSetTimeout):
3147         * inspector/front-end/UISourceCode.js:
3148         (WebInspector.UISourceCode.prototype.commitWorkingCopy):
3149         * inspector/front-end/Workspace.js:
3150         (WebInspector.CompositeUISourceCodeProvider.prototype.uiSourceCodeForURL):
3151
3152 2012-07-04  Pavel Feldman  <pfeldman@chromium.org>
3153
3154         Web Inspector: move settings button back to the right.
3155         https://bugs.webkit.org/show_bug.cgi?id=90552
3156
3157         Reviewed by Vsevolod Vlasov.
3158
3159         * inspector/front-end/inspector.css:
3160         (button.status-bar-item:active, button.status-bar-item.emulate-active):
3161         (button.settings-status-bar-item):
3162
3163 2012-07-04  Vsevolod Vlasov  <vsevik@chromium.org>
3164
3165         Web Inspector: Get rid of ResourceDomainModelBinding and DebuggerResourceBinding, make Resource.setContent private.
3166         https://bugs.webkit.org/show_bug.cgi?id=90531
3167
3168         Reviewed by Pavel Feldman.
3169
3170         Resource.setContent made private. It is delegating now to UISourceCodes which take care of domain specific actions.
3171         DebuggerResourceBinding was be removed and DebuggerResourceBinding.setScriptSource was moved to JavaScriptSource.
3172         ResourceDomainModelBinding was removed as well.
3173
3174         * WebCore.gypi:
3175         * WebCore.vcproj/WebCore.vcproj:
3176         * inspector/compile-front-end.py:
3177         * inspector/front-end/CSSStyleModel.js:
3178         (WebInspector.CSSStyleModelResourceBinding):
3179         * inspector/front-end/DebuggerResourceBinding.js: Removed.
3180         * inspector/front-end/JavaScriptSource.js:
3181         (WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
3182         (WebInspector.JavaScriptSource.prototype._setScriptSource.didEditScriptSource):
3183         (WebInspector.JavaScriptSource.prototype._setScriptSource):
3184         * inspector/front-end/Resource.js:
3185         (WebInspector.Resource.prototype._setContent):
3186         (WebInspector.Resource.prototype.revertToOriginal):
3187         (WebInspector.Resource.prototype.revertAndClearHistory):
3188         (WebInspector.ResourceRevision.prototype.revertToThis):
3189         * inspector/front-end/StylesPanel.js:
3190         (WebInspector.StyleSource.prototype.isEditable):
3191         * inspector/front-end/UISourceCode.js:
3192         * inspector/front-end/WebKit.qrc:
3193         * inspector/front-end/Workspace.js:
3194         (WebInspector.Workspace):
3195         * inspector/front-end/inspector.html:
3196
3197 2012-07-04  'Pavel Feldman'  <pfeldman@chromium.org>
3198
3199         Not reviewed: follow up to r121843, reduce inspector dock timeout to 200ms.
3200
3201         * inspector/front-end/StatusBarButton.js:
3202         (WebInspector.StatusBarButton.prototype.makeLongClickEnabled.mouseDown):
3203
3204 2012-07-04  Ian Vollick  <vollick@chromium.org>
3205
3206         [chromium] Correctly reject accelerated animations with certain rotations.
3207         https://bugs.webkit.org/show_bug.cgi?id=89768
3208
3209         Reviewed by James Robinson.
3210
3211         UnitTests:
3212           GraphicsLayerChromiumTest.createTransformAnimationWithBigRotation
3213           GraphicsLayerChromiumTest.createTransformAnimationWithRotationInvolvingNegativeAngles
3214           GraphicsLayerChromiumTest.createTransformAnimationWithSmallRotationInvolvingLargeAngles
3215
3216         * platform/graphics/chromium/AnimationTranslationUtil.cpp:
3217         (WebCore::appendKeyframe):
3218         (WebCore::isRotationType):
3219         (WebCore):
3220         (WebCore::causesRotationOfAtLeast180Degrees):
3221         (WebCore::CCKeyframedTransformAnimationCurve):
3222         (WebCore::createActiveAnimation):
3223         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3224         (WebCore::GraphicsLayerChromium::addAnimation):
3225
3226 2012-07-04  Pavel Feldman  <pfeldman@chromium.org>
3227
3228         Web Inspector: "Dock to right" shouldn't be in the settings dialog
3229         https://bugs.webkit.org/show_bug.cgi?id=76917
3230
3231         Reviewed by Vsevolod Vlasov.
3232
3233         Introduced 'long click-enabled' options for status bar buttons. Made dock/undock one of them.
3234
3235         * inspector/front-end/Images/statusbarButtonGlyphs.png:
3236         * inspector/front-end/StatusBarButton.js:
3237         (WebInspector.StatusBarButton.prototype._clicked):
3238         (WebInspector.StatusBarButton.prototype.set visible):
3239         (WebInspector.StatusBarButton.prototype.makeLongClickEnabled.mouseDown):
3240         (WebInspector.StatusBarButton.prototype.makeLongClickEnabled.mouseUp):
3241         (WebInspector.StatusBarButton.prototype.makeLongClickEnabled):
3242         (WebInspector.StatusBarButton.prototype._showOptions.mouseOver):
3243         (WebInspector.StatusBarButton.prototype._showOptions.mouseOut):
3244         (WebInspector.StatusBarButton.prototype._showOptions.mouseUp):
3245         (WebInspector.StatusBarButton.prototype._showOptions):
3246         * inspector/front-end/UIUtils.js:
3247         (WebInspector.elementDragStart):
3248         (WebInspector.elementDragEnd):
3249         (WebInspector.GlassPane):
3250         (WebInspector.GlassPane.prototype.dispose):
3251         * inspector/front-end/inspector.css:
3252         (.long-click-glyph):
3253         (.long-click-glyph.shadow):
3254         (button.status-bar-item:active:not(.emulate-inactive), button.status-bar-item.emulate-active):
3255         (.alternate-status-bar-buttons-bar):
3256         (.alternate-status-bar-buttons-bar .status-bar-item):
3257         * inspector/front-end/inspector.js:
3258         (WebInspector._createGlobalStatusBarItems):
3259         (WebInspector._createDockOptions.onClick.set else):
3260         (WebInspector._createDockOptions.onClick):
3261
3262 2012-07-04  Sheriff Bot  <webkit.review.bot@gmail.com>
3263
3264         Unreviewed, rolling out r121813.
3265         http://trac.webkit.org/changeset/121813
3266         https://bugs.webkit.org/show_bug.cgi?id=90522
3267
3268         Causes browser_tests failure:
3269         ErrorPageTest.DNSError_GoBack2{Forward2,AndForward} on
3270         Chromium {Linux,Mac,Win} (Requested by yosin on #webkit).
3271
3272         * loader/DocumentLoader.cpp:
3273         (WebCore::DocumentLoader::commitData):
3274         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
3275         * testing/js/WebCoreTestSupport.cpp:
3276         (WebCoreTestSupport::resetInternalsObject):
3277
3278 2012-07-04  Kihong Kwon  <kihong.kwon@samsung.com>
3279
3280         [EFL] Change format of return value of navigator.language
3281         https://bugs.webkit.org/show_bug.cgi?id=89639
3282
3283         Reviewed by Kenneth Rohde Christiansen.
3284
3285         Remove encoding type from return value of navigator.language.
3286         For example, from en-US.UTF-8 to en-US.
3287
3288         Use exist test case (fast/js/navigator-language.html).
3289
3290         * platform/efl/LanguageEfl.cpp:
3291         (WebCore::platformLanguage):
3292
3293 2012-07-03  Carlos Garcia Campos  <cgarcia@igalia.com>
3294
3295         [GTK] Don't show accel labels in context menu items
3296         https://bugs.webkit.org/show_bug.cgi?id=90437
3297
3298         Reviewed by Martin Robinson.
3299
3300         When a context menu item is created with a GtkMenuItem that has
3301         been created from a GtkAction, if the action has an accelerator,
3302         it's shown in the menu item label, like menu items in a menu
3303         bar. In that case we should reset the accel closure of the menu
3304         item label, like GtkUIManager does for popup menus, to make sure
3305         the accelerator is not shown. This isn't needed for all other
3306         ContextMenuIem constructors, because the GtkAction is created
3307         without accelerator by webkit in those cases.
3308
3309         * platform/gtk/ContextMenuItemGtk.cpp:
3310         (WebCore::ContextMenuItem::ContextMenuItem):
3311
3312 2012-07-03  Christophe Dumez  <christophe.dumez@intel.com>
3313
3314         [EFL] Move BatteryClientEfl from WebKit to WebCore
3315         https://bugs.webkit.org/show_bug.cgi?id=90063
3316
3317         Reviewed by Kenneth Rohde Christiansen.
3318
3319         Move BatteryClientEfl class from WebKit to WebCore
3320         so that it can be reused in WebKit2.
3321
3322         No new tests, no behavior change.
3323
3324         * PlatformEfl.cmake:
3325         * platform/efl/BatteryClientEfl.cpp: Renamed from Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.cpp.
3326         (WebCore):
3327         (WebCore::BatteryClientEfl::BatteryClientEfl):
3328         (WebCore::BatteryClientEfl::setController):
3329         (WebCore::BatteryClientEfl::startUpdating):
3330         (WebCore::BatteryClientEfl::stopUpdating):
3331         (WebCore::BatteryClientEfl::batteryControllerDestroyed):
3332         (WebCore::BatteryClientEfl::setBatteryStatus):
3333         (WebCore::BatteryClientEfl::timerFired):
3334         (WebCore::BatteryClientEfl::getBatteryStatus):
3335         (WebCore::BatteryClientEfl::setBatteryClient):
3336         * platform/efl/BatteryClientEfl.h: Renamed from Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.h.
3337         (WebCore):
3338         (BatteryClientEfl):
3339         (WebCore::BatteryClientEfl::~BatteryClientEfl):
3340         (WebCore::BatteryClientEfl::batteryStatus):
3341
3342 2012-07-03  Huang Dongsung  <luxtella@company100.net>
3343
3344         Add a comment in order to clarify why
3345         BitmapImage::frameHasAlphaAtIndex returns true as default.
3346         https://bugs.webkit.org/show_bug.cgi?id=90445
3347
3348         Reviewed by Eric Seidel.
3349
3350         No new tests. This patch doesn't change behavior.
3351
3352         * platform/graphics/BitmapImage.cpp:
3353         (WebCore::BitmapImage::frameHasAlphaAtIndex):
3354         (WebCore):
3355
3356 2012-07-03  Alex Sakhartchouk  <alexst@chromium.org>
3357
3358         [chromium] Avoid calling getUniformLocation??() in the compositor startup
3359         https://bugs.webkit.org/show_bug.cgi?id=90217
3360
3361         Reviewed by Adrienne Walker.
3362
3363         This change allows chrome compositor to bind uniform locations instead of querying 
3364         them from the graphics context by using GL_CHROMIUM_bind_uniform_location.
3365
3366         The extention itself is tested in chromium and the change in webkit simply adds
3367         plumbing to allow its usage. Existing pixel tests would be able to verify proper behaviour.
3368
3369         * platform/graphics/chromium/LayerRendererChromium.cpp:
3370         (WebCore::LayerRendererChromium::LayerRendererChromium):
3371         (WebCore::LayerRendererChromium::initialize):
3372         (WebCore::LayerRendererChromium::initializeSharedObjects):
3373         (WebCore::LayerRendererChromium::tileCheckerboardProgram):
3374         (WebCore::LayerRendererChromium::solidColorProgram):
3375         (WebCore::LayerRendererChromium::headsUpDisplayProgram):
3376         (WebCore::LayerRendererChromium::renderPassProgram):
3377         (WebCore::LayerRendererChromium::renderPassProgramAA):
3378         (WebCore::LayerRendererChromium::renderPassMaskProgram):
3379         (WebCore::LayerRendererChromium::renderPassMaskProgramAA):
3380         (WebCore::LayerRendererChromium::tileProgram):
3381         (WebCore::LayerRendererChromium::tileProgramOpaque):
3382         (WebCore::LayerRendererChromium::tileProgramAA):
3383         (WebCore::LayerRendererChromium::tileProgramSwizzle):
3384         (WebCore::LayerRendererChromium::tileProgramSwizzleOpaque):
3385         (WebCore::LayerRendererChromium::tileProgramSwizzleAA):
3386         (WebCore::LayerRendererChromium::textureProgram):
3387         (WebCore::LayerRendererChromium::textureProgramFlip):
3388         (WebCore::LayerRendererChromium::textureIOSurfaceProgram):
3389         (WebCore::LayerRendererChromium::videoYUVProgram):
3390         (WebCore::LayerRendererChromium::videoStreamTextureProgram):
3391         * platform/graphics/chromium/LayerRendererChromium.h:
3392         (LayerRendererChromium):
3393         * platform/graphics/chromium/ProgramBinding.cpp:
3394         (WebCore::ProgramBindingBase::ProgramBindingBase):
3395         (WebCore::ProgramBindingBase::~ProgramBindingBase):
3396         (WebCore::ProgramBindingBase::init):
3397         (WebCore::ProgramBindingBase::link):
3398         (WebCore):
3399         (WebCore::ProgramBindingBase::cleanup):
3400         (WebCore::ProgramBindingBase::createShaderProgram):
3401         (WebCore::ProgramBindingBase::cleanupShaders):
3402         * platform/graphics/chromium/ProgramBinding.h:
3403         (ProgramBindingBase):
3404         (WebCore::ProgramBinding::initialize):
3405         * platform/graphics/chromium/ShaderChromium.cpp:
3406         (WebCore::VertexShaderPosTex::init):
3407         (WebCore::VertexShaderPosTexYUVStretch::init):
3408         (WebCore::VertexShaderPos::init):
3409         (WebCore::VertexShaderPosTexTransform::init):
3410         (WebCore::VertexShaderQuad::init):
3411         (WebCore::VertexShaderTile::init):
3412         (WebCore::VertexShaderVideoTransform::init):
3413         (WebCore::FragmentTexAlphaBinding::init):
3414         (WebCore::FragmentTexOpaqueBinding::init):
3415         (WebCore::FragmentShaderOESImageExternal::init):
3416         (WebCore::FragmentShaderRGBATexAlphaAA::init):
3417         (WebCore::FragmentTexClampAlphaAABinding::init):
3418         (WebCore::FragmentShaderRGBATexAlphaMask::init):
3419         (WebCore::FragmentShaderRGBATexAlphaMaskAA::init):
3420         (WebCore::FragmentShaderYUVVideo::init):
3421         (WebCore::FragmentShaderColor::init):
3422         (WebCore::FragmentShaderCheckerboard::init):
3423         * platform/graphics/chromium/ShaderChromium.h:
3424         (VertexShaderPosTex):
3425         (VertexShaderPosTexYUVStretch):
3426         (VertexShaderPos):
3427         (WebCore::VertexShaderPosTexIdentity::init):
3428         (VertexShaderPosTexTransform):
3429         (VertexShaderQuad):
3430         (VertexShaderTile):
3431         (VertexShaderVideoTransform):
3432         (FragmentTexAlphaBinding):
3433         (FragmentTexOpaqueBinding):
3434         (FragmentShaderOESImageExternal):
3435         (FragmentShaderRGBATexAlphaAA):
3436         (FragmentTexClampAlphaAABinding):
3437         (FragmentShaderRGBATexAlphaMask):
3438         (FragmentShaderRGBATexAlphaMaskAA):
3439         (FragmentShaderYUVVideo):
3440         (FragmentShaderColor):
3441         (FragmentShaderCheckerboard):
3442         * platform/graphics/chromium/TextureCopier.cpp:
3443         (WebCore::AcceleratedTextureCopier::AcceleratedTextureCopier):
3444         (WebCore::AcceleratedTextureCopier::copyTexture):
3445         * platform/graphics/chromium/TextureCopier.h:
3446         (WebCore::AcceleratedTextureCopier::create):
3447         (AcceleratedTextureCopier):
3448
3449 2012-07-03  Erik Arvidsson  <arv@chromium.org>
3450
3451         [V8] Remove enableFasterDOMStoreAccess which is never used
3452         https://bugs.webkit.org/show_bug.cgi?id=90489
3453
3454         Reviewed by Adam Barth.
3455
3456         No new tests. Dead code removal.
3457
3458         * bindings/v8/V8DOMMap.cpp:
3459         * bindings/v8/V8DOMMap.h:
3460         (WebCore):
3461
3462 2012-07-03  Joshua Bell  <jsbell@chromium.org>
3463
3464         Binding: IDL type DOMString[] shouldn't match null
3465         https://bugs.webkit.org/show_bug.cgi?id=84217
3466
3467         Reviewed by Kentaro Hara.
3468
3469         Similar to r121714, IDL overloads with T[] (which is only minimally supported)
3470         were being treated as Nullable by default during overloaded method dispatching,
3471         which deviates from the&nb