fc8c217738042e5ef3691f76710181024e036626
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-03-06  Aaron Colwell  <acolwell@chromium.org>
2
3         Remove WebCore::Node::isActiveNode() since it isn't called anywhere.
4         https://bugs.webkit.org/show_bug.cgi?id=111646
5
6         Reviewed by Kentaro Hara.
7
8         No new tests. This removes dead code.
9
10         * dom/Node.h:
11         (Node):
12         * html/HTMLAudioElement.h:
13
14 2013-03-06  Abhishek Arya  <inferno@chromium.org>
15
16         Crash in SVGViewSpec::viewTarget
17         https://bugs.webkit.org/show_bug.cgi?id=111648
18
19         Reviewed by Philip Rogers.
20
21         * svg/SVGViewSpec.cpp:
22         (WebCore::SVGViewSpec::viewTarget):
23
24 2013-03-06  Benjamin Poulain  <benjamin@webkit.org>
25
26         WebKitTestRunner needs layoutTestController.elementDoesAutoCompleteForElementWithId
27         https://bugs.webkit.org/show_bug.cgi?id=42696
28
29         Reviewed by Andreas Kling.
30
31         Since the method acts directly on a WebCore element and strictly test
32         HTMLInputElement::shouldAutoComplete(), the test function is moved to internals.
33
34         * testing/Internals.cpp:
35         (WebCore::Internals::elementShouldAutoComplete):
36         * testing/Internals.h:
37         * testing/Internals.idl:
38
39 2013-03-06  Alexey Proskuryakov  <ap@apple.com>
40
41         [Mac] Synthetic ResourceResponses cannot be sent over IPC without losing most information
42         https://bugs.webkit.org/show_bug.cgi?id=111623
43
44         Reviewed by Brady Eidson.
45
46         * WebCore.exp.in: Exported functions for building synthetic responses.
47
48         * platform/network/ResourceResponseBase.cpp:
49         * platform/network/ResourceResponseBase.h:
50         Added a lot of FIXMEs.
51
52         * platform/network/cf/ResourceResponse.h:
53         (WebCore::ResourceResponse::ResourceResponse):
54         (WebCore::ResourceResponse::platformResponseIsUpToDate):
55         Track m_platformResponseIsUpToDate flag as well as we can. Currently, it will
56         be incorrect if a real platform response gets mutated.
57
58         * platform/network/cf/ResourceResponseCFNet.cpp:
59         (WebCore::ResourceResponse::cfURLResponse): Added a FIXME about how useless this
60         function is when it tries to create a new CFURLResponse.
61
62         * platform/network/mac/ResourceResponseMac.mm:
63         (WebCore::ResourceResponse::initNSURLResponse): Added a FIXME.
64         (WebCore::ResourceResponse::nsURLResponse): Added a return to make logic more clear.
65         (WebCore::ResourceResponse::ResourceResponse): Track m_platformResponseIsUpToDate.
66
67         * platform/network/blackberry/ResourceResponse.h:
68         * platform/network/curl/ResourceResponse.h:
69         * platform/network/qt/ResourceResponse.h:
70         * platform/network/soup/ResourceResponse.h:
71         * platform/network/win/ResourceResponse.h:
72         These platforms do not keep a platform response, so it's never up to date, and
73         WebCore data needs to be serialized.
74
75 2013-03-06  Dana Jansens  <danakj@chromium.org>
76
77         [chromium] Remove WebSharedGraphicsContext3D class
78         https://bugs.webkit.org/show_bug.cgi?id=111492
79
80         Reviewed by James Robinson.
81
82         Removing dead code, no new tests.
83
84         * WebCore.gypi:
85         * platform/chromium/support/WebSharedGraphicsContext3D.cpp: Removed.
86
87 2013-03-06  Dana Jansens  <danakj@chromium.org>
88
89         [chromium] Don't get callbacks or create GrContext from unowned WebGraphicsContext3D
90         https://bugs.webkit.org/show_bug.cgi?id=111638
91
92         Reviewed by James Robinson.
93
94         If the context is not owned, it's lifetime is not guaranteed, and by the time
95         the GraphicsContext3D is destroyed, the WGC3D can already be deleted.
96
97         When the context is not owned by the GraphicsContext3D, then don't clean it up
98         in the destructor or set up callbacks, as these are the owner's responsibility.
99
100         * platform/chromium/support/GraphicsContext3DPrivate.cpp:
101         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
102         (WebCore::GraphicsContext3DPrivate::grContext):
103         (WebCore::GraphicsContext3DPrivate::setContextLostCallback):
104         (WebCore::GraphicsContext3DPrivate::setErrorMessageCallback):
105
106 2013-02-22  Jer Noble  <jer.noble@apple.com>
107
108         Default mouse cursor behavior should be auto-hide for full screen video with custom controls
109         https://bugs.webkit.org/show_bug.cgi?id=107601
110
111         Reviewed by Beth Dakin.
112
113         Test: fullscreen/video-cursor-auto-hide.html
114
115         To facilitate automatically hiding the mouse cursor after a certain amount of idle mouse
116         time, add a new CSS property '-webkit-cursor-visibility', and handle that value inside of
117         EventHandler. When that value is present, the EventHandler will start a timer which, when
118         fired, will set the view's cursor to the None cursor. Subsequent mouse moves will either
119         cancel the timer, or reset the auto-hide timer.
120
121         Add a new CSS property, '-webkit-cursor-visibility':
122         * css/CSSComputedStyleDeclaration.cpp:
123         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
124         * css/CSSParser.cpp:
125         (WebCore::CSSParser::parseValue):
126         * css/CSSPrimitiveValueMappings.h:
127         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
128         (WebCore::CSSPrimitiveValue::operator ECursorVisibility):
129         * css/CSSProperty.cpp:
130         (WebCore::CSSProperty::isInheritedProperty):
131         * css/CSSPropertyNames.in:
132         * css/CSSValueKeywords.in:
133         * css/StyleBuilder.cpp:
134         (WebCore::StyleBuilder::StyleBuilder):
135         * css/StyleResolver.cpp:
136         (WebCore::StyleResolver::applyProperty):
137
138         Add a rule for video descendants of full screen elements to auto-hide the cursor on hover:
139         * css/fullscreen.css:
140         (:-webkit-full-screen video:hover):
141
142         Add a new timer, m_autoHideCursorTimer, to control resetting the view's cursor to None after
143         enough mouse idle time has passed.
144         * page/EventHandler.cpp:
145         (WebCore::EventHandler::EventHandler):
146         (WebCore::EventHandler::~EventHandler):
147         (WebCore::EventHandler::clear):
148         (WebCore::EventHandler::selectCursor):
149         (WebCore::EventHandler::startAutoHideCursorTimer):
150         (WebCore::EventHandler::cancelAutoHideCursorTimer):
151         (WebCore::EventHandler::autoHideCursorTimerFired):
152         * page/EventHandler.h:
153
154         Make FrameView::isActive() a public function (like it is in its superclass).
155         * page/FrameView.h:
156         (FrameView):
157
158         Move the definition for timeWithoutMouseMovementBeforeHidingControls from page->theme()
159         to page->settings() and allow that setting to be overridden in InternalSettings for 
160         testing purposes:
161         * page/Settings.cpp:
162         (WebCore::Settings::Settings):
163         * page/Settings.h:
164         (WebCore::Settings::setTimeWithoutMouseMovementBeforeHidingControls):
165         (WebCore::Settings::timeWithoutMouseMovementBeforeHidingControls):
166         * rendering/RenderTheme.h:
167         * testing/InternalSettings.cpp:
168         (WebCore::InternalSettings::Backup::Backup):
169         (WebCore::InternalSettings::Backup::restoreTo):
170         (WebCore::InternalSettings::setTimeWithoutMouseMovementBeforeHidingControls):
171         * testing/InternalSettings.h:
172         (InternalSettings):
173         * testing/InternalSettings.idl:
174         * html/shadow/MediaControls.cpp:
175         (WebCore::MediaControls::startHideFullscreenControlsTimer):
176
177         Add support to FeatureObserver for CURSOR_VISIBILITY:
178         * page/FeatureObserver.h:
179
180         Enable the feature flag:
181         * Configurations/FeatureDefines.xcconfig:
182
183 2013-03-06  Jer Noble  <jer.noble@apple.com>
184
185         Full screen from an iframe with a z-index style will allow siblings with higher z-index to overlay full screen content.
186         https://bugs.webkit.org/show_bug.cgi?id=111637
187
188         Reviewed by Simon Fraser.
189
190         No new tests; updated fullscreen/full-screen-iframe-zIndex.html to expose bug.
191
192         Pages with explicit z-index: styles on their iframes will override the default z-index: UA style when
193         elements within that iframe enter full screen mode. Mark the UA style as !important so as to not allow
194         iframe siblings with higher z-index styles to overlay the full screen element.
195
196         * css/fullscreen.css:
197         (:-webkit-full-screen):
198
199 2013-03-06  Levi Weintraub  <leviw@chromium.org>
200
201         InsertUnorderedList can lead to lost content and assertions in moveParagraphs
202         https://bugs.webkit.org/show_bug.cgi?id=111228
203
204         Reviewed by Ryosuke Niwa.
205
206         When a list is wrapped in a presentational inline like a b tag, we'd create markup that included
207         everything up to the b tag from moveParagraphs when intending to only move the contents of the
208         list item. This could make it impossible to remove content from a list and trigger loss of
209         editable text.
210
211         Test: editing/execCommand/insert-remove-block-list-inside-presentational-inline.html
212
213         * editing/EditingStyle.cpp:
214         (WebCore::elementMatchesAndPropertyIsNotInInlineStyleDecl): Ensure there's an inline style
215         before calling propertyExistsInStyle.
216         (WebCore::HTMLElementEquivalent::propertyExistsInStyle): Removing null check for style.
217         All callers ensure this value isn't null.
218         * editing/markup.cpp:
219         (WebCore::highestAncestorToWrapMarkup): Avoid going over RenderBlocks when finding the highest
220         presentational ancestor to avoid leaving the bounds of the original paragraph.
221
222 2013-03-06  Adam Klein  <adamk@chromium.org>
223
224         [V8] Use implicit references instead of object groups to keep registered MutationObservers alive
225         https://bugs.webkit.org/show_bug.cgi?id=111382
226
227         Reviewed by Adam Barth.
228
229         Two-phase approach to implicit references: after grouping objects
230         together, add an implicit reference between each registered node's
231         group and the MutationObserver's group (which includes wrappers from
232         all worlds).
233
234         Also changed many uses of v8::Value to v8::Object where we know we're
235         dealing with Object and the V8 API expects them.
236
237         Test: ManualTests/mutation-observer-leaks-nodes.html
238
239         * bindings/v8/V8GCController.cpp:
240         (WebCore::ImplicitConnection::ImplicitConnection):
241         (WebCore::ImplicitConnection::wrapper):
242         (ImplicitConnection):
243         (WebCore::ImplicitReference::ImplicitReference): Wrapper class holding a parent who should have an implicit reference to a child.
244         (ImplicitReference):
245         (WebCore::operator<): Needed for std::sort() call to avoid the overhead of using a HashMap
246         (WebCore::WrapperGrouper::addObjectWrapperToGroup):
247         (WebCore::WrapperGrouper::addNodeWrapperToGroup):
248         (WebCore::WrapperGrouper::addImplicitReference):
249         (WrapperGrouper):
250         (WebCore::WrapperGrouper::apply):
251
252 2013-03-06  Ankur Taly  <ataly@google.com>
253
254         Modify log method in V8DOMActivityLogger so that the apiName and
255         extraInfo arguments are of type const String& instead of const char*.
256         This change gets rid of some of the memory ownership issues that arise
257         with char* pointers.
258         https://bugs.webkit.org/show_bug.cgi?id=111483
259
260         Reviewed by Adam Barth.
261
262         There are no new tests as there is no change in behavior.
263
264         * bindings/v8/V8DOMActivityLogger.h:
265         (WebCore::V8DOMActivityLogger::log):
266
267 2013-03-06  Mike Reed  <reed@google.com>
268
269         Use SkTypeface API directly, rather than (soon to be private) SkFontHost
270         https://bugs.webkit.org/show_bug.cgi?id=111588
271
272         Reviewed by Stephen White.
273
274         No new tests, as existing tests in fast/writing-mode exercise this code.
275
276         e.g. japanese-rl-text-with-broken-font.html
277              vertical-subst-font-vert-no-dflt.html
278
279         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
280         (WebCore::FontPlatformData::emSizeInFontUnits):
281         (WebCore::FontPlatformData::openTypeTable):
282         * platform/graphics/harfbuzz/HarfBuzzFaceSkia.cpp:
283         (WebCore::harfBuzzSkiaGetTable):
284         (WebCore::HarfBuzzFace::createFace):
285         * platform/graphics/skia/SimpleFontDataSkia.cpp:
286         (WebCore::SimpleFontData::platformInit):
287
288 2013-03-06  Victor Costan <costan@gmail.com>
289
290         Cleanup in multipart FormData sending code.
291         https://bugs.webkit.org/show_bug.cgi?id=111603
292
293         Reviewed by Alexey Proskuryakov.
294
295         No new tests. This is cleanup.
296
297         * platform/network/FormDataBuilder.cpp:
298         (WebCore::appendQuotedString): use proper types (e.g, size_t instead of
299         unsigned long)
300
301 2013-03-06  Tony Gentilcore  <tonyg@chromium.org>
302
303         Threaded HTML parser should use 8 bit strings for attributes
304         https://bugs.webkit.org/show_bug.cgi?id=111610
305
306         Reviewed by Eric Seidel.
307
308         This fixes a 27% regression in dromaeo_jslibattrjquery on the threaded HTML parser vs. the main thread parser.
309
310         No new tests because no new functionality.
311
312         * html/parser/CompactHTMLToken.cpp:
313         (WebCore::CompactHTMLToken::CompactHTMLToken):
314
315 2013-03-06  Alpha Lam  <hclam@chromium.org>
316
317         More cleanup in GIFImageReader
318         https://bugs.webkit.org/show_bug.cgi?id=111137
319
320         Reviewed by Stephen White.
321
322         Refactor GIFImageReaderReader with the following changes:
323         + Separate GIFLZWContext for decoding states.
324         + Replace unsigned char* with Vector<unsigned char>
325
326         There is no change in code behavior and just refactoring.
327
328         No new tests. This is covered by existing GIFImageReaderTest.
329         I also did a local testing on a 50k image corpus and showed no regression.
330
331         * platform/image-decoders/gif/GIFImageDecoder.cpp:
332         (WebCore::GIFImageDecoder::haveDecodedRow):
333         * platform/image-decoders/gif/GIFImageDecoder.h:
334         (GIFImageDecoder):
335         * platform/image-decoders/gif/GIFImageReader.cpp:
336         (GIFImageReader::outputRow):
337         (GIFImageReader::doLZW):
338         (GIFImageReader::decodeInternal):
339         (GIFImageReader::prepareLZWContext):
340         * platform/image-decoders/gif/GIFImageReader.h:
341         (GIFFrameContext):
342         (GIFFrameContext::GIFFrameContext):
343         (GIFFrameContext::~GIFFrameContext):
344         (GIFLZWContext):
345         (GIFLZWContext::GIFLZWContext):
346         (GIFImageReader):
347
348 2013-03-06  Tim Horton  <timothy_horton@apple.com>
349
350         Fix typo'd MainThreadScrollingBecauseOfStyleIndictaion
351         https://bugs.webkit.org/show_bug.cgi?id=111557
352
353         Reviewed by Geoff Garen.
354
355         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
356         (WebCore::ScrollingCoordinatorMac::commitTreeState):
357         * platform/graphics/TiledBacking.h:
358         * platform/graphics/ca/mac/TileCache.mm:
359         (WebCore::TileCache::updateTileCoverageMap):
360
361 2013-03-05  Geoffrey Garen  <ggaren@apple.com>
362
363         Removed some dead code in the page cache
364         https://bugs.webkit.org/show_bug.cgi?id=111525
365
366         Reviewed by Alexey Proskuryakov.
367
368         Page cache autorelease doesn't exist anymore, so there's no need to keep
369         around these olds hacks.
370
371         * WebCore.exp.in:
372         * history/PageCache.cpp:
373         (WebCore::PageCache::PageCache):
374         (WebCore):
375         * history/PageCache.h:
376         (PageCache):
377         * page/Settings.cpp:
378         (WebCore::Settings::setUsesPageCache):
379         * platform/mac/MemoryPressureHandlerMac.mm:
380         (WebCore::MemoryPressureHandler::releaseMemory):
381         * platform/qt/QtTestSupport.cpp:
382         (WebKit::QtTestSupport::clearMemoryCaches):
383
384 2013-03-06  Rafael Weinstein  <rafaelw@chromium.org>
385
386         Unreviewed, rolling out r144924.
387         http://trac.webkit.org/changeset/144924
388         https://bugs.webkit.org/show_bug.cgi?id=109908
389
390         caused multiple crashes in inspector/debugger tests
391
392         * bindings/js/JSInjectedScriptHostCustom.cpp:
393         * bindings/js/ScriptObject.h:
394         * bindings/v8/ScriptObject.h:
395         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
396         * inspector/InjectedScriptHost.cpp:
397         (WebCore::InjectedScriptHost::create):
398         (WebCore::InjectedScriptHost::InjectedScriptHost):
399         (WebCore::InjectedScriptHost::disconnect):
400         * inspector/InjectedScriptHost.h:
401         (WebCore):
402         (InjectedScriptHost):
403         * inspector/InjectedScriptHost.idl:
404         * inspector/InjectedScriptManager.cpp:
405         (WebCore::InjectedScriptManager::InjectedScriptManager):
406         (WebCore::InjectedScriptManager::discardInjectedScripts):
407         (WebCore::InjectedScriptManager::discardInjectedScriptsFor):
408         * inspector/InjectedScriptManager.h:
409         (InjectedScriptManager):
410         * inspector/InjectedScriptSource.js:
411         (.):
412
413 2013-03-06  Dmitry Zvorygin  <zvorygin@chromium.org>
414
415         Introduce new message sources for logging.
416         https://bugs.webkit.org/show_bug.cgi?id=110968
417
418         Reviewed by Pavel Feldman.
419
420         Added SecurityMessageSource, RenderingMessageSource, StorageMessageSource, AppCacheMessageSource, CSSMessageSource.
421         Changed some logging lines to contain more descriptive message source.
422
423         * Modules/webdatabase/DatabaseBase.cpp:
424         (WebCore::DatabaseBase::logErrorMessage):
425         * Modules/webdatabase/DatabaseManager.cpp:
426         (WebCore::DatabaseManager::logErrorMessage):
427         * Modules/websockets/WebSocketChannel.cpp:
428         (WebCore::WebSocketChannel::fail):
429         * bindings/ScriptControllerBase.cpp:
430         (WebCore::ScriptController::canExecuteScripts):
431         * css/MediaList.cpp:
432         (WebCore::addResolutionWarningMessageToConsole):
433         * dom/Document.cpp:
434         (WebCore::Document::processHttpEquiv):
435         * dom/ScriptElement.cpp:
436         (WebCore::ScriptElement::executeScript):
437         (WebCore::ScriptElement::notifyFinished):
438         * dom/ViewportArguments.cpp:
439         (WebCore::reportViewportWarning):
440         * html/HTMLFormControlElement.cpp:
441         (WebCore::shouldAutofocus):
442         * html/HTMLFormElement.cpp:
443         (WebCore::HTMLFormElement::validateInteractively):
444         * html/HTMLIFrameElement.cpp:
445         (WebCore::HTMLIFrameElement::parseAttribute):
446         * html/canvas/CanvasRenderingContext2D.cpp:
447         (WebCore::CanvasRenderingContext2D::getImageData):
448         * html/canvas/WebGLRenderingContext.cpp:
449         (WebCore):
450         (WebCore::WebGLRenderingContext::printWarningToConsole):
451         * html/parser/XSSAuditor.cpp:
452         (WebCore::XSSAuditor::init):
453         * html/parser/XSSAuditorDelegate.cpp:
454         (WebCore::XSSAuditorDelegate::didBlockScript):
455         * inspector/ConsoleMessage.cpp:
456         (WebCore::messageSourceValue):
457         * inspector/Inspector.json:
458         * loader/FrameLoader.cpp:
459         (WebCore::FrameLoader::submitForm):
460         (WebCore::FrameLoader::reportLocalLoadFailed):
461         (WebCore::createWindow):
462         * loader/ImageLoader.cpp:
463         (WebCore::ImageLoader::notifyFinished):
464         * loader/MainResourceLoader.cpp:
465         (WebCore::MainResourceLoader::responseReceived):
466         * loader/MixedContentChecker.cpp:
467         (WebCore::MixedContentChecker::logWarning):
468         * loader/TextTrackLoader.cpp:
469         (WebCore::TextTrackLoader::corsPolicyPreventedLoad):
470         * loader/appcache/ApplicationCacheGroup.cpp:
471         (WebCore::ApplicationCacheGroup::abort):
472         * loader/cache/CachedResourceLoader.cpp:
473         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
474         * page/Console.cpp:
475         (WebCore::printMessageSourceAndLevelPrefix):
476         * page/ConsoleTypes.h:
477         * page/ContentSecurityPolicy.cpp:
478         (WebCore::ContentSecurityPolicy::logToConsole):
479         * page/DOMWindow.cpp:
480         (WebCore::DOMWindow::dispatchMessageEventWithOriginCheck):
481         * page/PointerLockController.cpp:
482         (WebCore::PointerLockController::requestPointerLock):
483         * svg/SVGDocumentExtensions.cpp:
484         (WebCore::reportMessage):
485
486 2013-03-06  Florin Malita  <fmalita@chromium.org>
487
488         SVG pattern to pattern reference does not work if first pattern has a child node
489         https://bugs.webkit.org/show_bug.cgi?id=111586
490
491         Reviewed by Philip Rogers.
492
493         SVGPatternElement::collectPatternAttributes should test for child elements, not child nodes.
494
495         Tests: svg/custom/pattern-reference-expected.svg
496                svg/custom/pattern-reference.svg
497
498         * svg/SVGPatternElement.cpp:
499         (WebCore::SVGPatternElement::collectPatternAttributes):
500
501 2013-03-06  Christophe Dumez  <ch.dumez@sisa.samsung.com>
502
503         [soup] session cookies are not correctly reported in getRawCookies()
504         https://bugs.webkit.org/show_bug.cgi?id=111584
505
506         Reviewed by Martin Robinson.
507
508         As per libsoup documentation, SoupCookie->expires is NULL for session cookies.
509         However, the soup implementation for getRawCookies() does not check for NULL
510         case before passing the value to soup_date_to_time_t(), which leads to run time
511         warnings.
512
513         We should also pass true for WebCore::Cookie's session argument if
514         SoupCookie->expires is NULL. The current implementation reports the cookie as a
515         session one if soup_cookie_jar_is_persistent(jar) returns true, which is
516         inaccurate.
517
518         No new tests, no behavior change for layout tests as Web Inspector currently
519         ignores the "session" member and uses expires/max-age instead to deduce it.
520
521         * platform/network/soup/CookieJarSoup.cpp:
522         (WebCore::getRawCookies):
523
524 2013-03-06  Douglas Stockwell  <dstockwell@chromium.org>
525
526         REGRESSION(r111639): delayed animation start can be postponed
527         https://bugs.webkit.org/show_bug.cgi?id=108582
528
529         Query the animation timer directly for the time it will next fire rather than
530         trying to cache the interval. Previous approach was incorrect -- as time advanced
531         it was possible for the interval to jump beyond the next service time.
532
533         Reviewed by Darin Adler.
534
535         Test: animations/animation-delay-changed.html
536
537         * page/animation/AnimationController.cpp:
538         (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
539         (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer):
540         (WebCore::AnimationControllerPrivate::updateAnimationTimer):
541         * page/animation/AnimationControllerPrivate.h:
542         (AnimationControllerPrivate): Remove m_previousTimeToNextService
543
544 2013-03-06  Andrey Lushnikov  <lushnikov@chromium.org>
545
546         Web Inspector: [ACE] show execution line in Ace editor
547         https://bugs.webkit.org/show_bug.cgi?id=111575
548
549         Reviewed by Pavel Feldman.
550
551         Highlight execution line by the means of Ace full line markers.
552
553         No new tests.
554
555         * inspector/front-end/AceTextEditor.js:
556         (WebInspector.AceTextEditor.prototype.setExecutionLine):
557         (WebInspector.AceTextEditor.prototype.clearExecutionLine):
558         (WebInspector.AceTextEditor.prototype.setSelection):
559         * inspector/front-end/ace/acedevtools.css:
560         (.ace-editor-container):
561         (.webkit-execution-line):
562
563 2013-03-06  Yury Semikhatsky  <yurys@chromium.org>
564
565         Web Inspector: fix closure compiler warnings in the profiler code
566         https://bugs.webkit.org/show_bug.cgi?id=111581
567
568         Reviewed by Vsevolod Vlasov.
569
570         Added missing annotations. Replaced NativeProfileLauncherView with
571         ProfileLauncherView.
572
573         * inspector/InjectedScriptExterns.js:
574         (InjectedScriptHost.prototype.objectId):
575         (InjectedScriptHost.prototype.releaseObjectId):
576         * inspector/front-end/FlameChart.js:
577         (WebInspector.FlameChart.prototype._forEachNode):
578         * inspector/front-end/ProfileLauncherView.js:
579         * inspector/front-end/ProfilesPanel.js:
580
581 2013-03-06  Carlos Garcia Campos  <cgarcia@igalia.com>
582
583         [BlackBerry] Pass String::StrictConversion instead of true to String::utf8()
584         https://bugs.webkit.org/show_bug.cgi?id=111546
585
586         Reviewed by Rob Buis.
587
588         String::utf8() API changed in r134173.
589
590         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
591         (WebCore::MediaPlayerPrivate::notifyChallengeResult):
592
593 2013-03-06  Julien Chaffraix  <jchaffraix@webkit.org>
594
595         Remove the (dead) code for handling shorthands in StyleResolver / StyleBuilder
596         https://bugs.webkit.org/show_bug.cgi?id=111505
597
598         Unreviewed minimal build fix.
599
600         * css/StyleResolver.cpp:
601         (WebCore::StyleResolver::applyProperty):
602         Put CSSPropertyWebkitWrap under the proper if-guard.
603
604 2013-03-06  Vsevolod Vlasov  <vsevik@chromium.org>
605
606         Unreviewed follow up to r144928: front-end closure compilation fixes.
607
608         * inspector/front-end/FilteredItemSelectionDialog.js:
609         (WebInspector.JavaScriptOutlineDialog.prototype.dispose):
610         (WebInspector.OpenResourceDialog.prototype.dispose):
611         * inspector/front-end/StyleSheetOutlineDialog.js:
612         (WebInspector.StyleSheetOutlineDialog.prototype.dispose):
613
614 2013-03-06  Vsevolod Vlasov  <vsevik@chromium.org>
615
616         Web Inspector: Update open resource dialog when new uiSourceCodes are loaded.
617         https://bugs.webkit.org/show_bug.cgi?id=111327
618
619         Reviewed by Pavel Feldman.
620
621         * inspector/front-end/FilteredItemSelectionDialog.js:
622         (WebInspector.FilteredItemSelectionDialog):
623         (WebInspector.FilteredItemSelectionDialog.prototype.willHide):
624         (WebInspector.FilteredItemSelectionDialog.prototype._itemsLoaded):
625         (WebInspector.FilteredItemSelectionDialog.prototype._updateAfterItemsLoaded):
626         (WebInspector.FilteredItemSelectionDialog.prototype._filterItems.compareFunction):
627         (WebInspector.FilteredItemSelectionDialog.prototype._filterItems):
628         (WebInspector.SelectionDialogContentProvider.prototype.dispose):
629         (WebInspector.JavaScriptOutlineDialog.prototype._didBuildOutlineChunk):
630         (WebInspector.OpenResourceDialog):
631         (WebInspector.OpenResourceDialog.prototype.requestItems):
632         (WebInspector.OpenResourceDialog.prototype._filterUISourceCode):
633         (WebInspector.OpenResourceDialog.prototype._uiSourceCodeAdded):
634         (WebInspector.OpenResourceDialog.prototype.dispose):
635         * inspector/front-end/StyleSheetOutlineDialog.js:
636         (WebInspector.StyleSheetOutlineDialog.prototype.requestItems):
637         (WebInspector.StyleSheetOutlineDialog.prototype.requestItems.didGetStyleSheet):
638
639 2013-03-06  Vladislav Kaznacheev  <kaznacheev@chromium.org>
640
641         Web Inspector: Move sidebar-specific styles to a separate file.
642         https://bugs.webkit.org/show_bug.cgi?id=111173
643
644         Reviewed by Pavel Feldman.
645
646         * WebCore.gypi:
647         * inspector/front-end/BreakpointsSidebarPane.js:
648         (WebInspector.JavaScriptBreakpointsSidebarPane):
649         (WebInspector.EventListenerBreakpointsSidebarPane):
650         * inspector/front-end/NativeBreakpointsSidebarPane.js:
651         (WebInspector.NativeBreakpointsSidebarPane):
652         * inspector/front-end/SidebarPane.js:
653         (WebInspector.SidebarPaneTitle):
654         (WebInspector.SidebarPaneStack):
655         (WebInspector.SidebarTabbedPane):
656         * inspector/front-end/WebKit.qrc:
657         * inspector/front-end/breakpointsList.css: Added.
658         (.sidebar-pane > .body .breakpoint-condition):
659         (#breakpoint-condition-input):
660         (ol.breakpoint-list):
661         (.breakpoints-list-deactivated):
662         (.breakpoint-list li):
663         (.breakpoint-list li:hover):
664         (.breakpoint-list .checkbox-elem):
665         (.breakpoint-list .source-text):
666         (.sidebar-pane .breakpoint-hit):
667         (li.breakpoint-hit .breakpoint-hit-marker):
668         (.event-listener-breakpoints .event-category):
669         (.event-listener-breakpoints.properties-tree .children li):
670         (.event-listener-breakpoints .checkbox-elem):
671         * inspector/front-end/elementsPanel.css:
672         (.panel.elements .sidebar-pane-toolbar > select):
673         (.panel.elements .sidebar-pane-toolbar > select:hover):
674         (.panel.elements .sidebar-pane-toolbar > select:active):
675         (.panel.elements .sidebar-pane-toolbar > select.select-settings):
676         (.panel.elements .sidebar-pane-toolbar > select.select-filter):
677         (.panel.elements .sidebar-pane-toolbar > select > option, .panel.elements .sidebar-pane-toolbar > select > hr):
678         * inspector/front-end/inspector.css:
679         (.event-bar .event-properties):
680         * inspector/front-end/scriptsPanel.css:
681         (.workers-list > li):
682         (a.worker-item):
683         (a.worker-item:hover):
684         * inspector/front-end/sidebarPane.css: Added.
685         (.sidebar-pane):
686         (.sidebar-pane > .body):
687         (.sidebar-pane > .body .info):
688         (.sidebar-pane > .body .placard + .info):
689         (.sidebar-pane.visible > .body):
690         (.sidebar-pane .section .properties):
691         (.sidebar-tabbed-pane .tabbed-pane-header):
692         (.sidebar-pane-stack > .sidebar-pane.visible:nth-last-of-type(1)):
693         (.sidebar-pane-title):
694         (.sidebar-pane-title + .sidebar-pane-title, .pane:not(.visible) + .sidebar-pane-title, .sidebar-pane-title:first-of-type):
695         (.sidebar-pane-title:active):
696         (.sidebar-pane-title::before):
697         (.sidebar-pane-title.expanded::before):
698         (.sidebar-pane-toolbar):
699         (.sidebar-pane-toolbar > *):
700         (.sidebar-pane-toolbar > .pane-title-button):
701         (.sidebar-pane-toolbar > .pane-title-button:hover):
702         (.sidebar-pane-toolbar > .pane-title-button:active, .sidebar-pane-toolbar > .pane-title-button.toggled):
703         (.sidebar-pane-toolbar > .pane-title-button.add):
704         (.sidebar-pane-toolbar > .pane-title-button.element-state):
705         (.sidebar-pane-toolbar > .pane-title-button.refresh):
706         (.sidebar-pane-subtitle):
707         (body.platform-windows .sidebar-pane-subtitle):
708         (.sidebar-pane-subtitle input, .section .header input[type=checkbox]):
709
710 2013-03-06  Vladislav Kaznacheev  <kaznacheev@chromium.org>
711
712         Web Inspector: Combine style-related panes into a single tab when Elements panel is split horizontally.
713         https://bugs.webkit.org/show_bug.cgi?id=111550
714         Reviewed by Pavel Feldman.
715
716         Grouping the Elements sidebar panes into two tabbed panes proved to be
717         confusing and inconvenient. Put all the Elements sidebar panes into a single tabbed pane.
718         Combined Styles, Computed Style and Metrics into a single pane.
719
720         * inspector/front-end/ElementsPanel.js:
721         (WebInspector.ElementsPanel.prototype._splitVertically):
722         (WebInspector.ElementsPanel.prototype.addExtensionSidebarPane):
723         * inspector/front-end/elementsPanel.css:
724         (.sidebar-pane.composite):
725         (.sidebar-pane.composite > .body):
726         (.sidebar-pane.composite .metrics):
727         (.sidebar-pane.composite .sidebar-pane-toolbar):
728         (.sidebar-pane.composite .sidebar-pane-toolbar > .sidebar-pane-subtitle):
729         (.sidebar-pane.composite .styles-section.read-only):
730
731 2013-03-05  Yury Semikhatsky  <yurys@chromium.org>
732
733         Web Inspector: support stable remote object ids
734         https://bugs.webkit.org/show_bug.cgi?id=109908
735
736         Reviewed by Pavel Feldman.
737
738         Introduced a map from javascript object to its id. It guarantees
739         that object is assined id only once (unless it is explicitely
740         released). The map is per execution context and is stored in
741         InjectedScriptManager.
742
743         Test: inspector-protocol/persistent-id.html
744
745         * bindings/js/JSInjectedScriptHostCustom.cpp:
746         (WebCore::JSInjectedScriptHost::objectId):
747         (WebCore):
748         (WebCore::JSInjectedScriptHost::releaseObjectId):
749         * bindings/js/ScriptObject.h:
750         (WTF):
751         (WTF::ScriptObjectHash::hash):
752         (WTF::ScriptObjectHash::equal):
753         (ScriptObjectHash):
754         * bindings/v8/ScriptObject.h:
755         (WTF):
756         (WTF::ScriptObjectHash::hash):
757         (WTF::ScriptObjectHash::equal):
758         (ScriptObjectHash):
759         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
760         (WebCore::V8InjectedScriptHost::objectIdMethodCustom):
761         (WebCore):
762         (WebCore::V8InjectedScriptHost::releaseObjectIdMethodCustom):
763         * inspector/InjectedScriptHost.cpp:
764         (WebCore::InjectedScriptHost::create):
765         (WebCore::InjectedScriptHost::InjectedScriptHost):
766         (WebCore::InjectedScriptHost::disconnect):
767         (WebCore::InjectedScriptHost::objectId):
768         (WebCore):
769         (WebCore::InjectedScriptHost::releaseObjectId):
770         * inspector/InjectedScriptHost.h:
771         (WebCore):
772         (InjectedScriptHost):
773         * inspector/InjectedScriptHost.idl:
774         * inspector/InjectedScriptManager.cpp:
775         (InjectedScriptManager::ObjectIdMap):
776         (WebCore::InjectedScriptManager::ObjectIdMap::ObjectIdMap):
777         (WebCore::InjectedScriptManager::ObjectIdMap::objectId):
778         (WebCore::InjectedScriptManager::ObjectIdMap::releaseObjectId):
779         (WebCore):
780         (WebCore::InjectedScriptManager::InjectedScriptManager):
781         (WebCore::InjectedScriptManager::discardInjectedScripts):
782         (WebCore::InjectedScriptManager::discardInjectedScriptsFor):
783         (WebCore::InjectedScriptManager::objectId):
784         (WebCore::InjectedScriptManager::releaseObjectId):
785         * inspector/InjectedScriptManager.h:
786         (InjectedScriptManager):
787         * inspector/InjectedScriptSource.js:
788         (.):
789
790 2013-03-06  Marja Hölttä  <marja@chromium.org>
791
792         REGRESSION(r144617): Wrong usage of overwritten variable in toDOMWindow (V8Binding.cpp)
793         https://bugs.webkit.org/show_bug.cgi?id=111565
794
795         Reviewed by Jochen Eisinger.
796
797         In toDOMWindow, the variable "global" was first nuked, and then used again. This
798         change was introduced in r144617.
799
800         No new tests (no functional changes).
801
802         * bindings/v8/V8Binding.cpp:
803         (WebCore::toDOMWindow):
804
805 2013-03-06  Yury Semikhatsky  <yurys@chromium.org>
806
807         Web Inspector: use regular eval instead of injectScript for front-end extension API
808         https://bugs.webkit.org/show_bug.cgi?id=111529
809
810         Reviewed by Pavel Feldman.
811
812         Removed InjectedScriptManager::injectScript and replaced all of it calls
813         except the actual script injection with ScriptController::executeScript.
814
815         * inspector/InjectedScriptManager.cpp:
816         (WebCore::InjectedScriptManager::injectedScriptFor):
817         * inspector/InjectedScriptManager.h:
818         (InjectedScriptManager):
819         * inspector/InspectorAgent.cpp:
820         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
821         * inspector/InspectorPageAgent.cpp:
822         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
823         * inspector/front-end/DOMAgent.js:
824         (WebInspector.DOMAgent.prototype._emulateTouchEventsChanged.get if):
825         * inspector/front-end/ExtensionAPI.js:
826         (buildExtensionAPIInjectedScript):
827         * inspector/front-end/ExtensionServer.js:
828         (WebInspector.ExtensionServer.prototype._onReload):
829
830 2013-03-06  Allan Sandfeld Jensen  <allan.jensen@digia.com>
831
832         [Qt] Do not disable C++0x
833         https://bugs.webkit.org/show_bug.cgi?id=111559
834
835         Reviewed by Kenneth Rohde Christiansen.
836
837         * WebCore.pri:
838
839 2013-03-06  Julien Chaffraix  <jchaffraix@webkit.org>
840
841         Remove the (dead) code for handling shorthands in StyleResolver / StyleBuilder
842         https://bugs.webkit.org/show_bug.cgi?id=111505
843
844         Reviewed by Alexis Menard.
845
846         The CSS parsing code expands shorthands (with the exception of 'font') to their longhands.
847         This means that all the code in StyleResolver / StyleBuilder to handle shorthands is basically
848         dead and shouldn't be there. The reason for it to be is that people didn't know about shorthands
849         expansion and thus copied existing code.
850
851         This change addresses both issues by removing the code and adding ASSERTs that should prevent people
852         from adding more dead code.
853
854         Refactoring, covered by existing tests.
855
856         * css/StylePropertyShorthand.h: Added isExpandedShorthand.
857         * css/StylePropertyShorthand.cpp:
858         (WebCore::isExpandedShorthand):
859         Added this function that ignores 'font' as it is the only shorthand that is no consistently expanded
860         to account for system fonts.
861
862         * css/StyleBuilder.cpp:
863         (WebCore::StyleBuilder::StyleBuilder):
864         Removed the shorthands.
865
866         * css/StyleBuilder.h:
867         (WebCore::StyleBuilder::setPropertyHandler):
868         Added ASSERTs that people don't add shorthand handling.
869
870         * css/StyleResolver.cpp:
871         (WebCore::isValidVisitedLinkProperty):
872         Removed all the shorthands (shouldn't be reachable unless the ASSERT in applyProperty
873         triggers).
874
875         (WebCore::StyleResolver::applyProperty):
876         Removed all shorthand handling code, moved the shorthands together and added some ASSERT
877         to ensure people don't abuse the code and re-add some of it back by mistake.
878
879 2013-03-05  Kent Tamura  <tkent@chromium.org>
880
881         Rename WebCore/editing/visible_units.* to VisibleUnits.*
882         https://bugs.webkit.org/show_bug.cgi?id=111426
883
884         Reviewed by Alexey Proskuryakov.
885
886         No new tests. Just a refactoring.
887
888         * CMakeLists.txt:
889         * GNUmakefile.list.am:
890         * Target.pri:
891         * WebCore.gypi:
892         * WebCore.vcproj/WebCore.vcproj:
893         * WebCore.vcxproj/WebCore.vcxproj:
894         * WebCore.vcxproj/WebCore.vcxproj.filters:
895         * WebCore.xcodeproj/project.pbxproj:
896         * accessibility/AccessibilityNodeObject.cpp:
897         * accessibility/AccessibilityObject.cpp:
898         * accessibility/AccessibilityRenderObject.cpp:
899         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
900         * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
901         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
902         * dom/Position.cpp:
903         * dom/Range.cpp:
904         * editing/AlternativeTextController.cpp:
905         * editing/ApplyBlockElementCommand.cpp:
906         * editing/ApplyStyleCommand.cpp:
907         * editing/CompositeEditCommand.cpp:
908         * editing/DeleteSelectionCommand.cpp:
909         * editing/EditingAllInOne.cpp:
910         * editing/EditingStyle.cpp:
911         * editing/Editor.cpp:
912         * editing/FormatBlockCommand.cpp:
913         * editing/FrameSelection.cpp:
914         * editing/IndentOutdentCommand.cpp:
915         * editing/InsertLineBreakCommand.cpp:
916         * editing/InsertListCommand.cpp:
917         * editing/InsertParagraphSeparatorCommand.cpp:
918         * editing/InsertTextCommand.cpp:
919         * editing/ReplaceSelectionCommand.cpp:
920         * editing/SurroundingText.cpp:
921         * editing/TextCheckingHelper.cpp:
922         * editing/TextIterator.cpp:
923         * editing/TypingCommand.cpp:
924         * editing/VisiblePosition.cpp:
925         * editing/VisibleSelection.cpp:
926         * editing/VisibleUnits.cpp: Copied from Source/WebCore/editing/visible_units.cpp.
927         * editing/VisibleUnits.h: Copied from Source/WebCore/editing/visible_units.h.
928         * editing/htmlediting.cpp:
929         * editing/markup.cpp:
930         * editing/visible_units.cpp: Removed.
931         * editing/visible_units.h: Removed.
932         * page/Frame.cpp:
933         * page/mac/FrameMac.mm:
934         * platform/win/EditorWin.cpp:
935
936 2013-03-06  Alexis Menard  <alexis@webkit.org>
937
938         Do not add CSSPropertyBorderImage shorthand part of the property list when parsing CSS border property
939         https://bugs.webkit.org/show_bug.cgi?id=111481
940
941         Reviewed by Julien Chaffraix.
942
943         After http://trac.webkit.org/changeset/135848 and more generally we do not 
944         add shorthand directly into the property list used afterwards to build
945         StylePropertySet but we rather expand the shorthand to add the
946         longhands. CSSPropertyBorderImage is a shorthand and it should follow
947         that rule, so when we successfully parsed CSS border property and we
948         should reset border-image then we should reset the longhands too.
949
950         Test: LayoutTests/inspector/styles/styles-new-API-expected.txt which
951         reflects the fact that we add longhands instead of the shorthand. All
952         the other tests should not regress.
953
954         * css/CSSParser.cpp:
955         (WebCore::CSSParser::parseValue):
956
957 2013-03-06  Luiz Agostini  <luiz.agostini@nokia.com>
958
959         Accelerated overflow scrolling for Coordinated Graphics.
960         https://bugs.webkit.org/show_bug.cgi?id=110323
961
962         Reviewed by Noam Rosenthal.
963
964         A scroll offset is applied to individual layers on UI process and the
965         web process is notified assynchronously.
966         The new API WKCoordinatedScene may be used to scroll layers in the UI process.
967
968         Tests will be added on bug #111140.
969
970         Scrolling coordinator is used to provide a ScrollableArea to CoordinatedGraphicsLayer.
971
972         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
973         (WebCore::ScrollingCoordinatorCoordinatedGraphics::scrollableAreaScrollLayerDidChange):
974         (WebCore):
975         (WebCore::ScrollingCoordinatorCoordinatedGraphics::willDestroyScrollableArea):
976         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h:
977         (ScrollingCoordinatorCoordinatedGraphics):
978
979         GraphicsLayerTextureMapper is responsible for receiving the 'did commit' messages and to pass
980         them to its TextureMapperLayer on the appropriated time.
981
982         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
983         (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
984         (WebCore::GraphicsLayerTextureMapper::didCommitScrollOffset):
985         (WebCore):
986         (WebCore::GraphicsLayerTextureMapper::setIsScrollable):
987         (WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
988         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
989         (WebCore::GraphicsLayerTextureMapper::setScrollClient):
990         (WebCore::GraphicsLayerTextureMapper::setID):
991         (GraphicsLayerTextureMapper):
992         (WebCore::GraphicsLayerTextureMapper::isScrollable):
993
994         TextureMapperLayer is responsible for applying the requested scroll offset and for
995         sending the commit messages to web process. It is also able to hittest layers and identify
996         the ones that are scrollable.
997
998         * platform/graphics/texmap/TextureMapperLayer.cpp:
999         (WebCore::TextureMapperLayer::hitTest):
1000         (WebCore):
1001         (WebCore::TextureMapperLayer::scrollableLayerHitTestCondition):
1002         (WebCore::TextureMapperLayer::findScrollableContentsLayerAt):
1003         (WebCore::TextureMapperLayer::mapScrollOffset):
1004         (WebCore::TextureMapperLayer::commitScrollOffset):
1005         (WebCore::TextureMapperLayer::scrollBy):
1006         (WebCore::TextureMapperLayer::didCommitScrollOffset):
1007         * platform/graphics/texmap/TextureMapperLayer.h:
1008         (TextureMapperLayer):
1009         (ScrollingClient):
1010         (WebCore::TextureMapperLayer::TextureMapperLayer):
1011         (WebCore::TextureMapperLayer::setID):
1012         (WebCore::TextureMapperLayer::id):
1013         (WebCore::TextureMapperLayer::setScrollClient):
1014         (WebCore::TextureMapperLayer::setIsScrollable):
1015         (WebCore::TextureMapperLayer::isScrollable):
1016         (WebCore::TextureMapperLayer::adjustedPosition):
1017
1018         CoordinatedGraphicsLayer receives the commit messages and updates its ScrollableArea.
1019
1020         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
1021         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
1022         (WebCore::CoordinatedGraphicsLayer::setScrollableArea):
1023         (WebCore):
1024         (WebCore::CoordinatedGraphicsLayer::commitScrollOffset):
1025         (WebCore::CoordinatedGraphicsLayer::resetLayerState):
1026         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
1027         (WebCore):
1028         (CoordinatedGraphicsLayer):
1029         (WebCore::CoordinatedGraphicsLayer::isScrollable):
1030
1031         CoordinatedGraphicsScene receives the commit messages from TextureMapperLayer and
1032         dispatches them on the main thread. It also has a new method that is used to find
1033         the topmost scrollable layer at a given point.
1034
1035         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
1036         (WebCore::CoordinatedGraphicsScene::setLayerState):
1037         (WebCore::CoordinatedGraphicsScene::createLayer):
1038         (WebCore::CoordinatedGraphicsScene::dispatchCommitScrollOffset):
1039         (WebCore):
1040         (WebCore::CoordinatedGraphicsScene::commitScrollOffset):
1041         (WebCore::CoordinatedGraphicsScene::findScrollableContentsLayerAt):
1042         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
1043         (WebCore):
1044         (CoordinatedGraphicsSceneClient):
1045         (CoordinatedGraphicsScene):
1046
1047         New fields have been added to CoordinatedGraphicsLayerState.
1048
1049         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
1050         (CoordinatedGraphicsLayerState):
1051
1052 2013-03-06  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1053
1054         REGGRESSION (r142112): It made compositing tests fail on EFL, Qt.
1055         https://bugs.webkit.org/show_bug.cgi?id=109291
1056
1057         Reviewed by Kenneth Rohde Christiansen.
1058
1059         Report we support fixed layers.
1060
1061         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h:
1062         (WebCore::ScrollingCoordinatorCoordinatedGraphics::supportsFixedPositionLayers):
1063         (ScrollingCoordinatorCoordinatedGraphics):
1064
1065 2013-03-06  Sheriff Bot  <webkit.review.bot@gmail.com>
1066
1067         Unreviewed, rolling out r144859.
1068         http://trac.webkit.org/changeset/144859
1069         https://bugs.webkit.org/show_bug.cgi?id=111519
1070
1071         Introduced a test that calls non-exist function on non-
1072         Chromium ports and crash on Chromium (Requested by rniwa on
1073         #webkit).
1074
1075         * html/HTMLAudioElement.h:
1076         (WebCore::HTMLAudioElement::hasPendingActivity):
1077         (HTMLAudioElement):
1078         * html/HTMLAudioElement.idl:
1079         * html/HTMLMediaElement.cpp:
1080         (WebCore::HTMLMediaElement::hasPendingActivity):
1081         * html/HTMLMediaElement.idl:
1082
1083 2013-03-06  Ilya Tikhonovsky  <loislo@chromium.org>
1084
1085         Web Inspector: Could not open Profiles panel.
1086         https://bugs.webkit.org/show_bug.cgi?id=111535
1087
1088         Reviewed by Alexander Pavlov.
1089
1090         * inspector/front-end/CPUProfileView.js:
1091         * inspector/front-end/ProfilesPanel.js:
1092
1093 2013-03-06  Tony Chang  <tony@chromium.org>
1094
1095         Crash during middle mouse click when page is removed
1096         https://bugs.webkit.org/show_bug.cgi?id=111489
1097
1098         Reviewed by Hajime Morrita.
1099
1100         Check for a null page that can happen if we remove the document from the DOM.
1101         The other methods in EventHandler also check for a null page.
1102
1103         Test: editing/pasteboard/selection-paste-crash.html
1104
1105         * page/EventHandler.cpp:
1106         (WebCore::EventHandler::handlePasteGlobalSelection):
1107
1108 2013-03-05  Eric Seidel  <eric@webkit.org>
1109
1110         Replace shouldLazyAttach bool with an enum for readability
1111         https://bugs.webkit.org/show_bug.cgi?id=111503
1112
1113         Reviewed by Dimitri Glazkov.
1114
1115         No behavioral change.
1116
1117         * bindings/cpp/WebDOMNodeCustom.cpp:
1118         (WebDOMNode::insertBefore):
1119         (WebDOMNode::replaceChild):
1120         (WebDOMNode::appendChild):
1121         * bindings/js/JSNodeCustom.cpp:
1122         (WebCore::JSNode::insertBefore):
1123         (WebCore::JSNode::replaceChild):
1124         (WebCore::JSNode::appendChild):
1125         * bindings/v8/custom/V8NodeCustom.cpp:
1126         (WebCore):
1127         (WebCore::V8Node::insertBeforeMethodCustom):
1128         (WebCore::V8Node::replaceChildMethodCustom):
1129         (WebCore::V8Node::appendChildMethodCustom):
1130         * dom/ContainerNode.cpp:
1131         (WebCore):
1132         (WebCore::ContainerNode::insertBefore):
1133         (WebCore::ContainerNode::replaceChild):
1134         (WebCore::ContainerNode::appendChild):
1135         (WebCore::updateTreeAfterInsertion):
1136         * dom/ContainerNode.h:
1137         (ContainerNode):
1138         * dom/Node.cpp:
1139         (WebCore::Node::insertBefore):
1140         (WebCore::Node::replaceChild):
1141         (WebCore::Node::appendChild):
1142         * dom/Node.h:
1143         (Node):
1144         * editing/AppendNodeCommand.cpp:
1145         (WebCore::AppendNodeCommand::doApply):
1146         * editing/InsertNodeBeforeCommand.cpp:
1147         (WebCore::InsertNodeBeforeCommand::doApply):
1148         * html/shadow/MediaControlsApple.cpp:
1149         (WebCore::MediaControlsApple::createControls):
1150         * html/shadow/MediaControlsBlackBerry.cpp:
1151         (WebCore::MediaControlsBlackBerry::createControls):
1152         * html/shadow/MediaControlsChromium.cpp:
1153         (WebCore::MediaControlsChromium::initializeControls):
1154         * html/shadow/MediaControlsChromiumAndroid.cpp:
1155         (WebCore::MediaControlsChromiumAndroid::createControls):
1156
1157 2013-03-05  Hajime Morrita  <morrita@google.com>
1158
1159         Custom Elements: CustomElementConstructor::m_name doesn't have any good use.
1160         https://bugs.webkit.org/show_bug.cgi?id=111523
1161
1162         Reviewed by Kentaro Hara.
1163
1164         This change removes CustomElementConstructor::m_name and renames
1165         m_tagName to m_name. Now generated function name is same as interface name.
1166
1167         Originally, m_name was added to specify the generated constructor
1168         name. An early version of custom element allows to give the name,
1169         but it no longer says anything about that.
1170
1171         The rename is to align the semantics of type extension mechanism
1172         of Custom Elements, where the name of a custom element isn't
1173         necessarily a tag name.
1174
1175         No new tests. Just removing old code.
1176
1177         * bindings/scripts/CodeGeneratorV8.pm:
1178         (GenerateHeader):
1179         * dom/CustomElementConstructor.cpp:
1180         (WebCore::CustomElementConstructor::create):
1181         (WebCore::CustomElementConstructor::CustomElementConstructor):
1182         (WebCore::CustomElementConstructor::createElement):
1183         * dom/CustomElementConstructor.h:
1184         (CustomElementConstructor):
1185         (WebCore::CustomElementConstructor::name):
1186         * dom/CustomElementRegistry.cpp:
1187         (WebCore::CustomElementRegistry::registerElement):
1188
1189 2013-03-05  Ilya Tikhonovsky  <loislo@chromium.org>
1190
1191         Web Inspector: Flame Chart. Provide node context info in a popover when mouse hovers over a flame chart item.
1192         https://bugs.webkit.org/show_bug.cgi?id=111442
1193
1194         Reviewed by Yury Semikhatsky.
1195
1196         FlameChart is a canvas so it is not possible to attach the popover to the items on it.
1197         It would be a bit tricky to support an offset due to complex behaviour of the popover.
1198         The simplest solution is to create a fake anchor element and move it to the right position.
1199
1200         * inspector/front-end/FlameChart.js:
1201         (WebInspector.FlameChart):
1202         (WebInspector.FlameChart.prototype._getPopoverAnchor):
1203         (WebInspector.FlameChart.prototype._showPopover):
1204         (WebInspector.FlameChart.prototype._onMouseMove):
1205         (WebInspector.FlameChart.prototype.findNodeCallback):
1206         (WebInspector.FlameChart.prototype._coordinatesToNode):
1207         (WebInspector.FlameChart.prototype.onResize):
1208         * inspector/front-end/flameChart.css:
1209         (.flame-chart .item-anchor):
1210
1211 2013-03-05  Csaba Osztrogonác  <ossy@webkit.org>
1212
1213         Unreviewed buildfix after r144787. Add missing USE(GRAPHICS_SURFACE) guards.
1214
1215         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
1216         (WebCore::CoordinatedGraphicsScene::setLayerState):
1217         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
1218         (WebCore::CoordinatedGraphicsLayerState::CoordinatedGraphicsLayerState):
1219
1220 2013-03-05  Geoffrey Garen  <ggaren@apple.com>
1221
1222         Autoreleased cached pages slow down the PLT by 2%
1223         https://bugs.webkit.org/show_bug.cgi?id=111522
1224
1225         Reviewed by Filip Pizlo.
1226
1227         Let's stop doing that.
1228
1229         2% PLT speedup.
1230
1231         * history/PageCache.cpp:
1232         (WebCore::PageCache::remove):
1233
1234 2013-03-05  Hayato Ito  <hayato@chromium.org>
1235
1236         [Shadow] Implements event re-targeting for Touch Events.
1237         https://bugs.webkit.org/show_bug.cgi?id=107800
1238
1239         Reviewed by Dimitri Glazkov.
1240
1241         So far, Touch Events have been intentionally disabled in shadow
1242         tree since it allows users to access internal nodes in shadow tree
1243         by accessing Touch Event's information.
1244
1245         This patch re-targets all individual touch point's target in
1246         TouchList (touches, targetTouches and changedTouches) owned by a Touch Event
1247         before the Touch Event is dispatched so that we won't break an
1248         upper boundary of shadow DOM.
1249
1250         Touch Events re-targeting is similar to that of Mouse Events
1251         re-targeting. The difference is that a Touch Event can have more
1252         than one related target because of multiple touches. We must
1253         re-target all individual touch points which can be referred from
1254         the Touch Event.
1255
1256         Now, Touch Events can be fired in shadow tree. I've removed the
1257         existing limitation.
1258
1259         Test: fast/dom/shadow/touch-event-retargeting.html
1260
1261         * dom/EventContext.cpp:
1262         (WebCore::EventContext::isTouchEventContext):
1263         (WebCore):
1264         (WebCore::TouchEventContext::TouchEventContext):
1265         (WebCore::TouchEventContext::~TouchEventContext):
1266         (WebCore::TouchEventContext::handleLocalEvents):
1267         (WebCore::TouchEventContext::isTouchEventContext):
1268         (WebCore::TouchEventContext::checkReachability):  Used for assertion of reachability for each Touch point.
1269         * dom/EventContext.h:
1270         (WebCore):
1271         (EventContext):
1272         (TouchEventContext): Introduced to hold necessary information for re-targeting Touch event.
1273         (WebCore::TouchEventContext::touches):
1274         (WebCore::TouchEventContext::targetTouches):
1275         (WebCore::TouchEventContext::changedTouches):
1276         (WebCore::EventContext::isReachable):
1277         * dom/EventRetargeter.cpp:
1278         (WebCore::EventRetargeter::calculateEventPath):
1279         (WebCore::EventRetargeter::adjustForTouchEvent):
1280         (WebCore):
1281         (WebCore::EventRetargeter::adjustTouchList):
1282         (WebCore::EventRetargeter::adjustForRelatedTarget):
1283         (WebCore::EventRetargeter::calculateAdjustedNodes): Updated so that this can be used for Touch point re-targeting.
1284         (WebCore::EventRetargeter::buildRelatedNodeMap):
1285         * dom/EventRetargeter.h:
1286         (WebCore):
1287         (EventRetargeter):
1288         * dom/Node.cpp:
1289         (WebCore::Node::dispatchEvent):
1290         (WebCore):
1291         (WebCore::Node::dispatchTouchEvent):
1292         * dom/Node.h:
1293         (WebCore):
1294         (Node):
1295         * dom/Touch.cpp:
1296         (WebCore::Touch::Touch):
1297         (WebCore):
1298         (WebCore::Touch::cloneWithNewTarget):
1299         * dom/Touch.h:
1300         (Touch):
1301         * dom/TouchEvent.cpp:
1302         (WebCore::TouchEventDispatchMediator::create):
1303         (WebCore):
1304         (WebCore::TouchEventDispatchMediator::TouchEventDispatchMediator):
1305         (WebCore::TouchEventDispatchMediator::event):
1306         (WebCore::TouchEventDispatchMediator::dispatchEvent):
1307         * dom/TouchEvent.h:
1308         (TouchEvent):
1309         (WebCore::TouchEvent::setTouches):
1310         (WebCore::TouchEvent::setTargetTouches):
1311         (WebCore::TouchEvent::setChangedTouches):
1312         (TouchEventDispatchMediator):
1313         (WebCore):
1314         (WebCore::toTouchEvent):
1315         * dom/TouchList.cpp:
1316         (WebCore::TouchList::item):
1317         (WebCore):
1318         * dom/TouchList.h:
1319         (TouchList):
1320         * page/EventHandler.cpp:
1321         (WebCore::EventHandler::hitTestResultInFrame): Removed the limitation. Adjusting is no longer done here.
1322         (WebCore::EventHandler::handleTouchEvent):
1323
1324 2013-03-05  Hajime Morrita  <morrita@google.com>
1325
1326         [Custom Elements][V8] Custom Element doesn't need its own WrapperTypeInfo
1327         https://bugs.webkit.org/show_bug.cgi?id=111411
1328
1329         Reviewed by Kentaro Hara.
1330
1331         No new tests. No observable change yet.
1332
1333         This is a preparation for Bug 110436, where WebKit is going to
1334         allow any HTML element to be a superclass of custom elements.
1335
1336         This change eliminates WrapperTypeInfo for custom element. Instead
1337         of that, the wrapper of a custom element picks WrapperTypeInfo
1338         from most descendant built-in HTML element. For example, think about
1339         following hierarchy:
1340
1341         - ... <- HTMLElement <- HTMLDivElememnt <- ExistingCustomElement <- NewCustomElement
1342
1343         In this case, both ExistingCustomElement and NewCustomElement has
1344         HTMLDivElememnt's type info. This is because HTMLDivElememnt is
1345         the most descendant (or "the nearest") built-in HTML
1346         element. (HTMLElement isn't the most descendant.
1347         ExistingCustomElement isn't a built-in.)
1348
1349         Using such WrapperTypeInfos, created custom element wrappers can
1350         get appropriate set of method and properties regardless of its
1351         super-elements.
1352
1353         This change tells the prototype object of each built-in object
1354         which WrapperTypeInfo the native backing wants:
1355         HTMLDivElememnt.prototype knows V8HTMLDivElement::info for
1356         example. The pointer to the type info is stored into an internal
1357         field. On wrapper construction, createWrapper() walks up the
1358         prototype chain and pick the first one.
1359
1360         * bindings/v8/V8DOMConfiguration.cpp:
1361         (WebCore::V8DOMConfiguration::configureTemplate):
1362         * bindings/v8/V8HTMLCustomElement.cpp:
1363         (WebCore::findWrapperTypeOf):
1364         (WebCore::V8HTMLCustomElement::createWrapper):
1365         * bindings/v8/V8HTMLCustomElement.h:
1366         * bindings/v8/V8PerContextData.cpp:
1367         (WebCore::V8PerContextData::constructorForTypeSlowCase):
1368         * bindings/v8/WrapperTypeInfo.h:
1369         (WebCore):
1370
1371 2013-03-05  Aaron Colwell  <acolwell@chromium.org>
1372
1373         Heap-use-after-free in WebCore::HTMLMediaElement::~HTMLMediaElement
1374         https://bugs.webkit.org/show_bug.cgi?id=110623
1375
1376         Reviewed by Eric Seidel.
1377
1378         Test: http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal.html
1379
1380         * html/HTMLAudioElement.h:
1381         (HTMLAudioElement):
1382         * html/HTMLAudioElement.idl:
1383         * html/HTMLMediaElement.cpp:
1384         (WebCore::HTMLMediaElement::hasPendingActivity):
1385         * html/HTMLMediaElement.idl:
1386
1387 2013-03-05  Chris Fleizach  <cfleizach@apple.com>
1388  
1389         AX: Support aria-posinset/setsize
1390         https://bugs.webkit.org/show_bug.cgi?id=109725
1391
1392         Reviewed by Tim Horton.
1393
1394         Expose aria-setsize and aria-posinset through accessibility.
1395         Right now only the Mac platform exposes them.
1396
1397         Test: platform/mac/accessibility/aria-setsize-posinset.html
1398
1399         * accessibility/AccessibilityObject.cpp:
1400         (WebCore::AccessibilityObject::supportsARIASetSize):
1401         (WebCore):
1402         (WebCore::AccessibilityObject::supportsARIAPosInset):
1403         (WebCore::AccessibilityObject::ariaSetSize):
1404         (WebCore::AccessibilityObject::ariaPosInset):
1405         * accessibility/AccessibilityObject.h:
1406         (AccessibilityObject):
1407         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1408         (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
1409         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
1410         * html/HTMLAttributeNames.in:
1411
1412
1413 2013-03-05  Peter Nelson  <peter@peterdn.com>
1414
1415         [WinCairo] Support for cookies is incomplete
1416         https://bugs.webkit.org/show_bug.cgi?id=110147
1417         
1418         Expired and HttpOnly cookies no longer accessible from JavaScript.
1419         Cookies set in JavaScript now have correct domain/path.
1420
1421         Reviewed by Brent Fulgham.
1422
1423         Test: http/tests/cookies/http-get-cookie-set-in-js.html
1424
1425         * platform/network/curl/CookieJarCurl.cpp:
1426         (WebCore):
1427         (WebCore::addMatchingCurlCookie):
1428         (WebCore::getNetscapeCookieFormat):
1429         (WebCore::setCookiesFromDOM):
1430         (WebCore::cookieRequestHeaderFieldValue):
1431
1432 2013-03-05  Alec Flett  <alecflett@chromium.org>
1433
1434         Fix mac clang build with long long
1435         https://bugs.webkit.org/show_bug.cgi?id=111495
1436
1437         Unreviewed fix for mac build.
1438
1439         * Modules/indexeddb/IDBBackingStore.cpp:
1440         (WebCore::IDBBackingStore::IDBBackingStore):
1441
1442 2013-03-05  Alec Flett  <alecflett@chromium.org>
1443
1444         Fix mac clang build with long long
1445         https://bugs.webkit.org/show_bug.cgi?id=111495
1446
1447         Unreviewed fix for mac build.
1448
1449         * Modules/indexeddb/IDBBackingStore.cpp:
1450         (WebCore::IDBBackingStore::IDBBackingStore):
1451
1452 2013-03-05  Aaron Colwell  <acolwell@chromium.org>
1453
1454         Add V8Document.h include when the V8 code generator creates a toV8(Document*) call.
1455         https://bugs.webkit.org/show_bug.cgi?id=111486
1456
1457         Reviewed by Adam Barth.
1458
1459         No new tests. This doesn't change user visible behavior.
1460
1461         * bindings/scripts/CodeGeneratorV8.pm:
1462         (GenerateNamedConstructor):
1463         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1464
1465 2013-03-05  Shawn Singh  <shawnsingh@chromium.org>
1466
1467         Fix default background of a dragged image.
1468         https://bugs.webkit.org/show_bug.cgi?id=110512
1469
1470         Reviewed by Tony Chang.
1471
1472         Transparent background color (particularly visible in the padding
1473         of an element) was not being respected. The solution is to
1474         initially fill the drag image with transparent instead of white,
1475         so that any color background works correctly. This patch does not
1476         affect Apple Mac or Win platforms, given that this part of the
1477         code is #if guarded from those platforms.
1478
1479         Manual test added:
1480           ManualTests/drag-background-with-padding.html
1481
1482         Infrastructure for retrieving the drag image for pixel testing
1483         does not yet exist.
1484
1485         * page/Frame.cpp:
1486         (WebCore::Frame::nodeImage):
1487
1488 2013-03-05  Emil A Eklund  <eae@chromium.org>
1489
1490         ASSERTION FAILED: i < size(), UNKNOWN in WebCore::RenderTableSection::layout
1491         https://bugs.webkit.org/show_bug.cgi?id=108838
1492
1493         Reviewed by Levi Weintraub.
1494         
1495         Ensure that RenderTable::recalcSections is called when moving a
1496         TableSection by calling setNeedsSectionRecalc in addChild for
1497         TableSections.
1498
1499         Test: fullscreen/full-screen-table-section.html
1500
1501         * rendering/RenderTable.cpp:
1502         (WebCore::RenderTable::addChild):
1503
1504 2013-03-05  Kenneth Russell  <kbr@google.com>
1505
1506         Upgrade ANGLE to r1987
1507         https://bugs.webkit.org/show_bug.cgi?id=111381
1508
1509         Reviewed by Dean Jackson.
1510
1511         Covered by existing tests. Ran WebGL conformance tests in Safari
1512         to ensure correct operation of patch.
1513
1514         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
1515         (WebCore::GraphicsContext3D::GraphicsContext3D):
1516         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
1517         (WebCore::GraphicsContext3D::GraphicsContext3D):
1518         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
1519         (WebCore::GraphicsContext3D::GraphicsContext3D):
1520         * platform/graphics/mac/GraphicsContext3DMac.mm:
1521         (WebCore::GraphicsContext3D::GraphicsContext3D):
1522         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1523         (WebCore::GraphicsContext3DPrivate::initializeANGLE):
1524             Changed all ports to query for highp support in fragment
1525             shaders and conditionally enable it in ANGLE shader translator.
1526
1527 2013-03-05  Alec Flett  <alecflett@chromium.org>
1528
1529         IndexedDB: Add IDBBackingStoreTest
1530         https://bugs.webkit.org/show_bug.cgi?id=111233
1531
1532         Reviewed by Adam Barth.
1533
1534         These are tweaks to make IDBBackingStore more easily testable.
1535
1536         * Modules/indexeddb/IDBBackingStore.cpp:
1537         (WebCore::IDBBackingStore::IDBBackingStore): Allow use without a backing store.
1538
1539 2013-03-04  James Robinson  <jamesr@chromium.org>
1540
1541         [chromium] Move check for threaded compositing from WebCompositorSupport to Platform
1542         https://bugs.webkit.org/show_bug.cgi?id=111386
1543
1544         Reviewed by Adrienne Walker.
1545
1546         This moves checks for whether threaded compositing is enabled from WebCompositorSupport
1547         to Platform. In the case of Canvas2DLayerBridge, the check is moved completely out of
1548         the class to make it easier for tests to specify the threaded configuration to use in the test.
1549
1550         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
1551         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
1552         * platform/graphics/chromium/Canvas2DLayerBridge.h:
1553         (WebCore::Canvas2DLayerBridge::create):
1554         (Canvas2DLayerBridge):
1555         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1556         (WebCore::DrawingBuffer::DrawingBuffer):
1557         * platform/graphics/skia/ImageBufferSkia.cpp:
1558         (WebCore::createAcceleratedCanvas):
1559
1560 2013-03-05  Anders Carlsson  <andersca@apple.com>
1561
1562         Split up the storage event dispatch functions further
1563         https://bugs.webkit.org/show_bug.cgi?id=111482
1564
1565         Reviewed by Beth Dakin.
1566
1567         Add new functions for dispatching storage events to a set of frames.
1568
1569         * storage/StorageAreaImpl.cpp:
1570         (WebCore::StorageAreaImpl::dispatchStorageEvent):
1571         * storage/StorageEventDispatcher.cpp:
1572         (WebCore::StorageEventDispatcher::dispatchSessionStorageEvents):
1573         (WebCore::StorageEventDispatcher::dispatchLocalStorageEvents):
1574         (WebCore):
1575         (WebCore::StorageEventDispatcher::dispatchSessionStorageEventsToFrames):
1576         (WebCore::StorageEventDispatcher::dispatchLocalStorageEventsToFrames):
1577         * storage/StorageEventDispatcher.h:
1578         (WebCore):
1579         (StorageEventDispatcher):
1580
1581 2013-03-05  Stephen Chenney  <schenney@chromium.org>
1582
1583         Crash when ImageLoader deletes Element inside SVGImageElement
1584         https://bugs.webkit.org/show_bug.cgi?id=111085
1585
1586         Reviewed by Abhishek Arya.
1587
1588         Elements with ImageLoader objects associated with them may have their
1589         final reference held by the ImageLoader (to allow events to be sent
1590         and handled). Any call on Element that causes the ImageLoader to
1591         dispatch events might then result in the final deref of the Element
1592         itself, thus leaving all the Element's "this" pointers up the stack
1593         pointing to invalid memory.
1594
1595         This change puts the deref of the Element on a timer so that, if the
1596         deref is called via a method on Element, the call stack will unwind
1597         before the deref occurs.
1598
1599         Test: svg/custom/image-with-attr-change-after-delete-crash.html
1600
1601         * loader/ImageLoader.cpp:
1602         (WebCore::ImageLoader::ImageLoader): Initialize a timer
1603         (WebCore::ImageLoader::updatedHasPendingEvent): Put deref of the
1604           element on a oneShotTimer, with appropriate assertions and checks to
1605           ensure we only ref/deref once.
1606         (WebCore::ImageLoader::timerFired): Deref the element when the timer fires.
1607         * loader/ImageLoader.h:
1608         (ImageLoader): Define a timer for controlling deref of the element.
1609
1610 2013-03-05  Antoine Quint  <graouts@apple.com>
1611
1612         Web Inspector: identify reflection layers in LayerTreeAgent
1613         https://bugs.webkit.org/show_bug.cgi?id=111419
1614
1615         We add a new property "isReflection" to the Layer objects returned
1616         to the front-end to indicate whether the layer was created to host
1617         the reflection for an element. When this new property is true, the
1618         "nodeId" property is set to point to the reflected element's node
1619         id, since there is no node per-se directly associated with this layer.
1620         We also change the "bounds" property to return absolute page coordinates
1621         such that the front-end can use this information to highlight that
1622         region in the page since metrics would otherwise be unavailable.
1623
1624         Reviewed by Dean Jackson.
1625
1626         Test: inspector-protocol/layers/layers-reflected-content.html
1627
1628         * inspector/Inspector.json:
1629         * inspector/InspectorLayerTreeAgent.cpp:
1630         (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
1631
1632 2013-03-05  peavo@outlook.com  <peavo@outlook.com>
1633
1634         [WinCairo] Compile fix after r144024.
1635         https://bugs.webkit.org/show_bug.cgi?id=111306
1636
1637         Reviewed by James Robinson.
1638
1639         * page/scrolling/ScrollingCoordinator.cpp: Added guard for USE(ACCELERATED_COMPOSITING).
1640         * page/scrolling/ScrollingCoordinator.h: Added guard for USE(ACCELERATED_COMPOSITING).
1641
1642 2013-03-05  James Weatherall  <wez@chromium.org>
1643
1644         keydown and keyup events have zero keycode for some numeric pad keys under Chromium on Linux
1645         https://bugs.webkit.org/show_bug.cgi?id=85642
1646
1647         Add missing key mappings for GDK_KP_Begin, GDK_KP_Insert, GDK_KP_Delete and GDK_ISO_Level3_Shift.
1648
1649         Reviewed by Ojan Vafai.
1650
1651         * platform/chromium/KeyCodeConversionGtk.cpp:
1652         (WebCore::windowsKeyCodeForKeyEvent):
1653
1654 2013-03-05  Alec Flett  <alecflett@chromium.org>
1655
1656         IndexedDB: Properly refactor frontend/backend code by #includes
1657         https://bugs.webkit.org/show_bug.cgi?id=110653
1658
1659         Reviewed by Dimitri Glazkov.
1660
1661         IndexedDB has a distinct backend and frontend, with well defined
1662         *Interface / *Callbacks classes distinguishing them, respectively.
1663         
1664         This makes sure that the frontend and backend do not include each
1665         other and fixes build problems that occurred as a result.
1666
1667         Specifically this moves enums out of IDBCursor and IDBTransaction
1668         into IndexedDB.h in a new WebCore::IndexedDB namespace.
1669
1670         No new tests, as this is just a refactor.
1671
1672 2013-03-05  Jeffrey Pfau  <jpfau@apple.com>
1673
1674         Clear associated cache partitions when deleting origins' cache
1675         https://bugs.webkit.org/show_bug.cgi?id=111383
1676
1677         Reviewed by Maciej Stachowiak.
1678
1679         Clear the cache partitions associated with the origin being cleared.
1680
1681         Not possible to test with current automated test tools, must be tested manually.
1682
1683         * loader/cache/MemoryCache.cpp:
1684         (WebCore::MemoryCache::removeResourcesWithOrigin):
1685
1686 2013-03-04  Ojan Vafai  <ojan@chromium.org>
1687
1688         Inline min/maxInstrinsicLogicalWidth functions
1689         https://bugs.webkit.org/show_bug.cgi?id=111399
1690
1691         Reviewed by Tony Chang.
1692
1693         Turns out these functions don't need to be public and only
1694         have one caller. This patch is in preparation for supporting
1695         intrinsic widths on tables, which will need to pass in the
1696         border and padding width as an argument.
1697
1698         * rendering/RenderBox.cpp:
1699         (WebCore::RenderBox::fillAvailableMeasure):
1700         (WebCore::RenderBox::computeIntrinsicLogicalWidthUsing):
1701         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
1702         * rendering/RenderBox.h:
1703
1704 2013-03-05  Victor Carbune  <vcarbune@chromium.org>
1705
1706         Cue line-height property shouldn't be inherited from the video element
1707         https://bugs.webkit.org/show_bug.cgi?id=111262
1708
1709         Reviewed by Eric Carlson.
1710
1711         Test: media/track/track-cue-rendering-on-resize.html
1712
1713         * css/mediaControls.css:
1714         (video::-webkit-media-text-track-container): Set the default font size
1715         and family using the "font" property to also reset the line-height property.
1716
1717 2013-03-05  Joshua Bell  <jsbell@chromium.org>
1718
1719         IndexedDB: Remove some unused binding code
1720         https://bugs.webkit.org/show_bug.cgi?id=111463
1721
1722         Reviewed by Adam Barth.
1723
1724         IDBRequest got a custom V8 getter for |request| to help diagnose an issue, but the
1725         root cause was found/fixed (http://wkbug.com/110916 and http://wkbug.com/110206) so
1726         remove it. Also, IDBKey was marked ScriptWrappable but it is now explicitly converted
1727         to a ScriptValue before it gets anywhere near the binding code, so remove that too.
1728         Finally, createIDBKeyFromValue doesn't need to be exposed from IDBBindingUtilities.
1729
1730         No new tests - just removing dead code.
1731
1732         * Modules/indexeddb/IDBKey.h: No need for ScriptWrappable.
1733         * Modules/indexeddb/IDBRequest.idl: Remove custom binding (root cause of bug found).
1734         * WebCore.gypi: Ditto.
1735         * bindings/js/IDBBindingUtilities.h: Don't expose internal createIDBKeyFromValue().
1736         * bindings/v8/IDBBindingUtilities.h: Ditto.
1737         * bindings/v8/custom/V8IDBRequestCustom.cpp: Removed.
1738
1739 2013-03-05  Sheriff Bot  <webkit.review.bot@gmail.com>
1740
1741         Unreviewed, rolling out r144798.
1742         http://trac.webkit.org/changeset/144798
1743         https://bugs.webkit.org/show_bug.cgi?id=111478
1744
1745         "broke chromium windows build" (Requested by dpranke on
1746         #webkit).
1747
1748         * GNUmakefile.list.am:
1749         * Modules/indexeddb/IDBBackingStore.cpp:
1750         (WebCore::IDBBackingStore::Cursor::continueFunction):
1751         (WebCore::objectStoreCursorOptions):
1752         (WebCore::indexCursorOptions):
1753         (WebCore::IDBBackingStore::openObjectStoreCursor):
1754         (WebCore::IDBBackingStore::openObjectStoreKeyCursor):
1755         (WebCore::IDBBackingStore::openIndexKeyCursor):
1756         (WebCore::IDBBackingStore::openIndexCursor):
1757         * Modules/indexeddb/IDBBackingStore.h:
1758         (IDBBackingStore):
1759         * Modules/indexeddb/IDBCursor.cpp:
1760         (WebCore::IDBCursor::create):
1761         (WebCore::IDBCursor::IDBCursor):
1762         (WebCore::IDBCursor::continueFunction):
1763         (WebCore::IDBCursor::stringToDirection):
1764         (WebCore::IDBCursor::directionToString):
1765         * Modules/indexeddb/IDBCursor.h:
1766         (IDBCursor):
1767         * Modules/indexeddb/IDBCursorBackendImpl.cpp:
1768         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
1769         (WebCore::IDBCursorBackendImpl::deleteFunction):
1770         (WebCore::IDBCursorBackendImpl::CursorPrefetchIterationOperation::perform):
1771         * Modules/indexeddb/IDBCursorBackendImpl.h:
1772         (WebCore::IDBCursorBackendImpl::create):
1773         (WebCore::IDBCursorBackendImpl::value):
1774         (IDBCursorBackendImpl):
1775         * Modules/indexeddb/IDBCursorBackendInterface.h:
1776         (WebCore):
1777         * Modules/indexeddb/IDBCursorWithValue.cpp:
1778         (WebCore::IDBCursorWithValue::create):
1779         (WebCore::IDBCursorWithValue::IDBCursorWithValue):
1780         * Modules/indexeddb/IDBCursorWithValue.h:
1781         (IDBCursorWithValue):
1782         * Modules/indexeddb/IDBDatabase.cpp:
1783         (WebCore::IDBDatabase::transaction):
1784         * Modules/indexeddb/IDBDatabase.h:
1785         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1786         (WebCore::GetOperation::create):
1787         (WebCore::GetOperation::GetOperation):
1788         (GetOperation):
1789         (WebCore::OpenCursorOperation::create):
1790         (WebCore::OpenCursorOperation::OpenCursorOperation):
1791         (OpenCursorOperation):
1792         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
1793         (WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
1794         (WebCore::IDBDatabaseBackendImpl::createIndex):
1795         (WebCore::IDBDatabaseBackendImpl::deleteIndex):
1796         (WebCore::IDBDatabaseBackendImpl::get):
1797         (WebCore::GetOperation::perform):
1798         (WebCore::IDBDatabaseBackendImpl::put):
1799         (WebCore::PutOperation::perform):
1800         (WebCore::IDBDatabaseBackendImpl::setIndexKeys):
1801         (WebCore::IDBDatabaseBackendImpl::openCursor):
1802         (WebCore::OpenCursorOperation::perform):
1803         (WebCore::CountOperation::perform):
1804         (WebCore::IDBDatabaseBackendImpl::deleteRange):
1805         (WebCore::DeleteRangeOperation::perform):
1806         (WebCore::IDBDatabaseBackendImpl::clear):
1807         (WebCore::IDBDatabaseBackendImpl::transactionStarted):
1808         (WebCore::IDBDatabaseBackendImpl::transactionFinished):
1809         (WebCore::IDBDatabaseBackendImpl::transactionFinishedAndAbortFired):
1810         (WebCore::IDBDatabaseBackendImpl::transactionFinishedAndCompleteFired):
1811         (WebCore::IDBDatabaseBackendImpl::createTransaction):
1812         (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
1813         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
1814         (IDBDatabaseBackendImpl):
1815         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
1816         * Modules/indexeddb/IDBFactory.h:
1817         * Modules/indexeddb/IDBIndex.cpp:
1818         (WebCore):
1819         (WebCore::IDBIndex::openCursor):
1820         (WebCore::IDBIndex::openKeyCursor):
1821         * Modules/indexeddb/IDBObjectStore.cpp:
1822         (WebCore):
1823         (WebCore::IDBObjectStore::openCursor):
1824         * Modules/indexeddb/IDBRequest.cpp:
1825         (WebCore::IDBRequest::IDBRequest):
1826         (WebCore::IDBRequest::setCursorDetails):
1827         (WebCore::IDBRequest::setResultCursor):
1828         (WebCore::IDBRequest::onSuccess):
1829         * Modules/indexeddb/IDBRequest.h:
1830         (IDBRequest):
1831         * Modules/indexeddb/IDBTransaction.cpp:
1832         (WebCore::IDBTransaction::create):
1833         (WebCore::IDBTransaction::IDBTransaction):
1834         (WebCore::IDBTransaction::stringToMode):
1835         (WebCore::IDBTransaction::modeToString):
1836         * Modules/indexeddb/IDBTransaction.h:
1837         (WebCore::IDBTransaction::isReadOnly):
1838         (WebCore::IDBTransaction::isVersionChange):
1839         (IDBTransaction):
1840         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
1841         (WebCore::IDBTransactionBackendImpl::create):
1842         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
1843         * Modules/indexeddb/IDBTransactionBackendImpl.h:
1844         (IDBTransactionBackendImpl):
1845         (WebCore::IDBTransactionBackendImpl::mode):
1846         * Modules/indexeddb/IDBTransactionCoordinator.cpp:
1847         (WebCore::IDBTransactionCoordinator::processStartedTransactions):
1848         (WebCore::IDBTransactionCoordinator::canRunTransaction):
1849         * Modules/indexeddb/IndexedDB.h: Removed.
1850         * Target.pri:
1851         * WebCore.gypi:
1852
1853 2013-03-05  Tommy Widenflycht  <tommyw@google.com>
1854
1855         MediaStream API: Allow local and remote descriptions to be accessed after close
1856         https://bugs.webkit.org/show_bug.cgi?id=111437
1857
1858         Reviewed by Adam Barth.
1859
1860         It's quite clear in the standard that the getters should still return the old value.
1861         Also overhauling the state setters a bit to check if the new state is different.
1862
1863         Existing tests expanded to cover patch.
1864
1865         * Modules/mediastream/RTCPeerConnection.cpp:
1866         (WebCore::RTCPeerConnection::localDescription):
1867         (WebCore::RTCPeerConnection::remoteDescription):
1868         (WebCore::RTCPeerConnection::changeSignalingState):
1869         (WebCore::RTCPeerConnection::changeIceGatheringState):
1870         (WebCore::RTCPeerConnection::changeIceConnectionState):
1871
1872 2013-03-05  Charlie Reis  <creis@chromium.org>
1873
1874         Add FrameLoaderClient::didAccessInitialDocument
1875         https://bugs.webkit.org/show_bug.cgi?id=107963
1876
1877         Notifies the FrameLoaderClient if another page accesses the
1878         initial empty document of a main frame.  In this case, it is
1879         no longer safe to display the provisional URL.
1880
1881         Only takes effect for PLATFORM(CHROMIUM), since no other platforms
1882         listen to the notification.
1883
1884         Reviewed by Adam Barth.
1885
1886         * bindings/v8/V8DOMWindowShell.cpp:
1887         (WebCore::V8DOMWindowShell::setSecurityToken):
1888             Use default token for initial document.
1889         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1890             Notify loader if initial document is accessed.
1891         (WebCore::V8DOMWindow::namedSecurityCheck):
1892         (WebCore::V8DOMWindow::indexedSecurityCheck):
1893         * loader/FrameLoader.cpp:
1894         (WebCore::FrameLoader::FrameLoader):
1895         (WebCore::FrameLoader::didAccessInitialDocument):
1896         (WebCore):
1897         * loader/FrameLoader.h:
1898         (FrameLoader):
1899         * loader/FrameLoaderClient.h:
1900         (FrameLoaderClient):
1901         (WebCore::FrameLoaderClient::didAccessInitialDocument):
1902
1903 2013-03-05  Otto Derek Cheung  <otcheung@rim.com>
1904
1905         [BlackBerry] Fix assertion in CookieManager::getBackingStoreCookies
1906         https://bugs.webkit.org/show_bug.cgi?id=111468
1907
1908         Reviewed by Rob Buis.
1909         Internally reviewed by Konrad Piascik.
1910
1911         The assert in getBackingStoreCookies could be giving out false positives now
1912         that we have our fixes for cookie loading in PR 286189. The cookie store could
1913         be half loaded if the first cookie get/set call happens before the db is fully loaded.
1914         A full webkit sync call to reload the database will cause the assert to be hit.
1915
1916         Safer to flush everything out and try again.
1917
1918         * platform/blackberry/CookieManager.cpp:
1919         (WebCore::CookieManager::getBackingStoreCookies):
1920
1921 2013-03-05  Tony Gentilcore  <tonyg@chromium.org>
1922
1923         CompactHTMLToken does not need an XSSInfo pointer
1924         https://bugs.webkit.org/show_bug.cgi?id=111423
1925
1926         Reviewed by Eric Seidel.
1927
1928         The CompactHTMLToken should remain as small as possible because it is copied. This shrinks the size by one pointer
1929         by moving a relatively uncommon attribute out to its own Vector.
1930
1931         No new tests because no new functionality.
1932
1933         * html/parser/BackgroundHTMLParser.cpp:
1934         (WebCore::checkThatXSSInfosAreSafeToSendToAnotherThread):
1935         (WebCore):
1936         (WebCore::BackgroundHTMLParser::pumpTokenizer):
1937         (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
1938         * html/parser/BackgroundHTMLParser.h:
1939         (BackgroundHTMLParser):
1940         * html/parser/CompactHTMLToken.cpp:
1941         (SameSizeAsCompactHTMLToken):
1942         (WebCore::CompactHTMLToken::isSafeToSendToAnotherThread):
1943         * html/parser/CompactHTMLToken.h:
1944         (WebCore):
1945         (CompactHTMLToken):
1946         * html/parser/HTMLDocumentParser.cpp:
1947         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
1948         * html/parser/HTMLDocumentParser.h:
1949         (ParsedChunk):
1950         * html/parser/XSSAuditorDelegate.h:
1951         (XSSInfo):
1952         (WebCore):
1953
1954 2013-03-05  Anders Carlsson  <andersca@apple.com>
1955
1956         Split StorageEventDispatcher::dispatch into two functions
1957         https://bugs.webkit.org/show_bug.cgi?id=111464
1958
1959         Reviewed by Beth Dakin.
1960
1961         Split StorageEventDispatcher::dispatch into dispatchSessionStorageEvent and
1962         dispatchLocalStorageEvent and make StorageAreaImpl::dispatchStorageEvent call
1963         the right function based on the storage area type.
1964
1965         * storage/StorageAreaImpl.cpp:
1966         (WebCore::StorageAreaImpl::dispatchStorageEvent):
1967         * storage/StorageEventDispatcher.cpp:
1968         (WebCore::StorageEventDispatcher::dispatchSessionStorageEvent):
1969         (WebCore):
1970         (WebCore::StorageEventDispatcher::dispatchLocalStorageEvent):
1971         * storage/StorageEventDispatcher.h:
1972         (StorageEventDispatcher):
1973
1974 2013-03-05  Brent Fulgham  <bfulgham@webkit.org>
1975
1976         [WinCairo] Unreviewed build fix after r144024.
1977
1978         * page/scrolling/ScrollingCoordinator.cpp:
1979         (WebCore::ScrollingCoordinator::scrollLayerForScrollableArea): Handle
1980         case of not using Accelerated Compositing
1981         (WebCore::ScrollingCoordinator::horizontalScrollbarLayerForScrollableArea):
1982         (WebCore::ScrollingCoordinator::verticalScrollbarLayerForScrollableArea): Ditto.
1983
1984 2013-03-05  Alec Flett  <alecflett@chromium.org>
1985
1986         IndexedDB: Properly refactor frontend/backend code by #includes
1987         https://bugs.webkit.org/show_bug.cgi?id=110653
1988
1989         Reviewed by Dimitri Glazkov.
1990
1991         IndexedDB has a distinct backend and frontend, with well defined
1992         *Interface / *Callbacks classes distinguishing them, respectively.
1993         
1994         This makes sure that the frontend and backend do not include each
1995         other and fixes build problems that occurred as a result.
1996
1997         Specifically this moves enums out of IDBCursor and IDBTransaction
1998         into IndexedDB.h in a new WebCore::IndexedDB namespace.
1999
2000         No new tests, as this is just a refactor.
2001
2002 2013-03-05  James Robinson  <jamesr@chromium.org>
2003
2004         ContainerNode::setActive should not sleep for 100ms on platforms that do not implement synchronous repaint(true) semantics
2005         https://bugs.webkit.org/show_bug.cgi?id=87054
2006
2007         Reviewed by Darin Adler.
2008
2009         Adds a new ChromeClient function to query if the platform supports the immediate parameter
2010         to the invalidation APIs and guards the synchronous repaint logic in ContainerNode::setActive()
2011         with it.
2012
2013         * dom/ContainerNode.cpp:
2014         (WebCore::ContainerNode::setActive):
2015         * page/ChromeClient.h:
2016         (WebCore::ChromeClient::supportsImmediateInvalidation):
2017
2018 2013-03-05  Anders Carlsson  <andersca@apple.com>
2019
2020         Simplify storage event dispatch somewhat
2021         https://bugs.webkit.org/show_bug.cgi?id=111461
2022
2023         Reviewed by Beth Dakin.
2024
2025         Add a StorageAreaImpl::dispatchStorageEvent to avoid replicating the calls to
2026         StorageEventDispatcher::dispatch there times. This is in preparation for changing the
2027         interface of StorageEventDispatcher so it can be used by WebKit2.
2028
2029         * storage/StorageAreaImpl.cpp:
2030         (WebCore::StorageAreaImpl::setItem):
2031         (WebCore::StorageAreaImpl::removeItem):
2032         (WebCore::StorageAreaImpl::clear):
2033         (WebCore::StorageAreaImpl::dispatchStorageEvent):
2034
2035         * storage/StorageAreaImpl.h:
2036         Reindent.
2037
2038 2013-03-05  Tony Chang  <tony@chromium.org>
2039
2040         Fix some crashes in render sliders
2041         https://bugs.webkit.org/show_bug.cgi?id=111458
2042
2043         Reviewed by Ojan Vafai.
2044
2045         Fix some cases where we assumed the renderer is a renderBox.
2046
2047         Test: fast/forms/range/slider-inline-crash.html
2048
2049         * html/shadow/SliderThumbElement.cpp:
2050         (WebCore::RenderSliderContainer::layout): Use renderBox() which will return 0 if the renderer is not a RenderBox.
2051         (WebCore::SliderThumbElement::setPositionFromPoint): Bail out early if renderBox() is 0.
2052
2053 2013-03-04  Andrew Scherkus  <scherkus@chromium.org>
2054
2055         REGRESSION(r142191): Fix closed caption buttons for ports still using the painting path.
2056         https://bugs.webkit.org/show_bug.cgi?id=111109
2057
2058         Reviewed by Eric Carlson.
2059
2060         Covered by following tests:
2061         media/track/track-cue-rendering-horizontal.html
2062         media/track/track-cue-rendering-vertical.html
2063
2064         * rendering/RenderTheme.cpp:
2065         (WebCore::RenderTheme::paint):
2066         * rendering/RenderTheme.h:
2067         (WebCore::RenderTheme::paintMediaToggleClosedCaptionsButton):
2068
2069 2013-03-05  Gwang Yoon Hwang  <ryumiel@company100.net>
2070
2071         Coordinated Graphics: CoordinatedGraphicsLayer makes CoordinatedGraphicsScene perform via CoordinatedGraphicsState.
2072         https://bugs.webkit.org/show_bug.cgi?id=108294
2073
2074         Reviewed by Anders Carlsson.
2075
2076         CoordinatedLayerTreeHostProxy has too many IPC messages (e.g. SyncCanvas and
2077         CreateTile), and there is a long function chain from CoordinatedGraphicsLayer to
2078         CoordinatedGraphicsScene (4 classes).
2079         If we want to add a new message, we need to add similar functions into 4 classes.
2080
2081         Now CoordinatedLayerTreeHost has only one IPC message for CoordinatedGraphicsLayer:
2082         CommitCoordinatedGraphicsState.
2083         CoordinatedGraphicsLayer makes CoordinatedGraphicsScene run as follows:
2084         1. CoordinatedGraphicsLayer makes a CoordinatedGraphicsLayerState.
2085         2. CoordinatedLayerTreeHost stores all LayerStates.
2086         3. CoordinatedLayerTreeHost sends GraphicsState includes LayerStates to CoordinatedLayerTreeHostProxy
2087         at the moment of flushing via CommitCoordinatedGraphicsState message.
2088         4. CoordinatedGraphicsScene applies all state changes to layers.
2089
2090         There is one big behavior change. All states changes (e.g.
2091         UpdateTiles, SetLayerChildren, and etc..) are performed at the same time, when
2092         CoordinatedGraphicsScene::commitCoordinatedGraphicsState is called.
2093
2094         This patch is based on Dongsung Huang, and Noam's work in
2095         https://bugs.webkit.org/show_bug.cgi?id=108294
2096
2097         No new tests, covered by existing tests.
2098
2099         * Target.pri:
2100         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
2101         (WebCore::CoordinatedGraphicsLayer::setPosition):
2102         (WebCore::CoordinatedGraphicsLayer::setAnchorPoint):
2103         (WebCore::CoordinatedGraphicsLayer::setSize):
2104         (WebCore::CoordinatedGraphicsLayer::setTransform):
2105         (WebCore::CoordinatedGraphicsLayer::setChildrenTransform):
2106         (WebCore::CoordinatedGraphicsLayer::setPreserves3D):
2107         (WebCore::CoordinatedGraphicsLayer::setMasksToBounds):
2108         (WebCore::CoordinatedGraphicsLayer::setDrawsContent):
2109         (WebCore::CoordinatedGraphicsLayer::setContentsVisible):
2110         (WebCore::CoordinatedGraphicsLayer::setContentsOpaque):
2111         (WebCore::CoordinatedGraphicsLayer::setBackfaceVisibility):
2112         (WebCore::CoordinatedGraphicsLayer::setOpacity):
2113         (WebCore::CoordinatedGraphicsLayer::setContentsRect):
2114         (WebCore::CoordinatedGraphicsLayer::setFilters):
2115         (WebCore::CoordinatedGraphicsLayer::setContentsToSolidColor):
2116         (WebCore::CoordinatedGraphicsLayer::setShowDebugBorder):
2117         (WebCore::CoordinatedGraphicsLayer::setShowRepaintCounter):
2118         (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
2119         (WebCore::CoordinatedGraphicsLayer::setReplicatedByLayer):
2120         (WebCore::CoordinatedGraphicsLayer::setFixedToViewport):
2121         (WebCore::CoordinatedGraphicsLayer::syncChildren):
2122         (WebCore::CoordinatedGraphicsLayer::syncFilters):
2123         (WebCore::CoordinatedGraphicsLayer::syncImageBacking):
2124         (WebCore::CoordinatedGraphicsLayer::syncLayerState):
2125         (WebCore::CoordinatedGraphicsLayer::setDebugBorder):
2126         (WebCore::CoordinatedGraphicsLayer::syncAnimations):
2127         (WebCore::CoordinatedGraphicsLayer::syncCanvas):
2128         (WebCore::CoordinatedGraphicsLayer::destroyCanvasIfNeeded):
2129         (WebCore::CoordinatedGraphicsLayer::createCanvasIfNeeded):
2130         (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
2131         (WebCore::CoordinatedGraphicsLayer::resetLayerState):
2132         (WebCore):
2133         (WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
2134         (WebCore::CoordinatedGraphicsLayer::setRootLayer):
2135         (WebCore::CoordinatedGraphicsLayer::tiledBackingStorePaintEnd):
2136         (WebCore::CoordinatedGraphicsLayer::createTile):
2137         (WebCore::CoordinatedGraphicsLayer::updateTile):
2138         (WebCore::CoordinatedGraphicsLayer::removeTile):
2139         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
2140         (CoordinatedGraphicsLayerClient):
2141         (CoordinatedGraphicsLayer):
2142         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
2143         (WebCore::CoordinatedGraphicsScene::createCanvasIfNeeded):
2144         (WebCore::CoordinatedGraphicsScene::syncCanvasIfNeeded):
2145         (WebCore::CoordinatedGraphicsScene::destroyCanvasIfNeeded):
2146         (WebCore::CoordinatedGraphicsScene::setLayerRepaintCountIfNeeded):
2147         (WebCore::CoordinatedGraphicsScene::setLayerChildrenIfNeeded):
2148         (WebCore::CoordinatedGraphicsScene::setLayerFiltersIfNeeded):
2149         (WebCore::CoordinatedGraphicsScene::setLayerState):
2150         (WebCore::CoordinatedGraphicsScene::deleteLayer):
2151         (WebCore::CoordinatedGraphicsScene::createTilesIfNeeded):
2152         (WebCore::CoordinatedGraphicsScene::removeTilesIfNeeded):
2153         (WebCore::CoordinatedGraphicsScene::updateTilesIfNeeded):
2154         (WebCore::CoordinatedGraphicsScene::assignImageBackingToLayer):
2155         (WebCore::CoordinatedGraphicsScene::commitSceneState):
2156         (WebCore::CoordinatedGraphicsScene::setLayerAnimationsIfNeeded):
2157         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
2158         (WebCore):
2159         (CoordinatedGraphicsScene):
2160         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h: Added.
2161         (WebCore):
2162         (TileUpdateInfo):
2163         (TileCreationInfo):
2164         (WebCore::CoordinatedGraphicsLayerState::CoordinatedGraphicsLayerState):
2165         (CoordinatedGraphicsLayerState):
2166         (CoordinatedGraphicsState):
2167         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.h:
2168         * platform/graphics/texmap/coordinated/CoordinatedLayerInfo.h: Removed.
2169         * platform/graphics/texmap/coordinated/SurfaceUpdateInfo.h:
2170
2171 2013-03-05  Roger Fong  <roger_fong@apple.com>
2172
2173         Unreviewed. AppleWin VS2010 build fix.
2174
2175         * WebCore.vcxproj/WebCore.vcxproj:
2176         * WebCore.vcxproj/WebCore.vcxproj.filters:
2177         * rendering/RenderingAllInOne.cpp:
2178
2179 2013-03-05  Bem Jones-Bey  <bjonesbe@adobe.com>
2180
2181         [CSS Exclusions] shape-outside on floats for polygon shapes
2182         https://bugs.webkit.org/show_bug.cgi?id=98676
2183
2184         Reviewed by David Hyatt.
2185
2186         Implement support for polygonal shape-outside on floats. The basic
2187         tack taken here is to keep using the bounding box of the shape to
2188         position the float, but to compute the offset (caused by the shape)
2189         from the bounding box for each line when creating and positioning
2190         other inline content.
2191
2192         Test: fast/exclusions/shape-outside-floats/shape-outside-floats-simple-polygon.html
2193
2194         * rendering/ExclusionShapeInfo.cpp:
2195         (WebCore):
2196         (WebCore::::computedShape): Add new template parameter.
2197         (WebCore::::logicalTopOffset): Add new template parameter.
2198         (WebCore::::computeSegmentsForLine): Move here from
2199             ExclusionShapeInsideInfo, since ExclusionShapeOutsideInfo needs it
2200             as well. Make virtual since there is slightly different behavior
2201             between each class even though the vast majority of the code is
2202             common.
2203         * rendering/ExclusionShapeInfo.h:
2204         (WebCore):
2205         (WebCore::ExclusionShapeInfo::~ExclusionShapeInfo): Since
2206             computeSegmentsForLine is virtual, the destructor must be virtual
2207             as well.
2208         (ExclusionShapeInfo): Add new data members to support
2209             computeSegmentsForLine.
2210         (WebCore::ExclusionShapeInfo::shapeLogicalRight): Fix bug, the logical
2211             right is based off of maxX, not y. (it's a logical bounding box!)
2212         (WebCore::ExclusionShapeInfo::logicalLineTop): Moved from
2213             ExclusionShapeInsideInfo for use by computeSegmentsForLine and
2214             lineOverlapsShapeBounds.
2215         (WebCore::ExclusionShapeInfo::logicalLineBottom): Moved from
2216             ExclusionShapeInsideInfo for use by computeSegmentsForLine and
2217             lineOverlapsShapeBounds.
2218         (WebCore::ExclusionShapeInfo::lineOverlapsShapeBounds): Moved from
2219             ExclusionShapeInsideInfo for use by computeSegmentsForLine.
2220         * rendering/ExclusionShapeInsideInfo.cpp: Moved common code from
2221             computeSegmentsForLine into ExclusionShapeInfo.
2222         * rendering/ExclusionShapeInsideInfo.h:
2223         (WebCore): Moved some methods to ExclusionShapeInfo.
2224         (ExclusionShapeInsideInfo): Update for new template parameter.
2225         (WebCore::ExclusionShapeInsideInfo::compyteSegmentsForLine): Override
2226             superclass method to clear the segment ranges. Segement ranges
2227             aren't used by shape outside, and have some complex dependencies
2228             that make it very hard to try and move up into ExclusionShapeInfo.
2229         (WebCore::ExclusionShapeInsideInfo::ExclusionShapeInsideInfo): Update
2230             for new template parameter.
2231         * rendering/ExclusionShapeOutsideInfo.cpp:
2232         (WebCore::ExclusionShapeOutsideInfo::isEnabledFor): Add polygons as a
2233             supported shape.
2234         (WebCore::ExclusionShapeOutsideInfo::computeSegmentsForLine): Override
2235             superclass method to not recompute if it isn't needed (this isn't
2236             straightfoward for shape inside, which is why it isn't common),
2237             and to save the left and right offsets caused by the shape
2238             outside, since that's all that is needed to properly do layout in
2239             the case of floats.
2240         * rendering/ExclusionShapeOutsideInfo.h:
2241         (WebCore::ExclusionShapeOutsideInfo::shapeLogicalOffset): Reformat to
2242             be on a single line, like most other methods of it's type in
2243             WebKit headers.
2244         (ExclusionShapeOutsideInfo): Update for new template parameter.
2245         (WebCore::ExclusionShapeOutsideInfo::logicalLeftOffsetForLine):
2246             Accessor method to get the left offset between the shape and the
2247             shape's bounding box.
2248         (WebCore::ExclusionShapeOutsideInfo::logicalRightOffsetForLine):
2249             Accessor method to get the left offset between the shape and the
2250             shape's bounding box.
2251         (WebCore::ExclusionShapeOutsideInfo::ExclusionShapeOutsideInfo):
2252             Update for new template parameter.
2253         * rendering/RenderBlock.cpp:
2254         (WebCore::::collectIfNeeded): Save the last float encountered so that
2255             the shape outside offset can be accounted for.
2256         (WebCore::RenderBlock::logicalLeftOffsetForLine): Account for the
2257             shape outside offset on the outermost float.
2258         (WebCore::RenderBlock::logicalRightOffsetForLine): Account for the
2259             shape outside offset on the outermost float.
2260         * rendering/RenderBlock.h:
2261         (WebCore::RenderBlock::FloatIntervalSearchAdapter::FloatIntervalSearchAdapter):
2262             Initialize the lastFloat member.
2263         (WebCore::RenderBlock::FloatIntervalSearchAdapter::lastFloat): Get the
2264             last float encountered.
2265         (FloatIntervalSearchAdapter): Add a pointer to the last float
2266             encountered. Note that the variable is mutable because
2267             collectIfNeeded is declared as a const method even though it isn't
2268             (it uses loopholes to update m_offset and m_heightRemaining).
2269             Instead of trying to come up with a hack to stick with the
2270             loopholes, I decided to be explicit about it.
2271         * rendering/RenderBlockLineLayout.cpp:
2272         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): Take
2273             into account the offset from any polygonal shape outside.
2274         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak): Add a FIXME
2275             because the current code will not work properly with stacked
2276             floats that have polygonal shape outside.
2277
2278 2013-03-04  David Hyatt  <hyatt@apple.com>
2279
2280         [New Multicolumn] Autogenerate regions for columns.
2281         https://bugs.webkit.org/show_bug.cgi?id=111363
2282
2283         Reviewed by Dean Jackson.
2284
2285         In CSS Regions, we lay out the regions first, and then
2286         we put the flow thread into the regions. This model doesn't
2287         really work for multicolumn layout, which needs to be able
2288         to auto-generate new regions lazily in response to the flow
2289         thread asking for regions at particular offsets.
2290
2291         With the multi-column model, where the regions can't just occur
2292         anywhere, its ok not to lay them out before the flow thread, as
2293         long as we have at least given them the correct size.
2294         
2295         This patch changes the layout algorithm for columns to:
2296         (1) Size any existing regions (without worrying about placement).
2297         (2) Lay out the flow thread (generating and sizing regions lazily
2298         that need to be created).
2299         (3) Lay out the regions (to give them correct placement and to
2300         compute overflow correctly for the multi-column block that contains
2301         the regions).
2302
2303         There are no new tests, since there are no behavioral changes. This
2304         is just groundwork for being able to add new sets in response to
2305         spans, balancing, and nested pagination contexts.
2306
2307         * rendering/RenderBlock.cpp:
2308         (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
2309         (WebCore::RenderBlock::layoutBlockChild):
2310         * rendering/RenderBlock.h:
2311         (RenderBlock):
2312         Since we want to be able to call determineLogicalLeftPositionForChild
2313         to place the flow thread properly, and we don't want to apply a layout
2314         delta (flow threads repaint themselves), we parameterize the method
2315         here so that it can be called without applying a layout delta.
2316         
2317         * rendering/RenderFlowThread.cpp:
2318         (WebCore::RenderFlowThread::addRegionToThread):
2319         (WebCore::RenderFlowThread::removeRegionFromThread):
2320         These methods are only used by RenderMultiColumnFlowThread, since
2321         RenderNamedFlowThread overrides them. Remove the code that invalidates
2322         the flow threads region set as regions come and go, since that is now
2323         going to be expected with auto-generation.
2324
2325         (WebCore::RenderFlowThread::validateRegions):
2326         Refactor the code in RenderFlowThread::layout that validates the regions
2327         into its own method, so that we can re-validate regions at any time
2328         after generating new ones.
2329         
2330         (WebCore::RenderFlowThread::layout):
2331         Changed to move the region validation code into its own function that is
2332         now called from here.
2333
2334         (WebCore::RenderFlowThread::updateLogicalWidth):
2335         Don't assert if a region set needs layout.
2336
2337         (WebCore::RenderFlowThread::computeLogicalHeight):
2338         Ditto. Don't assert if a region set needs layout. That's expected now.
2339
2340         (WebCore::RenderFlowThread::regionAtBlockOffset):
2341         Add code to regionAtBlockOffset to auto-generate regions up to
2342         the offset. This ensures the region that is being asked for
2343         exists.
2344
2345         (WebCore::RenderFlowThread::pageLogicalTopForOffset):
2346         (WebCore::RenderFlowThread::pageLogicalWidthForOffset):
2347         (WebCore::RenderFlowThread::pageLogicalHeightForOffset):
2348         (WebCore::RenderFlowThread::pageRemainingLogicalHeightForOffset):
2349         These functions are no longer const, since the act of asking for
2350         pagination offsets can cause us to generate new regions.
2351
2352         (WebCore::RenderFlowThread::mapFromFlowToRegion):
2353         Modified to turn auto-generation off, since this is not really
2354         a "layout-time" function.
2355
2356         (WebCore::RenderFlowThread::logicalWidthChangedInRegions):
2357         Modified to not assert if a region set needs layout, since that is
2358         expected now.
2359
2360         * rendering/RenderFlowThread.h:
2361         Changes to remove const from the methods that can trigger region
2362         auto-generation.
2363
2364         * rendering/RenderMultiColumnBlock.cpp:
2365         (WebCore::RenderMultiColumnBlock::styleDidChange):
2366         Make sure to propagate style changes down into the regions. I don't know
2367         of any correctness bugs around this, but I figured I'd be thorough.
2368
2369         (WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange):
2370         We no longer build a column set aggressively. We wait for the flow thread
2371         to ask us for a region at a particular offset, and only then do we
2372         build the set.
2373         
2374         (WebCore::RenderMultiColumnBlock::addChild):
2375         Now that we lay out the flow thread as a special excluded child, we don't
2376         care about the ordering of it relative to the region children.
2377
2378         (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
2379         We now lay out the flow thread as a special excluded child (like the legend
2380         of a fieldset).
2381
2382         * rendering/RenderMultiColumnBlock.h:
2383         (RenderMultiColumnBlock):
2384         Add new overrides like layoutSpecialExcludedChild.
2385         
2386         * rendering/RenderMultiColumnFlowThread.cpp:
2387         (WebCore::RenderMultiColumnFlowThread::initialLogicalWidth):
2388         Set the flow thread to the initial column width even when no regions exist
2389         yet. This way we ensure the width is right even when we don't have any
2390         regions yet.
2391
2392         (WebCore::RenderMultiColumnFlowThread::autoGenerateRegionsToBlockOffset):
2393         This method handles autogenerating the new region for a given offset.
2394         Right now it's simplistic, since we only have one column set. This method
2395         will be enhanced in future patches when we start supporting multiple column
2396         sets.
2397
2398         * rendering/RenderMultiColumnFlowThread.h:
2399         (RenderMultiColumnFlowThread):
2400         Adding new method declarations like autoGenerateRegionsToBlockOffset.
2401
2402         * rendering/RenderMultiColumnSet.cpp:
2403         (WebCore::RenderMultiColumnSet::updateLogicalWidth):
2404         Since regions lay out after flow threads, we don't need to make 
2405         setFlowThreadPortionRect virtual any longer. We can just get our column set's
2406         width correct immediately. This is the same logic, just moved into updateLogicalWidth().
2407
2408         * rendering/RenderMultiColumnSet.h:
2409         Remove setFlowThreadPortionRect override, since the function can just be simple
2410         and non-virtual in RenderRegion now.
2411
2412         * rendering/RenderRegion.cpp:
2413         (WebCore::RenderRegion::layoutBlock):
2414         Don't ever invalidate region sets in response to our size changing during layout. Since
2415         our size is always determined outside of layout now, we don't need to do any of
2416         these checks.
2417
2418         * rendering/RenderRegion.h:
2419         (WebCore::RenderRegion::setFlowThreadPortionRect):
2420         Changed to be non-virtual now that RenderMultiColumnSet doesn't need to override.
2421
2422 2013-03-04  Alexey Proskuryakov  <ap@apple.com>
2423
2424         Make AsyncFileReader work without ScriptExecutionContext
2425         https://bugs.webkit.org/show_bug.cgi?id=111376
2426
2427         Reviewed by Anders Carlsson.
2428
2429         * WebCore.xcodeproj/project.pbxproj: Added MainThreadTask.h.
2430
2431         * dom/ScriptExecutionContext.cpp:
2432         * dom/ScriptExecutionContext.h:
2433         Removed fileThread(). Creating a thread for every context that acesses files appears
2434         wasteful and unnecessary.
2435
2436         * fileapi/AsyncFileStream.h:
2437         * fileapi/AsyncFileStream.cpp:
2438         (WebCore::createFileThread): FileThread is now a singleton.
2439         (WebCore::fileThread): Ditto.
2440         (WebCore::AsyncFileStream::AsyncFileStream):
2441         (WebCore::AsyncFileStream::create):
2442         (WebCore::didStart):
2443         (WebCore::AsyncFileStream::startOnFileThread):
2444         (WebCore::AsyncFileStream::stop):
2445         (WebCore::derefProxyOnMainThread):
2446         (WebCore::AsyncFileStream::stopOnFileThread):
2447         (WebCore::didGetSize):
2448         (WebCore::AsyncFileStream::getSizeOnFileThread):
2449         (WebCore::didOpen):
2450         (WebCore::AsyncFileStream::openForReadOnFileThread):
2451         (WebCore::AsyncFileStream::openForWriteOnFileThread):
2452         (WebCore::didRead):
2453         (WebCore::AsyncFileStream::readOnFileThread):
2454         (WebCore::didWrite):
2455         (WebCore::AsyncFileStream::writeOnFileThread):
2456         (WebCore::didTruncate):
2457         (WebCore::AsyncFileStream::truncateOnFileThread):
2458         Use callOnMainThread() instead of posting messages through a context. We never used
2459         other threads, and don't plan to.
2460
2461         * loader/ResourceLoader.cpp:
2462         * loader/ResourceLoader.h:
2463         We no longer need this pseudo-client call to create an AsyncFileStream, now that
2464         we don't need to get a ScriptExecutionContext somewhere.
2465
2466         * platform/MainThreadTask.h: Added. This implements callOnMainThread with multiple
2467         strongly typed arguments. Closely based on CrossThreadTask.h.
2468
2469         * platform/network/BlobResourceHandle.cpp:
2470         (WebCore::BlobResourceHandle::BlobResourceHandle): Create AsyncFileStream directly.
2471
2472         * platform/network/ResourceHandleClient.h: Removed createAsyncFileStream().
2473
2474 2013-03-05  Jessie Berlin  <jberlin@apple.com>
2475
2476         Update the localizable strings file.
2477
2478         Rubber-stamped by Anders Carlsson.
2479
2480         * English.lproj/Localizable.strings:
2481
2482 2013-03-05  Chris Fleizach  <cfleizach@apple.com>
2483
2484         AX: aria-label does not override text content on iOS
2485         https://bugs.webkit.org/show_bug.cgi?id=111222
2486
2487         Reviewed by David Kilzer.
2488
2489         Make iOS use the same text alternative computation that Mac is using. The main difference
2490         is that description and title need to be concatenated, because iOS doesn't have two attributes
2491         to return those values.
2492
2493         Test: platform/iphone-simulator/accessibility/aria-label-with-internal-text.html
2494
2495         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
2496         (-[WebAccessibilityObjectWrapper stringValueShouldBeUsedInLabel]):
2497         (-[WebAccessibilityObjectWrapper accessibilityLabel]):
2498         (-[WebAccessibilityObjectWrapper accessibilityHint]):
2499         * accessibility/mac/WebAccessibilityObjectWrapperBase.h:
2500
2501 2013-03-05  David Kilzer  <ddkilzer@apple.com>
2502
2503         BUILD FIX (r144698): Only enable SPEECH_SYNTHESIS for Mac
2504         <http://webkit.org/b/106742>
2505
2506         Fixes the following build failures:
2507
2508             Undefined symbols for architecture i386:
2509               "__ZTVN7WebCore25PlatformSpeechSynthesizerE", referenced from:
2510                   __ZN7WebCore25PlatformSpeechSynthesizerC2EPNS_31PlatformSpeechSynthesizerClientE in PlatformSpeechSynthesizer.o
2511               NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
2512               "__ZN7WebCore25PlatformSpeechSynthesizer19initializeVoiceListEv", referenced from:
2513                   __ZN7WebCore25PlatformSpeechSynthesizerC2EPNS_31PlatformSpeechSynthesizerClientE in PlatformSpeechSynthesizer.o
2514             ld: symbol(s) not found for architecture i386
2515
2516         * Configurations/FeatureDefines.xcconfig:
2517         - Only set ENABLE_SPEECH_SYNTHESIS for the macosx platform.
2518
2519 2013-03-05  Dmitry Zvorygin  <zvorygin@chromium.org>
2520
2521         Web Inspector: registered new MIME type application/font-woff for WOFF fonts.
2522         https://bugs.webkit.org/show_bug.cgi?id=111418
2523
2524         The WOFF MIME Type was formally registered as application/font-woff (FINALLY):
2525         http://www.iana.org/assignments/media-types/application/font-woff
2526
2527         Reviewed by Pavel Feldman.
2528
2529         * inspector/front-end/NetworkManager.js:
2530         (WebInspector.NetworkManager):
2531         (WebInspector.NetworkDispatcher.prototype._updateNetworkRequestWithResponse):
2532
2533 2013-03-05  Julien Chaffraix  <jchaffraix@webkit.org>
2534
2535         [CSS Grid Layout] Add parsing for grid-{end|after}
2536         https://bugs.webkit.org/show_bug.cgi?id=111372
2537
2538         Reviewed by Tony Chang.
2539
2540         Test: fast/css-grid-layout/grid-item-end-after-get-set.html
2541
2542         This change adds the proper support for grid-{end|after}. It doesn't update
2543         grid-{row|column} to be a shorthand for both grid-{before|start} and grid-{after|end}
2544         though.
2545
2546         * css/CSSComputedStyleDeclaration.cpp:
2547         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2548         Added the new properties to our known properties. Also added
2549         support for getComputedStyle.
2550
2551         * css/CSSParser.cpp:
2552         (WebCore::CSSParser::parseValue):
2553         Added parsing for the new properties.
2554
2555         * css/CSSProperty.cpp:
2556         (WebCore::CSSProperty::isInheritedProperty):
2557         The new properties are not inherited.
2558
2559         * css/CSSPropertyNames.in:
2560         Added the new properties.
2561
2562         * css/StyleResolver.cpp:
2563         (WebCore::StyleResolver::applyProperty):
2564         Added code to handle applying them to our style.
2565
2566         * rendering/style/RenderStyle.h:
2567         * rendering/style/StyleGridItemData.cpp:
2568         (WebCore::StyleGridItemData::StyleGridItemData):
2569         * rendering/style/StyleGridItemData.h:
2570         (WebCore::StyleGridItemData::operator==):
2571         (StyleGridItemData):
2572         Updated our representation to store the new properties.
2573
2574 2013-03-05  Andrey Kosyakov  <caseq@chromium.org>
2575
2576         Unreviewed follow-up to r144756, fix broken inspector-less build.
2577
2578         * inspector/InspectorInstrumentation.h:
2579         (WebCore::InspectorInstrumentation::willWriteHTML):
2580
2581 2013-03-05  Mark Lam  <mark.lam@apple.com>
2582
2583         Improve robustness of WebSQL quota management.
2584         https://bugs.webkit.org/show_bug.cgi?id=110600.
2585
2586         Reviewed by Geoffrey Garen.
2587
2588         1. Introduced the OriginLock for synchronizing write access to the
2589            database origin directory. This allows us to more accurately
2590            compute the disk usage.
2591
2592            The OriginLock uses a mutex to provide mutual exclusion between
2593            threads and a file lock for mutual exclusion between processes.
2594            The file lock part is conditional on USE(FILE_LOCK).
2595
2596            The mutex mutual exclusion also serves to ensure that only 1 thread
2597            can write to a sqlite database at one time.
2598
2599         2. Change the SQLTransactionCoordinator to only allow one write
2600            transaction to an origin instead of one write transaction per
2601            database. This is needed in order to accurately compute the
2602            disk usage. It is also necessary so that the OriginLock does not
2603            deadlock itself (as would be the case if concurrent write transactions
2604            to different databases in the same origin are allowed).
2605
2606         3. Fix DatabaseTracker::getMaxSizeForDatabase() to check for when
2607            disk usage may exceed the quota, and ensure that we will return
2608            an appropriate max database size.
2609
2610            Disk usage can exceed the usage if it is already near the quota limit
2611            but have not exceeded it yet. If a new database is opened in that
2612            origin, it may bump the usage above the quota, but should not
2613            continually repeat this. Subsequent attempts to open a database
2614            will find that the quota is already exhausted and fail.
2615
2616            There is still a race condition pertaining to the tracker database
2617            getting out of sync that may still enable runaway growth in the
2618            database sizes. That issue only manifest in a multi-process
2619            environment, and will be fixed in another changeset.
2620
2621         4. Fixed a bug in SQLStatement to check if the errorCallback exists
2622            before invoking it.
2623
2624         No new layout tests. A quota-test.html was attached to bugzilla for manual
2625         testing of multi-tab concurrent consumption of storage resource, and also
2626         to test handling situations when the user deletes the database files while
2627         the script is still using the database.
2628
2629         * CMakeLists.txt:
2630         * GNUmakefile.list.am:
2631         * Modules/webdatabase/DatabaseTracker.cpp:
2632         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
2633         (WebCore::DatabaseTracker::originLockFor):
2634         (WebCore::DatabaseTracker::deleteOriginLockFor):
2635         (WebCore::DatabaseTracker::deleteOrigin):
2636         * Modules/webdatabase/DatabaseTracker.h:
2637         * Modules/webdatabase/OriginLock.cpp: Added.
2638         (WebCore::OriginLock::lockFileNameForPath):
2639         (WebCore::OriginLock::OriginLock):
2640         (WebCore::OriginLock::~OriginLock):
2641         (WebCore::OriginLock::lock):
2642         (WebCore::OriginLock::unlock):
2643         * Modules/webdatabase/OriginLock.h: Added.
2644         * Modules/webdatabase/SQLStatement.cpp:
2645         (WebCore::SQLStatement::performCallback):
2646         * Modules/webdatabase/SQLTransactionBackend.cpp:
2647         (WebCore::SQLTransactionBackend::doCleanup):
2648         (WebCore::SQLTransactionBackend::computeNextStateAndCleanupIfNeeded):
2649         (WebCore::SQLTransactionBackend::openTransactionAndPreflight):
2650         (WebCore::SQLTransactionBackend::postflightAndCommit):
2651         (WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
2652         (WebCore::SQLTransactionBackend::acquireOriginLock):
2653         (WebCore::SQLTransactionBackend::releaseOriginLockIfNeeded):
2654         * Modules/webdatabase/SQLTransactionBackend.h:
2655         (SQLTransactionBackend):
2656         * Modules/webdatabase/SQLTransactionCoordinator.cpp:
2657         (WebCore::getDatabaseIdentifier):
2658         * Target.pri:
2659         * WebCore.gypi:
2660         * WebCore.vcproj/WebCore.vcproj:
2661         * WebCore.vcxproj/WebCore.vcxproj:
2662         * WebCore.vcxproj/WebCore.vcxproj.filters:
2663         * WebCore.xcodeproj/project.pbxproj:
2664         * config.h:
2665         * platform/FileSystem.h:
2666         * platform/posix/FileSystemPOSIX.cpp:
2667         (WebCore::lockFile):
2668         (WebCore::unlockFile):
2669
2670 2013-03-05  Ilya Tikhonovsky  <loislo@chromium.org>
2671
2672         Web Inspector: move PopoverContentHelper from TimelinePresentationModel.js to Popover.js.
2673         https://bugs.webkit.org/show_bug.cgi?id=111431
2674
2675         Reviewed by Yury Semikhatsky.
2676
2677         class WebInspector.TimelinePresentationModel.PopoverContentHelper was renamed to WebInspector.PopoverContentHelper.
2678         Style names were changed accordingly.
2679
2680         * inspector/front-end/Popover.js:
2681         (WebInspector.PopoverContentHelper):
2682         (WebInspector.PopoverContentHelper.prototype.contentTable):
2683         (WebInspector.PopoverContentHelper.prototype._createCell):
2684         (WebInspector.PopoverContentHelper.prototype.appendTextRow):
2685         (WebInspector.PopoverContentHelper.prototype.appendElementRow):
2686         (WebInspector.PopoverContentHelper.prototype.appendStackTrace):
2687         * inspector/front-end/TimelinePresentationModel.js:
2688         (WebInspector.TimelinePresentationModel.prototype.generateMainThreadBarPopupContent):
2689         (WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview):
2690         (WebInspector.TimelinePresentationModel.generatePopupContentForFrame):
2691         (WebInspector.TimelinePresentationModel.generatePopupContentForFrameStatistics):
2692         * inspector/front-end/popover.css:
2693         (.popover-details):
2694         (.popover-function-name):
2695         (.popover-stacktrace-title):
2696         (.popover-details-row-title):
2697         (.popover-details-row-data):
2698         (.popover-details-title):
2699         * inspector/front-end/timelinePanel.css:
2700
2701 2013-03-05  Yury Semikhatsky  <yurys@chromium.org>
2702
2703         Web Inspector: remove "Live native memory chart" experiment
2704         https://bugs.webkit.org/show_bug.cgi?id=111432
2705
2706         Reviewed by Alexander Pavlov.
2707
2708         Removed support for live native memory chart.
2709
2710         * English.lproj/localizedStrings.js:
2711         * inspector/front-end/NativeMemorySnapshotView.js:
2712         * inspector/front-end/ProfileLauncherView.js:
2713         (WebInspector.ProfileLauncherView):
2714         * inspector/front-end/ProfilesPanel.js:
2715         (WebInspector.ProfilesPanel):
2716         * inspector/front-end/Settings.js:
2717         (WebInspector.ExperimentsSettings):
2718         * inspector/front-end/nativeMemoryProfiler.css:
2719
2720 2013-03-05  Andrey Kosyakov  <caseq@chromium.org>
2721
2722         Web Inspector: remove length parameter from Parse HTML timeline event
2723         https://bugs.webkit.org/show_bug.cgi?id=111421
2724
2725         Reviewed by Yury Semikhatsky.
2726
2727         - remove length parameter in all instrumentation methods used to emit ParseHTML timeline event;
2728         - drive-by style fixes.
2729
2730         * html/parser/HTMLDocumentParser.cpp:
2731         (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
2732         (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
2733         (WebCore::HTMLDocumentParser::pumpTokenizer):
2734         * inspector/InspectorInstrumentation.cpp:
2735         (WebCore):
2736         (WebCore::InspectorInstrumentation::willWriteHTMLImpl):
2737         (WebCore::InspectorInstrumentation::didWriteHTMLImpl):
2738         * inspector/InspectorInstrumentation.h:
2739         (InspectorInstrumentation):
2740         (WebCore::InspectorInstrumentation::willWriteHTML):
2741         (WebCore::InspectorInstrumentation::didWriteHTML):
2742         * inspector/InspectorTimelineAgent.cpp:
2743         (WebCore::InspectorTimelineAgent::willWriteHTML):
2744         (WebCore::InspectorTimelineAgent::didWriteHTML):
2745         * inspector/InspectorTimelineAgent.h:
2746         (InspectorTimelineAgent):
2747         * inspector/TimelineRecordFactory.cpp:
2748         (WebCore::TimelineRecordFactory::createParseHTMLData):
2749         * inspector/TimelineRecordFactory.h:
2750         (TimelineRecordFactory):
2751
2752 2013-03-05  Alexei Filippov  <alph@chromium.org>
2753
2754         Web Inspector: allow each profiler panel to have own landing page
2755         https://bugs.webkit.org/show_bug.cgi?id=111298
2756
2757         Reviewed by Yury Semikhatsky.
2758
2759         Refactor profiler landing page to allow different profiler panels to have own landing pages.
2760           - MultiProfileLauncherView is inherited from ProfileLauncherView
2761           - Native memory distribution profiler has got a custom page.
2762
2763         No new tests: code refactoring.
2764
2765         * inspector/front-end/HeapSnapshotView.js:
2766         (WebInspector.HeapSnapshotView.prototype.get profile):
2767         (WebInspector.HeapSnapshotView.prototype.get baseProfile):
2768         (WebInspector.HeapSnapshotView.prototype._profiles):
2769         * inspector/front-end/NativeMemorySnapshotView.js:
2770         * inspector/front-end/ProfileLauncherView.js:
2771         (WebInspector.ProfileLauncherView):
2772         (WebInspector.ProfileLauncherView.prototype.addProfileType):
2773         (WebInspector.ProfileLauncherView.prototype._controlButtonClicked):
2774         (WebInspector.ProfileLauncherView.prototype._updateControls):
2775         (WebInspector.ProfileLauncherView.prototype.profileStarted):
2776         (WebInspector.ProfileLauncherView.prototype.profileFinished):
2777         (WebInspector.MultiProfileLauncherView):
2778         (WebInspector.MultiProfileLauncherView.prototype.addProfileType):
2779         (WebInspector.MultiProfileLauncherView.prototype._profileTypeChanged):
2780         (WebInspector.NativeProfileLauncherView):
2781         * inspector/front-end/ProfilesPanel.js:
2782         (WebInspector.ProfilesPanel):
2783         (WebInspector.ProfilesPanel.prototype._createLauncherView):
2784         (WebInspector.CPUProfilerPanel):
2785         (WebInspector.CSSSelectorProfilerPanel):
2786         (WebInspector.HeapProfilerPanel):
2787         (WebInspector.CanvasProfilerPanel):
2788         (WebInspector.MemoryChartProfilerPanel):
2789         (WebInspector.MemoryChartProfilerPanel.prototype._createLauncherView):
2790         (WebInspector.NativeMemoryProfilerPanel):
2791         * inspector/front-end/profilesPanel.css:
2792         (.panel-enabler-view.profile-launcher-view button:not(.status-bar-item)):
2793
2794 2013-03-05  Eugene Klyuchnikov  <eustas@chromium.org>
2795
2796         Web Inspector: Clarify some StylesSidebarPanel and CSSMetadata JSDocs.
2797         https://bugs.webkit.org/show_bug.cgi?id=111427
2798
2799         Reviewed by Alexander Pavlov.
2800
2801         Goal: reflect in JSDoc that non-null array is passed to completionsReady callback.
2802
2803         * inspector/front-end/CSSMetadata.js:
2804         Added JSDocs, avoided possible NPEs.
2805         * inspector/front-end/StylesSidebarPane.js:
2806         Fixed JSDocs, removed unused assignment.
2807
2808 2013-03-05  David Kilzer  <ddkilzer@apple.com>
2809
2810         BUILD FIX (r144727): Change type of columnRange and rowRange to pair<unsigned, unsigned>
2811         <http://webkit.org/b/110050>
2812
2813         Fixes the following build failures:
2814
2815             Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:741:30: error: non-const lvalue reference to type 'pair<unsigned int, unsigned int>' cannot bind to a value of unrelated type 'pair<int, int>'
2816                 tableCell->rowIndexRange(rowRange);
2817                                          ^~~~~~~~
2818             In file included from Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:33:
2819             Source/WebCore/accessibility/AccessibilityTableCell.h:47:58: note: passing argument to parameter 'rowRange' here
2820                 virtual void rowIndexRange(pair<unsigned, unsigned>& rowRange);
2821                                                                      ^
2822             Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:742:33: error: non-const lvalue reference to type 'pair<unsigned int, unsigned int>' cannot bind to a value of unrelated type 'pair<int, int>'
2823                 tableCell->columnIndexRange(columnRange);
2824                                             ^~~~~~~~~~~
2825             In file included from Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:33:
2826             Source/WebCore/accessibility/AccessibilityTableCell.h:49:61: note: passing argument to parameter 'columnRange' here
2827                 virtual void columnIndexRange(pair<unsigned, unsigned>& columnRange);
2828                                                                         ^
2829             Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:804:30: error: non-const lvalue reference to type 'pair<unsigned int, unsigned int>' cannot bind to a value of unrelated type 'pair<int, int>'
2830                 tableCell->rowIndexRange(rowRange);
2831                                          ^~~~~~~~
2832             In file included from Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:33:
2833             Source/WebCore/accessibility/AccessibilityTableCell.h:47:58: note: passing argument to parameter 'rowRange' here
2834                 virtual void rowIndexRange(pair<unsigned, unsigned>& rowRange);
2835                                                                      ^
2836             Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:818:33: error: non-const lvalue reference to type 'pair<unsigned int, unsigned int>' cannot bind to a value of unrelated type 'pair<int, int>'
2837                 tableCell->columnIndexRange(columnRange);
2838                                             ^~~~~~~~~~~
2839             In file included from Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:33:
2840             Source/WebCore/accessibility/AccessibilityTableCell.h:49:61: note: passing argument to parameter 'columnRange' here
2841                 virtual void columnIndexRange(pair<unsigned, unsigned>& columnRange);
2842                                                             ^
2843             4 errors generated.
2844
2845         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
2846         (-[WebAccessibilityObjectWrapper accessibilityHeaderElements]):
2847         (-[WebAccessibilityObjectWrapper accessibilityRowRange]):
2848         (-[WebAccessibilityObjectWrapper accessibilityColumnRange]):
2849
2850 2013-03-04  Andrey Kosyakov  <caseq@chromium.org>
2851
2852         Web Inspector: [refactoring] set frame identifiers in timeline records early, do not keep them in event stack
2853         https://bugs.webkit.org/show_bug.cgi?id=111345
2854
2855         Reviewed by Pavel Feldman.
2856
2857         * inspector/InspectorTimelineAgent.cpp:
2858         (WebCore::InspectorTimelineAgent::pushGCEventRecords):
2859         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
2860         (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
2861         (WebCore::InspectorTimelineAgent::setFrameIdentifier):
2862         (WebCore):
2863         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
2864         (WebCore::InspectorTimelineAgent::appendRecord):
2865         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
2866         (WebCore::InspectorTimelineAgent::commitFrameRecord):
2867         * inspector/InspectorTimelineAgent.h:
2868         (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
2869         (TimelineRecordEntry):
2870         (InspectorTimelineAgent):
2871
2872 2013-03-05  Tommy Widenflycht  <tommyw@google.com>
2873
2874         MediaStream API: Add the getStreamById method on RTCPeerConnection
2875         https://bugs.webkit.org/show_bug.cgi?id=111311
2876
2877         Reviewed by Adam Barth.
2878
2879         Adding the missing method on RTCPeerConnection defined here:
2880         http://dev.w3.org/2011/webrtc/editor/webrtc.html#widl-RTCPeerConnection-getStreamById-MediaStream-DOMString-streamId
2881
2882         Existing tests have been extended to cover patch.
2883
2884         * Modules/mediastream/RTCPeerConnection.cpp:
2885         (WebCore::RTCPeerConnection::getStreamById):
2886         (WebCore):
2887         * Modules/mediastream/RTCPeerConnection.h:
2888         (RTCPeerConnection):
2889         * Modules/mediastream/RTCPeerConnection.idl:
2890         * platform/chromium/support/WebMediaStream.cpp:
2891         (WebKit::WebMediaStream::initialize):
2892         (WebKit):
2893         * platform/mediastream/MediaStreamSource.cpp:
2894         (WebCore::MediaStreamSource::setReadyState):
2895
2896 2013-03-05  Antoine Quint  <graouts@apple.com>
2897
2898         Web Inspector: allow retrieval of composited layers in a given DOM subtree
2899         https://bugs.webkit.org/show_bug.cgi?id=111312
2900
2901         Introduce the LayerTreeAgent.layersForNode(node) method allowing the front-end
2902         to gather all composited layers associated with nodes in the subtree of which
2903         the provided node is the root.
2904
2905         In order to gather the layers in the subtree, we first traverse the node's
2906         renderer's RenderObject hierarchy and whenever we encounter a RenderObject
2907         that has a RenderLayer, we then traverse that renderLayer's RenderLayer
2908         hierarchy. This allows for a quick path through the relevant objects we're
2909         gathering.
2910
2911         Layers gathered will push the node to which they're associated, allowing a
2912         nodeId for this layer to be listed in the Layer object sent to the front-end.
2913         It is crucial to be able to provide a nodeId as well as a layerId for a Layer
2914         object in order to be able to correctly assess mutations in the layer tree.
2915         For instance, it is expected that a node's layer be replaced by a new layer
2916         to represent a slightly different rendering of its content, but the front-end
2917         should be able to represent this layer as an object for which only certain
2918         attributes have changed (like the "paintCount" property).
2919
2920         Layer objects also indicate whether they're associated to a node hosted in a
2921         shadow tree (the optional "isInShadowTree" property) in order for the front-end
2922         to be able to only show this layer if the option to show nodes hosted in shadow
2923         tree is enabled.
2924
2925         Finally, since we're only gathering composited layers, we're removing the
2926         "isLayerComposited" property and removing the optional flag on the "paintCount",
2927         "memory" and "compositedBounds" properties.
2928
2929         Reviewed by Simon Fraser.
2930
2931         Test: inspector-protocol/layers/layers-for-node.html
2932
2933         * inspector/Inspector.json:
2934         * inspector/InspectorLayerTreeAgent.cpp:
2935         (WebCore::InspectorLayerTreeAgent::layersForNode):
2936         (WebCore):
2937         (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
2938         (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
2939         (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
2940         (WebCore::InspectorLayerTreeAgent::idForNode):
2941         * inspector/InspectorLayerTreeAgent.h:
2942         (InspectorLayerTreeAgent):
2943
2944 2013-03-04  Andrey Kosyakov  <caseq@chromium.org>
2945
2946         Web Inspector: use timestamps consistent with rest of Timeline in WebSocket events.
2947         https://bugs.webkit.org/show_bug.cgi?id=111344
2948
2949         - create web socket related records in a manner consistent with the rest of timeline.
2950
2951         Reviewed by Pavel Feldman.
2952
2953         * inspector/InspectorTimelineAgent.cpp:
2954         (WebCore::InspectorTimelineAgent::didCreateWebSocket):
2955         (WebCore::InspectorTimelineAgent::willSendWebSocketHandshakeRequest):
2956         (WebCore::InspectorTimelineAgent::didReceiveWebSocketHandshakeResponse):
2957         (WebCore::InspectorTimelineAgent::didDestroyWebSocket):
2958         * inspector/InspectorTimelineAgent.h:
2959         (InspectorTimelineAgent):
2960
2961 2013-03-05  Andrei Bucur  <abucur@adobe.com>
2962
2963         [CSS Regions] Crash when MathML used in CSS Regions
2964         https://bugs.webkit.org/show_bug.cgi?id=110686
2965
2966         Reviewed by David Hyatt.
2967
2968         The MathML blocks trigger a children layout when computing the preferred widths. This happens to determine the preferred
2969         logical heights of the children. When the layout reaches the line boxes computation the preferred width of the containing block
2970         is requested. Because it wasn't computed, the layout of the children is started again to determine the preferred logical heights.
2971         This causes an infinite recursion and triggers a stack overflow.
2972
2973         The patch introduces a new RAII utility class that disables fragmentation when the constructor is called and restores it
2974         on the destructor. This class is used when computing the preferred height for the children of a MathML block.
2975
2976         Test: fast/regions/mathml-crash.html
2977
2978         * rendering/RenderObject.cpp:
2979         (WebCore::RenderObject::setFlowThreadStateIncludingDescendants): Do not cross RenderFlowThread boundaries when updating the flow thread
2980         state flag. The innermost flow threads need to manage their descendants flag values.
2981         * rendering/RenderView.cpp:
2982         (WebCore::FragmentationDisabler::FragmentationDisabler):
2983         (WebCore):
2984         (WebCore::FragmentationDisabler::~FragmentationDisabler):
2985         * rendering/RenderView.h:
2986         (FragmentationDisabler):
2987         (WebCore):
2988         * rendering/mathml/RenderMathMLBlock.cpp:
2989         (WebCore::RenderMathMLBlock::computeChildrenPreferredLogicalHeights):
2990
2991 2013-03-05  Mike West  <mkwst@chromium.org>
2992
2993         Cleanup: Move HitTestLocation and HitTestResult into separate files.
2994         https://bugs.webkit.org/show_bug.cgi?id=111294
2995
2996         Reviewed by Allan Sandfeld Jensen.
2997
2998         HitTestLocation and HitTestResult currently both live in
2999         HitTestResult.h. That makes things more difficult to understand than
3000         they should be, and violates the one-class-one-file principle that
3001         WebKit generally follows. Happily, it's fairly trivial to fix.
3002
3003         This should have no visible change; it's strictly an internal
3004         refactoring. It doesn't even touch any implementation code: we're
3005         just moving bits from one place to another.
3006
3007         * CMakeLists.txt:
3008         * GNUmakefile.list.am:
3009         * Target.pri:
3010         * WebCore.gypi:
3011         * WebCore.vcproj/WebCore.vcproj:
3012         * WebCore.xcodeproj/project.pbxproj:
3013             Hey, look: a new file! Let's add it to six different build systems! :)
3014         * rendering/HitTestLocation.cpp: Added.
3015         (WebCore):
3016         (WebCore::HitTestLocation::HitTestLocation):
3017         (WebCore::HitTestLocation::~HitTestLocation):
3018         (WebCore::HitTestLocation::operator=):
3019         (WebCore::HitTestLocation::move):
3020         (WebCore::HitTestLocation::intersectsRect):
3021         (WebCore::HitTestLocation::intersects):
3022         (WebCore::HitTestLocation::rectForPoint):
3023         * rendering/HitTestLocation.h: Added.
3024         (WebCore):
3025         (HitTestLocation):
3026         (WebCore::HitTestLocation::point):
3027         (WebCore::HitTestLocation::roundedPoint):
3028         (WebCore::HitTestLocation::region):
3029         (WebCore::HitTestLocation::isRectBasedTest):
3030         (WebCore::HitTestLocation::isRectilinear):
3031         (WebCore::HitTestLocation::boundingBox):
3032         (WebCore::HitTestLocation::topPadding):
3033         (WebCore::HitTestLocation::rightPadding):
3034         (WebCore::HitTestLocation::bottomPadding):
3035         (WebCore::HitTestLocation::leftPadding):
3036         (WebCore::HitTestLocation::transformedPoint):
3037         (WebCore::HitTestLocation::transformedRect):
3038         * rendering/HitTestResult.cpp:
3039         * rendering/HitTestResult.h:
3040             Move all this code from HitTestResult.* to HitTestLocation.*.
3041         * rendering/RenderBlock.cpp:
3042             Include HitTestLocation.h.
3043
3044 2013-03-05  Jochen Eisinger  <jochen@chromium.org>
3045
3046         Refactor UserGestureIndicator::Token to be a top-level class
3047         https://bugs.webkit.org/show_bug.cgi?id=111412
3048
3049         Reviewed by Nico Weber.
3050
3051         This will allow for forward declaring the class in a public WebKit
3052         API header. The goal is to enable the embedder to hold on to a
3053         UserGestureToken.
3054
3055         * dom/UserGestureIndicator.cpp:
3056         (WebCore::UserGestureIndicator::UserGestureIndicator):
3057         (WebCore::UserGestureIndicator::currentToken):
3058         * dom/UserGestureIndicator.h:
3059         (UserGestureToken):
3060         (WebCore::UserGestureToken::~UserGestureToken):
3061         (WebCore):
3062         (UserGestureIndicator):
3063         * page/DOMTimer.h:
3064         (DOMTimer):
3065         * page/EventHandler.h:
3066
3067 2013-03-05  Mike West  <mkwst@chromium.org>
3068
3069         Remove redundant code in Document::updateHoverActiveState.
3070         https://bugs.webkit.org/show_bug.cgi?id=111303
3071
3072         Reviewed by Darin Adler.
3073
3074         Document::updateHoverActiveState currently looks for touchrelease events
3075         and explictly clears out the hover state for all nodes between the
3076         currently hovered node and the top of the hover chain. This is actually
3077         redundant with the logic in the rest of the function; we can simplify by
3078         setting the Element* we're working with to 0, which causes the later
3079         loops to do the necessary work.
3080
3081         There should be no web-visible effect from this change; it should simply
3082         make this function less complex.
3083
3084         Extracted from Allan Sandfeld Jensen's original patch to wkbug.com/98168
3085
3086         * dom/Document.cpp:
3087         (WebCore::Document::updateHoverActiveState):
3088             Set innerElementInDocument to 0 rather than walking the hover chain
3089             and clearing it when we see a touchrelease event. The rest of the
3090             code in this function will have the same effect.
3091
3092 2013-03-05  Koji Hara  <kojih@chromium.org>
3093
3094         [V8] Remove unused custom indexedPropertyGetter
3095         https://bugs.webkit.org/show_bug.cgi?id=111409
3096
3097         Reviewed by Kentaro Hara.
3098
3099         Remove unused custom indexedPropertyGetter.
3100         There are 9 custom indexedPropertyGetter, including an unused one(NamedNodeMap).
3101         This commit assures all existing custom indexedPropertyGetter(for V8) are used.
3102
3103         No new tests. Simple refactoring.
3104
3105         * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Remove indexedPropertyGetter
3106
3107 2013-03-05  Hajime Morrita  <morrita@google.com>
3108
3109         ShadowRoot needs guardRef() and guardDeref()
3110         https://bugs.webkit.org/show_bug.cgi?id=109777
3111
3112         Reviewed by Dimitri Glazkov.
3113
3114         This change moves m_guardRefCount from Document to TreeScope,
3115         which allows ShadowRoot to be guarded by guardRef() mechanism as
3116         Document. After r137524, Node referes TreeScope instead of
3117         Document. This is natural consequence of the change: It no longer
3118         makes sense to guardRef() Document pointer from Node.
3119
3120         Detail:
3121
3122         - Document::m_guardRefCount and related funcdtions are moved to TreeScope
3123         - Document::removedLastRef is factored out into TreeScope::removedLastRefToScope(),
3124           TreeScope::dispose() and Docuent::dispose(). ShadowRoot also got its own dispose() implementation.
3125         - Moved guardRef() and guardDeref() calls to TreeScope and Node.
3126           Note that there are two "guarded" TreeScope references. One is
3127           Node::m_treeScope and another is TreeScope::m_parentTreeScope.
3128           The guarded-ref management is now encapsulated in these two classes.
3129
3130         No new tests. Covered by existing tests.
3131
3132         * WebCore.exp.in:
3133         * dom/Document.cpp:
3134         (WebCore::Document::Document):
3135         (WebCore::Document::~Document):
3136         (WebCore::Document::dispose): Extracted from removedLastRef()
3137         * dom/Document.h:
3138         (WebCore::Node::isTreeScope):
3139         (WebCore::Node::Node):
3140         * dom/DocumentFragment.cpp:
3141         (WebCore::DocumentFragment::DocumentFragment): Remove ASSERT() and move it to ...
3142         (WebCore::DocumentFragment::create): ... here, to allow NULL document from ShadowRoot.
3143         * dom/Node.cpp:
3144         (WebCore::Node::~Node):
3145         (WebCore::Node::removedLastRef):
3146         * dom/Node.h:
3147         (WebCore::Node::setTreeScope):
3148         * dom/Element.cpp:
3149         (WebCore::Element::ensureAttr): This has been wrong and is fixed in this revision since the incorrectness is unveiled by this change.
3150         * dom/ShadowRoot.cpp:
3151         (WebCore::ShadowRoot::ShadowRoot): Passed NULL document to superclass. This aligns what Document is doing.
3152         (WebCore::ShadowRoot::dispose): Added.
3153         * dom/ShadowRoot.h:
3154         (ShadowRoot):
3155         * dom/TreeScope.cpp:
3156         (SameSizeAsTreeScope):
3157         (WebCore::TreeScope::TreeScope):
3158         (WebCore::TreeScope::~TreeScope):
3159         (WebCore::TreeScope::dispose): Added.
3160         (WebCore::TreeScope::setParentTreeScope):
3161         (WebCore::TreeScope::deletionHasBegun):
3162         (WebCore::TreeScope::beginDeletion):
3163         (WebCore::TreeScope::refCount): Added.
3164         * dom/TreeScope.h: Turned m_rootNode to Node* from ContainerNode* for Node::isTreeScope to be inlined.
3165         (WebCore::TreeScope::guardRef): Pulled up from Document.
3166         (WebCore::TreeScope::guardDeref): Ditto.
3167         (WebCore::TreeScope::hasGuardRefCount): Added to hide m_guardRefCount.
3168         (WebCore::TreeScope::deletionHasBegun): Added.
3169         (WebCore::TreeScope::beginDeletion): Added.
3170         (WebCore::TreeScope::removedLastRefToScope): Pulled up from Document.
3171         * dom/TreeScopeAdopter.cpp:
3172         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
3173         (WebCore::TreeScopeAdopter::moveNodeToNewDocument):
3174
3175 2013-03-04  Uday Kiran  <udaykiran@motorola.com>
3176
3177         getPropertyValue for -webkit-text-stroke returns null, should compute the shorthand value
3178         https://bugs.webkit.org/show_bug.cgi?id=111018
3179
3180         Reviewed by Alexander Pavlov.
3181
3182         Test: fast/css/getPropertyValue-webkit-text-stroke.html
3183
3184         * css/StylePropertySet.cpp:
3185         (WebCore::StylePropertySet::getPropertyValue):
3186
3187 2013-03-04  Uday Kiran  <udaykiran@motorola.com>
3188
3189         getPropertyValue for -webkit-columns returns null, should compute the shorthand value
3190         https://bugs.webkit.org/show_bug.cgi?id=111011
3191
3192         Reviewed by Alexander Pavlov.
3193
3194         Test: fast/css/getPropertyValue-columns.html
3195
3196         * css/StylePropertySet.cpp:
3197         (WebCore::StylePropertySet::getPropertyValue):
3198
3199 2013-03-04  Vsevolod Vlasov  <vsevik@chromium.org>
3200
3201         Web Inspector: Do not accumulate file system files, add them to workspace immediately
3202         https://bugs.webkit.org/show_bug.cgi?id=111325
3203
3204         Reviewed by Pavel Feldman.
3205
3206         * inspector/front-end/FileSystemProjectDelegate.js:
3207         (WebInspector.FileSystemProjectDelegate.prototype.populate.fileLoaded):
3208         (WebInspector.FileSystemProjectDelegate.prototype.populate):
3209         * inspector/front-end/IsolatedFileSystem.js:
3210         (WebInspector.IsolatedFileSystem.prototype.innerCallback):
3211         (WebInspector.IsolatedFileSystem.prototype.requestFilesRecursive):
3212
3213 2013-03-04  Kinuko Yasuda  <kinuko@chromium.org>
3214
3215         Unreviewed Windows build fix attempt.
3216
3217         floor method is ambigious so explicitly specify the type.
3218
3219         * html/canvas/WebGLRenderingContext.cpp:
3220         (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
3221
3222 2013-03-04  Chris Fleizach  <cfleizach@apple.com>
3223
3224         AX: cellForColumnAndRow fails for tables with hidden table cells
3225         https://bugs.webkit.org/show_bug.cgi?id=110050
3226
3227         Reviewed by Tim Horton.
3228
3229         If a table had hidden cells, then accessibility code was being confused in a few ways.
3230         1) The cellForColumnAndRow method would return the wrong information since that was
3231            using the RenderTableSection to retrieve a cell, which did not have the same data as the AXTable
3232         2) The way we were adding children made it impossible to determine column and row range because we 
3233            would skip rows that had hidden children
3234         3) AccessibilityARIAGrid and AccessibilityTable were using different methods for cellForColumnAndRow
3235
3236         The fix does a few things to make things right:
3237         1) Always add an accessibility row, even if there are no visible cells in that row.
3238         2) Have one method for AXTable and AXARIAGrid for cellForColumnAndRow.
3239         3) Change cellForColumnAndRow to query the accessibility children rather than the RenderTableSection in determining the row, col info.
3240         4) cellForColumnAndRow should use unsigned values instead of int values.
3241
3242         Test: accessibility/table-with-hidden-head-section.html
3243
3244         * accessibility/AccessibilityARIAGrid.cpp:
3245         (WebCore):
3246         * accessibility/AccessibilityARIAGrid.h:
3247         (AccessibilityARIAGrid):
3248         * accessibility/AccessibilityARIAGridCell.cpp:
3249         (WebCore::AccessibilityARIAGridCell::rowIndexRange):
3250         (WebCore::AccessibilityARIAGridCell::columnIndexRange):
3251         * accessibility/AccessibilityARIAGridCell.h:
3252         (AccessibilityARIAGridCell):
3253         * accessibility/AccessibilityTable.cpp:
3254         (WebCore::AccessibilityTable::addChildren):
3255         (WebCore::AccessibilityTable::cellForColumnAndRow):
3256         * accessibility/AccessibilityTable.h:
3257         (WebCore):
3258         (AccessibilityTable):
3259         * accessibility/AccessibilityTableCell.cpp:
3260         (WebCore::AccessibilityTableCell::rowIndexRange):
3261         (WebCore::AccessibilityTableCell::columnIndexRange):
3262         * accessibility/AccessibilityTableCell.h:
3263         (AccessibilityTableCell):
3264         * accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
3265         (webkitAccessibleTableGetColumnAtIndex):
3266         (webkitAccessibleTableGetRowAtIndex):
3267         (webkitAccessibleTableGetColumnExtentAt):
3268         (webkitAccessibleTableGetRowExtentAt):
3269         (webkitAccessibleTableGetColumnHeader):
3270         (webkitAccessibleTableGetRowHeader):
3271         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3272         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
3273         * rendering/RenderTableSection.h:
3274         (RenderTableSection):
3275         (WebCore::RenderTableSection::rowRendererAt):
3276
3277 2013-03-04  Arpita Bahuguna  <a.bah@samsung.com>
3278
3279         getAttribute does not behave correctly for mixed-case attributes on HTML elements
3280         https://bugs.webkit.org/show_bug.cgi?id=105713
3281
3282         Reviewed by Andreas Kling.
3283
3284         getAttribute() and getAttributeNode() APIs do not convert the
3285         passed attribute name to lowercase before comparing against the
3286         existing attributes.
3287         The specification however states that the passed name should
3288         be converted to ASCII lowercase before checking for the existence
3289         of the given attribute. [www.w3.org/TR/domcore/#dom-element-getattribute]
3290
3291         Test: fast/dom/Element/getAttribute-case-insensitivity.html
3292
3293         * dom/Element.h:
3294         (WebCore::ElementData::getAttributeItemIndex):
3295         getAttributeItemIndex() accepts a bool param 'shouldIgnoreAttributeCase'
3296         which specifies whether the attribute's case should be ignored
3297         before comparison. But inspite of this param's value we still carry
3298         out a case sensitive search.
3299         Have modified the same to convert the passed attribute's name to
3300         lowercase if 'shouldIgnoreAttributeCase' is true.
3301
3302 2013-03-04  Kunihiko Sakamoto  <ksakamoto@chromium.org>
3303
3304         [Chromium] Add runtime flag for font load events
3305         https://bugs.webkit.org/show_bug.cgi?id=111296
3306
3307         Reviewed by Kent Tamura.
3308
3309         Add a runtime feature flag for FontLoader interface (disabled by default),
3310         and enable ENABLE_FONT_LOAD_EVENTS build flag for chromium.
3311
3312         * bindings/generic/RuntimeEnabledFeatures.cpp:
3313         (WebCore):
3314         * bindings/generic/RuntimeEnabledFeatures.h:
3315         (RuntimeEnabledFeatures):
3316         (WebCore::RuntimeEnabledFeatures::setFontLoadEventsEnabled):
3317         (WebCore::RuntimeEnabledFeatures::fontLoadEventsEnabled):
3318
3319 2013-03-04  Brandon Jones  <bajones@google.com>
3320
3321         WEBGL_compressed_texture_atc implementation
3322         https://bugs.webkit.org/show_bug.cgi?id=110496
3323
3324         Reviewed by Kenneth Russell.
3325
3326         Test: webgl/conformance/extensions/webgl-compressed-texture-atc.html
3327
3328         Exposes the WEBGL_compressed_texture_atc extension, but is unverified since no desktop hardware supports
3329         the format that I am aware of. Should enable mobile ports to expose the format, however.
3330
3331         * CMakeLists.txt:
3332         * DerivedSources.make:
3333         * DerivedSources.pri:
3334         * GNUmakefile.list.am:
3335         * Target.pri:
3336         * WebCore.gypi:
3337         * WebCore.xcodeproj/project.pbxproj:
3338         * bindings/js/JSWebGLRenderingContextCustom.cpp:
3339         (WebCore::toJS):
3340         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
3341         (WebCore::toV8Object):
3342         * html/canvas/WebGLCompressedTextureATC.cpp: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
3343         (WebCore):
3344         (WebCore::WebGLCompressedTextureATC::WebGLCompressedTextureATC):
3345         (WebCore::WebGLCompressedTextureATC::~WebGLCompressedTextureATC):
3346         (WebCore::WebGLCompressedTextureATC::getName):
3347         (WebCore::WebGLCompressedTextureATC::create):
3348         (WebCore::WebGLCompressedTextureATC::supported):
3349         * html/canvas/WebGLCompressedTextureATC.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
3350         (WebCore):
3351         (WebGLCompressedTextureATC):
3352         * html/canvas/WebGLCompressedTextureATC.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
3353         * html/canvas/WebGLExtension.h:
3354         * html/canvas/WebGLRenderingContext.cpp:
3355         (WebCore):
3356         (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
3357         (WebCore::WebGLRenderingContext::getExtension):
3358         (WebCore::WebGLRenderingContext::getSupportedExtensions):
3359         (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
3360         * html/canvas/WebGLRenderingContext.h:
3361         (WebCore):
3362         (WebGLRenderingContext):
3363         * platform/graphics/Extensions3D.h:
3364
3365
3366 2013-03-04  Eugene Klyuchnikov  <eustas@chromium.org>
3367
3368         Web Inspector: Exceptions when WebInspector run in hosted mode.
3369         https://bugs.webkit.org/show_bug.cgi?id=111326
3370
3371         Reviewed by Pavel Feldman.
3372
3373         There is bug in commands code generation in InspectorBackend.js
3374         As a consequence all protocol enums have wrong names and cause
3375         exception when refererenced.
3376
3377         Currently protocol enums are referenced only from NetworkManager.
3378
3379         Test: inspector/inspector-backend-commands-generation.html
3380
3381         * inspector/front-end/InspectorBackend.js:
3382         (InspectorBackendClass.prototype.loadFromJSONIfNeeded):
3383         Use static method to generate code.
3384         (InspectorBackendClass._generateCommands):
3385         Extracted from loadFromJSONIfNeeded. Typo fixed.
3386
3387 2013-03-04  Chris Rogers  <crogers@google.com>
3388
3389         Add audio hardware support for multi-channel output by implementing AudioDestinationNode.maxChannelCount
3390         https://bugs.webkit.org/show_bug.cgi?id=111385
3391
3392         Reviewed by James Robinson.
3393         
3394         See specification details for .maxChannelCount:
3395         https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioDestinationNode
3396         
3397         * Modules/webaudio/AudioDestinationNode.h:
3398         (WebCore::AudioDestinationNode::maxChannelCount):
3399         * Modules/webaudio/AudioDestinationNode.idl:
3400         * Modules/webaudio/AudioNode.h:
3401         Implement .maxChannelCount attribute.
3402         
3403         (AudioNode):
3404         * Modules/webaudio/DefaultAudioDestinationNode.h:
3405         * Modules/webaudio/DefaultAudioDestinationNode.cpp:
3406         (WebCore::DefaultAudioDestinationNode::initialize):
3407         (WebCore::DefaultAudioDestinationNode::createDestination):
3408         (WebCore::DefaultAudioDestinationNode::enableInput):
3409         Call to createDestination() now takes no argument.
3410         Instead we maintain a member variable for the input device ID.
3411         (WebCore::DefaultAudioDestinationNode::maxChannelCount):
3412         (WebCore::DefaultAudioDestinationNode::setChannelCount):
3413         Check port-specific hardware support for maxChannelCount(),
3414         and allow setting the channel count based on what the hardware
3415         supports.
3416         
3417         * platform/audio/AudioDestination.h:
3418         (AudioDestination):
3419         * platform/audio/chromium/AudioDestinationChromium.cpp:
3420         (WebCore::AudioDestination::maxChannelCount):
3421         (WebCore::AudioDestinationChromium::render):
3422         Call into chromium WebKit API: audioHardwareOutputChannels().
3423
3424         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
3425         (WebCore::AudioDestination::maxChannelCount):
3426         Add basic implementation for maxChannelCount() only supporting stereo output.
3427
3428         * platform/audio/mac/AudioDestinationMac.cpp:
3429         (WebCore::AudioDestination::maxChannelCount):
3430         Add basic implementation for maxChannelCount() only supporting stereo output.
3431         Later, the mac port can support more than this with some small improvements to AudioDestinationMac.
3432
3433 2013-03-04  Adam Barth  <abarth@webkit.org>
3434
3435         Background HTML parser can rewind the tokenizer after end-of-file
3436         https://bugs.webkit.org/show_bug.cgi?id=111365
3437
3438         Reviewed by Eric Seidel.
3439
3440         Prior to this patch, it was possible to call didFailSpeculation after
3441         processing the end-of-file token because checkForSpeculationFailure
3442         didn't zero out m_tokenizer in some control paths.
3443
3444         This patch renames checkForSpeculationFailure to validateSpeculations
3445         and ensures that it always takes ownership of the main thread's
3446         HTMLTokenizer.
3447
3448         This patch also adds a number of ASSERTs to make sure the parser state
3449         machine stays in the correct configuration (e.g., that we don't have a
3450         main thread tokenizer while we're supposed to be tokenizing on the
3451         background thread).
3452
3453         Test: fast/parser/document-write-fighting-eof.html
3454
3455         * html/parser/BackgroundHTMLInputStream.cpp:
3456         (WebCore::BackgroundHTMLInputStream::rewindTo):
3457         * html/parser/BackgroundHTMLParser.cpp:
3458         (WebCore::BackgroundHTMLParser::append):
3459         * html/parser/HTMLDocumentParser.cpp:
3460         (WebCore::HTMLDocumentParser::validateSpeculations):
3461         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
3462         (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
3463         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
3464         * html/parser/HTMLDocumentParser.h:
3465         (HTMLDocumentParser):
3466
3467 2013-03-04  Tim 'mithro' Ansell  <mithro@mithis.com>
3468
3469         Make sure that clearOwnerNode also clears StyleResolver references (via didMutate).
3470         https://bugs.webkit.org/show_bug.cgi?id=109446
3471
3472         Reviewed by Eric Seidel.
3473
3474         Test: fast/css/stylesheet.innerHTML-calls-didmutate.html
3475
3476         * css/CSSStyleSheet.h:
3477
3478 2013-03-04  Kentaro Hara  <haraken@chromium.org>
3479
3480         Unreviewd build fix after r144701.
3481
3482         * platform/EventTracer.cpp:
3483         (WebCore::EventTracer::initialize):
3484
3485 2013-03-04  Min Qin  <qinmin@chromium.org>
3486
3487         Fix some style issues in RenderLayerCompositor
3488         https://bugs.webkit.org/show_bug.cgi?id=111369
3489
3490         Reviewed by Simon Fraser.
3491
3492         Just style fix, no test needed
3493
3494         * rendering/RenderLayerCompositor.cpp:
3495         (WebCore::RenderLayerCompositor::frameViewDidScroll):
3496         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
3497
3498 2013-03-04  Terry Anderson  <tdanderson@chromium.org>
3499
3500         Revert changes to RenderLayer::scrollByRecursively() that were added for gesture-scrolling
3501         https://bugs.webkit.org/show_bug.cgi?id=111007
3502
3503         Reviewed by Simon Fraser.
3504
3505         Due to http://trac.webkit.org/changeset/144519 landing, the changes made to RenderLayer in
3506         http://trac.webkit.org/changeset/142057,
3507         http://trac.webkit.org/changeset/140177, and  
3508         http://trac.webkit.org/changeset/142195
3509         are no longer necessary (as RenderLayer::scrollByRecursively() is not used for
3510         gesture-scrolling) and should be reverted.
3511
3512         No change in behavior, so no new tests needed.
3513
3514         * rendering/RenderLayer.cpp:
3515         (WebCore::RenderLayer::scrollByRecursively):
3516         * rendering/RenderLayer.h:
3517
3518 2013-03-04  Kentaro Hara  <haraken@chromium.org>
3519
3520         Unreviewed build fix after r144701.
3521
3522         * platform/EventTracer.cpp:
3523         (WebCore::EventTracer::initialize):
3524
3525 2013-03-04  Christian Biesinger  <cbiesinger@chromium.org>
3526
3527         REGRESSION (r143643): Buttons containing floats render differently
3528         https://bugs.webkit.org/show_bug.cgi?id=110933
3529
3530         Reviewed by Ojan Vafai.
3531
3532         Test: fast/forms/button-with-float.html
3533
3534         * rendering/RenderBlock.cpp:
3535         (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
3536         Also include new flexbox as a renderer that needs to enclose
3537         overhanging floats. Flex boxes establish a block formatting context,
3538         so they need to contain floats:
3539         http://dev.w3.org/csswg/css3-flexbox/#flex-items
3540
3541 2013-03-04  Chris Fleizach  <cfleizach@apple.com>
3542
3543         Support WebSpeech - Speech Synthesis
3544         https://bugs.webkit.org/show_bug.cgi?id=106742
3545
3546         Build fix.
3547
3548         * Modules/speech/SpeechSynthesis.cpp:
3549
3550 2013-03-04  Rafael Weinstein  <rafaelw@chromium.org>
3551
3552         Unreviewed, rolling out r144595.
3553         http://trac.webkit.org/changeset/144595
3554         https://bugs.webkit.org/show_bug.cgi?id=90341
3555
3556         Causing multiple crashes in fast/dom/Element/* tests (hits
3557         assert in Attr.cp:215)
3558
3559         * dom/Element.cpp:
3560         (WebCore::Element::setAttributeNode):
3561
3562 2013-02-26  Kentaro Hara  <haraken@chromium.org>
3563
3564         [chromium] Implement TRACE_EVENT macros for sampling profiling
3565         https://bugs.webkit.org/show_bug.cgi?id=110932
3566
3567         Reviewed by Adam Barth.
3568
3569         We are implementing TRACE_EVENT macros for sampling profiling.
3570         It works in the following mechanism:
3571
3572         - Chromium defines global state variables for sampling profiling.
3573         (i.e. g_trace_state0, g_trace_state1, g_trace_state2 in trace_event.h)
3574
3575         - WebKit gets the addresses of the global state variables at the
3576         initialization step. (i.e. EventTracer::initialize())
3577
3578         - WebKit updates the global states by using TRACE_EVENT_SAMPLING_STATE()
3579         macros every time WebKit changes its state. (e.g. DOM attribute
3580         getters/setters/methods)
3581
3582         - A sampling thread running in Chrome reads the global states
3583         periodically and visualizes the profiling results into about://tracing.
3584
3585         This patch implements (1) a WebKit API to get the addresses of
3586         the global states and (2) the TRACE_EVENT_SAMPLING_STATE() macro.
3587
3588         No tests. The sampling profiler is not enabled in Chrome by default.
3589         I manually inserted TRACE_EVENT_SAMPLING_STATE() macros and
3590         confirmed that the sampling profiling is working as expected.
3591
3592         * platform/EventTracer.cpp:
3593         (WebCore::EventTracer::initialize):
3594         (WebCore::EventTracer::getTraceCategoryEnabledFlag):
3595         (WebCore):
3596         * platform/EventTracer.h:
3597         (WebCore):
3598         (EventTracer):
3599         * platform/chromium/EventTracerChromium.cpp:
3600         (WebCore):
3601         (WebCore::EventTracer::initialize):
3602         * platform/chromium/TraceEvent.h:
3603
3604 2013-03-04  Chris Fleizach  <cfleizach@apple.com>
3605
3606         Support WebSpeech - Speech Synthesis
3607         https://bugs.webkit.org/show_bug.cgi?id=106742
3608
3609         Reviewed by Simon Fraser.
3610
3611         Enable speech synthesis for the Mac.
3612
3613         * Configurations/FeatureDefines.xcconfig:
3614
3615 2013-03-04  Ruslan Abdikeev  <aruslan@chromium.org>
3616
3617         <link rel="apple-touch-icon"> tag is not honored on CNN.com, workflowy.com etc
3618         https://bugs.webkit.org/show_bug.cgi?id=109061
3619
3620         Reviewed by Adam Barth.
3621
3622         Test: fast/dom/icon-url-list-apple-touch.html
3623
3624         Added iconTypes parameter to Document::iconURLs().
3625         Added Document::shortcutIconURLs() with original semantics of iconURLs().
3626         Fixed IconController.cpp to provide iconTypesMask to iconURLs().
3627         Renamed iconTypes to iconTypesMask to make the meaning clearer.
3628
3629         * WebCore.exp.in:
3630         * dom/Document.cpp:
3631         (WebCore::Document::shortcutIconURLs):
3632         (WebCore):
3633         (WebCore::Document::iconURLs):
3634         * dom/Document.h:
3635         (Document):
3636         * loader/icon/IconController.cpp:
3637         (WebCore::IconController::iconURL):
3638         (WebCore::IconController::urlsForTypes):
3639         * testing/Internals.cpp:
3640         (WebCore::Internals::iconURLs):
3641         (WebCore::Internals::shortcutIconURLs):
3642         (WebCore):
3643         (WebCore::Internals::allIconURLs):
3644         * testing/Internals.h:
3645         * testing/Internals.idl:
3646
3647 2013-02-27  Jeffrey Pfau  <jpfau@apple.com>
3648
3649         Cache partitioning does not affect iframe MainResources
3650         https://bugs.webkit.org/show_bug.cgi?id=111022
3651
3652         Reviewed by David Kilzer.
3653
3654         Set the partition of a main resource request if in a subframe.
3655
3656         Test: http/tests/cache/partitioned-cache-iframe.html
3657
3658         * loader/FrameLoader.cpp:
3659         (WebCore::FrameLoader::loadURL):
3660
3661 2013-03-04  Chris Fleizach  <cfleizach@apple.com>
3662
3663         AX: user agent shadow roots for plugins should be 'accessible'
3664         https://bugs.webkit.org/show_bug.cgi?id=111339
3665
3666         Reviewed by Tim Horton.
3667
3668         If a plugin element uses a user agent shadow element, we should make that shadow element
3669         into a button with the title and subtitle put together, and use that as the label. This 
3670         will probably be the best accessibility experience.
3671
3672         * html/HTMLPlugInImageElement.cpp:
3673         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
3674
3675 2013-03-04  Alok Priyadarshi  <alokp@chromium.org>
3676
3677         [chromium] Form controls on composited layers are not painted properly
3678         https://bugs.webkit.org/show_bug.cgi?id=111366
3679
3680         Reviewed by James Robinson.
3681
3682         Set PlatformContextSkia::m_drawingToImageBuffer which is used as a hint to properly blend GDI-painted bitmap.
3683
3684         * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp:
3685         (WebCore::OpaqueRectTrackingContentLayerDelegate::paintContents):
3686
3687 2013-03-04  Simon Fraser  <simon.fraser@apple.com>
3688
3689         Give ViewportConstraints classes copy constructors
3690         https://bugs.webkit.org/show_bug.cgi?id=111367
3691
3692         Reviewed by Beth Dakin.
3693         
3694         Downstream code requires that ViewportConstraints objects have
3695         copy constructors, so add them.
3696         
3697         Also clean up some redundant initialization of stack objects
3698         in RenderLayerCompositor.
3699
3700         No behavior change.
3701
3702         * page/scrolling/ScrollingConstraints.h:
3703         (WebCore::ViewportConstraints::ViewportConstraints):
3704         (ViewportConstraints):
3705         (WebCore::FixedPositionViewportConstraints::FixedPositionViewportConstraints):
3706         (FixedPositionViewportConstraints):
3707         (WebCore::StickyPositionViewportConstraints::StickyPositionViewportConstraints):
3708         (StickyPositionViewportConstraints):
3709         * rendering/RenderLayerCompositor.cpp:
3710         (WebCore::RenderLayerCompositor::computeFixedViewportConstraints):
3711         (WebCore::RenderLayerCompositor::computeStickyViewportConstraints):
3712
3713 2013-03-04  Roger Fong  <roger_fong@apple.com>
3714
3715         Unreviewed. AppleWin build fix.
3716
3717         * html/parser/XSSAuditor.cpp:
3718         (WebCore::isSemicolonSeparatedAttribute):
3719
3720 2013-03-04  Andreas Kling  <akling@apple.com>
3721
3722         CSSParser: Avoid temporary String when parsing hex colors.
3723         <http://webkit.org/b/111341>
3724
3725         Reviewed by Anders Carlsson.
3726
3727         Templatize CSSParser::fastParseColor() so we can pass a CSSParserString as the color name.
3728         This avoids creating a temporary WTF::String from the parser string.
3729
3730         * css/CSSParser.cpp:
3731         (WebCore::CSSParser::fastParseColor):
3732         * css/CSSParser.h:
3733         * css/CSSParserValues.h:
3734         (CSSParserString):
3735
3736 2013-03-04  Julien Chaffraix  <jchaffraix@webkit.org>
3737
3738         [CSS Grid Layout] Add parsing for grid-{start|before}
3739         https://bugs.webkit.org/show_bug.cgi?id=110988
3740
3741         Reviewed by Tony Chang.
3742
3743         Test: fast/css-grid-layout/grid-item-start-before-get-set.html
3744
3745         Refactored how we store internally grid-{row|column} to be based on grid-{before|start}.
3746         This is required as grid-{row|column} are shorthands for resp. grid-{before|after} and grid-{start|end}
3747         in the specification and will also be in the code. That means a lot of methods were renamed to be more
3748         aligned with the new design.
3749
3750         * css/CSSComputedStyleDeclaration.cpp:
3751         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3752         * css/CSSParser.cpp:
3753         (WebCore::CSSParser::parseValue):
3754         * css/CSSProperty.cpp:
3755         (WebCore::CSSProperty::isInheritedProperty):
3756         * css/CSSPropertyNames.in:
3757         * css/StyleResolver.cpp:
3758         (WebCore::StyleResolver::applyProperty):
3759         Added the code to parse, apply and get back the new properties. Also
3760         some renaming after the internal naming change below.
3761
3762         * rendering/RenderGrid.cpp:
3763         (WebCore::RenderGrid::maximumIndexInDirection):
3764         (WebCore::RenderGrid::placeItemsOnGrid):
3765         (WebCore::RenderGrid::autoPlacementMajorAxisPositionForChild):
3766         (WebCore::RenderGrid::autoPlacementMinorAxisPositionForChild):
3767         * rendering/style/RenderStyle.h:
3768         * rendering/style/StyleGridItemData.cpp:
3769         (WebCore::StyleGridItemData::StyleGridItemData):
3770         * rendering/style/StyleGridItemData.h:
3771         (WebCore::StyleGridItemData::operator==):
3772         Updated the naming now that we manipulate grid-{before|start} instead of grid-{row|column}.
3773
3774 2013-03-04  Chris Fleizach  <cfleizach@apple.com>
3775
3776         WebSpeech: change voiceURI to voice
3777         https://bugs.webkit.org/show_bug.cgi?id=110773
3778
3779         Reviewed by Tim Horton.
3780
3781         Change the voiceURI property to a voice property that takes a SpeechSynthesisVoice.
3782         This was recently added to the errata of the WebSpeech spec.
3783
3784         Test: platform/mac/fast/speechsynthesis/speech-synthesis-utterance-uses-voice.html
3785
3786         * Modules/speech/SpeechSynthesisUtterance.cpp:
3787         (WebCore):
3788         (WebCore::SpeechSynthesisUtterance::voice):
3789         (WebCore::SpeechSynthesisUtterance::setVoice):
3790         * Modules/speech/SpeechSynthesisUtterance.h:
3791         (SpeechSynthesisUtterance):
3792         * Modules/speech/SpeechSynthesisUtterance.idl:
3793         * Modules/speech/SpeechSynthesisVoice.h:
3794         (WebCore::SpeechSynthesisVoice::platformVoice):
3795         (SpeechSynthesisVoice):
3796         * platform/PlatformSpeechSynthesisUtterance.cpp:
3797         (WebCore::PlatformSpeechSynthesisUtterance::PlatformSpeechSynthesisUtterance):
3798         * platform/PlatformSpeechSynthesisUtterance.h:
3799         (WebCore::PlatformSpeechSynthesisUtterance::voice):
3800         (WebCore::PlatformSpeechSynthesisUtterance::setVoice):
3801         (PlatformSpeechSynthesisUtterance):
3802         * platform/mac/PlatformSpeechSynthesizerMac.mm:
3803         (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
3804
3805 2013-03-04  Victor Costan <costan@gmail.com>
3806
3807         Filename passed to FormData.append() takes precedence over filename in
3808         File.
3809         https://bugs.webkit.org/show_bug.cgi?id=111255
3810
3811         Reviewed by Alexey Proskuryakov.
3812
3813         Test: http/tests/local/formdata/send-form-data-with-filename.html
3814
3815         * platform/network/FormData.cpp:
3816         (WebCore::FormData::appendKeyValuePairItems): changed to implement the
3817         behavior in the XMLHttpRequest W3C spec.
3818
3819 2013-03-04  Alexis Hetu  <sugoi@chromium.org>
3820
3821         Canvas and DOM go out of sync
3822         https://bugs.webkit.org/show_bug.cgi?id=107701
3823
3824         Reviewed by Simon Fraser.
3825
3826         Test: fast/canvas/canvas-overflow-hidden-animation.html
3827
3828         Added an update of the current compositor from the layer's stacking
3829         container when the layer itself isn't a stacking container.
3830
3831         * rendering/RenderLayerBacking.cpp:
3832         (WebCore::RenderLayerBacking::updateAfterLayout):
3833         Added an update of the stacking container of the owning layer of the
3834         layer backing when the owning layer isn't a stacking container itself.
3835
3836 2013-03-04  Alexey Proskuryakov  <ap@apple.com>
3837
3838         Small BlobResourceHandle cleanup
3839         https://bugs.webkit.org/show_bug.cgi?id=111352
3840
3841         Reviewed by Sam Weinig.
3842
3843         1. Don't use PassRefPtr<BlobStorageData> when ownership is not being passed.
3844         2. Added OVERRIDE to some functions.
3845         3. Added const to ResourceHandle::firstRequest().
3846
3847         * platform/network/BlobRegistryImpl.cpp:
3848         (WebCore::loadResourceSynchronously):
3849         (WebCore::BlobRegistryImpl::createResourceHandle):
3850         (WebCore::BlobRegistryImpl::getBlobDataFromURL):
3851         * platform/network/BlobRegistryImpl.h:
3852         (BlobRegistryImpl):
3853         * platform/network/BlobResourceHandle.cpp:
3854         (WebCore::BlobResourceHandle::createAsync):
3855         (WebCore::BlobResourceHandle::loadResourceSynchronously):
3856         * platform/network/BlobResourceHandle.h:
3857         (BlobResourceHandle):
3858         * platform/network/FormData.cpp:
3859         (WebCore::appendBlobResolved):
3860         * platform/network/ResourceHandle.cpp:
3861         (WebCore::ResourceHandle::firstRequest):
3862         * platform/network/ResourceHandle.h:
3863         (ResourceHandle):
3864
3865 2013-03-04  Vsevolod Vlasov  <vsevik@chromium.org>
3866
3867         Web Inspector: Introduce WebInspector.EventTarget interface for interfaces that dispatch events.
3868         https://bugs.webkit.org/show_bug.cgi?id=111320
3869
3870         Reviewed by Pavel Feldman.
3871
3872         * inspector/front-end/Object.js:
3873         (WebInspector.EventTarget):
3874         (WebInspector.EventTarget.prototype.addEventListener):
3875         (WebInspector.EventTarget.prototype.removeEventListener):
3876         (WebInspector.EventTarget.prototype.removeAllListeners):
3877         (WebInspector.EventTarget.prototype.hasEventListeners):
3878         (WebInspector.EventTarget.prototype.dispatchEventToListeners):
3879         * inspector/front-end/ResourceScriptMapping.js:
3880         * inspector/front-end/UISourceCode.js:
3881         * inspector/front-end/Workspace.js:
3882         (WebInspector.ProjectDelegate.prototype.searchInFileContent):
3883
3884 2013-03-04  Tom Sepez  <tsepez@chromium.org>
3885
3886         XSSAuditor bypass with --> comment syntax.
3887         https://bugs.webkit.org/show_bug.cgi?id=111349
3888
3889         Reviewed by Adam Barth.
3890
3891         Test: http/tests/security/xssAuditor/open-iframe-src-03.html
3892
3893         * html/parser/XSSAuditor.cpp:
3894         (WebCore::isTerminatingCharacter):
3895         Adds ">" to the list of terminating characters, so that comments of
3896         the form --> end the snippet we seek to match.
3897
3898 2013-03-04  Vsevolod Vlasov  <vsevik@chromium.org>
3899
3900         Web Inspector: Modal dialogs sometimes lose focus.
3901         https://bugs.webkit.org/show_bug.cgi?id=111317
3902
3903         Reviewed by Pavel Feldman.
3904
3905         setCurrentFocusElement doesn't give focus to an element anymore
3906         if modal glass pane is shown and element is not inside it.
3907
3908         * inspector/front-end/Dialog.js:
3909         (WebInspector.Dialog):
3910         (WebInspector.Dialog.prototype._hide):
3911         * inspector/front-end/InspectorView.js:
3912         (WebInspector.InspectorView.prototype.defaultFocusedElement):
3913         * inspector/front-end/ScriptsPanel.js:
3914         (WebInspector.ScriptsPanel.prototype.defaultFocusedElement):
3915         * inspector/front-end/UIUtils.js:
3916         (WebInspector.GlassPane):
3917         (WebInspector.GlassPane.prototype.dispose):
3918         (WebInspector.setCurrentFocusElement):
3919         * inspector/front-end/dialog.css:
3920
3921 2013-03-04  Roger Fong  <roger_fong@apple.com>
3922
3923         Unreviewed. AppleWin build fix.
3924
3925         * WebCore.vcxproj/WebCore.vcxproj:
3926
3927 2013-03-04  Dan Carney  <dcarney@google.com>
3928
3929         [v8] add isolate parameter to heap statistics calls
3930         https://bugs.webkit.org/show_bug.cgi?id=111308
3931
3932         Reviewed by Jochen Eisinger.
3933
3934         No new tests.
3935
3936         * bindings/v8/ScriptGCEvent.cpp:
3937         (WebCore::ScriptGCEvent::getHeapSize):
3938         (WebCore::ScriptGCEvent::getUsedHeapSize):
3939         * bindings/v8/V8AdaptorFunction.cpp:
3940         (WebCore::V8AdaptorFunction::getTemplate):
3941         * bindings/v8/V8GCController.cpp:
3942         (WebCore::V8GCController::checkMemoryUsage):
3943
3944 2013-03-04  Jochen Eisinger  <jochen@chromium.org>
3945
3946         [chromium] remove deprecated hyphenation methods from Platform
3947         https://bugs.webkit.org/show_bug.cgi?id=111101
3948
3949         Reviewed by Adam Barth.
3950
3951         * platform/text/chromium/Hyphenation.cpp:
3952         (WebCore::canHyphenate):
3953         (WebCore::lastHyphenLocation):
3954
3955 2013-03-04  Benjamin Poulain  <benjamin@webkit.org>
3956
3957         Use initialization from literal for MediaFeatureNames
3958         https://bugs.webkit.org/show_bug.cgi?id=111283
3959
3960         Reviewed by Andreas Kling.
3961
3962         * css/MediaFeatureNames.cpp:
3963         (WebCore::MediaFeatureNames::init):
3964         Initialization from literal is faster and use less memory. The names are
3965         defined statically in MediaFeatureNames.h.
3966
3967         Also use the NotNull placement new to avoid a branch on silly allocators.
3968
3969 2013-03-04  Joshua Bell  <jsbell@chromium.org>
3970
3971         [V8] Unreviewed. Rebaselined run-bindings-tests following r144617
3972
3973         * bindings/scripts/test/V8/V8Float64Array.cpp:
3974         (WebCore::ConfigureV8Float64ArrayTemplate):
3975         (WebCore::V8Float64Array::GetTemplate):
3976         * bindings/scripts/test/V8/V8Float64Array.h:
3977         (V8Float64Array):
3978         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
3979         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
3980         (WebCore::TestActiveDOMObjectV8Internal::TestActiveDOMObjectDomainSafeFunctionSetter):
3981         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
3982         (WebCore::V8TestActiveDOMObject::GetTemplate):
3983         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
3984         (V8TestActiveDOMObject):
3985         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
3986         (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
3987         (WebCore::V8TestCustomNamedGetter::GetTemplate):
3988         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
3989         (V8TestCustomNamedGetter):
3990         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
3991         (WebCore::ConfigureV8TestEventConstructorTemplate):
3992         (WebCore::V8TestEventConstructor::GetTemplate):
3993         * bindings/scripts/test/V8/V8TestEventConstructor.h:
3994         (V8TestEventConstructor):
3995         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
3996         (WebCore::ConfigureV8TestEventTargetTemplate):
3997         (WebCore::V8TestEventTarget::GetTemplate):
3998         * bindings/scripts/test/V8/V8TestEventTarget.h:
3999         (V8TestEventTarget):
4000         * bindings/scripts/test/V8/V8TestException.cpp:
4001         (WebCore::ConfigureV8TestExceptionTemplate):
4002         (WebCore::V8TestException::GetTemplate):
4003         * bindings/scripts/test/V8/V8TestException.h:
4004         (V8TestException):
4005         * bindings/scripts/test/V8/V8TestInterface.cpp:
4006         (WebCore::ConfigureV8TestInterfaceTemplate):
4007         (WebCore::V8TestInterface::GetTemplate):
4008         * bindings/scripts/test/V8/V8TestInterface.h:
4009         (V8TestInterface):
4010         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
4011         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
4012         (WebCore::V8TestMediaQueryListListener::GetTemplate):
4013         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
4014         (V8TestMediaQueryListListener):
4015         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
4016         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
4017         (WebCore::ConfigureV8TestNamedConstructorTemplate):
4018         (WebCore::V8TestNamedConstructor::GetTemplate):
4019         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
4020         (V8TestNamedConstructorConstructor):
4021         (V8TestNamedConstructor):
4022         * bindings/scripts/test/V8/V8TestNode.cpp:
4023         (WebCore::ConfigureV8TestNodeTemplate):
4024         (WebCore::V8TestNode::GetTemplate):
4025         * bindings/scripts/test/V8/V8TestNode.h:
4026         (V8TestNode):
4027         * bindings/scripts/test/V8/V8TestObj.cpp:
4028         (WebCore::ConfigureV8TestObjTemplate):
4029         (WebCore::V8TestObj::GetTemplate):
4030         (WebCore::V8TestObj::installPerContextPrototypeProperties):
4031         * bindings/scripts/test/V8/V8TestObj.h:
4032         (V8TestObj):
4033         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
4034         (WebCore::ConfigureV8TestOverloadedConstructorsTemplate):
4035         (WebCore::V8TestOverloadedConstructors::GetTemplate):
4036         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
4037         (V8TestOverloadedConstructors):
4038         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
4039         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
4040         (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
4041         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
4042         (V8TestSerializedScriptValueInterface):
4043         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
4044         (WebCore::ConfigureV8TestTypedefsTemplate):
4045         (WebCore::V8TestTypedefs::GetTemplate):
4046         * bindings/scripts/test/V8/V8TestTypedefs.h:
4047         (V8TestTypedefs):
4048
4049 2013-03-04  Tony Chang  <tony@chromium.org>
4050
4051         Unreviewed, rolling out r144562.
4052         http://trac.webkit.org/changeset/144562