e5c5a07003dd1b117208a02bd363c9149d3095ec
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-02-01  Alexey Proskuryakov  <ap@apple.com>
2
3         Build fix.
4
5         * Modules/webdatabase/DatabaseBackend.cpp: (DoneCreatingDatabaseOnExitCaller):
6         Don't fail because of an unused member variable in cross-plaform code path.
7
8 2013-02-01  Kevin Ellis  <kevers@chromium.org>
9
10         [chromium] Fat scrollbars on Windows in high-DPI mode.
11         https://bugs.webkit.org/show_bug.cgi?id=108637
12
13         Updates mechanism for retrieving scrollbar metrics on the
14         Windows port of Chromium.  Previously, GetSystemMetrics calls
15         were used, which fetches prescaled sizes in pixel rather than
16         logical units, resulting in a double scaling when a device
17         scale factor is set.  With the patch, the size is retrieved
18         from the theme engine in DIP.
19
20         Reviewed by Adam Barth.
21
22         No new tests.
23
24         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
25         (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
26         (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
27         * rendering/RenderThemeChromiumWin.cpp:
28         (WebCore):
29         (WebCore::menuListButtonWidth):
30
31 2013-02-01  Mark Lam  <mark.lam@apple.com>
32
33         Clean up calls to DatabaseTracker::add/removeOpenDatabase().
34         https://bugs.webkit.org/show_bug.cgi?id=108431
35
36         Reviewed by Geoffrey Garen.
37
38         Also adapted the chromium port to work with this new code.
39         Chromium parts reviewed by Michael Nordman and David Levin.
40
41         This is part of the webdatabase refactoring effort.
42
43         No new tests.
44
45         * Modules/webdatabase/AbstractDatabaseServer.h:
46         (AbstractDatabaseServer):
47         * Modules/webdatabase/Database.cpp:
48         (WebCore::Database::openAndVerifyVersion):
49         (WebCore::Database::close):
50         * Modules/webdatabase/DatabaseBackend.cpp:
51         (WebCore::DatabaseBackend::DatabaseBackend):
52         (WebCore::DatabaseBackend::closeDatabase):
53         (DoneCreatingDatabaseOnExitCaller):
54         (WebCore::DoneCreatingDatabaseOnExitCaller::DoneCreatingDatabaseOnExitCaller):
55         (WebCore::DoneCreatingDatabaseOnExitCaller::~DoneCreatingDatabaseOnExitCaller):
56         (WebCore::DatabaseBackend::performOpenAndVerify):
57         * Modules/webdatabase/DatabaseManager.cpp:
58         (WebCore::DatabaseManager::openDatabase):
59         (WebCore::DatabaseManager::openDatabaseSync):
60         * Modules/webdatabase/DatabaseManager.h:
61         (DatabaseManager):
62         * Modules/webdatabase/DatabaseServer.cpp:
63         * Modules/webdatabase/DatabaseServer.h:
64         * Modules/webdatabase/DatabaseSync.cpp:
65         (WebCore::DatabaseSync::~DatabaseSync):
66         (WebCore::DatabaseSync::openAndVerifyVersion):
67         (WebCore::DatabaseSync::closeImmediately):
68         * Modules/webdatabase/DatabaseSync.h:
69         (DatabaseSync):
70         * Modules/webdatabase/DatabaseTracker.cpp:
71         (WebCore::DatabaseTracker::doneCreatingDatabase):
72         (WebCore::DatabaseTracker::addOpenDatabase):
73         * Modules/webdatabase/DatabaseTracker.h:
74         (DatabaseTracker):
75         * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp:
76         (WebCore::DatabaseTracker::addOpenDatabase):
77         (WebCore::DatabaseTracker::prepareToOpenDatabase):
78         (WebCore::DatabaseTracker::failedToOpenDatabase):
79
80 2013-02-01  Andrey Lushnikov  <lushnikov@chromium.org>
81
82         Web Inspector: remove extra padding around overlay highlight.
83         https://bugs.webkit.org/show_bug.cgi?id=108679
84
85         Reviewed by Alexander Pavlov.
86
87         No new tests: no change in behaviour.
88
89         Remove extraWidth from overlay highlight spans.
90
91         * inspector/front-end/DefaultTextEditor.js:
92         (WebInspector.TextEditorMainPanel.prototype._appendOverlayHighlight):
93
94 2013-02-01  Philip Rogers  <pdr@google.com>
95
96         Prevent skipped repaints for children of inner SVG elements
97         https://bugs.webkit.org/show_bug.cgi?id=108429
98
99         Reviewed by Eric Seidel.
100
101         This patch fixes a bug caused by r108699 and r133786 where we would not repaint children
102         of inner SVG elements because "m_didTransformToRootUpdate" was never reset on viewport
103         containers. The stale m_didTransformToRootUpdate variable caused us to skip child repaints.
104
105         I verified that the Robohornet SVG benchmark performance gains in r133786 are not regressed
106         with this patch.
107
108         Test: svg/repaint/svgsvgelement-repaint-children.html
109
110         * rendering/svg/RenderSVGViewportContainer.cpp:
111         (WebCore::RenderSVGViewportContainer::calcViewport):
112
113             This can be removed because setNeedsTransformUpdate() will set m_needsTransformUpdate.
114
115         (WebCore::RenderSVGViewportContainer::calculateLocalTransform):
116
117             This change is straightforward and is similar to the equivalent assignment in
118             RenderSVGTransformableContainer::calculateLocalTransform().
119
120 2013-02-01  Philip Rogers  <pdr@google.com>
121
122         Change hasAlpha to isKnownToBeOpaque and correct the return value for SVG images.
123         https://bugs.webkit.org/show_bug.cgi?id=106966
124
125         Reviewed by Stephen White.
126
127         Previously, Image::currentFrameHasAlpha's default implementation returned false so SVG
128         images always returned false for currentFrameHasAlpha. Additionally, currentFrameHasAlpha
129         was treated as returning whether the frame had alpha when it would actually conservatively
130         return true.
131
132         This patch renames hasAlpha and currentFrameHasAlpha to isKnownToBeOpaque and
133         currentFrameIsKnownToBeOpaque, respectively. This rename better describes the actual
134         functionality. This patch also makes Image::isKnownToBeOpaque a pure virtual function and
135         correctly implements it for SVG images.
136
137         All users of isKnownToBeOpaque access SVG images using CachedImage::imageForRenderer which
138         currently returns a cached bitmap image. Therefore, this patch will not affect existing
139         functionality. A regression test has been added that will catch if this changes in the
140         future (e.g., WK106159 which proposes not returning cached bitmaps). The now unnecessary
141         isBitmapImage() calls have been removed in this patch.
142
143         image-box-shadow.html has been modified to test SVG images.
144
145         * css/CSSCrossfadeValue.cpp:
146         (WebCore::subimageKnownToBeOpaque):
147         (WebCore::CSSCrossfadeValue::knownToBeOpaque):
148
149             Mostly straightforward rename but note the logic has been slightly altered: AND -> OR.
150
151         * css/CSSCrossfadeValue.h:
152         (CSSCrossfadeValue):
153         * css/CSSGradientValue.cpp:
154         (WebCore::CSSGradientValue::knownToBeOpaque):
155         * css/CSSGradientValue.h:
156         (CSSGradientValue):
157         * css/CSSImageGeneratorValue.cpp:
158         (WebCore::CSSImageGeneratorValue::knownToBeOpaque):
159         * css/CSSImageGeneratorValue.h:
160         (CSSImageGeneratorValue):
161         * css/CSSImageValue.cpp:
162         (WebCore::CSSImageValue::knownToBeOpaque):
163         * css/CSSImageValue.h:
164         (CSSImageValue):
165         * loader/cache/CachedImage.cpp:
166         (WebCore::CachedImage::currentFrameKnownToBeOpaque):
167         * loader/cache/CachedImage.h:
168         (CachedImage):
169         * platform/graphics/BitmapImage.cpp:
170         (WebCore::BitmapImage::currentFrameKnownToBeOpaque):
171         * platform/graphics/BitmapImage.h:
172         (BitmapImage):
173         * platform/graphics/GeneratedImage.h:
174         (GeneratedImage):
175         * platform/graphics/Image.h:
176
177             Note: now a pure virtual function!
178
179         (Image):
180         * platform/graphics/blackberry/LayerTiler.cpp:
181         (WebCore::LayerTiler::updateTextureContentsIfNeeded):
182
183             Removed unnecessary isBitmapImage() checks.
184
185         * platform/graphics/cg/GraphicsContext3DCG.cpp:
186         (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
187
188             Removed unnecessary isBitmapImage() checks.
189
190         * platform/graphics/cg/PDFDocumentImage.h:
191         (PDFDocumentImage):
192         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
193
194             Removed unnecessary isBitmapImage() checks.
195
196         (WebCore::GraphicsLayerChromium::setContentsToImage):
197         * platform/graphics/qt/StillImageQt.cpp:
198         (WebCore::StillImage::currentFrameKnownToBeOpaque):
199         * platform/graphics/qt/StillImageQt.h:
200         (StillImage):
201         * platform/graphics/skia/BitmapImageSingleFrameSkia.cpp:
202         (WebCore::BitmapImageSingleFrameSkia::currentFrameKnownToBeOpaque):
203         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
204         (BitmapImageSingleFrameSkia):
205         * platform/graphics/texmap/TextureMapperBackingStore.cpp:
206         (WebCore::TextureMapperTile::updateContents):
207         (WebCore::TextureMapperTiledBackingStore::updateContents):
208         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
209         (WebCore::CoordinatedImageBacking::update):
210         * rendering/RenderImage.cpp:
211         (WebCore::RenderImage::backgroundIsObscured):
212
213             Removed unnecessary isBitmapImage() checks and slightly reworked the logic.
214
215         * rendering/style/FillLayer.cpp:
216         (WebCore::FillLayer::hasOpaqueImage):
217         * rendering/style/StyleCachedImage.cpp:
218         (WebCore::StyleCachedImage::knownToBeOpaque):
219         * rendering/style/StyleCachedImage.h:
220         (StyleCachedImage):
221         * rendering/style/StyleCachedImageSet.cpp:
222         (WebCore::StyleCachedImageSet::knownToBeOpaque):
223         * rendering/style/StyleCachedImageSet.h:
224         (StyleCachedImageSet):
225         * rendering/style/StyleGeneratedImage.cpp:
226         (WebCore::StyleGeneratedImage::knownToBeOpaque):
227         * rendering/style/StyleGeneratedImage.h:
228         (StyleGeneratedImage):
229         * rendering/style/StyleImage.h:
230         (StyleImage):
231         * rendering/style/StylePendingImage.h:
232         (WebCore::StylePendingImage::knownToBeOpaque):
233         * svg/graphics/SVGImage.h:
234         (SVGImage):
235
236 2013-02-01  Brady Eidson  <beidson@apple.com>
237
238         Clean up WebArchive loading with the NetworkProcess
239         <rdar://problem/12695840> and https://bugs.webkit.org/show_bug.cgi?id=108673
240
241         Reviewed by Alexey Proskuryakov.
242
243         No new tests (No change in WebCore behavior).
244
245         Remove a now unneeded function and add a needed export.
246
247         * WebCore.exp.in:
248         * loader/ResourceLoadScheduler.cpp:
249         * loader/ResourceLoadScheduler.h:
250
251 2013-02-01  Alok Priyadarshi  <alokp@chromium.org>
252
253         Print GraphicsLayer::m_contentsOpaque if non-default (true)
254         https://bugs.webkit.org/show_bug.cgi?id=108354
255
256         Reviewed by Simon Fraser.
257
258         No new tests. This change facilitates testing of GraphicsLayer opaqueness.
259
260         * platform/graphics/GraphicsLayer.cpp:
261         (WebCore::GraphicsLayer::dumpProperties):
262
263 2013-02-01  Tony Gentilcore  <tonyg@chromium.org>
264
265         Continue making XSSAuditor thread safe: Remove dependency on parser's Document URL
266         https://bugs.webkit.org/show_bug.cgi?id=108655
267
268         Reviewed by Adam Barth.
269
270         No new tests because no new functionality.
271
272         * html/parser/XSSAuditor.cpp:
273         (WebCore::XSSAuditor::XSSAuditor):
274         (WebCore::XSSAuditor::init):
275         (WebCore::XSSAuditor::isLikelySafeResource):
276         * html/parser/XSSAuditor.h:
277
278 2013-02-01  Jer Noble  <jer.noble@apple.com>
279
280         REGRESSION (r141281): Navigating to this HTTP Live Streaming (application/vnd.apple.mpegurl) URL downloads a file instead of playing it in the browser
281         https://bugs.webkit.org/show_bug.cgi?id=108674
282         <rdar://problem/13133595>
283
284         Reviewed by Eric Carlson.
285
286         When passed a HashSet of available MIME types to fill out, QTKit was overwriting the contents, which were
287         AVFoundation's supported types. Instead, it should be appending to the list of supported types.
288
289         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
290         (WebCore::concatenateHashSets): Added static utility function.
291         (WebCore::MediaPlayerPrivateQTKit::getSupportedTypes): Concatenate instead of overwriting the passed in MIME types.
292
293 2013-02-01  Beth Dakin  <bdakin@apple.com>
294
295         Another speculative windows build fix.
296
297         * platform/ScrollAnimator.h:
298
299 2013-01-31  Dirk Schulze  <krit@webkit.org>
300
301         [canvas] Add more constructors to Path
302         https://bugs.webkit.org/show_bug.cgi?id=108587
303
304         Reviewed by Dean Jackson.
305
306         Add more constructors to Path object to make it possible
307         to copy Path objects and parse SVG strings into a Path
308         object that can be used on the canvas context afterwards.
309
310         Test: fast/canvas/canvas-path-constructors.html
311
312         * html/canvas/DOMPath.h: New constructors for Path.
313         (WebCore::DOMPath::create):
314         (WebCore::DOMPath::DOMPath):
315         * html/canvas/DOMPath.idl: Ditto.
316
317 2013-02-01  Zan Dobersek  <zdobersek@igalia.com>
318
319         [GTK] Add WTFURL source files to the build
320         https://bugs.webkit.org/show_bug.cgi?id=108215
321
322         Reviewed by Benjamin Poulain.
323
324         * platform/KURLWTFURL.cpp:
325         (WebCore): Only use the stub implementation of the fileSystemPath method for the
326         Apple ports, other ports should for now still rely on their platform-specific implementations.
327
328 2013-02-01  Mike West  <mkwst@chromium.org>
329
330         Remove call to SecurityOrigin::canAccessDatabase from IDB constructor.
331         https://bugs.webkit.org/show_bug.cgi?id=108477
332
333         Reviewed by Adam Barth.
334
335         This change removes the 'SecurityOrigin::canAccessDatabase' check from
336         the constructor for the 'indexedDB' property on both DOMWindow and
337         WorkerContext. After the patch for http://wkbug.com/94171 this check
338         is redundant, as all the entry points to IDB are now gated on access
339         being granted.
340
341         As a side-effect, dropping the check in WorkerContextIndexedDatabase
342         allows us to stop holding a pointer to the ScriptExecutionContext we're
343         extending, which can only be a good thing.
344
345         The tests in storage/indexeddb should continue to pass.
346
347         * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
348         (WebCore::DOMWindowIndexedDatabase::indexedDB):
349             Drop the SecurityOrigin::canAccessDatabase check.
350         * Modules/indexeddb/WorkerContextIndexedDatabase.cpp:
351         (WebCore::WorkerContextIndexedDatabase::WorkerContextIndexedDatabase):
352         (WebCore::WorkerContextIndexedDatabase::from):
353             Drop the ScriptExecutionContext parameter from the class's
354             constructor and callsites.
355         (WebCore::WorkerContextIndexedDatabase::indexedDB):
356             Drop the SecurityOrigin::canAccessDatabase check.
357         * Modules/indexeddb/WorkerContextIndexedDatabase.h:
358         (WorkerContextIndexedDatabase):
359             Drop the stored pointer to ScriptExecutionContext, as we no longer
360             need it in ::indexedDB.
361
362 2013-02-01  Beth Dakin  <bdakin@apple.com>
363
364         Speculative Windows build fix. 
365
366         * platform/ScrollAnimator.h:
367         (WebCore):
368
369 2013-02-01  Ryosuke Niwa  <rniwa@webkit.org>
370
371         Smart link can erroneously move caret after an URL when typing immediately before it
372         https://bugs.webkit.org/show_bug.cgi?id=92812
373
374         Reviewed by Enrica Casucci.
375
376         The bug was caused by smart link being triggered even when a user finished typing a word
377         immediately before an URL. We already had a logic to avoid smart-linking an URL when the caret
378         was after the URL but we were missing a check for when the caret is before the URL.
379
380         Fixed the bug by adding this check.
381
382         Test: editing/inserting/smart-link-when-caret-is-moved-before-URL.html
383
384         * editing/Editor.cpp:
385         (WebCore::Editor::markAndReplaceFor):
386
387 2013-02-01  Roger Fong  <roger_fong@apple.com>
388
389         Unreviewed. Windows build fix. FloatSize.cpp was not included in the project.
390
391         * WebCore.vcproj/WebCore.vcproj:
392
393 2013-02-01  Julien Chaffraix  <jchaffraix@webkit.org>
394
395         [CSS Grid Layout] computePreferredLogicalWidths doesn't handle minmax tracks
396         https://bugs.webkit.org/show_bug.cgi?id=108403
397
398         Reviewed by Ojan Vafai.
399
400         Test: fast/css-grid-layout/grid-preferred-logical-widths.html
401
402         The code before this change was only handling minmax() with 2 fixed widths.
403         The new code was updated to remove this artificial limitation and we now
404         support all combination of minmax().
405
406         * rendering/RenderGrid.cpp:
407         (WebCore::RenderGrid::computePreferredLogicalWidths):
408         Updated to use computePreferredTrackWidth..
409
410         (WebCore::RenderGrid::computePreferredTrackWidth):
411         Added this helper function that implements the core of the preferred width
412         computation.
413
414         * rendering/RenderGrid.h: Added computePreferredTrackWidth.
415
416 2013-02-01  Nate Chapin  <japhet@chromium.org>
417
418         Cached main resources report a zero identifer on 304s
419         https://bugs.webkit.org/show_bug.cgi?id=108402
420
421         Reviewed by Adam Barth.
422
423         Test: http/tests/cache/iframe-304-crash.html
424
425         * loader/MainResourceLoader.cpp:
426         (WebCore::MainResourceLoader::responseReceived): Throughout, check m_identifierForLoadWithoutResourceLoader
427             instead of !loader() to determine whether MainResourceLoader needs to synthesize resource load callbacks.
428         (WebCore::MainResourceLoader::dataReceived):
429         (WebCore::MainResourceLoader::didFinishLoading):
430
431 2013-02-01  Nico Weber  <thakis@chromium.org>
432
433         [chromium] Build webkit with enable_web_intents set to 0.
434         https://bugs.webkit.org/show_bug.cgi?id=108408
435
436         Reviewed by Tony Chang.
437
438         I'll then make chromium build fine with that, then switch
439         enable_web_intents to 0, roll that into webkit, and then
440         actually remove the code hidden behind this flag.
441
442         * bindings/v8/custom/V8IntentCustom.cpp:
443
444 2013-02-01  Pavel Feldman  <pfeldman@chromium.org>
445
446         Web Inspector: make console object state hint non-active
447         https://bugs.webkit.org/show_bug.cgi?id=108642
448
449         Reviewed by Vsevolod Vlasov.
450
451         Otherwise it seems like an active element user could click.
452
453         * inspector/front-end/inspector.css:
454         (.object-info-state-note):
455
456 2013-02-01  Rashmi Shyamasundar  <rashmi.s2@samsung.com>
457
458         Zero size gradient should paint nothing on canvas
459         https://bugs.webkit.org/show_bug.cgi?id=102654
460
461         Reviewed by Dirk Schulze.
462
463         The functions fill(), fillText(), stroke(), strokeRect() and strokeText()
464         should paint nothing on canvas when the canvas fillStyle/strokeStyle
465         is set to a zero size gradient.
466  
467         Tests: fast/canvas/canvas-fill-zeroSizeGradient.html
468                fast/canvas/canvas-fillRect-zeroSizeGradient.html
469                fast/canvas/canvas-fillText-zeroSizeGradient.html
470                fast/canvas/canvas-stroke-zeroSizeGradient.html
471                fast/canvas/canvas-strokeRect-zeroSizeGradient.html
472                fast/canvas/canvas-strokeText-zeroSizeGradient.html
473
474         * html/canvas/CanvasRenderingContext2D.cpp:
475         (WebCore::CanvasRenderingContext2D::fill):
476         (WebCore::CanvasRenderingContext2D::stroke):
477         (WebCore::CanvasRenderingContext2D::strokeRect):
478         (WebCore::CanvasRenderingContext2D::drawTextInternal):
479
480 2013-02-01  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
481
482         HRTFElevation segfault if a null AudioBus is returned by loadPlatformResource
483         https://bugs.webkit.org/show_bug.cgi?id=108504
484
485         Reviewed by Kenneth Russell.
486
487         Fixed a segfault by checking if the returned AudioBus is null or not.
488         If it is, we should early return in the same way it was being done already
489         in HRTFElevation::calculateKernelsForAzimuthElevation();
490
491         No new tests, covered by existing tests.
492
493         * platform/audio/HRTFElevation.cpp:
494         (WebCore::getConcatenatedImpulseResponsesForSubject):
495
496 2013-02-01  Beth Dakin  <bdakin@apple.com>
497
498         ScrollAnimatorMac should adopt contentAreaScrolledInDirection
499         https://bugs.webkit.org/show_bug.cgi?id=108647
500         -and corresponding-
501         <rdar://problem/12434779>
502
503         Reviewed by Anders Carlsson.
504
505         This patch makes notifyContentAreaScrolled() and notifyPositionChanged() take a 
506         FloatSize parameter that represents the scroll delta so that it can be passed 
507         along to contentAreaScrolledInDirection:. 
508
509         Pass along the scroll delta.
510         * platform/ScrollAnimator.cpp:
511         (WebCore::ScrollAnimator::scroll):
512         (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation):
513
514         The delta is not needed in this base-class implementation. It will only be needed 
515         in the ScrollAnimatorMac override.
516         (WebCore::ScrollAnimator::notifyPositionChanged):
517         * platform/ScrollAnimator.h:
518         (WebCore::ScrollAnimator::notifyContentAreaScrolled):
519
520         Pass along the delta.
521         * platform/ScrollAnimatorNone.cpp:
522         (WebCore::ScrollAnimatorNone::scrollToOffsetWithoutAnimation):
523         (WebCore::ScrollAnimatorNone::animationTimerFired):
524         * platform/ScrollableArea.cpp:
525         (WebCore::ScrollableArea::scrollPositionChanged):
526
527         Add contentAreaScrolledInDirection: to the NSScrollerImpDetails.
528         * platform/mac/NSScrollerImpDetails.h:
529
530         New member variable m_contentAreaScrolledTimerScrollDelta stores the current 
531         scroll delta while we are waiting for m_sendContentAreaScrolledTimer to fire.
532         * platform/mac/ScrollAnimatorMac.h:
533
534         We need this so that we can call just contentAreaScrolled if 
535         contentAreaScrolledInDirection: is not available.
536         * platform/mac/ScrollAnimatorMac.mm:
537         (supportsContentAreaScrolledInDirection):
538
539         Pass along the delta.
540         (WebCore::ScrollAnimatorMac::immediateScrollTo):
541         (WebCore::ScrollAnimatorMac::notifyPositionChanged):
542         (WebCore::ScrollAnimatorMac::mayBeginScrollGesture):
543         (WebCore::ScrollAnimatorMac::notifyContentAreaScrolled):
544         (WebCore::ScrollAnimatorMac::immediateScrollBy):
545         (WebCore::ScrollAnimatorMac::sendContentAreaScrolledSoon):
546
547         If contentAreaScrolledInDirection: is available, call it with the delta, and then 
548         reset our delta. Otherwise, still call contentAreaScrolled.
549         (WebCore::ScrollAnimatorMac::sendContentAreaScrolledTimerFired):
550
551 2013-02-01  Pavel Feldman  <pfeldman@chromium.org>
552
553         Web Inspector: [file selector dialog] for mixed case queries, score uppercase letters only when assessing camelcase.
554         https://bugs.webkit.org/show_bug.cgi?id=108639
555
556         Reviewed by Vsevolod Vlasov.
557
558         * inspector/front-end/FilteredItemSelectionDialog.js:
559         (WebInspector.FilteredItemSelectionDialog.prototype._createScoringRegex):
560
561 2013-02-01  Robert Hogan  <robert@webkit.org>
562
563         Padding in a parent inline preceding an empty inline child should be counted towards width
564         https://bugs.webkit.org/show_bug.cgi?id=108226
565
566         Reviewed by Levi Weintraub.
567
568         Add the border/padding/margin from an empty inline's parent inline if it is the first or last
569         child of the inline. 
570
571         Tests: fast/inline/parent-inline-element-padding-contributes-width.html
572                fast/inline/positioned-element-padding-contributes-width.html
573
574         * rendering/RenderBlockLineLayout.cpp:
575         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
576
577 2013-02-01  Tony Gentilcore  <tonyg@chromium.org>
578
579         Continue making XSSAuditor thread safe: Remove dependencies on m_parser from init()
580         https://bugs.webkit.org/show_bug.cgi?id=108531
581
582         Reviewed by Adam Barth.
583
584         The threaded HTML parser will create and init() the XSSAuditor on the main thread, but filterToken() will be called on the background.
585
586         No new tests because no change in functionality.
587
588         * html/parser/HTMLDocumentParser.cpp:
589         (WebCore::HTMLDocumentParser::pumpTokenizer):
590         * html/parser/XSSAuditor.cpp:
591         (WebCore::XSSAuditor::XSSAuditor):
592         (WebCore::XSSAuditor::init):
593         (WebCore::XSSAuditor::filterToken):
594         * html/parser/XSSAuditor.h:
595         (WebCore):
596         (XSSAuditor):
597
598 2013-02-01  Brady Eidson  <beidson@apple.com>
599
600         Remove unnecessary parameter from DocumentLoader::scheduleArchiveLoad
601         https://bugs.webkit.org/show_bug.cgi?id=108654
602
603         Reviewed by Alexey Proskuryakov.
604
605         No new tests (No behavior change.)
606
607         Remove the KURL parameter parameter from this method which, in practice,
608         is always the same as the url of the ResourceRequest parameter.
609
610         * loader/DocumentLoader.cpp:
611         (WebCore::DocumentLoader::scheduleArchiveLoad):
612         * loader/DocumentLoader.h:
613
614         * loader/ResourceLoader.cpp:
615         (WebCore::ResourceLoader::start):
616
617 2013-02-01  Pavel Feldman  <pfeldman@chromium.org>
618
619         Web Inspector: relax goto file matching again.
620         https://bugs.webkit.org/show_bug.cgi?id=108346
621
622         Reviewed by Vsevolod Vlasov.
623
624         This change brings back behavior introduced in r116244.
625
626         * inspector/front-end/FilteredItemSelectionDialog.js:
627         (WebInspector.FilteredItemSelectionDialog.prototype._createItemElement):
628         (WebInspector.FilteredItemSelectionDialog.prototype._createSearchRegex):
629         (WebInspector.FilteredItemSelectionDialog.prototype._createScoringRegex):
630         (WebInspector.FilteredItemSelectionDialog.prototype._filterItems.compareFunction):
631         (WebInspector.FilteredItemSelectionDialog.prototype._filterItems):
632         (WebInspector.FilteredItemSelectionDialog.prototype._onMouseMove):
633         (WebInspector.FilteredItemSelectionDialog.prototype.itemElement):
634         (WebInspector.OpenResourceDialog):
635         * inspector/front-end/utilities.js:
636         (String.regexSpecialCharacters):
637         (String.prototype.escapeForRegExp):
638
639 2013-02-01  Vsevolod Vlasov  <vsevik@chromium.org>
640
641         Web Inspector: Navigator should not create tree elements for uiSourceCodes unless neededm should populate folders on expand only.
642         https://bugs.webkit.org/show_bug.cgi?id=108601
643
644         Reviewed by Pavel Feldman.
645
646         Tree elememnts for uiSourceCodes are not created until really needed anymore.
647         They are now created when parent folder tree elememnts are expanded or when uiSourceCode is revealed in navigator.
648
649         * inspector/front-end/NavigatorView.js:
650         (WebInspector.NavigatorView):
651         (WebInspector.NavigatorView.prototype.addUISourceCode):
652         (WebInspector.NavigatorView.prototype._getOrCreateScriptTreeElement):
653         (WebInspector.NavigatorView.prototype._getScriptTreeElement):
654         (WebInspector.NavigatorView.prototype._createScriptTreeElement):
655         (WebInspector.NavigatorView.prototype._removeScriptTreeElement):
656         (WebInspector.NavigatorView.prototype._updateScriptTitle):
657         (WebInspector.NavigatorView.prototype.isScriptSourceAdded):
658         (WebInspector.NavigatorView.prototype.revealUISourceCode):
659         (WebInspector.NavigatorView.prototype.removeUISourceCode):
660         (WebInspector.NavigatorView.prototype.reset):
661         (WebInspector.NavigatorView.prototype.createFolderTreeElement):
662         (WebInspector.NavigatorView.prototype._populateFolderTreeElement):
663         (WebInspector.NavigatorView.prototype._addScriptTreeElement):
664         (WebInspector.NavigatorView.prototype._adoptUISourceCode):
665         (WebInspector.NavigatorFolderTreeElement):
666         (WebInspector.NavigatorFolderTreeElement.prototype.onpopulate):
667
668 2013-02-01  Vsevolod Vlasov  <vsevik@chromium.org>
669
670         Web Inspector: TabbedEditorContainer.History performance optimization.
671         https://bugs.webkit.org/show_bug.cgi?id=108581
672
673         Introduced history items indexing by url.
674
675         Reviewed by Pavel Feldman.
676
677         Covered by existing test.
678
679         * inspector/front-end/TabbedEditorContainer.js:
680         (WebInspector.TabbedEditorContainer.History):
681         (WebInspector.TabbedEditorContainer.History.prototype.index):
682         (WebInspector.TabbedEditorContainer.History.prototype._rebuildItemIndex):
683         (WebInspector.TabbedEditorContainer.History.prototype.update):
684         (WebInspector.TabbedEditorContainer.History.prototype.remove):
685
686 2013-02-01  Geoffrey Garen  <ggaren@apple.com>
687
688         Added TriState to WTF and started using it in one place
689         https://bugs.webkit.org/show_bug.cgi?id=108628
690
691         Reviewed by Beth Dakin.
692
693         * editing/EditingStyle.h:
694         (WebCore): Moved TriState to WTF so it can be used in more places.
695
696 2013-02-01  Pavel Feldman  <pfeldman@chromium.org>
697
698         Web Inspector: Follow up to r141260: fixing renamed style.
699         Not reviewed.
700
701         * inspector/front-end/FilteredItemSelectionDialog.js:
702         (WebInspector.FilteredItemSelectionDialog.prototype._createItemElement):
703         (WebInspector.FilteredItemSelectionDialog.prototype._onClick):
704         (WebInspector.FilteredItemSelectionDialog.prototype._onMouseMove):
705
706 2013-02-01  Alexis Menard  <alexis@webkit.org>
707
708         Enable unprefixed CSS transitions by default.
709         https://bugs.webkit.org/show_bug.cgi?id=108216
710
711         Reviewed by Dean Jackson.
712
713         Rename the flag CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED
714         to CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED which will be used later to 
715         guard the unprefixing work for CSS Transforms and animations. Remove the
716         various #ifdefs and conditional generations.
717
718         * Configurations/FeatureDefines.xcconfig:
719         * DerivedSources.cpp:
720         * GNUmakefile.features.am.in:
721         * css/CSSPropertyNames.in:
722         * dom/EventNames.in:
723         * dom/TransitionEvent.cpp:
724         * dom/TransitionEvent.h:
725         * dom/TransitionEvent.idl:
726         * page/DOMWindow.idl:
727         * page/animation/AnimationController.cpp:
728         (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
729
730 2013-02-01  Kentaro Hara  <haraken@chromium.org>
731
732         Unreviewed, rolling out r141548.
733         http://trac.webkit.org/changeset/141548
734         https://bugs.webkit.org/show_bug.cgi?id=108579
735
736         userscript-plugin-document.html is flaky
737
738         * bindings/v8/DOMDataStore.h:
739         (WebCore::DOMDataStore::setWrapperInObject):
740         * bindings/v8/V8GCController.cpp:
741         (WebCore):
742         (WebCore::gcTree):
743         (WebCore::V8GCController::didCreateWrapperForNode):
744         (WebCore::V8GCController::gcPrologue):
745         (WebCore::V8GCController::minorGCPrologue):
746         (WebCore::V8GCController::majorGCPrologue):
747         * bindings/v8/V8GCController.h:
748         (V8GCController):
749
750 2013-02-01  Andrey Adaikin  <aandrey@chromium.org>
751
752         Web Inspector: fix jscompiler warnings
753         https://bugs.webkit.org/show_bug.cgi?id=108604
754
755         Reviewed by Pavel Feldman.
756
757         * inspector/front-end/ConsoleView.js:
758         (WebInspector.ConsoleGroup.prototype.addMessage):
759         * inspector/front-end/ContextMenu.js:
760         (WebInspector.ContextSubMenuItem):
761         * inspector/front-end/ImageView.js:
762         (WebInspector.ImageView.prototype._copyImageURL):
763         (WebInspector.ImageView.prototype._openInNewTab):
764         * inspector/front-end/NetworkPanel.js:
765         (WebInspector.NetworkLogView.prototype._clearBrowserCache):
766         (WebInspector.NetworkLogView.prototype._clearBrowserCookies):
767         * inspector/front-end/ResourcesPanel.js:
768         (WebInspector.IDBDatabaseTreeElement.prototype._refreshIndexedDB):
769         * inspector/front-end/ScriptsNavigator.js:
770         (WebInspector.SnippetsNavigatorView.prototype._handleEvaluateSnippet):
771         (WebInspector.SnippetsNavigatorView.prototype._handleRenameSnippet):
772         (WebInspector.SnippetsNavigatorView.prototype._handleRemoveSnippet):
773         (WebInspector.SnippetsNavigatorView.prototype._handleCreateSnippet):
774         * inspector/front-end/Toolbar.js:
775         (WebInspector.Toolbar.prototype._isDockedToBottom):
776
777 2013-02-01  Jae Hyun Park  <jae.park@company100.net>
778
779
780         Coordinated Graphics : Sort Target.pri and class declarations in alphabetical order.
781         https://bugs.webkit.org/show_bug.cgi?id=108590
782
783         Reviewed by Noam Rosenthal.
784
785         Sort CoordinatedGraphics files in Target.pri in alphabetical order.
786
787         No new tests. No change in behavior.
788
789         * Target.pri:
790
791 2013-02-01  Ilya Tikhonovsky  <loislo@chromium.org>
792
793         Web Inspector: Native Memory Instrumentation: provide edge names to class members in all WebCore instrumented classes.
794         https://bugs.webkit.org/show_bug.cgi?id=107369
795
796         Reviewed by Yury Semikhatsky.
797
798         It is almost mechanical change generated by a script.
799         Late I'll implement name to edge name consistency check in clang plugin.
800
801         * Modules/webaudio/AudioContext.cpp:
802         (WebCore::AudioContext::reportMemoryUsage):
803         * Modules/webaudio/AudioNode.cpp:
804         (WebCore::AudioNode::reportMemoryUsage):
805         * bindings/js/ScriptWrappable.h:
806         (WebCore::ScriptWrappable::reportMemoryUsage):
807         * bindings/v8/DOMDataStore.cpp:
808         (WebCore::DOMDataStore::reportMemoryUsage):
809         * bindings/v8/DOMWrapperMap.h:
810         (WebCore::DOMWrapperMap::reportMemoryUsage):
811         * bindings/v8/V8PerIsolateData.cpp:
812         (WebCore::V8PerIsolateData::reportMemoryUsage):
813         * bindings/v8/V8ValueCache.cpp:
814         (WebCore::StringCache::reportMemoryUsage):
815         * css/CSSBorderImageSliceValue.cpp:
816         (WebCore::CSSBorderImageSliceValue::reportDescendantMemoryUsage):
817         * css/CSSCalculationValue.cpp:
818         * css/CSSCanvasValue.cpp:
819         (WebCore::CSSCanvasValue::reportDescendantMemoryUsage):
820         * css/CSSCharsetRule.cpp:
821         (WebCore::CSSCharsetRule::reportMemoryUsage):
822         * css/CSSComputedStyleDeclaration.cpp:
823         (WebCore::CSSComputedStyleDeclaration::reportMemoryUsage):
824         * css/CSSCrossfadeValue.cpp:
825         (WebCore::CSSCrossfadeValue::reportDescendantMemoryUsage):
826         * css/CSSCursorImageValue.cpp:
827         (WebCore::CSSCursorImageValue::reportDescendantMemoryUsage):
828         * css/CSSFontFaceRule.cpp:
829         (WebCore::CSSFontFaceRule::reportMemoryUsage):
830         * css/CSSFontFaceSrcValue.cpp:
831         (WebCore::CSSFontFaceSrcValue::reportDescendantMemoryUsage):
832         * css/CSSFunctionValue.cpp:
833         (WebCore::CSSFunctionValue::reportDescendantMemoryUsage):
834         * css/CSSGradientValue.cpp:
835         (WebCore::CSSGradientColorStop::reportMemoryUsage):
836         (WebCore::CSSGradientValue::reportBaseClassMemoryUsage):
837         (WebCore::CSSLinearGradientValue::reportDescendantMemoryUsage):
838         (WebCore::CSSRadialGradientValue::reportDescendantMemoryUsage):
839         * css/CSSGroupingRule.cpp:
840         (WebCore::CSSGroupingRule::reportMemoryUsage):
841         * css/CSSImageGeneratorValue.cpp:
842         (WebCore::CSSImageGeneratorValue::reportBaseClassMemoryUsage):
843         * css/CSSImageSetValue.cpp:
844         (WebCore::CSSImageSetValue::reportDescendantMemoryUsage):
845         (WebCore::CSSImageSetValue::ImageWithScale::reportMemoryUsage):
846         * css/CSSImageValue.cpp:
847         (WebCore::CSSImageValue::reportDescendantMemoryUsage):
848         * css/CSSImportRule.cpp:
849         (WebCore::CSSImportRule::reportMemoryUsage):
850         * css/CSSMediaRule.cpp:
851         (WebCore::CSSMediaRule::reportMemoryUsage):
852         * css/CSSPageRule.cpp:
853         (WebCore::CSSPageRule::reportMemoryUsage):
854         * css/CSSPrimitiveValue.cpp:
855         (WebCore::CSSPrimitiveValue::reportDescendantMemoryUsage):
856         * css/CSSProperty.cpp:
857         (WebCore::CSSProperty::reportMemoryUsage):
858         * css/CSSReflectValue.cpp:
859         (WebCore::CSSReflectValue::reportDescendantMemoryUsage):
860         * css/CSSRule.cpp:
861         (WebCore::CSSRule::reportMemoryUsage):
862         * css/CSSRuleList.cpp:
863         (WebCore::StaticCSSRuleList::reportMemoryUsage):
864         * css/CSSRuleList.h:
865         * css/CSSSelectorList.cpp:
866         (WebCore::CSSSelectorList::reportMemoryUsage):
867         * css/CSSStyleRule.cpp:
868         (WebCore::CSSStyleRule::reportMemoryUsage):
869         * css/CSSStyleSheet.cpp:
870         (WebCore::CSSStyleSheet::reportMemoryUsage):
871         * css/CSSValue.cpp:
872         (WebCore::TextCloneCSSValue::reportDescendantMemoryUsage):
873         * css/CSSValueList.cpp:
874         (WebCore::CSSValueList::reportDescendantMemoryUsage):
875         * css/CSSVariableValue.h:
876         (WebCore::CSSVariableValue::reportDescendantMemoryUsage):
877         * css/FontFeatureValue.cpp:
878         (WebCore::FontFeatureValue::reportDescendantMemoryUsage):
879         * css/FontValue.cpp:
880         (WebCore::FontValue::reportDescendantMemoryUsage):
881         * css/MediaList.cpp:
882         (WebCore::MediaQuerySet::reportMemoryUsage):
883         (WebCore::MediaList::reportMemoryUsage):
884         * css/MediaQuery.cpp:
885         (WebCore::MediaQuery::reportMemoryUsage):
886         * css/MediaQueryExp.cpp:
887         (WebCore::MediaQueryExp::reportMemoryUsage):
888         * css/PropertySetCSSStyleDeclaration.cpp:
889         (WebCore::PropertySetCSSStyleDeclaration::reportMemoryUsage):
890         (WebCore::StyleRuleCSSStyleDeclaration::reportMemoryUsage):
891         (WebCore::InlineCSSStyleDeclaration::reportMemoryUsage):
892         * css/RuleFeature.cpp:
893         (WebCore::RuleFeatureSet::reportMemoryUsage):
894         * css/RuleSet.cpp:
895         (WebCore::RuleData::reportMemoryUsage):
896         (WebCore::RuleSet::reportMemoryUsage):
897         (WebCore::RuleSet::RuleSetSelectorPair::reportMemoryUsage):
898         * css/ShadowValue.cpp:
899         (WebCore::ShadowValue::reportDescendantMemoryUsage):
900         * css/StylePropertySet.cpp:
901         (WebCore::StylePropertySet::reportMemoryUsage):
902         * css/StyleResolver.cpp:
903         (WebCore::StyleResolver::MatchedProperties::reportMemoryUsage):
904         (WebCore::StyleResolver::MatchedPropertiesCacheItem::reportMemoryUsage):
905         (WebCore::MediaQueryResult::reportMemoryUsage):
906         (WebCore::StyleResolver::reportMemoryUsage):
907         * css/StyleRule.cpp:
908         (WebCore::StyleRule::reportDescendantMemoryUsage):
909         (WebCore::StyleRulePage::reportDescendantMemoryUsage):
910         (WebCore::StyleRuleFontFace::reportDescendantMemoryUsage):
911         (WebCore::StyleRuleGroup::reportDescendantMemoryUsage):
912         (WebCore::StyleRuleMedia::reportDescendantMemoryUsage):
913         (WebCore::StyleRuleRegion::reportDescendantMemoryUsage):
914         (WebCore::StyleRuleViewport::reportDescendantMemoryUsage):
915         * css/StyleRuleImport.cpp:
916         (WebCore::StyleRuleImport::reportDescendantMemoryUsage):
917         * css/StyleScopeResolver.cpp:
918         (WebCore::StyleScopeResolver::reportMemoryUsage):
919         * css/StyleSheetContents.cpp:
920         (WebCore::StyleSheetContents::reportMemoryUsage):
921         * css/WebKitCSSKeyframeRule.cpp:
922         (WebCore::StyleKeyframe::reportMemoryUsage):
923         (WebCore::WebKitCSSKeyframeRule::reportMemoryUsage):
924         * css/WebKitCSSKeyframesRule.cpp:
925         (WebCore::StyleRuleKeyframes::reportDescendantMemoryUsage):
926         (WebCore::WebKitCSSKeyframesRule::reportMemoryUsage):
927         * css/WebKitCSSSVGDocumentValue.cpp:
928         (WebCore::WebKitCSSSVGDocumentValue::reportDescendantMemoryUsage):
929         * css/WebKitCSSShaderValue.cpp:
930         (WebCore::WebKitCSSShaderValue::reportDescendantMemoryUsage):
931         * css/WebKitCSSViewportRule.cpp:
932         (WebCore::WebKitCSSViewportRule::reportMemoryUsage):
933         * dom/Attribute.h:
934         (WebCore::Attribute::reportMemoryUsage):
935         * dom/CharacterData.cpp:
936         (WebCore::CharacterData::reportMemoryUsage):
937         * dom/ContainerNode.cpp:
938         (WebCore::ContainerNode::reportMemoryUsage):
939         * dom/ContainerNode.h:
940         (ContainerNode):
941         * dom/Document.cpp:
942         (WebCore::Document::reportMemoryUsage):
943         * dom/DocumentEventQueue.cpp:
944         (WebCore::DocumentEventQueue::reportMemoryUsage):
945         * dom/DocumentOrderedMap.cpp:
946         (WebCore::DocumentOrderedMap::reportMemoryUsage):
947         * dom/DocumentStyleSheetCollection.cpp:
948         (WebCore::DocumentStyleSheetCollection::reportMemoryUsage):
949         * dom/Element.cpp:
950         (WebCore::Element::reportMemoryUsage):
951         * dom/ElementAttributeData.cpp:
952         (WebCore::ElementAttributeData::reportMemoryUsage):
953         * dom/ElementRareData.cpp:
954         (WebCore::ElementRareData::reportMemoryUsage):
955         * dom/ElementShadow.cpp:
956         (WebCore::ElementShadow::reportMemoryUsage):
957         * dom/Event.cpp:
958         (WebCore::Event::reportMemoryUsage):
959         * dom/LiveNodeList.cpp:
960         (WebCore::LiveNodeListBase::reportMemoryUsage):
961         * dom/Node.cpp:
962         (WebCore::Node::reportMemoryUsage):
963         * dom/NodeRareData.cpp:
964         (WebCore::NodeListsNodeData::reportMemoryUsage):
965         (WebCore::NodeRareData::reportMemoryUsage):
966         * dom/QualifiedName.cpp:
967         (WebCore::QualifiedName::reportMemoryUsage):
968         (WebCore::QualifiedName::QualifiedNameImpl::reportMemoryUsage):
969         * dom/ScriptExecutionContext.cpp:
970         (WebCore::ScriptExecutionContext::reportMemoryUsage):
971         * dom/SecurityContext.cpp:
972         (WebCore::SecurityContext::reportMemoryUsage):
973         * dom/ShadowRoot.cpp:
974         (WebCore::ShadowRoot::reportMemoryUsage):
975         * dom/TreeScope.cpp:
976         (WebCore::TreeScope::reportMemoryUsage):
977         * html/HTMLCanvasElement.cpp:
978         (WebCore::HTMLCanvasElement::reportMemoryUsage):
979         * html/HTMLFormControlElement.cpp:
980         (WebCore::HTMLFormControlElement::reportMemoryUsage):
981         * html/HTMLImageElement.cpp:
982         (WebCore::HTMLImageElement::reportMemoryUsage):
983         * html/HTMLInputElement.cpp:
984         (WebCore::HTMLInputElement::reportMemoryUsage):
985         * html/HTMLMediaElement.cpp:
986         (WebCore::HTMLMediaElement::reportMemoryUsage):
987         * html/HTMLTextFormControlElement.cpp:
988         (WebCore::HTMLTextFormControlElement::reportMemoryUsage):
989         * inspector/HeapGraphSerializer.cpp:
990         (WebCore::HeapGraphSerializer::HeapGraphSerializer):
991         (WebCore::HeapGraphSerializer::reportNode):
992         (WebCore::HeapGraphSerializer::reportMemoryUsage):
993         * inspector/HeapGraphSerializer.h:
994         (HeapGraphSerializer):
995         * inspector/InspectorBaseAgent.cpp:
996         (WebCore::InspectorBaseAgentInterface::reportMemoryUsage):
997         * inspector/InspectorController.cpp:
998         (WebCore::InspectorController::reportMemoryUsage):
999         * inspector/InspectorDOMStorageAgent.cpp:
1000         (WebCore::InspectorDOMStorageAgent::reportMemoryUsage):
1001         * inspector/InspectorDOMStorageResource.cpp:
1002         (WebCore::InspectorDOMStorageResource::reportMemoryUsage):
1003         * inspector/InspectorDebuggerAgent.cpp:
1004         (WebCore::InspectorDebuggerAgent::reportMemoryUsage):
1005         (WebCore::ScriptDebugListener::Script::reportMemoryUsage):
1006         * inspector/InspectorMemoryAgent.cpp:
1007         (WebCore::InspectorMemoryAgent::reportMemoryUsage):
1008         * inspector/InspectorOverlay.cpp:
1009         (WebCore::InspectorOverlay::reportMemoryUsage):
1010         * inspector/InspectorProfilerAgent.cpp:
1011         (WebCore::InspectorProfilerAgent::reportMemoryUsage):
1012         * inspector/InspectorResourceAgent.cpp:
1013         (WebCore::InspectorResourceAgent::reportMemoryUsage):
1014         * inspector/MemoryInstrumentationImpl.cpp:
1015         (WebCore::MemoryInstrumentationClientImpl::reportMemoryUsage):
1016         (WebCore::MemoryInstrumentationImpl::reportMemoryUsage):
1017         * inspector/NetworkResourcesData.cpp:
1018         (WebCore::XHRReplayData::reportMemoryUsage):
1019         (WebCore::NetworkResourcesData::ResourceData::reportMemoryUsage):
1020         (WebCore::NetworkResourcesData::reportMemoryUsage):
1021         * loader/CachedMetadata.cpp:
1022         (WebCore::CachedMetadata::reportMemoryUsage):
1023         * loader/DocumentLoader.cpp:
1024         (WebCore::DocumentLoader::reportMemoryUsage):
1025         * loader/FrameLoader.cpp:
1026         (WebCore::FrameLoader::reportMemoryUsage):
1027         * loader/MainResourceLoader.cpp:
1028         (WebCore::MainResourceLoader::reportMemoryUsage):
1029         * loader/Prerenderer.cpp:
1030         (WebCore::Prerenderer::reportMemoryUsage):
1031         * loader/ResourceBuffer.cpp:
1032         (WebCore::ResourceBuffer::reportMemoryUsage):
1033         * loader/ResourceLoader.cpp:
1034         (WebCore::ResourceLoader::reportMemoryUsage):
1035         * loader/SubresourceLoader.cpp:
1036         (WebCore::SubresourceLoader::reportMemoryUsage):
1037         * loader/SubstituteData.cpp:
1038         (WebCore::SubstituteData::reportMemoryUsage):
1039         * loader/cache/CachedCSSStyleSheet.cpp:
1040         (WebCore::CachedCSSStyleSheet::reportMemoryUsage):
1041         * loader/cache/CachedFont.cpp:
1042         (WebCore::CachedFont::reportMemoryUsage):
1043         * loader/cache/CachedImage.cpp:
1044         (WebCore::CachedImage::reportMemoryUsage):
1045         * loader/cache/CachedResource.cpp:
1046         (WebCore::CachedResource::reportMemoryUsage):
1047         * loader/cache/CachedResourceHandle.cpp:
1048         (WebCore::CachedResourceHandleBase::reportMemoryUsage):
1049         * loader/cache/CachedResourceLoader.cpp:
1050         (WebCore::CachedResourceLoader::reportMemoryUsage):
1051         * loader/cache/CachedSVGDocument.cpp:
1052         (WebCore::CachedSVGDocument::reportMemoryUsage):
1053         * loader/cache/CachedScript.cpp:
1054         (WebCore::CachedScript::reportMemoryUsage):
1055         * loader/cache/CachedShader.cpp:
1056         (WebCore::CachedShader::reportMemoryUsage):
1057         * loader/cache/CachedXSLStyleSheet.cpp:
1058         (WebCore::CachedXSLStyleSheet::reportMemoryUsage):
1059         * loader/cache/MemoryCache.cpp:
1060         (WebCore::MemoryCache::reportMemoryUsage):
1061         * page/DOMTimer.cpp:
1062         (WebCore::DOMTimer::reportMemoryUsage):
1063         * page/Frame.cpp:
1064         (WebCore::Frame::reportMemoryUsage):
1065         * page/Page.cpp:
1066         (WebCore::Page::reportMemoryUsage):
1067         * platform/KURL.cpp:
1068         (WebCore::KURL::reportMemoryUsage):
1069         * platform/KURLGoogle.cpp:
1070         (WebCore::KURLGooglePrivate::reportMemoryUsage):
1071         * platform/KURLWTFURLImpl.h:
1072         (WebCore::KURLWTFURLImpl::reportMemoryUsage):
1073         * platform/ScrollableArea.cpp:
1074         (WebCore::ScrollableArea::reportMemoryUsage):
1075         * platform/SharedBuffer.cpp:
1076         (WebCore::SharedBuffer::reportMemoryUsage):
1077         * platform/audio/AudioArray.h:
1078         (WebCore::AudioArray::reportMemoryUsage):
1079         * platform/audio/FFTFrame.cpp:
1080         (WebCore::FFTFrame::reportMemoryUsage):
1081         * platform/audio/HRTFDatabase.cpp:
1082         (WebCore::HRTFDatabase::reportMemoryUsage):
1083         * platform/audio/HRTFDatabaseLoader.cpp:
1084         (WebCore::HRTFDatabaseLoader::reportMemoryUsage):
1085         * platform/audio/HRTFElevation.cpp:
1086         (WebCore::HRTFElevation::reportMemoryUsage):
1087         * platform/audio/HRTFKernel.cpp:
1088         (WebCore::HRTFKernel::reportMemoryUsage):
1089         * platform/audio/ffmpeg/FFTFrameFFMPEG.cpp:
1090         (reportMemoryUsage):
1091         * platform/graphics/BitmapImage.cpp:
1092         (WebCore::BitmapImage::reportMemoryUsage):
1093         (WebCore::FrameData::reportMemoryUsage):
1094         * platform/graphics/CrossfadeGeneratedImage.cpp:
1095         (WebCore::CrossfadeGeneratedImage::reportMemoryUsage):
1096         * platform/graphics/GeneratorGeneratedImage.cpp:
1097         (WebCore::GeneratorGeneratedImage::reportMemoryUsage):
1098         * platform/graphics/GraphicsLayer.cpp:
1099         (WebCore::GraphicsLayer::reportMemoryUsage):
1100         * platform/graphics/ImageBuffer.cpp:
1101         (WebCore::ImageBuffer::reportMemoryUsage):
1102         * platform/graphics/ImageSource.cpp:
1103         (WebCore::ImageSource::reportMemoryUsage):
1104         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1105         (WebCore::GraphicsLayerChromium::reportMemoryUsage):
1106         * platform/graphics/skia/ImageBufferSkia.cpp:
1107         (WebCore::ImageBufferData::reportMemoryUsage):
1108         * platform/graphics/skia/MemoryInstrumentationSkia.cpp:
1109         (reportMemoryUsage):
1110         * platform/graphics/skia/NativeImageSkia.cpp:
1111         (WebCore::NativeImageSkia::reportMemoryUsage):
1112         * platform/image-decoders/ImageDecoder.cpp:
1113         (WebCore::ImageFrame::reportMemoryUsage):
1114         (WebCore):
1115         (WebCore::ImageDecoder::reportMemoryUsage):
1116         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
1117         (WebCore::ImageFrame::reportMemoryUsage):
1118         * platform/network/FormData.cpp:
1119         (WebCore::FormData::reportMemoryUsage):
1120         (WebCore::FormDataElement::reportMemoryUsage):
1121         * platform/network/ResourceRequestBase.cpp:
1122         (WebCore::ResourceRequestBase::reportMemoryUsageBase):
1123         * platform/network/ResourceResponseBase.cpp:
1124         (WebCore::ResourceResponseBase::reportMemoryUsage):
1125         * platform/network/chromium/ResourceRequest.cpp:
1126         (WebCore::ResourceRequest::reportMemoryUsage):
1127         * rendering/InlineBox.cpp:
1128         (WebCore::InlineBox::reportMemoryUsage):
1129         * rendering/InlineFlowBox.cpp:
1130         (WebCore::InlineFlowBox::reportMemoryUsage):
1131         * rendering/InlineTextBox.cpp:
1132         (WebCore::InlineTextBox::reportMemoryUsage):
1133         * rendering/RenderBlock.cpp:
1134         (WebCore::RenderBlock::reportMemoryUsage):
1135         * rendering/RenderBox.cpp:
1136         (WebCore::RenderBox::reportMemoryUsage):
1137         * rendering/RenderFrameSet.cpp:
1138         (WebCore::RenderFrameSet::reportMemoryUsage):
1139         (WebCore::RenderFrameSet::GridAxis::reportMemoryUsage):
1140         * rendering/RenderInline.cpp:
1141         (WebCore::RenderInline::reportMemoryUsage):
1142         * rendering/RenderLayer.cpp:
1143         (WebCore::RenderLayer::reportMemoryUsage):
1144         * rendering/RenderLayerBacking.cpp:
1145         (WebCore::RenderLayerBacking::reportMemoryUsage):
1146         * rendering/RenderLayerCompositor.cpp:
1147         (WebCore::RenderLayerCompositor::reportMemoryUsage):
1148         * rendering/RenderListMarker.cpp:
1149         (WebCore::RenderListMarker::reportMemoryUsage):
1150         * rendering/RenderObject.cpp:
1151         (WebCore::RenderObject::reportMemoryUsage):
1152         * rendering/RenderTableCol.cpp:
1153         (WebCore::RenderTableCol::reportMemoryUsage):
1154         * rendering/RenderTableRow.cpp:
1155         (WebCore::RenderTableRow::reportMemoryUsage):
1156         * rendering/RenderTableSection.cpp:
1157         (WebCore::RenderTableSection::reportMemoryUsage):
1158         (WebCore::RenderTableSection::RowStruct::reportMemoryUsage):
1159         (WebCore::RenderTableSection::CellStruct::reportMemoryUsage):
1160         * rendering/RenderText.cpp:
1161         (WebCore::RenderText::reportMemoryUsage):
1162         * rendering/RenderView.cpp:
1163         (WebCore::RenderView::reportMemoryUsage):
1164         * rendering/style/DataRef.h:
1165         (WebCore::DataRef::reportMemoryUsage):
1166         * rendering/style/RenderStyle.cpp:
1167         (WebCore::RenderStyle::reportMemoryUsage):
1168         * rendering/style/StyleRareInheritedData.cpp:
1169         (WebCore::StyleRareInheritedData::reportMemoryUsage):
1170         * rendering/style/StyleRareNonInheritedData.cpp:
1171         (WebCore::StyleRareNonInheritedData::reportMemoryUsage):
1172         * svg/SVGPaint.cpp:
1173         (WebCore::SVGPaint::reportDescendantMemoryUsage):
1174         * svg/graphics/SVGImage.cpp:
1175         (WebCore::SVGImage::reportMemoryUsage):
1176         * xml/XMLHttpRequest.cpp:
1177         (WebCore::XMLHttpRequest::reportMemoryUsage):
1178
1179 2013-02-01  Philippe Normand  <pnormand@igalia.com>
1180
1181         [GTK][GStreamer] FullscreenVideoControllerGtk implementation
1182         https://bugs.webkit.org/show_bug.cgi?id=107398
1183
1184         Reviewed by Gustavo Noronha Silva.
1185
1186         NATIVE_FULLSCREEN_VIDEO support for the GTK port. The previous
1187         FullscreenVideoController implementation was refactored as a
1188         sub-class of FullscreenVideoControllerGStreamer and hooked in the
1189         MediaPlayerPrivateGStreamer backend.
1190
1191         * GNUmakefile.list.am:
1192         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1193         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
1194         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1195         * platform/graphics/gtk/FullscreenVideoControllerGtk.cpp: Renamed from Source/WebKit/gtk/WebCoreSupport/FullscreenVideoController.cpp.
1196         * platform/graphics/gtk/FullscreenVideoControllerGtk.h: Renamed from Source/WebKit/gtk/WebCoreSupport/FullscreenVideoController.h.
1197
1198 2013-02-01  Andrey Lushnikov  <lushnikov@chromium.org>
1199
1200         Web Inspector: fix cursor location in Source Frame
1201         https://bugs.webkit.org/show_bug.cgi?id=108592
1202
1203         Reviewed by Pavel Feldman.
1204
1205         Normalize range before computing amount of lines in
1206         _updateSourcePosition.
1207
1208         No new tests.
1209
1210         * inspector/front-end/SourceFrame.js:
1211         (WebInspector.SourceFrame.prototype._updateSourcePosition): Normalize text range.
1212         * inspector/front-end/inspector.css: Slightly bigger left padding for the text.
1213         (.source-frame-position):
1214
1215 2013-02-01  Kentaro Hara  <haraken@chromium.org>
1216
1217         Unreviewed build fix after r141553.
1218
1219         * bindings/scripts/CodeGeneratorV8.pm:
1220         (GenerateImplementation):
1221         * bindings/scripts/test/V8/V8Float64Array.cpp:
1222         (WebCore::V8Float64Array::HasInstance):
1223         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1224         (WebCore::V8TestActiveDOMObject::HasInstance):
1225         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1226         (WebCore::V8TestCustomNamedGetter::HasInstance):
1227         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1228         (WebCore::V8TestEventConstructor::HasInstance):
1229         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1230         (WebCore::V8TestEventTarget::HasInstance):
1231         * bindings/scripts/test/V8/V8TestException.cpp:
1232         (WebCore::V8TestException::HasInstance):
1233         * bindings/scripts/test/V8/V8TestInterface.cpp:
1234         (WebCore::V8TestInterface::HasInstance):
1235         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1236         (WebCore::V8TestMediaQueryListListener::HasInstance):
1237         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1238         (WebCore::V8TestNamedConstructor::HasInstance):
1239         * bindings/scripts/test/V8/V8TestNode.cpp:
1240         (WebCore::V8TestNode::HasInstance):
1241         * bindings/scripts/test/V8/V8TestObj.cpp:
1242         (WebCore::V8TestObj::HasInstance):
1243         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
1244         (WebCore::V8TestOverloadedConstructors::HasInstance):
1245         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1246         (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
1247
1248 2013-02-01  Vsevolod Vlasov  <vsevik@chromium.org>
1249
1250         Web Inspector: Sources panel navigator reveal and expand fixes.
1251         https://bugs.webkit.org/show_bug.cgi?id=108584
1252
1253         Reviewed by Pavel Feldman.
1254
1255         Navigator folders are not expanded by default anymore.
1256         Made domain folder expanded for inspected page main frame domain.
1257         UISourceCodes are now added to navigator before editor container
1258         so that they could be revealed if editor container decides to show them.
1259
1260         * inspector/front-end/NavigatorView.js:
1261         (WebInspector.BaseNavigatorTreeElement.prototype.onattach):
1262         (WebInspector.NavigatorFolderTreeElement.prototype.onattach):
1263         * inspector/front-end/ScriptsPanel.js:
1264         (WebInspector.ScriptsPanel.prototype._addUISourceCode):
1265
1266 2013-02-01  Andrey Adaikin  <aandrey@chromium.org>
1267
1268         Web Inspector: [Canvas] drop trace log in the backend when deleting profile in frontend
1269         https://bugs.webkit.org/show_bug.cgi?id=108591
1270
1271         Reviewed by Pavel Feldman.
1272
1273         Send a dropTraceLog command to the backend when deleting a profile header from the sidebar.
1274         Before we were sending the command only upon deleting an existing view of a profile, so we  would not
1275         sent the command if the view was not created or if a profile header was removed via context menu (the ondelete() method).
1276         Drive-by: fixed an odd formatting of property functions.
1277
1278         * inspector/front-end/CanvasProfileView.js:
1279         (WebInspector.CanvasProfileView.prototype.dispose):
1280         (WebInspector.CanvasProfileHeader.prototype.reset):
1281         * inspector/front-end/ProfilesPanel.js:
1282         (WebInspector.ProfileHeader.prototype.reset):
1283         (WebInspector.ProfileHeader.prototype.load):
1284         (WebInspector.ProfileHeader.prototype.canSaveToFile):
1285         (WebInspector.ProfileHeader.prototype.saveToFile):
1286         (WebInspector.ProfileHeader.prototype.loadFromFile):
1287         (WebInspector.ProfileHeader.prototype.fromFile):
1288         (WebInspector.ProfilesPanel):
1289         (WebInspector.ProfilesPanel.prototype._reset):
1290         (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
1291
1292 2013-02-01  Chris Fleizach  <cfleizach@apple.com>
1293
1294         AX: when aria-activedescendant is used with a ComboBox role, focus should not be changed
1295         https://bugs.webkit.org/show_bug.cgi?id=108596
1296
1297         Reviewed by Ryosuke Niwa.
1298
1299         Normally, an aria-activedescendant change causes a focus change to be triggered.
1300         However, when used in conjunction with a combo box, this causes problems for screen readers.
1301         Namely, the user expects focus to remain in the text field so that the user can keep typing. 
1302         If focus moves to an item in the combobox list, it is not possible to keep typing.
1303
1304         The solution is to not trigger a focus change in this case and instead use a selected children change notification.
1305
1306         Test: platform/mac/accessibility/combobox-activedescendant-notifications.html
1307
1308         * accessibility/AccessibilityRenderObject.cpp:
1309         (WebCore::AccessibilityRenderObject::shouldNotifyActiveDescendant):
1310         (WebCore::AccessibilityRenderObject::shouldFocusActiveDescendant):
1311         (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
1312         * accessibility/AccessibilityRenderObject.h:
1313         (AccessibilityRenderObject):
1314         * accessibility/mac/AXObjectCacheMac.mm:
1315         (WebCore::AXObjectCache::postPlatformNotification):
1316
1317 2013-02-01  Chris Fleizach  <cfleizach@apple.com>
1318
1319         [Mac] REGRESSION(r140974): accessibility/lists.html fails on Lion=
1320         https://bugs.webkit.org/show_bug.cgi?id=108291
1321
1322         Reviewed by Ryosuke Niwa.
1323
1324         This accounts for differences in what AppKit gives for accessibility role descriptions between platforms
1325         when the subrole is not recognized, and standardizes it for WebKit.
1326
1327         Unskip a failing Lion test
1328
1329         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1330         (-[WebAccessibilityObjectWrapper roleDescription]):
1331
1332 2013-02-01  Vsevolod Vlasov  <vsevik@chromium.org>
1333
1334         Web Inspector: Replace localeCompare in NavigatorView with compareTo.
1335         https://bugs.webkit.org/show_bug.cgi?id=108585
1336
1337         Reviewed by Pavel Feldman.
1338
1339         Replaced String.prototype.localeCompare with String.prototype.compareTo
1340         in NavigatorView to improve performance.
1341
1342         * inspector/front-end/NavigatorView.js:
1343         (WebInspector.NavigatorTreeOutline._treeElementsCompare):
1344
1345 2013-02-01  Vsevolod Vlasov  <vsevik@chromium.org>
1346
1347         Web Inspector: File system pending requests list is not cleared after processing.
1348         https://bugs.webkit.org/show_bug.cgi?id=108573
1349
1350         Reviewed by Pavel Feldman.
1351
1352         * inspector/front-end/IsolatedFileSystemModel.js:
1353         (WebInspector.IsolatedFileSystemModel.prototype._processPendingFileSystemRequests):
1354
1355 2013-02-01  Tom Sepez  <tsepez@chromium.org>
1356
1357         Dubious cast from HTMLCollection to HTMLAllCollection
1358         https://bugs.webkit.org/show_bug.cgi?id=108538
1359
1360         Reviewed by Adam Barth.
1361
1362         Patch is tested by enabling V8 binding integrity on HTMLAllCollection and
1363         running the existing tests without introducing new crashes.
1364
1365         * dom/Document.cpp:
1366         (WebCore::Document::all):
1367         Pass correct type to template.
1368         
1369         * html/HTMLAllCollection.cpp:
1370         (WebCore::HTMLAllCollection::create):
1371         (WebCore::HTMLAllCollection::HTMLAllCollection):
1372         * html/HTMLAllCollection.h:
1373         (HTMLAllCollection):
1374         Make create() method arguments compatible with template above.
1375
1376         * html/HTMLAllCollection.idl:
1377         Enable binding integrity.
1378
1379 2013-02-01  Ken Kania  <kkania@chromium.org>
1380
1381         Web Inspector: Add support for handling modal dialogs
1382         https://bugs.webkit.org/show_bug.cgi?id=107883
1383
1384         Reviewed by Pavel Feldman.
1385
1386         Introduce support for being notified when a JavaScript modal dialog
1387         is opening and closing, as well as a new command for accepting or
1388         dismissing the dialog.
1389
1390         Test: inspector-protocol/page/willRunJavaScriptDialog.html
1391
1392         * inspector/Inspector.json:
1393         * inspector/InspectorClient.h:
1394         (WebCore::InspectorClient::handleJavaScriptDialog):
1395         (InspectorClient):
1396         * inspector/InspectorInstrumentation.cpp:
1397         (WebCore):
1398         (WebCore::InspectorInstrumentation::willRunJavaScriptDialogImpl):
1399         (WebCore::InspectorInstrumentation::didRunJavaScriptDialogImpl):
1400         * inspector/InspectorInstrumentation.h:
1401         (InspectorInstrumentation):
1402         (WebCore::InspectorInstrumentation::willRunJavaScriptDialog):
1403         (WebCore):
1404         (WebCore::InspectorInstrumentation::didRunJavaScriptDialog):
1405         * inspector/InspectorPageAgent.cpp:
1406         (WebCore::InspectorPageAgent::willRunJavaScriptDialog):
1407         (WebCore):
1408         (WebCore::InspectorPageAgent::didRunJavaScriptDialog):
1409         (WebCore::InspectorPageAgent::handleJavaScriptDialog):
1410         * inspector/InspectorPageAgent.h:
1411         * inspector/front-end/ResourceTreeModel.js:
1412         (WebInspector.PageDispatcher.prototype.frameStartedLoading):
1413         (WebInspector.PageDispatcher.prototype.frameStoppedLoading):
1414         (WebInspector.PageDispatcher.prototype.frameScheduledNavigation):
1415         (WebInspector.PageDispatcher.prototype.frameClearedScheduledNavigation):
1416         (WebInspector.PageDispatcher.prototype.javascriptDialogOpening):
1417         (WebInspector.PageDispatcher.prototype.javascriptDialogClosed):
1418         * page/Chrome.cpp:
1419         (WebCore::Chrome::runBeforeUnloadConfirmPanel):
1420         (WebCore::Chrome::runJavaScriptAlert):
1421         (WebCore::Chrome::runJavaScriptConfirm):
1422         (WebCore::Chrome::runJavaScriptPrompt):
1423
1424 2013-02-01  Dan Alcantara  <dfalcantara@chromium.org>
1425
1426         Touch disambiguation blacklist is not being queried properly
1427         https://bugs.webkit.org/show_bug.cgi?id=108222
1428
1429         Reviewed by Adam Barth.
1430
1431         TEST=WebFrameTest::DisambiguationPopupBlacklist
1432
1433         Fix the blacklist so that we check it for the right nodes.
1434         Add a chromium test to check that the blacklist is being built and used
1435         correctly.  Also update the other DisambiguationPopup tests to
1436         use the new page scale method.
1437
1438         * page/TouchDisambiguation.cpp:
1439         (WebCore::findGoodTouchTargets):
1440
1441 2013-01-31  Kentaro Hara  <haraken@chromium.org>
1442
1443         [V8] Add a temporary optional Isolate parameter to HasInstance()
1444         https://bugs.webkit.org/show_bug.cgi?id=108567
1445
1446         Reviewed by Adam Barth.
1447
1448         The optional Isolate parameter will be removed once all call sites have an Isolate.
1449         It will require several patches.
1450
1451         No tests. No change in behavior.
1452
1453         * bindings/scripts/CodeGeneratorV8.pm:
1454         (GenerateHeader):
1455         (GenerateNormalAttrSetter):
1456         (GenerateParametersCheckExpression):
1457         (GenerateParametersCheck):
1458         (GenerateImplementation):
1459         * bindings/scripts/test/V8/V8Float64Array.cpp:
1460         (WebCore::V8Float64Array::HasInstance):
1461         * bindings/scripts/test/V8/V8Float64Array.h:
1462         (V8Float64Array):
1463         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1464         (WebCore::V8TestActiveDOMObject::HasInstance):
1465         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
1466         (V8TestActiveDOMObject):
1467         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1468         (WebCore::V8TestCustomNamedGetter::HasInstance):
1469         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
1470         (V8TestCustomNamedGetter):
1471         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1472         (WebCore::V8TestEventConstructor::HasInstance):
1473         * bindings/scripts/test/V8/V8TestEventConstructor.h:
1474         (V8TestEventConstructor):
1475         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1476         (WebCore::V8TestEventTarget::HasInstance):
1477         * bindings/scripts/test/V8/V8TestEventTarget.h:
1478         (V8TestEventTarget):
1479         * bindings/scripts/test/V8/V8TestException.cpp:
1480         (WebCore::V8TestException::HasInstance):
1481         * bindings/scripts/test/V8/V8TestException.h:
1482         (V8TestException):
1483         * bindings/scripts/test/V8/V8TestInterface.cpp:
1484         (WebCore::V8TestInterface::HasInstance):
1485         * bindings/scripts/test/V8/V8TestInterface.h:
1486         (V8TestInterface):
1487         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1488         (WebCore::V8TestMediaQueryListListener::HasInstance):
1489         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
1490         (V8TestMediaQueryListListener):
1491         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1492         (WebCore::V8TestNamedConstructor::HasInstance):
1493         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
1494         (V8TestNamedConstructor):
1495         * bindings/scripts/test/V8/V8TestNode.cpp:
1496         (WebCore::V8TestNode::HasInstance):
1497         * bindings/scripts/test/V8/V8TestNode.h:
1498         (V8TestNode):
1499         * bindings/scripts/test/V8/V8TestObj.cpp:
1500         (WebCore::TestObjV8Internal::overloadedMethodCallback):
1501         (WebCore::TestObjV8Internal::variadicNodeMethodCallback):
1502         (WebCore::V8TestObj::HasInstance):
1503         * bindings/scripts/test/V8/V8TestObj.h:
1504         (V8TestObj):
1505         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
1506         (WebCore::V8TestOverloadedConstructors::constructorCallback):
1507         (WebCore::V8TestOverloadedConstructors::HasInstance):
1508         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
1509         (V8TestOverloadedConstructors):
1510         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1511         (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
1512         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
1513         (V8TestSerializedScriptValueInterface):
1514
1515 2013-02-01  Nils Barth  <nbarth@google.com>
1516
1517         [CPP,GObject,ObjC] Add 'static' skip to CodeGenerator{CPP,GObject,ObjC}.pm
1518         https://bugs.webkit.org/show_bug.cgi?id=108578
1519
1520         Reviewed by Kentaro Hara.
1521
1522         Since CPP/GObject/ObjC code generators (CodeGenerator{CPP,GObject,ObjC}.pm)
1523         do not support static attributes, add test to skip these.
1524         This lets us remove #if macro from static in test files and not need
1525         these in future.
1526
1527         Test: bindings/scripts/test/TestObj.idl (run-bindings-test)
1528         Test: bindings/scripts/test/TestSupplemental.idl (run-bindings-test)
1529
1530         * bindings/scripts/CodeGeneratorCPP.pm:
1531         (SkipAttribute):
1532         * bindings/scripts/CodeGeneratorGObject.pm:
1533         (SkipAttribute):
1534         * bindings/scripts/CodeGeneratorObjC.pm:
1535         (SkipAttribute):
1536         * bindings/scripts/test/TestObj.idl:
1537         * bindings/scripts/test/TestSupplemental.idl:
1538
1539 2013-02-01  Kentaro Hara  <haraken@chromium.org>
1540
1541         [V8] Remove V8GCController::m_edenNodes
1542         https://bugs.webkit.org/show_bug.cgi?id=108579
1543
1544         Reviewed by Adam Barth.
1545
1546         Currently V8GCController::m_edenNodes stores a list of nodes whose
1547         wrappers have been created since the latest GC. The reason why we
1548         needed m_edenNodes is that there was no way to know a list of wrappers
1549         in the new space of V8. By using m_edenNodes, we had been approximating
1550         'wrappers in the new space' by 'wrappers that have been created since
1551         the latest GC'.
1552
1553         Now V8 provides VisitHandlesForPartialDependence(), with which WebKit
1554         can know a list of wrappers in the new space. By using the API, we can
1555         remove V8GCController::m_edenNodes. The benefit is that (1) we no longer
1556         need to keep m_edenNodes and that (2) it enables more precise minor
1557         DOM GC (Remember that m_edenNodes was just an approximation).
1558
1559         Performance benchmark: https://bugs.webkit.org/attachment.cgi?id=185940
1560         The benchmark runs 300 iterations, each of which creates 100000 elements.
1561         The benchmark measures average, min, median, max and stdev of execution times
1562         of the 300 iterations. This will tell us the worst-case overhead of this change.
1563
1564         Before:
1565           mean=59.91ms, min=39ms, median=42ms, max=258ms, stdev=47.48ms
1566
1567         After:
1568           mean=58.75ms, min=35ms, median=41ms, max=250ms, stdev=47.32ms
1569
1570         As shown above, I couldn't observe any performance regression.
1571
1572         No tests. No change in behavior.
1573
1574         * bindings/v8/DOMDataStore.h:
1575         (WebCore::DOMDataStore::setWrapperInObject):
1576         * bindings/v8/V8GCController.cpp:
1577         (WebCore::gcTree):
1578         (WebCore):
1579         (MinorGCWrapperVisitor):
1580         (WebCore::MinorGCWrapperVisitor::notifyFinished):
1581         (WebCore::V8GCController::gcPrologue):
1582         (WebCore::V8GCController::minorGCPrologue):
1583         (WebCore::V8GCController::majorGCPrologue):
1584         * bindings/v8/V8GCController.h:
1585         (V8GCController):
1586
1587 2013-02-01  Vsevolod Vlasov  <vsevik@chromium.org>
1588
1589         Web Inspector: Use String.prototype.startsWith instead of String.prototype.indexOf when possible
1590         https://bugs.webkit.org/show_bug.cgi?id=108575
1591
1592         Reviewed by Yury Semikhatsky.
1593
1594         * inspector/front-end/FileMapping.js:
1595         (WebInspector.FileMapping.prototype._entryMatchesURL):
1596         (WebInspector.FileMapping.prototype.urlForURI):
1597         * inspector/front-end/FileSystemMapping.js:
1598         (get WebInspector.FileSystemMappingImpl.prototype.fileForURI):
1599         (get WebInspector.FileSystemMappingImpl.prototype.uriForPath):
1600
1601 2013-01-31  Aurimas Liutikas  <aurimas@chromium.org>
1602
1603         Editor::m_compositionNode not updated on HTMLInputElement::setValue()
1604         https://bugs.webkit.org/show_bug.cgi?id=107737
1605
1606         Reviewed by Ryosuke Niwa.
1607
1608         Chromium has a bug where the IME composition did not get cancelled on JavaScript changes
1609         to the focused editing field. Most of other WebKit ports were already doing this check
1610         in their EditorClient::respondToChangedSelection. I took that logic and moved it to the
1611         Editor so every port and use the same code.
1612
1613         An existing test editing/input/setting-input-value-cancel-ime-composition.html covers this change.
1614         This test used to have an expectation to fail on Chromium and after this patch it will start passing.
1615
1616         * editing/Editor.cpp:
1617         (WebCore::Editor::cancelCompositionIfSelectionIsInvalid):
1618             Adding a call that can be used by any the port to cancel the composition if it's no longer valid.
1619         (WebCore):
1620         * editing/Editor.h:
1621         (Editor):
1622
1623 2013-01-31  Jae Hyun Park  <jae.park@company100.net>
1624
1625         Coordinated Graphics : Move CoordinatedGraphics related files to WebCore
1626         https://bugs.webkit.org/show_bug.cgi?id=108149
1627
1628         Reviewed by Noam Rosenthal.
1629
1630         This patch moves Coordinated Graphics related code to WebCore. To
1631         implement Threaded Coordinated Graphics, most of Coordianted Graphics
1632         code should be shared. Therefore, they should reside in WebCore instead of
1633         WebKit2.
1634
1635         When moving to WebCore, two renamings have been done.
1636
1637         1. Rename LayerTreeRenderer to CoordinatedGraphicsScene.
1638
1639         2. Rename WebCustomFilterProgram and WebCustomFilterOperation to
1640         CoordinatedCustomFilterProgram and CoordinatedCustomFilterOperation,
1641         respectively.
1642
1643         No new tests, covered by existing tests.
1644
1645         * CMakeLists.txt:
1646         * Target.pri:
1647         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
1648         * platform/graphics/texmap/coordinated/AreaAllocator.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/AreaAllocator.cpp.
1649         * platform/graphics/texmap/coordinated/AreaAllocator.h: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/AreaAllocator.h.
1650         * platform/graphics/texmap/coordinated/CoordinatedBackingStore.cpp: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp.
1651         * platform/graphics/texmap/coordinated/CoordinatedBackingStore.h: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h.
1652         * platform/graphics/texmap/coordinated/CoordinatedCustomFilterOperation.h: Renamed from Source/WebKit2/Shared/CoordinatedGraphics/WebCustomFilterOperation.h.
1653         * platform/graphics/texmap/coordinated/CoordinatedCustomFilterProgram.h: Renamed from Source/WebKit2/Shared/CoordinatedGraphics/WebCustomFilterProgram.h.
1654         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp.
1655         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h.
1656         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp.
1657         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.h.
1658         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.cpp.
1659         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.h: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h.
1660         * platform/graphics/texmap/coordinated/CoordinatedLayerInfo.h: Renamed from Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedLayerInfo.h.
1661         * platform/graphics/texmap/coordinated/CoordinatedSurface.cpp: Renamed from Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedSurface.cpp.
1662         * platform/graphics/texmap/coordinated/CoordinatedSurface.h: Renamed from Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedSurface.h.
1663         * platform/graphics/texmap/coordinated/CoordinatedTile.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp.
1664         * platform/graphics/texmap/coordinated/CoordinatedTile.h: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h.
1665         * platform/graphics/texmap/coordinated/SurfaceUpdateInfo.h: Renamed from Source/WebKit2/Shared/CoordinatedGraphics/SurfaceUpdateInfo.h.
1666         * platform/graphics/texmap/coordinated/UpdateAtlas.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp.
1667         * platform/graphics/texmap/coordinated/UpdateAtlas.h: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h.
1668
1669 2013-01-31  Lamarque V. Souza  <Lamarque.Souza@basyskom.com>
1670
1671         [Qt] Add support for text decoration "wavy" style
1672         https://bugs.webkit.org/show_bug.cgi?id=93507
1673
1674         Reviewed by Simon Hausmann.
1675
1676         Add support for text decoration "wavy" style for Qt platform.
1677
1678         * platform/graphics/qt/GraphicsContextQt.cpp:
1679         (WebCore::toQPenStyle):
1680         Remove FIXME comments obsoleted by this patch.
1681         (WebCore::GraphicsContext::drawLine):
1682         Implement wavy style line tracer.
1683
1684 2013-01-31  Nils Barth  <nbarth@google.com>
1685
1686         [CPP,GObject,ObjC] Add 'enum' skip to CodeGenerator{CPP,GObject,ObjC}.pm
1687         https://bugs.webkit.org/show_bug.cgi?id=108565
1688
1689         Reviewed by Kentaro Hara.
1690
1691         Since legacy code generators (CodeGenerator{CPP,GObject,ObjC}.pm)
1692         do not support enumerations, add test to skip attributes of enum type.
1693         This lets us remove #if macro from enum in test file and not need
1694         these in future.
1695         Also minor associated code cleaning:
1696           auxiliary variable: $type = $attribute->signature->type.
1697
1698         Test: bindings/scripts/test/TestObj.idl (run-bindings-test)
1699
1700         * bindings/scripts/CodeGeneratorCPP.pm:
1701         (SkipAttribute):
1702         * bindings/scripts/CodeGeneratorGObject.pm:
1703         (SkipAttribute):
1704         * bindings/scripts/CodeGeneratorObjC.pm:
1705         (SkipAttribute):
1706         * bindings/scripts/test/TestObj.idl: remove #if macro
1707
1708 2013-01-31  Kent Tamura  <tkent@chromium.org>
1709
1710         Refactoring: Remove the default argument value for Node::setFocus
1711         https://bugs.webkit.org/show_bug.cgi?id=108554
1712
1713         Reviewed by Kentaro Hara.
1714
1715         There is no code to use the default argument.
1716         No new tests. Just a refactoring.
1717
1718         * dom/Node.h: Remove default argument value for setFocus.
1719         * dom/ContainerNode.h:
1720         (ContainerNode): Ditto.
1721         * html/HTMLAreaElement.h:
1722         (HTMLAreaElement): Add OVERRIDE to setFocus.
1723         * html/HTMLFrameElementBase.h:
1724         (HTMLFrameElementBase): Ditto.
1725
1726 2013-01-31  Victor Carbune  <vcarbune@chromium.org>
1727
1728         [Track] Closed Caption button shouldn't be visible if all the track resources have failed loading
1729         https://bugs.webkit.org/show_bug.cgi?id=106285
1730
1731         Reviewed by Eric Carlson.
1732
1733         Updated existing test cases.
1734
1735         * html/HTMLMediaElement.cpp:
1736         (WebCore::HTMLMediaElement::textTracksAreReady): Checked whether there are tracks not loaded
1737         when the algorithm began.
1738         (WebCore::HTMLMediaElement::textTrackReadyStateChanged): If the ready state changed to
1739         FailedToLoad the media controls should check whether there are other caption tracks
1740         and hide the button if not.
1741         (WebCore::HTMLMediaElement::didAddTrack): Added trigger to closedCaptionsTrackChanged.
1742         (WebCore::HTMLMediaElement::hasClosedCaptions): Updated check to skip tracks that
1743         failed to load.
1744         * html/shadow/MediaControls.cpp:
1745         (WebCore::MediaControls::reset): Used the newly added method.
1746         (WebCore::MediaControls::refreshClosedCaptionsButtonVisibility): Added container method for
1747         default behaviour for refreshing the visibility of the caption button.
1748         (WebCore::MediaControls::closedCaptionTracksChanged): Used the newly added method.
1749         (WebCore):
1750         * html/shadow/MediaControls.h:
1751         (MediaControls):
1752
1753         * html/HTMLMediaElement.cpp:
1754         (WebCore::HTMLMediaElement::textTracksAreReady):
1755         (WebCore::HTMLMediaElement::textTrackReadyStateChanged):
1756         (WebCore::HTMLMediaElement::setReadyState):
1757         (WebCore::HTMLMediaElement::didAddTrack):
1758         (WebCore::HTMLMediaElement::hasClosedCaptions):
1759         * html/shadow/MediaControls.cpp:
1760         (WebCore::MediaControls::reset):
1761         (WebCore::MediaControls::refreshClosedCaptionsButtonVisibility):
1762         (WebCore::MediaControls::closedCaptionTracksChanged):
1763         (WebCore):
1764         * html/shadow/MediaControls.h:
1765         (MediaControls):
1766
1767 2013-01-31  Dima Gorbik  <dgorbik@apple.com>
1768
1769         REGRESSION(r140231): media track layout tests crashing
1770         https://bugs.webkit.org/show_bug.cgi?id=107579
1771
1772         Reviewed by Eric Carlson.
1773
1774         We were using non-standard element names with HTMLElement, which made v8 try to cast
1775         WebVTTElements to HTMLUnknownElements which was not possible. Subclassing Element instead
1776         of HTMLElement, though this requires building HTMLElements from WebVTTElements for creating
1777         a DOM tree. The code has been refactored to move WebVTT node type to QuialifiedName mappings 
1778         inside the WebVTTElement class. All WebVTTElements in the shadow dom tree now are in the 
1779         namespace defined by 'NullAtom'. This prevents regular styles from being applied to <b>, <i>
1780         and similar tags. Those have to be styled separately without reusing existing QualifiedNames
1781         and their styles. https://bugs.webkit.org/show_bug.cgi?id=107214
1782
1783         Unskipping tests to cover this.
1784
1785         * css/SelectorChecker.cpp:
1786         (WebCore::SelectorChecker::checkOne):
1787         * css/StyleResolver.cpp:
1788         (WebCore::StyleResolver::collectMatchingRules):
1789         (WebCore::StyleResolver::canShareStyleWithElement):
1790         * html/track/TextTrackCue.cpp:
1791         (WebCore::TextTrackCue::copyWebVTTNodeToDOMTree):
1792         (WebCore::TextTrackCue::getCueAsHTML):
1793         (WebCore::TextTrackCue::createCueRenderingTree):
1794         (WebCore::TextTrackCue::markFutureAndPastNodes):
1795         * html/track/TextTrackCue.h:
1796         (WebCore::TextTrackCue::cueShadowPseudoId):
1797         * html/track/WebVTTElement.cpp:
1798         (WebCore::nodeTypeToTagName): get a QualifiedName to use in the shadow DOM tree.
1799         (WebCore::WebVTTElement::WebVTTElement):
1800         (WebCore::WebVTTElement::create):
1801         (WebCore::WebVTTElement::cloneElementWithoutAttributesAndChildren):
1802         (WebCore::WebVTTElement::createEquivalentHTMLElement): create an HTMLElement to use in the DOM tree.
1803         * html/track/WebVTTElement.h:
1804         (WebCore::WebVTTElement::setWebVTTNodeType):
1805         (WebCore::WebVTTElement::webVTTNodeType):
1806         (WebCore::WebVTTElement::isPastNode):
1807         (WebCore::WebVTTElement::setIsPastNode):
1808         (WebCore::WebVTTElement::voiceAttributeName):
1809         * html/track/WebVTTParser.cpp:
1810         (WebCore::tokenToNodeType): determine a WebVTT node type for the token.
1811         (WebCore::WebVTTParser::constructTreeFromToken):
1812
1813 2013-01-31  Sheriff Bot  <webkit.review.bot@gmail.com>
1814
1815         Unreviewed, rolling out r141479.
1816         http://trac.webkit.org/changeset/141479
1817         https://bugs.webkit.org/show_bug.cgi?id=108564
1818
1819         breaks chromium test (Requested by morrita on #webkit).
1820
1821         * editing/Editor.cpp:
1822         * editing/Editor.h:
1823         (Editor):
1824
1825 2013-01-31  Changhun Kang  <temoochin@company100.net>
1826
1827         Rename from parentOrHost* to parentOrShadowHost* in Node.h.
1828         https://bugs.webkit.org/show_bug.cgi?id=108308
1829
1830         Reviewed by Dimitri Glazkov.
1831
1832         No new tests. No change in behavior.
1833
1834 2013-01-31  Alec Flett  <alecflett@chromium.org>
1835
1836         IndexedDB: remove old transaction backend bootstrap code
1837         https://bugs.webkit.org/show_bug.cgi?id=103923
1838
1839         Reviewed by Dimitri Glazkov.
1840
1841         Finally remove all leftover code from the IndexedDB "giant
1842         async refactor of 2012." This includes removal of all
1843         IDBTransaction* interfaces that were shared between
1844         the frontend and backend and a few straggling methods
1845         like onUpgradeNeeded and onSuccess that were left from
1846         the last stage of refactoring.
1847
1848         * Modules/indexeddb/IDBCallbacks.h:
1849         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1850         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
1851         (WebCore):
1852         (WebCore::IDBDatabaseBackendImpl::metadata):
1853         (IDBDatabaseBackendImpl):
1854         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
1855         (WebCore):
1856         (IDBDatabaseBackendInterface):
1857         * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
1858         (WebCore):
1859         * Modules/indexeddb/IDBTransaction.h:
1860         (WebCore):
1861         (IDBTransaction):
1862         * Modules/indexeddb/IDBTransactionBackendImpl.h:
1863         (WebCore):
1864         (IDBTransactionBackendImpl):
1865         * Modules/indexeddb/IDBTransactionBackendInterface.h: Removed.
1866         * Modules/indexeddb/IDBTransactionCallbacks.h: Removed.
1867         * Modules/indexeddb/IDBTransactionCoordinator.h:
1868         (WebCore):
1869         * Target.pri:
1870         * WebCore.gypi:
1871         * WebCore.xcodeproj/project.pbxproj:
1872
1873 2013-01-31  Kentaro Hara  <haraken@chromium.org>
1874
1875         Unreviewed, rolling out r141502.
1876         http://trac.webkit.org/changeset/141502
1877         https://bugs.webkit.org/show_bug.cgi?id=108441
1878
1879         Hit assert in SVGElementInstance
1880
1881         * bindings/scripts/CodeGeneratorV8.pm:
1882         (GetInternalFields):
1883         * dom/EventTarget.idl:
1884         * svg/SVGElementInstance.idl:
1885
1886 2013-01-31  Ojan Vafai  <ojan@chromium.org>
1887
1888         Assert that computePreferredLogicalWidths never calls setNeedsLayout
1889         https://bugs.webkit.org/show_bug.cgi?id=108539
1890
1891         Reviewed by Tony Chang.
1892
1893         computePreferredLogicalWidths should only set m_minPreferredLogicalWidth
1894         and m_maxPreferredLogicalWidth. It shouldn't have other side-effects.
1895         This is take 2 after this was rolled out because it was missing the guards
1896         in RenderCounter/RenderQuote.
1897
1898         * rendering/RenderBox.cpp:
1899         (WebCore::RenderBox::minPreferredLogicalWidth):
1900         (WebCore::RenderBox::maxPreferredLogicalWidth):
1901         * rendering/RenderCounter.cpp:
1902         (WebCore::RenderCounter::computePreferredLogicalWidths):
1903         * rendering/RenderQuote.cpp:
1904         (WebCore::RenderQuote::computePreferredLogicalWidths):
1905         * rendering/mathml/RenderMathMLOperator.cpp:
1906         (WebCore::RenderMathMLOperator::computePreferredLogicalWidths):
1907         * rendering/mathml/RenderMathMLRoot.cpp:
1908         (WebCore::RenderMathMLRoot::computePreferredLogicalWidths):
1909         * rendering/mathml/RenderMathMLRow.cpp:
1910         (WebCore::RenderMathMLRow::computePreferredLogicalWidths):
1911
1912 2013-01-31  Abhishek Arya  <inferno@chromium.org>
1913
1914         Use ASSERT_WITH_SECURITY_IMPLICATION to catch bad casts in DOM
1915         https://bugs.webkit.org/show_bug.cgi?id=108490
1916  
1917         Reviewed by Eric Seidel.
1918
1919         * dom/ContainerNode.h:
1920         (WebCore::toContainerNode):
1921         * dom/Element.h:
1922         (WebCore::toElement):
1923         * dom/ShadowRoot.h:
1924         (WebCore::toShadowRoot):
1925         * dom/Text.h:
1926         (WebCore::toText):
1927         * html/HTMLElement.h:
1928         (HTMLElement):
1929         (WebCore::toHTMLElement):
1930         * html/HTMLFrameOwnerElement.h:
1931         (WebCore::toFrameOwnerElement):
1932         * html/HTMLMediaElement.cpp:
1933         (WebCore::HTMLMediaElement::hasMediaControls):
1934         * html/HTMLTemplateElement.cpp:
1935         (WebCore::toHTMLTemplateElement):
1936         * html/HTMLUnknownElement.h:
1937         (WebCore::toHTMLUnknownElement):
1938         * html/shadow/InsertionPoint.h:
1939         (WebCore::toInsertionPoint):
1940         * html/shadow/MediaControlElementTypes.cpp:
1941         (WebCore::mediaControlElementType):
1942         * html/shadow/MediaControls.h:
1943         (WebCore::toMediaControls):
1944         * html/shadow/SliderThumbElement.h:
1945         (WebCore::toSliderThumbElement):
1946         * html/shadow/TextControlInnerElements.h:
1947         (WebCore::toInputFieldSpeechButtonElement):
1948         * html/shadow/TextFieldDecorationElement.h:
1949         (WebCore::toTextFieldDecorationElement):
1950         * html/track/WebVTTElement.h:
1951         (WebCore::toWebVTTElement):
1952         * mathml/MathMLElement.h:
1953         (WebCore::toMathMLElement):
1954         * page/scrolling/ScrollingStateFixedNode.h:
1955         (WebCore::toScrollingStateFixedNode):
1956         * page/scrolling/ScrollingStateScrollingNode.h:
1957         (WebCore::toScrollingStateScrollingNode):
1958         * page/scrolling/ScrollingStateStickyNode.h:
1959         (WebCore::toScrollingStateStickyNode):
1960         * rendering/RenderLayer.cpp:
1961         (WebCore::RenderLayer::resize):
1962         * rendering/svg/SVGResources.cpp:
1963         (WebCore::registerPendingResource):
1964         (WebCore::SVGResources::buildCachedResources):
1965         * svg/SVGElement.h:
1966         (WebCore::toSVGElement):
1967         * svg/SVGStyledElement.h:
1968         (WebCore::toSVGStyledElement):
1969
1970 2013-01-31  Christopher Cameron  <ccameron@chromium.org>
1971
1972         Fix rubber-band effect on non-scrollable pages
1973         https://bugs.webkit.org/show_bug.cgi?id=107611
1974
1975         Reviewed by Antonio Gomes.
1976
1977         Handle a FrameView's wheel event even if it is not scrollable
1978         because Chrome relies on handling these wheel events for the
1979         over-scroll rubber-band effect.
1980  
1981         This had been removed in r138378
1982         [EFL][WK2] Never create WebCore scrollbars for EFL/WK2
1983         by kenneth@chromium.org
1984
1985         Tests: platform/chromium/rubberbanding/wheelevent-overhang-e.html
1986                platform/chromium/rubberbanding/wheelevent-overhang-n.html
1987                platform/chromium/rubberbanding/wheelevent-overhang-s.html
1988                platform/chromium/rubberbanding/wheelevent-overhang-w.html
1989
1990         * page/FrameView.cpp:
1991         (WebCore::FrameView::wheelEvent):
1992
1993 2013-01-31  Enrica Casucci  <enrica@apple.com>
1994
1995         Mac: Editor::baseWritingDirectionForSelectionStart should return WritingDirection instead of NSWritingDirection.
1996         https://bugs.webkit.org/show_bug.cgi?id=108519.
1997
1998         Reviewed by Sam Weinig.
1999
2000         No new tests, no change in behavior.
2001
2002         There is no need to use AppKit types here.
2003         baseWritingDirectionForSelectionStart now returns WritingDirection and
2004         WebHTMLView toggleWritingDirection has been modified accordingly.
2005         
2006         * editing/Editor.h:
2007         * editing/mac/EditorMac.mm:
2008         (WebCore::Editor::baseWritingDirectionForSelectionStart):
2009
2010 2013-01-31  Kentaro Hara  <haraken@chromium.org>
2011
2012         [V8] Pass an Isolate to GetTemplate() in CodeGeneratorV8.pm
2013         https://bugs.webkit.org/show_bug.cgi?id=108445
2014
2015         Reviewed by Adam Barth.
2016
2017         No tests. No change in behavior.
2018
2019         * bindings/scripts/CodeGeneratorV8.pm:
2020         (GenerateDomainSafeFunctionGetter):
2021         (GenerateDomainSafeFunctionSetter):
2022         (GenerateNormalAttrGetter):
2023         (GenerateNamedConstructorCallback):
2024         (GenerateImplementation):
2025         * bindings/scripts/test/V8/V8Float64Array.cpp:
2026         (WebCore::ConfigureV8Float64ArrayTemplate):
2027         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2028         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
2029         (WebCore::TestActiveDOMObjectV8Internal::TestActiveDOMObjectDomainSafeFunctionSetter):
2030         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2031         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
2032         * bindings/scripts/test/V8/V8TestNode.cpp:
2033         (WebCore::ConfigureV8TestNodeTemplate):
2034
2035 2013-01-31  Kentaro Hara  <haraken@chromium.org>
2036
2037         [V8] Clean up Dictionary::get() by removing redundant FindInstanceInPrototypeChain()
2038         https://bugs.webkit.org/show_bug.cgi?id=108443
2039
2040         Reviewed by Adam Barth.
2041
2042         In Dictionary::get(), wrapper->FindInstanceInPrototypeChain(V8XXX::GetTemplate())
2043         is unnecessary for DOM wrappers other than DOMWindow. For wrappers other than
2044         DOMWindow, we can simply use V8XXX::HasInstance(wrapper).
2045
2046         Tests: fast/events/constructors/*
2047
2048         * bindings/v8/Dictionary.cpp:
2049         (WebCore::Dictionary::get):
2050
2051 2013-01-31  Julien Chaffraix  <jchaffraix@webkit.org>
2052
2053         [CSS Grid Layout] Support implicit rows and columns
2054         https://bugs.webkit.org/show_bug.cgi?id=103573
2055
2056         Reviewed by Ojan Vafai.
2057
2058         Tests: fast/css-grid-layout/implicit-columns-auto-resolution.html
2059                fast/css-grid-layout/implicit-rows-auto-resolution.html
2060
2061         This change makes us properly initialize our GridTrack vectors's size
2062         so that we can safely query any items during layout.
2063
2064         * rendering/RenderGrid.cpp:
2065         (WebCore::RenderGrid::gridTrackSize):
2066         Added this helper function to return the track size from the grid
2067         element's columns' / rows' definitions or the default value.
2068
2069         (WebCore::RenderGrid::maximumIndexInDirection):
2070         Added this helper function to get the maximum index in a direction
2071         taking grid item's implicit indexes into account.
2072
2073         (WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
2074         Changed the funtion to not append the new tracks as we are properly
2075         sized now.
2076
2077         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
2078         (WebCore::RenderGrid::tracksAreWiderThanMinTrackBreadth):
2079         Updated these functions to use the new helper functions.
2080
2081         (WebCore::RenderGrid::layoutGridItems):
2082         Changed this function to size both vectors when initializing them.
2083         Also removed an unneeded bounds check as it shouldn't be needed anymore.
2084
2085         * rendering/RenderGrid.h:
2086         Added the new helper functions.
2087
2088         * rendering/style/GridTrackSize.h:
2089         (WebCore::GridTrackSize::GridTrackSize):
2090         Added a constructor taking a LengthType.
2091
2092 2013-01-31  Joanmarie Diggs  <jdiggs@igalia.com>
2093
2094         [GTK] fast/css/relative-positioned-block-crash.html is intermittently crashing
2095         https://bugs.webkit.org/show_bug.cgi?id=108200
2096
2097         Reviewed by Martin Robinson.
2098
2099         Getting the Position of a PseudoElement now triggers an assertion.
2100         This can occur when clicking on empty space in a render block.
2101         Looking to the unignored parent's node (and passing that accessible
2102         object on in a signal to Assistive Technologies) seems like the most
2103         reasonable thing to do here.
2104
2105         No new tests; instead skipping two tests that were crashing as a result.
2106
2107         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2108         (objectFocusedAndCaretOffsetUnignored):
2109
2110 2013-01-31  Kentaro Hara  <haraken@chromium.org>
2111
2112         [V8] Simplify CodeGeneratorV8.pm by using InheritsExtendedAttribute("EventTarget")
2113         https://bugs.webkit.org/show_bug.cgi?id=108441
2114
2115         Reviewed by Adam Barth.
2116
2117         A complicated condition in GetInternalFields() can be simplified
2118         by using InheritsExtendedAttribute("EventTarget").
2119
2120         No tests. No change in behavior.
2121
2122         * bindings/scripts/CodeGeneratorV8.pm:
2123         (GetInternalFields):
2124         * dom/EventTarget.idl: Added [EventTarget] which should have been added.
2125         * svg/SVGElementInstance.idl: Ditto.
2126
2127 2013-01-31  Youenn Fablet  <youennf@gmail.com>
2128
2129         Quadratic and bezier curves with coincident endpoints rendered incorrectly
2130         https://bugs.webkit.org/show_bug.cgi?id=105650
2131
2132         Reviewed by Kenneth Russell.
2133
2134         Tests: fast/canvas/canvas-bezier-same-endpoint.html
2135                fast/canvas/canvas-quadratic-same-endpoint.html
2136
2137         * html/canvas/CanvasPathMethods.cpp:
2138         (WebCore::CanvasPathMethods::quadraticCurveTo):
2139         (WebCore::CanvasPathMethods::bezierCurveTo):
2140
2141 2013-01-31  Mark Lam  <mark.lam@apple.com>
2142
2143         Abstraction for hiding enum class.
2144         https://bugs.webkit.org/show_bug.cgi?id=108533
2145
2146         Reviewed by Anders Carlsson.
2147
2148         No new tests.
2149
2150         * Modules/webdatabase/DatabaseError.h:
2151         (WebCore::ENUM_CLASS_BEGIN):
2152
2153 2013-01-31  Arnaud Renevier  <a.renevier@sisa.samsung.com>
2154
2155         [Gtk] drag and drop has black background without composition
2156         https://bugs.webkit.org/show_bug.cgi?id=108376
2157
2158         Reviewed by Martin Robinson.
2159
2160         Use gtk_drag_set_icon_surface (or gtk_drag_set_icon_pixbuf) when the
2161         screen is not composited. That way, drag window will be decomposited
2162         and rendered transparent with Xshape.
2163
2164         To determine which parts of the window must be transparent, gtk checks
2165         if a pixel is more than 50% opaque. With dissolveDragImageToFraction,
2166         all pixels are made 25% transparent. With antialiasing, opacity goes
2167         below the threshold for some pixels, which makes the resulting image
2168         messy. So, we need to skip dissolveDragImageToFraction when we use
2169         gtk_drag_set_icon_surface.
2170
2171         * platform/gtk/DragIcon.cpp:
2172         (WebCore::DragIcon::DragIcon):
2173         (WebCore::DragIcon::~DragIcon):
2174         (WebCore::DragIcon::setImage):
2175         (WebCore::DragIcon::useForDrag):
2176         * platform/gtk/DragIcon.h:
2177         (DragIcon):
2178         * platform/gtk/DragImageGtk.cpp:
2179         (WebCore::dissolveDragImageToFraction):
2180
2181 2013-01-31  Tony Gentilcore  <tonyg@chromium.org>
2182
2183         Begin to make XSSAuditor thread aware
2184         https://bugs.webkit.org/show_bug.cgi?id=108394
2185
2186         Reviewed by Adam Barth.
2187
2188         This patch moves the parts of filterToken() that depend on Frame, Document, etc. to a delegate class.
2189         The new didBlockScript delegate method is invoked with the resulting DidBlockScriptRequest which will
2190         be owned by the CompactHTMLToken in the threaded case.
2191
2192         This is just the first step as there is more to do to make XSSAuditor thread safe.
2193
2194         No new tests because covered by existing tests.
2195
2196         * CMakeLists.txt:
2197         * GNUmakefile.list.am:
2198         * Target.pri:
2199         * WebCore.gypi:
2200         * WebCore.vcproj/WebCore.vcproj:
2201         * WebCore.vcxproj/WebCore.vcxproj:
2202         * WebCore.vcxproj/WebCore.vcxproj.filters:
2203         * WebCore.xcodeproj/project.pbxproj:
2204         * html/parser/BackgroundHTMLParser.cpp:
2205         (WebCore::BackgroundHTMLParser::pumpTokenizer):
2206         * html/parser/HTMLDocumentParser.cpp:
2207         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
2208         (WebCore::HTMLDocumentParser::processTokensFromBackgroundParser):
2209         (WebCore::HTMLDocumentParser::pumpTokenizer):
2210         * html/parser/HTMLDocumentParser.h:
2211         (HTMLDocumentParser):
2212         * html/parser/XSSAuditor.cpp:
2213         (WebCore::XSSAuditor::filterToken):
2214         * html/parser/XSSAuditor.h:
2215         (WebCore):
2216         (XSSAuditor):
2217         * html/parser/XSSAuditorDelegate.cpp: Added.
2218         (WebCore):
2219         (WebCore::XSSAuditorDelegate::XSSAuditorDelegate):
2220         (WebCore::XSSAuditorDelegate::didBlockScript):
2221         * html/parser/XSSAuditorDelegate.h: Added.
2222         (WebCore):
2223         (DidBlockScriptRequest):
2224         (WebCore::DidBlockScriptRequest::create):
2225         (WebCore::DidBlockScriptRequest::DidBlockScriptRequest):
2226         (XSSAuditorDelegate):
2227
2228         * CMakeLists.txt:
2229         * GNUmakefile.list.am:
2230         * Target.pri:
2231         * WebCore.gypi:
2232         * WebCore.vcproj/WebCore.vcproj:
2233         * WebCore.vcxproj/WebCore.vcxproj:
2234         * WebCore.vcxproj/WebCore.vcxproj.filters:
2235         * WebCore.xcodeproj/project.pbxproj:
2236         * html/parser/BackgroundHTMLParser.cpp:
2237         (WebCore::BackgroundHTMLParser::pumpTokenizer):
2238         * html/parser/HTMLDocumentParser.cpp:
2239         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
2240         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
2241         (WebCore::HTMLDocumentParser::pumpTokenizer):
2242         * html/parser/HTMLDocumentParser.h:
2243         (HTMLDocumentParser):
2244         * html/parser/XSSAuditor.cpp:
2245         (WebCore::XSSAuditor::XSSAuditor):
2246         (WebCore::XSSAuditor::filterToken):
2247         * html/parser/XSSAuditor.h:
2248         (WebCore):
2249         (XSSAuditor):
2250         * html/parser/XSSAuditorDelegate.cpp: Added.
2251         (WebCore):
2252         (WebCore::XSSAuditorDelegate::XSSAuditorDelegate):
2253         (WebCore::XSSAuditorDelegate::didBlockScript):
2254         * html/parser/XSSAuditorDelegate.h: Added.
2255         (WebCore):
2256         (DidBlockScriptRequest):
2257         (WebCore::DidBlockScriptRequest::create):
2258         (WebCore::DidBlockScriptRequest::DidBlockScriptRequest):
2259         (XSSAuditorDelegate):
2260
2261 2013-01-31  Uday Kiran  <udaykiran@motorola.com>
2262
2263         CSS3's vh attribute is not adjusting while browser resizes
2264         https://bugs.webkit.org/show_bug.cgi?id=86418
2265
2266         Reviewed by Antti Koivisto.
2267
2268         Elements with viewport percentage units needs layout whenever
2269         viewport size changes. Check for viewport percentage unit
2270         was missing for height.
2271
2272         Test: css3/viewport-percentage-lengths/vh-resize.html
2273
2274         * rendering/RenderBlock.cpp:
2275         (WebCore::RenderBlock::updateBlockChildDirtyBitsBeforeLayout):
2276         * rendering/RenderBox.cpp:
2277         (WebCore::RenderBox::hasViewportPercentageLogicalHeight): Check if style
2278         is specified in viewport percentage units.
2279         (WebCore):
2280         * rendering/RenderBox.h:
2281         (RenderBox):
2282         * rendering/RenderView.cpp:
2283         (WebCore::RenderView::layout): Elements with viewport percentage units
2284         needs relayout when viewport size changes.
2285
2286 2013-01-31  Anton Vayvod  <avayvod@chromium.org>
2287
2288         TextAutosizing: refactor the cluster related method parameters into a single struct.
2289         https://bugs.webkit.org/show_bug.cgi?id=108384
2290
2291         This anticipates adding more cluster related information in the following patches.
2292         
2293         Reviewed by Kenneth Rohde Christiansen.
2294
2295         Just a refactoring so no new tests.
2296
2297         * rendering/TextAutosizer.cpp: define the new struct and pass it to every method instead of
2298         a cluster and its descendant block containing all text.
2299         * rendering/TextAutosizer.h: change method prototypes to receive the new struct
2300         as a parameter defining an autosizing cluster.
2301
2302         * rendering/TextAutosizer.cpp:
2303         (WebCore::TextAutosizingClusterInfo::TextAutosizingClusterInfo):
2304         (TextAutosizingClusterInfo):
2305         (WebCore):
2306         (WebCore::TextAutosizer::processSubtree):
2307         (WebCore::TextAutosizer::processCluster):
2308         (WebCore::TextAutosizer::processContainer):
2309         (WebCore::TextAutosizer::isAutosizingCluster):
2310         (WebCore::TextAutosizer::clusterShouldBeAutosized):
2311         (WebCore::TextAutosizer::measureDescendantTextWidth):
2312         * rendering/TextAutosizer.h:
2313         (WebCore):
2314
2315 2013-01-31  Jacky Jiang  <zhajiang@rim.com>
2316
2317         [BlackBerry] Bing Images viewport causes layout "fun"
2318         https://bugs.webkit.org/show_bug.cgi?id=108393
2319
2320         Reviewed by Yong Li.
2321         Internally reviewed by Arvid Nilsson and partially reviewed by Konrad Piascik.
2322
2323         PR: 277855
2324         On bing.com image search page, JS generated styles for the divs which
2325         contained images based on the window.screen and window.innerWidth.
2326         Unfortunately the styles for the divs weren't good enough on our device
2327         which resulted in three images being overlapped in the same viewport.
2328         On our port, we calculate the screen rect base on the physical screen
2329         pixels. However, iOS and lastest Android Chrome port already changed it
2330         to density-independent (logical) pixels. And also to my knowledge that
2331         some websites would generate bad styles for us as well through
2332         @media device-width/device-height.
2333         To be consistent and fix such kinds of issues, we should use
2334         density-independent pixels instead of physical screen pixels. Mainly
2335         ported from Chrome port change r139356. The patch will affect
2336         screen.width/height, window.outerWidth/outerHeight and
2337         @media device-width/device-height.
2338
2339         * platform/blackberry/PlatformScreenBlackBerry.cpp:
2340         (WebCore):
2341         (WebCore::toUserSpace):
2342         (WebCore::screenAvailableRect):
2343         (WebCore::screenRect):
2344
2345 2013-01-31  Max Vujovic  <mvujovic@adobe.com>
2346
2347         [CSS Shaders] Parse custom filter function with the at-rule reference syntax
2348         https://bugs.webkit.org/show_bug.cgi?id=108351
2349
2350         Reviewed by Dean Jackson.
2351
2352         This patch implements the parsing for the new custom filter function "at-rule reference"
2353         syntax. It does not implement the style resolution yet.
2354
2355         The custom function syntax has changed in the spec. Instead of including all of the custom
2356         filter information inline, the custom function can now reference an @filter rule by name.
2357         The custom function can still accept a list of parameters.
2358
2359         The syntax is defined as the following, where IDENT is the name of the @filter rule:
2360         filter: custom(IDENT [, <param>]*)
2361
2362         In practice, it can look like this:
2363         filter: custom(page-curl, direction 90, amount 0.5);
2364
2365         Spec: https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#customident-ltparamgt
2366
2367         Tests: css3/filters/custom-with-at-rule-syntax/parsing-custom-function-invalid.html
2368                css3/filters/custom-with-at-rule-syntax/parsing-custom-function-valid.html
2369
2370         * css/CSSParser.cpp:
2371         (WebCore::CSSParser::parseCustomFilterParameters):
2372             Factor out a new function that just parses custom filter parameters. This is used by the
2373             previous inline syntax and the new at-rule reference syntax.
2374         (WebCore):
2375         (WebCore::CSSParser::parseCustomFilterFunctionWithAtRuleReferenceSyntax):
2376             This method parses the new at-rule reference syntax. When we remove the inline syntax,
2377             we can rename this method to "parseCustomFilterFunction" and call it directly.
2378         (WebCore::CSSParser::parseCustomFilterFunctionWithInlineSyntax):
2379             Move the previous inline syntax parsing code into a new function.
2380         (WebCore::CSSParser::parseCustomFilterFunction):
2381             This method looks ahead in the CSS parser values and decides whether to parse the custom
2382             function with the previous inline syntax or with the new at-rule reference syntax.
2383         (WebCore::CSSParser::parseFilter):
2384             I renamed the "parseCustomFilter" method to "parseCustomFilterFunction" to be more
2385             explicit. Here, we update the name in the call site.
2386         * css/CSSParser.h:
2387         * css/StyleResolver.cpp:
2388         (WebCore::StyleResolver::createCustomFilterOperationWithAtRuleReferenceSyntax):
2389             This is a stub method. In the future, style resolution for the at-rule reference
2390             syntax will happen here. When we remove the inline syntax, we can rename this method 
2391         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
2392             This method contains the previous inline syntax style resolution code.
2393         (WebCore):
2394         (WebCore::StyleResolver::createCustomFilterOperation):
2395             This method decides which syntax we should use to resolve the style.
2396         * css/StyleResolver.h:
2397         (StyleResolver):
2398
2399 2013-01-31  Aurimas Liutikas  <aurimas@chromium.org>
2400
2401         Editor::m_compositionNode not updated on HTMLInputElement::setValue()
2402         https://bugs.webkit.org/show_bug.cgi?id=107737
2403
2404         Reviewed by Ryosuke Niwa.
2405
2406         Chromium has a bug where the IME composition did not get cancelled on JavaScript changes
2407         to the focused editing field. Most of other WebKit ports were already doing this check
2408         in their EditorClient::respondToChangedSelection. I took that logic and moved it to the
2409         Editor so every port and use the same code.
2410
2411         An existing test editing/input/setting-input-value-cancel-ime-composition.html covers this change.
2412         This test used to have an expectation to fail on Chromium and after this patch it will start passing.
2413
2414         * editing/Editor.cpp:
2415         (WebCore::Editor::cancelCompositionIfSelectionIsInvalid):
2416             Adding a call that can be used by any the port to cancel the composition if it's no longer valid.
2417         (WebCore):
2418         * editing/Editor.h:
2419         (Editor):
2420
2421 2013-01-31  Joseph Pecoraro  <pecoraro@apple.com>
2422
2423         Disable ENABLE_FULLSCREEN_API on iOS
2424         https://bugs.webkit.org/show_bug.cgi?id=108250
2425
2426         Reviewed by Benjamin Poulain.
2427
2428         * Configurations/FeatureDefines.xcconfig:
2429
2430 2013-01-31  Mark Pilgrim  <pilgrim@chromium.org>
2431
2432         [Chromium] Move LocalizedStrings to WebCore
2433         https://bugs.webkit.org/show_bug.cgi?id=108488
2434
2435         Reviewed by Adam Barth.
2436
2437         Part of a larger refactoring series; see tracking bug 106829.
2438
2439         * WebCore.gypi:
2440         * platform/chromium/LocalizedStringsChromium.cpp: Copied from Source/WebKit/chromium/src/LocalizedStrings.cpp.
2441         (WebCore::imageTitle):
2442
2443 2013-01-31  Enrica Casucci  <enrica@apple.com>
2444
2445         WebKit2: provide new bundle APIs to allow bundle clients to be notified of pasteboard access.
2446         https://bugs.webkit.org/show_bug.cgi?id=108396.
2447         <rdar://problem/12920461>
2448
2449         Reviewed by Alexey Proskuryakov.
2450
2451         Adds support in WebCore to new EditorClient methods to support the modified
2452         client bundle API in WebKit2.
2453
2454         * WebCore.exp.in:
2455         * editing/Editor.cpp:
2456         (WebCore::Editor::cut): Added call to willWriteSelectionToPasteboard.
2457         (WebCore::Editor::copy): Ditto.
2458         (WebCore::Editor::willWriteSelectionToPasteboard): Added.
2459         * editing/Editor.h:
2460         * loader/EmptyClients.h: Added empty client implementation
2461         for the new methods.
2462         (WebCore::EmptyEditorClient::willWriteSelectionToPasteboard):
2463         (WebCore::EmptyEditorClient::getClientPasteboardDataForRange):
2464         * page/EditorClient.h:
2465         * platform/mac/PasteboardMac.mm:
2466         (WebCore::Pasteboard::writeSelectionForTypes): Added call to getClientPasteboardDataForRange.
2467
2468 2013-01-31  David Kilzer  <ddkilzer@apple.com>
2469
2470         Use OS() and PLATFORM() macros in WebCorePrefix.h for readability
2471         <http://webkit.org/b/108374>
2472
2473         Reviewed by Laszlo Gombos.
2474
2475         * WebCorePrefix.h: Replaced all possible checks with OS() or
2476         PLATFORM() macros other than __APPLE__.
2477
2478 2013-01-31  Mike West  <mkwst@chromium.org>
2479
2480         Cleanup: Use ScriptExecutionContext::topOrigin when relevant.
2481         https://bugs.webkit.org/show_bug.cgi?id=108476
2482
2483         Reviewed by Jochen Eisinger.
2484
2485         Rather than diving through 'frame()->top()' or 'topDocument()' to get
2486         the SecurityOrigin of the top-level document in a frame, we can now
2487         directly grab the 'topOrigin()' off of a ScriptExecutionContext. This
2488         patch adjusts a few callsites to use the new hotness rather than the
2489         old brokenness.
2490
2491         This is a pure refactoring: No web-visible changes should result.
2492
2493         * Modules/webdatabase/DOMWindowWebDatabase.cpp:
2494         (WebCore::DOMWindowWebDatabase::openDatabase):
2495         * page/DOMWindow.cpp:
2496         (WebCore::DOMWindow::sessionStorage):
2497         (WebCore::DOMWindow::localStorage):
2498         * workers/SharedWorker.cpp:
2499         (WebCore::SharedWorker::create):
2500         * workers/WorkerMessagingProxy.cpp:
2501         (WebCore::WorkerMessagingProxy::startWorkerContext):
2502
2503 2013-01-31  peavo@outlook.com  <peavo@outlook.com>
2504
2505         [Curl] There is no way for a WebKit client to set the Curl cookie jar path
2506         https://bugs.webkit.org/show_bug.cgi?id=107692
2507
2508         Reviewed by Brent Fulgham.
2509
2510         Set default cookie jar path.
2511         Get the cookie jar path for Curl from the environment variable CURL_COOKIE_JAR_PATH.
2512
2513         * platform/network/curl/ResourceHandleManager.cpp:
2514         (WebCore::cookieJarPath): Added helper function to set cookie jar path.
2515         (WebCore::ResourceHandleManager::ResourceHandleManager): Call helper function.
2516
2517 2013-01-31  Maciej Stachowiak  <mjs@apple.com>
2518
2519         REGRESSION (r138962): Fails to show "confirm form resubmission", hangs browser
2520         https://bugs.webkit.org/show_bug.cgi?id=108214
2521
2522         Reviewed by Adam Barth.
2523         
2524         Attempt a workaround suggested by Nate Chapin by putting some code
2525         in #ifdef !PLATFORM(CHROMIUM).
2526
2527         * loader/MainResourceLoader.cpp:
2528         (WebCore::MainResourceLoader::notifyFinished):
2529
2530 2013-01-31  Ojan Vafai  <ojan@chromium.org>
2531
2532         REGRESSION(r128517): Percentage heights in quirks mode collapse when printing
2533         https://bugs.webkit.org/show_bug.cgi?id=108382
2534
2535         Reviewed by David Hyatt.
2536
2537         r128517 clean up our containing block finding logic, but broke percentage
2538         heights in quirks mode during printing since the RenderView would have 0 height.
2539         Turns out we already had a long-standing bug where we'd incorrectly
2540         treat collapse percentage heights on the body when printing as well.
2541
2542         Fix both bugs by changing the way we grab the logical height on the RenderView.
2543         RenderView::computeLogicalHeight returns 0 when printing. For the purposes of
2544         stretching and percentage heights, we instead need to return the pageLogicalHeight.
2545
2546         Tests: printing/quirks-percentage-height-body.html
2547                printing/quirks-percentage-height.html
2548                printing/standards-percentage-heights.html
2549
2550         * rendering/RenderBox.cpp:
2551         (WebCore::RenderBox::computeLogicalHeight):
2552         This FIXME is outdated and already fixed. Also, call viewLogicalHeightForPercentages
2553         which does the same logic except also correctly handles column RenderViews.
2554         (WebCore::RenderBox::viewLogicalHeightForPercentages):
2555         (WebCore::RenderBox::computePercentageLogicalHeight):
2556         * rendering/RenderBox.h:
2557
2558         * rendering/RenderBox.cpp:
2559         (WebCore::RenderBox::computeLogicalHeight):
2560         (WebCore::RenderBox::viewLogicalHeightForPercentages):
2561         (WebCore):
2562         (WebCore::RenderBox::computePercentageLogicalHeight):
2563         * rendering/RenderBox.h:
2564         (RenderBox):
2565
2566 2013-01-31  Dirk Schulze  <krit@webkit.org>
2567
2568         [canvas] Implement currentPath to get and set the current path of the context
2569         https://bugs.webkit.org/show_bug.cgi?id=108246
2570
2571         Reviewed by Dean Jackson.
2572
2573         Add currentPath attribute to CanvasRenderingContext2d interface. This allows
2574         setting the current context path by an existing Path object as well as getting
2575         the current context path as new Path object. The returned and the set Paths
2576         are not live.
2577
2578         This feature is behind the CANVAS_PATH compiler flag which is disabled by
2579         default for now.
2580
2581         Test: fast/canvas/canvas-currentPath.html
2582
2583         * html/canvas/CanvasPathMethods.cpp: Rename transformIsInvertible to
2584             isTransformInvertible for harmonizing naming schema.
2585         (WebCore::CanvasPathMethods::moveTo): Ditto.
2586         (WebCore::CanvasPathMethods::lineTo): Ditto.
2587         (WebCore::CanvasPathMethods::quadraticCurveTo): Ditto.
2588         (WebCore::CanvasPathMethods::bezierCurveTo): Ditto.
2589         (WebCore::CanvasPathMethods::arcTo): Ditto.
2590         (WebCore::CanvasPathMethods::arc): Ditto.
2591         (WebCore::CanvasPathMethods::rect): Ditto.
2592         * html/canvas/CanvasPathMethods.h: Ditto.
2593         (CanvasPathMethods):
2594         (WebCore::CanvasPathMethods::isTransformInvertible):
2595         * html/canvas/CanvasRenderingContext2D.cpp:
2596         (WebCore):
2597         (WebCore::CanvasRenderingContext2D::currentPath): Getter for currentPath.
2598         (WebCore::CanvasRenderingContext2D::setCurrentPath): Setter for currentPath.
2599         * html/canvas/CanvasRenderingContext2D.h:
2600         (WebCore):
2601         (CanvasRenderingContext2D):
2602         (WebCore::CanvasRenderingContext2D::isTransformInvertible):
2603         * html/canvas/CanvasRenderingContext2D.idl: Add currentPath attribute.
2604         * html/canvas/DOMPath.h: Add new constructor and getter for Path object.
2605         (WebCore::DOMPath::create): New static function for new ctor.
2606         (DOMPath):
2607         (WebCore::DOMPath::path): Getter for Path object.
2608         (WebCore::DOMPath::DOMPath):
2609
2610 2013-01-31  Alexandre Elias  <aelias@chromium.org>
2611
2612         Call FrameView::contentsResized() when setting fixed layout size
2613         https://bugs.webkit.org/show_bug.cgi?id=107922
2614
2615         Reviewed by James Robinson.
2616
2617         In fixed layout mode, we should be calling contentsResized() when the
2618         fixed layout size is changed, but not laying out when the visible
2619         content rect changes.
2620
2621         Previously landed as r140869 but was reverted due to a bug in bundled
2622         Chromium-specific code. This patch includes just the minimum needed in
2623         WebCore.
2624
2625         New WebFrameTest: FrameViewNeedsLayoutOnFixedLayoutResize.  Some
2626         flaky and obsolete tests for the old page scale mode are also deleted.
2627
2628         * page/FrameView.cpp:
2629         (WebCore::FrameView::visibleContentsResized):
2630         * platform/ScrollView.cpp:
2631         (WebCore::ScrollView::setFixedLayoutSize):
2632         (WebCore::ScrollView::setUseFixedLayout):
2633
2634 2013-01-31  Otto Derek Cheung  <otcheung@rim.com>
2635
2636         [BlackBerry] CookieParser should ignore invalid/unsupported attributes instead of ignoring the cookie
2637         https://bugs.webkit.org/show_bug.cgi?id=108494
2638
2639         PR 287832
2640         Reviewed by Rob Buis.
2641         Internally Reviewed by Liam Quinn.
2642
2643         A short-term fix for CookieParser to not blow up when a Set-Cookie header has an invalid
2644         or unsupported cookie attribute.
2645
2646         We will ignore the attribute only, not the entire cookie.
2647
2648         Also, making sure the parser won't replace values of valid attributes when evaluating an unsupported
2649         cookie with the same length and same first character as a supported attribute.
2650
2651         Tested using opera cookie and browser.swlab.rim.net cookies test suite. Tested using regular sites that
2652         has a login mechanism.
2653
2654         * platform/blackberry/CookieParser.cpp:
2655         (WebCore::CookieParser::parseOneCookie):
2656
2657 2013-01-31  Tommy Widenflycht  <tommyw@google.com>
2658
2659         [chromium] MediaStream API: Rename WebMediaStreamDescriptor and WebMediaStreamComponent to WebMediaStream and WebMediaStreamTrack
2660         https://bugs.webkit.org/show_bug.cgi?id=108458
2661
2662         Reviewed by Adam Barth.
2663
2664         Only renames, no other code changes.
2665
2666         * WebCore.gypi:
2667         * platform/chromium/support/WebMediaStream.cpp: Added.
2668         (WebKit::WebMediaStream::WebMediaStream):
2669         (WebKit):
2670         (WebKit::WebMediaStream::reset):
2671         (WebKit::WebMediaStream::label):
2672         (WebKit::WebMediaStream::id):
2673         (WebKit::WebMediaStream::extraData):
2674         (WebKit::WebMediaStream::setExtraData):
2675         (WebKit::WebMediaStream::audioSources):
2676         (WebKit::WebMediaStream::videoSources):
2677         (WebKit::WebMediaStream::operator=):
2678         (WebKit::WebMediaStream::operator PassRefPtr<WebCore::MediaStreamDescriptor>):
2679         (WebKit::WebMediaStream::operator WebCore::MediaStreamDescriptor*):
2680         (WebKit::WebMediaStream::initialize):
2681         (WebKit::WebMediaStream::assign):
2682         * platform/chromium/support/WebMediaStreamComponent.cpp: Removed.
2683         * platform/chromium/support/WebMediaStreamDescriptor.cpp: Removed.
2684         * platform/chromium/support/WebMediaStreamTrack.cpp: Added.
2685         (WebKit):
2686         (WebKit::WebMediaStreamTrack::WebMediaStreamTrack):
2687         (WebKit::WebMediaStreamTrack::operator=):
2688         (WebKit::WebMediaStreamTrack::initialize):
2689         (WebKit::WebMediaStreamTrack::reset):
2690         (WebKit::WebMediaStreamTrack::operator PassRefPtr<MediaStreamComponent>):
2691         (WebKit::WebMediaStreamTrack::operator MediaStreamComponent*):
2692         (WebKit::WebMediaStreamTrack::isEnabled):
2693         (WebKit::WebMediaStreamTrack::id):
2694         (WebKit::WebMediaStreamTrack::stream):
2695         (WebKit::WebMediaStreamTrack::source):
2696         (WebKit::WebMediaStreamTrack::assign):
2697         * platform/chromium/support/WebRTCStatsRequest.cpp:
2698         (WebKit::WebRTCStatsRequest::stream):
2699         (WebKit::WebRTCStatsRequest::component):
2700         * platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
2701         (WebCore::MediaStreamCenterChromium::didCreateMediaStream):
2702         (WebCore::MediaStreamCenterChromium::stopLocalMediaStream):
2703         (WebCore::MediaStreamCenterChromium::addMediaStreamTrack):
2704         (WebCore::MediaStreamCenterChromium::removeMediaStreamTrack):
2705         * platform/mediastream/chromium/MediaStreamCenterChromium.h:
2706         (WebKit):
2707         (MediaStreamCenterChromium):
2708         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
2709         (WebCore::RTCPeerConnectionHandlerChromium::didAddRemoteStream):
2710         (WebCore::RTCPeerConnectionHandlerChromium::didRemoveRemoteStream):
2711         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
2712         (WebKit):
2713         (RTCPeerConnectionHandlerChromium):
2714
2715 2013-01-31  Dmitry Zvorygin  <zvorygin@chromium.org>
2716
2717         Web Inspector: searching for <u> in elements panel finds all tags containing "u"
2718         https://bugs.webkit.org/show_bug.cgi?id=108176
2719
2720         Reviewed by Pavel Feldman.
2721
2722         When searching for tag name check that tag name must either start from
2723         search query, or must end with it.
2724
2725         * inspector/InspectorDOMAgent.cpp:
2726         (WebCore::InspectorDOMAgent::performSearch):
2727
2728 2013-01-30  Mark Lam  <mark.lam@apple.com>
2729
2730         DatabaseContext needs to outlive the ScriptExecutionContext.
2731         https://bugs.webkit.org/show_bug.cgi?id=108355.
2732
2733         Reviewed by Geoffrey Garen.
2734
2735         Added a RefPtr<DatabaseContext> in ScriptExecutionContext to keep the
2736         DatabaseContext alive until after ScriptExecutionContext destructs.
2737
2738         No new tests.
2739
2740         * Modules/webdatabase/DatabaseContext.cpp:
2741         (WebCore::DatabaseContext::DatabaseContext):
2742         * dom/ScriptExecutionContext.cpp:
2743         (WebCore::ScriptExecutionContext::setDatabaseContext):
2744         * dom/ScriptExecutionContext.h:
2745         (ScriptExecutionContext):
2746
2747 2013-01-31  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
2748
2749         On Linux, can't get spelling suggestions without selection when unified text checker is enabled
2750         https://bugs.webkit.org/show_bug.cgi?id=107684
2751
2752         Reviewed by Ryosuke Niwa.
2753
2754         No new tests, covered by context-menu-suggestions.html.
2755
2756         * editing/Editor.cpp:
2757         (WebCore::Editor::guessesForMisspelledOrUngrammatical):
2758         For Linux, extend selection range to the closest word to get
2759         the spelling suggestions when unified text checker is enabled.
2760
2761 2013-01-31  Florin Malita  <fmalita@chromium.org>
2762
2763         [Skia] Update SkiaImageFilterBuilder's brightness matrix to match Chromium's implementation
2764         https://bugs.webkit.org/show_bug.cgi?id=107841
2765
2766         Reviewed by Stephen White.
2767
2768         Update Skia's brightness filter to match the spec after http://trac.webkit.org/changeset/139770.
2769
2770         No new tests: covered by existing tests (currently disabled pending rebaseline).
2771
2772         * platform/graphics/filters/skia/SkiaImageFilterBuilder.cpp:
2773
2774 2013-01-31  Andrey Lushnikov  <lushnikov@chromium.org>
2775
2776         Web Inspector: show cursor location in DTE
2777         https://bugs.webkit.org/show_bug.cgi?id=108478
2778
2779         Reviewed by Pavel Feldman.
2780
2781         Add a new status bar element to SourceFrame to display current
2782         DefaultTextEditor cursor position.
2783
2784         No new tests.
2785
2786         * English.lproj/localizedStrings.js:
2787         * inspector/front-end/DefaultTextEditor.js:
2788         (WebInspector.DefaultTextEditor.prototype.copyRange):
2789         * inspector/front-end/SourceFrame.js:
2790         (WebInspector.SourceFrame):
2791         (WebInspector.SourceFrame.prototype.statusBarItems):
2792         (WebInspector.SourceFrame.prototype.selectionChanged):
2793         (WebInspector.SourceFrame.prototype._updateSourcePosition):
2794         * inspector/front-end/TextEditor.js:
2795         (WebInspector.TextEditor.prototype.copyRange):
2796         * inspector/front-end/inspector.css:
2797         (.source-frame-position):
2798
2799 2013-01-31  Andrey Lushnikov  <lushnikov@chromium.org>
2800
2801         Web Inspector: overlay highlight in DTE gets messed up when zoom factor changes.
2802         https://bugs.webkit.org/show_bug.cgi?id=108486
2803
2804         Reviewed by Pavel Feldman.
2805
2806         Repaint overlay highlight when zoom factor changes.
2807
2808         No new tests.
2809
2810         * inspector/front-end/DefaultTextEditor.js:
2811         (WebInspector.TextEditorMainPanel.prototype.highlightRegex):
2812         (WebInspector.TextEditorMainPanel.prototype.removeHighlight):
2813         (WebInspector.TextEditorMainPanel.prototype.highlightRange):
2814         (WebInspector.TextEditorMainPanel.prototype._repaintLineRowsAffectedByHighlightDescriptors):
2815         (WebInspector.TextEditorMainPanel.prototype.resize):
2816
2817 2013-01-31  Simon Hausmann  <simon.hausmann@digia.com>
2818
2819         [Qt] Fix minor memory leak in slot execution
2820
2821         Reviewed by Allan Sandfeld Jensen.
2822
2823         Don't leak the "length" string when executing a slot in JavaScript.
2824
2825         * bridge/qt/qt_runtime.cpp:
2826         (JSC::Bindings::QtConnectionObject::execute):
2827
2828 2013-01-31  Mike West  <mkwst@chromium.org>
2829
2830         Allow blocking of IndexedDB in third-party contexts
2831         https://bugs.webkit.org/show_bug.cgi?id=94171
2832
2833         Reviewed by Jochen Eisinger.
2834
2835         This patch ensures that the origin of the top window is passed into
2836         SecurityOrigin::canAccessDatabase when working with IndexedDB. Giving
2837         SecurityOrigin access to this data means that it can properly check
2838         whether the database is being opened in a third-party context, and
2839         therefore properly enforce the third-party access checks that were
2840         added in http://trac.webkit.org/changeset/125736.
2841
2842         Third-party checks are added to IDBFactory::open,
2843         IDBFactory::deleteDatabase, and IDBFactory::getDatabaseNames; each will
2844         now throw a SECURITY_ERR exception when access in a third-party context
2845         if third-party access checks are enabled.
2846
2847         To make this process slightly more clear, and avoid some ugly casting
2848         logic, this patch adds a 'topOrigin'  method to ScriptExecutionContext,
2849         and implements it on both WorkerContext and Document.
2850
2851         Tests: http/tests/security/cross-origin-indexeddb-allowed.html
2852                http/tests/security/cross-origin-indexeddb.html
2853                http/tests/security/cross-origin-worker-indexeddb-allowed.html
2854                http/tests/security/cross-origin-worker-indexeddb.html
2855
2856         * Modules/indexeddb/IDBFactory.cpp:
2857         (WebCore::IDBFactory::getDatabaseNames):
2858         (WebCore::IDBFactory::openInternal):
2859         (WebCore::IDBFactory::deleteDatabase):
2860             Grab the SecurityOrigin of the current context's top-level origin,
2861             and pass it to SecurityOrigin::canAccessDatabase to ensure that
2862             access checks are properly applied to these three methods.
2863         * dom/Document.cpp:
2864         (WebCore::Document::topOrigin):
2865         (WebCore):
2866         * dom/Document.h:
2867         (Document):
2868         * dom/ScriptExecutionContext.h:
2869         (ScriptExecutionContext):
2870             Add a topOrigin() method to ScriptExecutionContext, and implement it
2871             on Document in order to give callers access to the top document's
2872             SecurityOrigin without casting ScriptExecutionContext.
2873         * workers/WorkerContext.h:
2874             Change the existing topOrigin() method to override the new method
2875             on ScriptExecutionContext.
2876
2877 2013-01-31  Eugene Klyuchnikov  <eustas@chromium.org>
2878
2879         Web Inspector: [Network] Add cookie column to show presence of request/response cookies.
2880         https://bugs.webkit.org/show_bug.cgi?id=107441
2881
2882         Reviewed by Pavel Feldman.
2883
2884         In some use cases only responses that contain "set-cookie" headers
2885         are interesting.
2886
2887         * English.lproj/localizedStrings.js: Added "Set-Cookies" string.
2888         * inspector/front-end/NetworkPanel.js:
2889         (WebInspector.NetworkLogView.prototype._createTable): Added columns.
2890         (WebInspector.NetworkLogView.prototype._createSortingFunctions): Ditto.
2891         (WebInspector.NetworkDataGridNode.prototype.createCells): Ditto.
2892         (WebInspector.NetworkDataGridNode.prototype.refreshRequest): Ditto.
2893         (WebInspector.NetworkDataGridNode.prototype._refreshCookiesCell): Added.
2894         (WebInspector.NetworkDataGridNode.prototype._refreshSetCookiesCell): Added.
2895         (WebInspector.NetworkDataGridNode.RequestCookiesCountComparator): Added.
2896         (WebInspector.NetworkDataGridNode.ResponseCookiesCountComparator): Added.
2897
2898 2013-01-31  Andrey Adaikin  <aandrey@chromium.org>
2899
2900         Web Inspector: Exception in HeapSnapshotView.js
2901         https://bugs.webkit.org/show_bug.cgi?id=108456
2902
2903         Reviewed by Yury Semikhatsky.
2904
2905         Listen "profile added" events in the HeapSnapshotView targeted only to the Heap Snapshot type.
2906
2907         * inspector/front-end/HeapSnapshotView.js:
2908         (WebInspector.HeapSnapshotView.prototype._onProfileHeaderAdded):
2909
2910 2013-01-31  Andrey Lushnikov  <lushnikov@chromium.org>
2911
2912         Web Inspector: do not set any textContent in overlay highlight spans
2913         https://bugs.webkit.org/show_bug.cgi?id=108460
2914
2915         Reviewed by Pavel Feldman.
2916
2917         Do not set any text content for overlay highlight spans to implicitly
2918         set its height. Instead, measure its height in the same manner as its
2919         done for "width" and "left" and set it explicitly.
2920
2921         No new tests: no change in behaviour.
2922
2923         * inspector/front-end/DefaultTextEditor.js:
2924         (WebInspector.TextEditorMainPanel.prototype._appendOverlayHighlight):
2925         (WebInspector.TextEditorMainPanel.ElementMetrics):
2926         * inspector/front-end/textEditor.css:
2927         (.text-editor-token-highlight): Update highlight to correspond to
2928         slightly different elements height.
2929
2930 2013-01-31  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2931
2932         [Qt] Box shadows on a transparency layer is very slow
2933         https://bugs.webkit.org/show_bug.cgi?id=107547
2934
2935         Reviewed by Noam Rosenthal.
2936
2937         Include the window boundaries in the clip returned by GraphicsContext,
2938         since QPainter may remember clips larger than the destination, but
2939         ShadowBlur uses the clipBounds to determine the size of the shadow layer.
2940
2941         * platform/graphics/qt/GraphicsContextQt.cpp:
2942         (WebCore::GraphicsContext::clipBounds):
2943
2944 2013-01-31  Pavel Feldman  <pfeldman@chromium.org>
2945
2946         Web Inspector: highlight backend languages as scripts
2947         https://bugs.webkit.org/show_bug.cgi?id=108336
2948
2949         Reviewed by Vsevolod Vlasov.
2950
2951         Most languages have structure similar to js, so enabling default highlighter for them won't hurt.
2952
2953         * inspector/front-end/FileSystemWorkspaceProvider.js:
2954         (WebInspector.FileSystemWorkspaceProvider.prototype._contentTypeForPath):
2955
2956 2013-01-31  Andrey Adaikin  <aandrey@chromium.org>
2957
2958         Web Inspector: [Profiles] show launcher view upon deleting last profile type's header
2959         https://bugs.webkit.org/show_bug.cgi?id=108468
2960
2961         Reviewed by Pavel Feldman.
2962
2963         We should show launcher view and hide profile type sidebar section upon deleting last profile type's header from the sidebar.
2964         Right now we only show launcher view upon deleting the last profile header (of any profile type).
2965
2966         * inspector/front-end/ProfilesPanel.js:
2967         (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
2968
2969 2013-01-31  Eugene Klyuchnikov  <eustas@chromium.org>
2970
2971         Web Inspector: [Network] Columns are misaligned as first row goes out of sight.
2972         https://bugs.webkit.org/show_bug.cgi?id=107933
2973
2974         Reviewed by Pavel Feldman.
2975
2976         For some reason if "td" elements in first table row have "display: none"
2977         style, then column width calculation breaks.
2978
2979         * inspector/front-end/networkLogView.css:
2980         (.network-log-grid.data-grid tr.offscreen > td > div):
2981         Hide content instead of "td" element itself.
2982
2983 2013-01-31   Vineet Chaudhary  <rgf748@motorola.com>
2984
2985         formMethod to have empty string as default value and 'get' as invalid.
2986         https://bugs.webkit.org/show_bug.cgi?id=108263
2987
2988         Reviewed by Kent Tamura.
2989
2990         The spec says formmethod should only have an invalid value default, not a missing value default.
2991         Spec: http://www.whatwg.org/specs/web-apps/current-work/#form-submission-0
2992               http://www.w3.org/html/wg/drafts/html/master/forms.html#attr-fs-formmethod
2993
2994         Test: fast/forms/formmethod-attribute-test.html
2995
2996         * html/HTMLFormControlElement.cpp: For the missing formMethod attr return empty string.
2997         (WebCore::HTMLFormControlElement::formMethod):
2998
2999 2013-01-20 Kondapally Kalyan <kalyan.kondapally@intel.com>
3000
3001         [Efl][WebGL] Add better support to track and free XResources.
3002         https://bugs.webkit.org/show_bug.cgi?id=107397
3003
3004         Reviewed by Noam Rosenthal.
3005
3006         We leak Memory during config selection as we dont free temporary
3007         allocated visuals, config etc. This patch ensures that we dont leak any
3008         memory.
3009
3010         Covered by existing WebGL tests.
3011
3012         * platform/graphics/surfaces/egl/EGLSurface.cpp:
3013         (WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
3014         * platform/graphics/surfaces/glx/GLXConfigSelector.h:
3015         (WebCore::GLXConfigSelector::GLXConfigSelector):
3016         (WebCore::GLXConfigSelector::visualInfo):
3017         (WebCore::GLXConfigSelector::pBufferContextConfig):
3018         (WebCore::GLXConfigSelector::surfaceContextConfig):
3019         (WebCore::GLXConfigSelector::createSurfaceConfig):
3020         (GLXConfigSelector):
3021         Removed XVisualInfo as member variable. Fixed memory leaks.
3022
3023         * platform/graphics/surfaces/glx/GLXSurface.cpp:
3024         (WebCore::GLXTransportSurface::GLXTransportSurface):
3025         * platform/graphics/surfaces/glx/OwnPtrX11.h: Added.
3026         (OwnPtrX11):
3027         (WebCore::OwnPtrX11::OwnPtrX11):
3028         (WebCore::OwnPtrX11::~OwnPtrX11):
3029         (WebCore::OwnPtrX11::operator=):
3030         (WebCore::OwnPtrX11::operator T*):
3031         (WebCore::OwnPtrX11::operator->):
3032         (WebCore::OwnPtrX11::get):
3033         Calls XFree on pointer to memory allocated by X when the class goes out of scope.
3034         OwnPtr cannot be used here as GLXFBConfig is a pointer to an array of pointers.
3035
3036         * platform/graphics/surfaces/glx/X11WindowResources.cpp:
3037         (WebCore::X11OffScreenWindow::X11OffScreenWindow):
3038         (WebCore::X11OffScreenWindow::~X11OffScreenWindow):
3039         (WebCore):
3040         (WebCore::X11OffScreenWindow::createOffScreenWindow):
3041         (WebCore::X11OffScreenWindow::destroyWindow):
3042         (WebCore::X11OffScreenWindow::nativeSharedDisplay):
3043         * platform/graphics/surfaces/glx/X11WindowResources.h:
3044         (X11OffScreenWindow):
3045         Removed unused code. Fixed memory leaks.
3046
3047 2013-01-31  Andrey Adaikin  <aandrey@chromium.org>
3048
3049         Web Inspector: [Canvas] remove invalid canvas profile trace logs upon frame navigation
3050         https://bugs.webkit.org/show_bug.cgi?id=108454
3051
3052         Reviewed by Pavel Feldman.
3053
3054         When canvas profile trace logs stored in the backend get destroyed (for example, on frame navigation), send an event to frontend and update the UI.
3055         Drive-by: replace String types to corresponding TypeBuilder::Canvas::* typedefs.
3056
3057         * inspector/InjectedScriptCanvasModule.cpp:
3058         (WebCore::InjectedScriptCanvasModule::captureFrame):
3059         (WebCore::InjectedScriptCanvasModule::startCapturing):
3060         (WebCore::InjectedScriptCanvasModule::callStartCapturingFunction):
3061         (WebCore::InjectedScriptCanvasModule::stopCapturing):
3062         (WebCore::InjectedScriptCanvasModule::dropTraceLog):
3063         (WebCore::InjectedScriptCanvasModule::callVoidFunctionWithTraceLogIdArgument):
3064         (WebCore::InjectedScriptCanvasModule::traceLog):
3065         (WebCore::InjectedScriptCanvasModule::replayTraceLog):
3066         (WebCore::InjectedScriptCanvasModule::resourceInfo):
3067         (WebCore::InjectedScriptCanvasModule::resourceState):
3068         * inspector/InjectedScriptCanvasModule.h:
3069         (InjectedScriptCanvasModule):
3070         * inspector/Inspector.json:
3071         * inspector/InspectorCanvasAgent.cpp:
3072         (WebCore::InspectorCanvasAgent::dropTraceLog):
3073         (WebCore::InspectorCanvasAgent::stopCapturing):
3074         (WebCore::InspectorCanvasAgent::getTraceLog):
3075         (WebCore::InspectorCanvasAgent::replayTraceLog):
3076         (WebCore::InspectorCanvasAgent::getResourceInfo):
3077         (WebCore::InspectorCanvasAgent::getResourceState):
3078         (WebCore::InspectorCanvasAgent::frameNavigated):
3079         * inspector/InspectorCanvasAgent.h:
3080         (InspectorCanvasAgent):
3081         * inspector/InspectorPageAgent.cpp:
3082         (WebCore::InspectorPageAgent::hasIdForFrame):
3083         (WebCore):
3084         * inspector/InspectorPageAgent.h:
3085         (InspectorPageAgent):
3086         * inspector/front-end/CanvasProfileView.js:
3087         (WebInspector.CanvasProfileType.prototype._runSingleFrameCapturing):
3088         (WebInspector.CanvasProfileType.prototype._startFrameCapturing):
3089         (WebInspector.CanvasProfileType.prototype._didStartCapturingFrame):
3090         (WebInspector.CanvasProfileType.prototype._traceLogsRemoved):
3091         (WebInspector.CanvasDispatcher.prototype.contextCreated):
3092         (WebInspector.CanvasDispatcher.prototype.traceLogsRemoved):
3093         (WebInspector.CanvasProfileHeader):
3094         (WebInspector.CanvasProfileHeader.prototype.frameId):
3095
3096 2013-01-31  Andrey Lushnikov  <lushnikov@chromium.org>
3097
3098         Web Inspector: DTE doesn't highlight words if the selected one is the last in the line
3099         https://bugs.webkit.org/show_bug.cgi?id=108344
3100
3101         Reviewed by Pavel Feldman.
3102
3103         Fix error in _isWord function which made an erroneous line-end check.
3104
3105         Improved test: inspector/editor/text-editor-highlight-token.html
3106
3107         * inspector/front-end/DefaultTextEditor.js:
3108         (WebInspector.TextEditorMainPanel.TokenHighlighter.prototype._isWord):
3109
3110 2013-01-31  Philippe Normand  <pnormand@igalia.com>
3111
3112         Unreviewed, Qt build fix after r141265.
3113
3114         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3115         Avoid uninitialized variable error when NATIVE_FULLSCREEN_VIDEO is disabled.
3116
3117 2013-01-31  Kent Tamura  <tkent@chromium.org>
3118
3119         Click on a label element won't select input[type=date]
3120         https://bugs.webkit.org/show_bug.cgi?id=108428
3121
3122         Reviewed by Kentaro Hara.
3123
3124         date/time input types with INPUT_MULTIPLE_FIELDS_UI are not
3125         mouse-focusable. <input> as a shadow host never gets focus and
3126         sub-fields in its shadow tree are focusable. Howevever, the click
3127         handling of <label> checked isMouseFocusable. We introduce new function
3128         isFocusableByClickOnLabel to HTMLElement. It's default implementation is
3129         same as isMouseFocusable, and we add special handling for
3130         BaseMultipleFieldsDateAndTimeInputType::isFocusableByClickOnLabel.
3131
3132         Also, date/time input types without INPUT_MULTIPLE_FIELDS_UI were not
3133         mouse-focusable by a mistake. It should be mouse-focusable.
3134
3135         Test: fast/forms/date/date-click-on-label.html
3136
3137         * html/HTMLElement.cpp:
3138         (WebCore::HTMLElement::isFocusableByClickOnLabel):
3139         Added. Just calls isMouseFocusable.
3140         * html/HTMLElement.h:
3141         (HTMLElement): Declare isFocusableByClickOnLabel.
3142         * html/HTMLLabelElement.cpp:
3143         (WebCore::HTMLLabelElement::defaultEventHandler):
3144         Calls isFocusableByClickOnLabel instead of isMouseFocusable.
3145
3146         * html/HTMLInputElement.cpp:
3147         (WebCore::HTMLInputElement::isFocusableByClickOnLabel):
3148         Delegate to InputType::isFocusableByClickOnLabel.
3149         * html/HTMLInputElement.h:
3150         (HTMLInputElement): Declare isFocusableByClickOnLabel.
3151         * html/InputType.cpp:
3152         (WebCore::InputType::isFocusableByClickOnLabel):
3153         Added. Calls isMouseFocusable.
3154         * html/InputType.h:
3155         (InputType): Declare isFocusableByClickOnLabel.
3156
3157         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
3158         (WebCore::BaseMultipleFieldsDateAndTimeInputType::isFocusableByClickOnLabel):
3159         Added. Use the same logic with textfields.
3160         * html/BaseMultipleFieldsDateAndTimeInputType.h:
3161         (BaseMultipleFieldsDateAndTimeInputType): Declare isFocusableByClickOnLabel.
3162         * html/BaseChooserOnlyDateAndTimeInputType.cpp:
3163         (WebCore::BaseChooserOnlyDateAndTimeInputType::isMouseFocusable):
3164         Added. Use the same logic with textfields.
3165         * html/BaseChooserOnlyDateAndTimeInputType.h:
3166         (BaseChooserOnlyDateAndTimeInputType): Declare isMouseFocusable.
3167
3168 2013-01-31  Kentaro Hara  <haraken@chromium.org>
3169
3170         Rename WheelEvent::Granularity to WheelEvent::DeltaMode
3171         https://bugs.webkit.org/show_bug.cgi?id=108434
3172
3173         Reviewed by Ryosuke Niwa.
3174
3175         Per the spec, WheelEvent::Granularity should be renamed to WheelEvent::DeltaMode.
3176
3177         Spec: http://www.w3.org/TR/DOM-Level-3-Events/#events-WheelEvent
3178         https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm#constructor-wheelevent
3179
3180         No tests. No change in behavior.
3181
3182         * dom/WheelEvent.cpp:
3183         (WebCore::WheelEvent::WheelEvent):
3184         (WebCore::WheelEvent::initWheelEvent):
3185         (WebCore::deltaMode):
3186         (WebCore::WheelEventDispatchMediator::WheelEventDispatchMediator):
3187         * dom/WheelEvent.h:
3188         (WebCore::WheelEvent::create):
3189         (WebCore::WheelEvent::deltaMode):
3190         (WheelEvent):
3191         * page/EventHandler.cpp:
3192         (WebCore::wheelGranularityToScrollGranularity):
3193         (WebCore::EventHandler::defaultWheelEventHandler):
3194
3195 2013-01-30  Yury Semikhatsky  <yurys@chromium.org>
3196
3197         Web Inspector: test that nodes from the same detached DOM tree will get into one group in heap snapshot
3198         https://bugs.webkit.org/show_bug.cgi?id=108202
3199
3200         Reviewed by Vsevolod Vlasov.
3201
3202         Test: inspector-protocol/heap-profiler/heap-snapshot-with-detached-dom-tree.html
3203
3204         * inspector/front-end/JSHeapSnapshot.js:
3205         (WebInspector.JSHeapSnapshotNode.prototype.className): removed unnecessary i18n.
3206
3207 2013-01-31  Kentaro Hara  <haraken@chromium.org>
3208
3209         [V8] Trace not only major DOM GCs but also minor DOM GCs
3210         https://bugs.webkit.org/show_bug.cgi?id=108436
3211
3212         Reviewed by Adam Barth.
3213
3214         Currently only major DOM GCs are traced.
3215         We should also trace minor DOM GCs.
3216
3217         No tests. No change in behavior.
3218
3219         * bindings/v8/V8GCController.cpp:
3220         (WebCore::V8GCController::minorGCPrologue):
3221         (WebCore::V8GCController::minorGCEpilogue):
3222
3223 2013-01-31  Yury Semikhatsky  <yurys@chromium.org>
3224
3225         Layout Test inspector-protocol/take-heap-snapshot.html crashes in the Debug mode
3226         https://bugs.webkit.org/show_bug.cgi?id=104800
3227
3228         Reviewed by Jochen Eisinger.
3229
3230         The test crashed because during snapshot generation Profiler.reportHeapSnapshotProgress
3231         events were sent to the inspector front-end, then parsed and dispatched there.
3232         Since in case of layout tests the front-end resides in the same process
3233         as the inspected page parsing the event broke an assumption that there are
3234         no JS heap allocations while heap snapshot is being taken.
3235
3236         I added optional boolean parameter 'reportProgress' to Profiler.takeHeapSnapshot
3237         command so that the protocol client can control whether progress events should
3238         be sent during snapshot generation. The protocol test is not interested in the
3239         progress events and sets reportProgress to false.
3240
3241         Test: inspector-protocol/heap-profiler/take-heap-snapshot.html
3242
3243         * inspector/Inspector.json:
3244         * inspector/InspectorProfilerAgent.cpp:
3245         (WebCore::InspectorProfilerAgent::takeHeapSnapshot):
3246         * inspector/InspectorProfilerAgent.h:
3247         (InspectorProfilerAgent):
3248         * inspector/front-end/ProfilesPanel.js:
3249         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
3250
3251 2013-01-31  Sheriff Bot  <webkit.review.bot@gmail.com>
3252
3253         Unreviewed, rolling out r141110.
3254         http://trac.webkit.org/changeset/141110
3255         https://bugs.webkit.org/show_bug.cgi?id=108349
3256
3257         This patch broke WK2-EFL unit tests (Requested by grzegorz on
3258         #webkit).
3259
3260         * platform/text/TextChecking.h:
3261         (WebCore):
3262
3263 2013-01-31  Kentaro Hara  <haraken@chromium.org>
3264
3265         [V8] 'new MouseEvent("click", {relatedTarget: window}).window' should return window
3266         https://bugs.webkit.org/show_bug.cgi?id=108432
3267
3268         Reviewed by Adam Barth.
3269
3270         In V8 'new MouseEvent("click", {relatedTarget: window}).window'
3271         returns null. JSC returns window, which is a correct behavior.
3272         V8 should also return window.
3273
3274         The point is that we need to handle a DOMWindow wrapper specially
3275         before converting it to an EventTarget object. A wrapper returned by
3276         Dictionary::get("relatedTarget") is not an expected DOMWindow wrapper.
3277         To get the expected DOMWindow wrapper, we need to look up a prototype
3278         chain of the DOMWindow wrapper.
3279
3280         In JSC, this special handling is done by JSEventTargetCustom::toEventTarget().
3281
3282         Test: fast/events/constructors/mouse-event-constructor.html
3283
3284         * bindings/v8/Dictionary.cpp:
3285         (WebCore::Dictionary::get):
3286
3287 2013-01-31  Mark Pilgrim  <pilgrim@chromium.org>
3288
3289         [Chromium] Move MediaPlayerPrivateChromium to WebCore
3290         https://bugs.webkit.org/show_bug.cgi?id=108415
3291
3292         Reviewed by Adam Barth.
3293
3294         Part of a larger refactoring series; see tracking bug 106829.
3295
3296         * WebCore.gypi:
3297         * platform/graphics/chromium/MediaPlayerPrivateChromium.cpp: Added.
3298         (WebCore):
3299         (WebCore::MediaPlayerPrivate::registerMediaEngine): call
3300         registerMediaEngine through static function pointer that was set
3301         during WebKit initializeWithoutV8
3302         (WebCore::MediaPlayerPrivate::setMediaEngineRegisterSelfFunction):
3303         new setter function that takes a function pointer that is used by registerMediaEngine
3304         * platform/graphics/chromium/MediaPlayerPrivateChromium.h:
3305         (WebCore):
3306         (MediaPlayerPrivate):
3307
3308 2013-01-30  Patrick Gansterer  <paroga@webkit.org>
3309
3310         Port DragImageWin.cpp to WinCE
3311         https://bugs.webkit.org/show_bug.cgi?id=108329
3312
3313         Reviewed by Brent Fulgham.
3314
3315         Add #if !OS(WINCE) around a few lines of the code, so it can be used by the WinCE port too.
3316
3317         * PlatformWinCE.cmake:
3318         * platform/win/DragImageWin.cpp:
3319         (WebCore::dragLabelFont):
3320         * platform/wince/DragImageWinCE.cpp: Removed.
3321
3322 2013-01-30  Hayato Ito  <hayato@chromium.org>
3323
3324         Split CSSOMWrapper data and functions out from StyleResolver into its own class.
3325         https://bugs.webkit.org/show_bug.cgi?id=107779
3326
3327         Reviewed by Dimitri Glazkov.
3328
3329         Factored CSSOMWrapper logic and data out from StyleResolver into a
3330         InspectorCSSOMWrappers class.  Since InspectorCSSOMWrappers
3331         depends on static variables defined in StyleResolver.cpp, this
3332         patch does not extract a new class into a new file, which makes a
3333         review easier since it produces readable diffs.
3334
3335         After we factor static variables related to default style sheets
3336         in a following patch (bug 107780), I'll move
3337         InspectorCSSOMWrappers into a its own file.
3338
3339         No new tests, refactoring only.
3340
3341         * css/StyleResolver.cpp:
3342         (WebCore):
3343         (WebCore::StyleResolver::appendAuthorStyleSheets):
3344         (WebCore::InspectorCSSOMWrappers::collectFromStyleSheetIfNeeded):
3345         (WebCore::InspectorCSSOMWrappers::collect):
3346         (WebCore::InspectorCSSOMWrappers::collectFromStyleSheetContents): Name it explicitly rather than overloading.
3347         (WebCore::InspectorCSSOMWrappers::collectFromStyleSheets): Name it explicitly rather than overloading.
3348         (WebCore::InspectorCSSOMWrappers::collectFromDocumentStyleSheetCollection): Name it explicitly rather than overloading.
3349         (WebCore::InspectorCSSOMWrappers::getWrapperForRuleInSheets): Renamed from ensureFullCSSOMWrapperForInspector().
3350         (WebCore::InspectorCSSOMWrappers::reportMemoryUsage):
3351         (WebCore::StyleResolver::reportMemoryUsage):
3352         * css/StyleResolver.h:
3353         (InspectorCSSOMWrappers):
3354         (WebCore):
3355         (StyleResolver):
3356         (WebCore::StyleResolver::inspectorCSSOMWrappers):
3357         * inspector/InspectorCSSAgent.cpp:
3358         (WebCore::InspectorCSSAgent::willMatchRule):
3359         (WebCore::InspectorCSSAgent::willProcessRule):
3360         (WebCore::InspectorCSSAgent::buildObjectForRule):
3361
3362 2013-01-30  Sheriff Bot  <webkit.review.bot@gmail.com>
3363
3364         Unreviewed, rolling out r141358.
3365         http://trac.webkit.org/changeset/141358
3366         https://bugs.webkit.org/show_bug.cgi?id=108421
3367
3368         breaks android builder (Requested by morrita on #webkit).
3369
3370         * bindings/v8/custom/V8IntentCustom.cpp:
3371
3372 2013-01-30  Kentaro Hara  <haraken@chromium.org>
3373
3374         [V8] Use state->isolate() when state is not 0
3375         https://bugs.webkit.org/show_bug.cgi?id=107674
3376
3377         Reviewed by Adam Barth.
3378
3379         No tests. No change in behavior.
3380
3381         * bindings/v8/ScriptProfiler.cpp:
3382         (WebCore::ScriptProfiler::start):
3383         (WebCore::ScriptProfiler::stop):
3384
3385 2013-01-30  Adam Barth  <abarth@webkit.org>
3386
3387         The background HTML parser should be able to parse speculatively
3388         https://bugs.webkit.org/show_bug.cgi?id=107753
3389
3390         Reviewed by Eric Seidel.
3391
3392         This patch adds the ability for the foreground HTML parser to
3393         invalidate speculative parsing done by the background HTML parser.
3394         Currently, we're a bit overly agressive an invalidate all speculations
3395         on document.write. We plan to refine that in the future.
3396
3397         Test: fast/parser/document-write-partial-script.html
3398
3399         * WebCore.gypi:
3400         * html/parser/BackgroundHTMLInputStream.cpp: Added.
3401         (WebCore):
3402         (WebCore::BackgroundHTMLInputStream::BackgroundHTMLInputStream):
3403         (WebCore::BackgroundHTMLInputStream::append):
3404         (WebCore::BackgroundHTMLInputStream::close):
3405         (WebCore::BackgroundHTMLInputStream::createCheckpoint):
3406         (WebCore::BackgroundHTMLInputStream::rewindTo):
3407         * html/parser/BackgroundHTMLInputStream.h: Added.
3408         (WebCore):
3409         (BackgroundHTMLInputStream):
3410         (WebCore::BackgroundHTMLInputStream::current):
3411         (WebCore::BackgroundHTMLInputStream::Checkpoint::Checkpoint):
3412         (Checkpoint):
3413         * html/parser/BackgroundHTMLParser.cpp:
3414         (WebCore::BackgroundHTMLParser::append):
3415         (WebCore):
3416         (WebCore::BackgroundHTMLParser::resumeFrom):
3417         (WebCore::BackgroundHTMLParser::markEndOfFile):
3418         (WebCore::BackgroundHTMLParser::pumpTokenizer):
3419         (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
3420         (WebCore::BackgroundHTMLParser::resumeFromPartial):
3421         * html/parser/BackgroundHTMLParser.h:
3422         (BackgroundHTMLParser):
3423         * html/parser/HTMLDocumentParser.cpp:
3424         (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
3425         (WebCore::HTMLDocumentParser::didFailSpeculation):
3426         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
3427         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
3428         * html/parser/HTMLDocumentParser.h:
3429         (ParsedChunk):
3430         (HTMLDocumentParser):
3431
3432 2013-01-30  Nils Barth  <nbarth@google.com>
3433
3434         [V8] Add IDL 'enum' support to CodeGeneratorV8.pm
3435         https://bugs.webkit.org/show_bug.cgi?id=106553
3436
3437         Reviewed by Kentaro Hara.
3438
3439         Add partial support for Web IDL enumerations in V8 bindings
3440
3441         Binding generators currently cannot handle IDL enumerations.
3442         (An enumeration is an DOMString with a limited set of values, thus
3443         treated internally as DOMString, with validation code added in
3444         bindings.)
3445         This adds support for enumerations in V8, adding validation checking
3446         to setters.
3447         It does not add validation checking to operations (no test case), and
3448         does not add support in JSC.
3449
3450         Test: bindings/scripts/test/TestObj.idl (run-bindings-test)
3451
3452         * bindings/scripts/IDLParser.pm:
3453          - Parser assumes all IDL definitions are interfaces; add support for
3454            other definitions
3455          - Parser parses but discards enum definitions; instead, record
3456            parsed data
3457         (Parse): Sort definitions into interfaces and enums.
3458         Remove "@definitions eq (someIdlDocument)" test, as this never
3459         happens (fossil code) -- parseDefinitions returns list of definitions,
3460         never a one-item list consisting of a document (no nested documents).
3461         (unquoteString): new utility function to unquote StringToken (token
3462         itself still quoted)
3463         (parseEnum):
3464         (parseEnumValueList):
3465         (parseEnumValues):
3466         (parseEnumOld):
3467
3468         * bindings/scripts/CodeGenerator.pm:
3469          - Expose parsed enum data to backends (detect enums, list valid
3470            values)
3471          - Enums treated as DOMString type in internal function
3472         (ProcessDocument):
3473         (IsEnumType):
3474         (ValidEnumValues):
3475         (IsRefPtrType):
3476         * bindings/scripts/CodeGeneratorV8.pm:
3477          - Enums treated as DOMString type in internal functions
3478          - Add validation to setter
3479         (GenerateNormalAttrSetter):
3480         (GetNativeType):
3481         (JSValueToNative):
3482         (NativeToJSValue):
3483         (ConvertToV8StringResource):
3484         * bindings/scripts/test/TestObj.idl:
3485          - New enum type and enum variable test for IDL enumeration support
3486         * bindings/scripts/test/V8/V8TestObj.cpp:
3487          - Generated code, desired behavior
3488         (WebCore::TestObjV8Internal::enumAttrAttrGetter):
3489         (TestObjV8Internal):
3490         (WebCore::TestObjV8Internal::enumAttrAttrSetter):
3491         (WebCore):
3492         * bindings/scripts/test/JS/JSTestObj.cpp:
3493          - Generated code, currently incorrect
3494         (WebCore):
3495         (WebCore::jsTestObjEnumAttr):
3496         (WebCore::setJSTestObjEnumAttr):
3497         * bindings/scripts/test/JS/JSTestObj.h:
3498          - Generated code, currently incorrect
3499         (WebCore):
3500
3501 2013-01-30  Nico Weber  <thakis@chromium.org>
3502
3503         [chromium] Build webkit with enable_web_intents set to 0.
3504         https://bugs.webkit.org/show_bug.cgi?id=108408
3505
3506         Reviewed by Kentaro Hara.
3507
3508         I'll then make chromium build fine with that, then switch
3509         enable_web_intents to 0, roll that into webkit, and then
3510         actually remove the code hidden behind this flag.
3511
3512         * bindings/v8/custom/V8IntentCustom.cpp:
3513
3514 2013-01-30  Joshua Bell  <jsbell@chromium.org>
3515
3516         IndexedDB: Remove speculative dispatchEvent crash fix now that root cause is addressed
3517         https://bugs.webkit.org/show_bug.cgi?id=108131
3518
3519         Reviewed by Tony Chang.
3520
3521         A patch was landed in r140027 to prevent a null pointer crash in
3522         IDBRequest::dispatchEvent and confirm the source of the crash (which
3523         we couldn't repro locally). Following confirmation from user reports,
3524         the root cause was tracked down to a race condition in MessageQueue,
3525         and was fixed in r140483. This patch is no longer needed, and there's
3526         always been an ASSERT in place to catch regressions while debugging.
3527
3528         No new tests - no behavior change.
3529
3530         * Modules/indexeddb/IDBRequest.cpp:
3531         (WebCore::IDBRequest::dispatchEvent): Remove extraneous test.
3532
3533 2013-01-30  Joe Mason  <jmason@rim.com>
3534
3535         [BlackBerry] Store both proxy and host credentials simultaneously for NetworkJob
3536         https://bugs.webkit.org/show_bug.cgi?id=108388
3537
3538         Reviewed by Yong Li.
3539
3540         The platform NetworkRequest interface has been updated again, to store both a proxy and host
3541         credential for each request (to prevent an infinite loop when a request authenticates against a
3542         proxy but fails the host authentication, and then the followup contains the host credential but not
3543         the proxy credential so it fails proxy authentication, so the next followup contains the proxy
3544         credential but not the host credential...)
3545
3546         Complying with the new interface requires the host and proxy challenge to be stored separately in
3547         webkit so they can both be added to the same NetworkRequest.
3548
3549         Internal PR: 281172
3550         Internal Reviewer: Leo Yang
3551
3552         * platform/network/ResourceHandleInternal.h:
3553         (ResourceHandleInternal):
3554         * platform/network/blackberry/AuthenticationChallenge.h:
3555         (WebCore::AuthenticationChallenge::hasCredentials):
3556         (AuthenticationChallenge):
3557         * platform/network/blackberry/NetworkJob.cpp:
3558         (WebCore::NetworkJob::notifyAuthReceived):
3559         (WebCore::NetworkJob::handleRedirect):
3560         (WebCore::NetworkJob::sendRequestWithCredentials):
3561         (WebCore::NetworkJob::storeCredentials):
3562         (WebCore):
3563         (WebCore::NetworkJob::purgeCredentials):
3564         (WebCore::NetworkJob::notifyChallengeResult):
3565         (WebCore::NetworkJob::updateCurrentWebChallenge):
3566         * platform/network/blackberry/NetworkJob.h:
3567         (NetworkJob):
3568         * platform/network/blackberry/NetworkManager.cpp:
3569         (WebCore::setAuthCredentials):
3570         (WebCore):
3571         (WebCore::NetworkManager::startJob):
3572
3573 2013-01-30  Oliver Hunt  <oliver@apple.com>
3574
3575         Make JSEventListener more robust in the event of the compiled handler being released.
3576         https://bugs.webkit.org/show_bug.cgi?id=108390
3577
3578         Reviewed by Michael Saboff.
3579
3580         It shouldn't be possible for a handler to be collected for any object that
3581         might still trigger an event.  Nonetheless it does still happen, and the
3582         only point of failure that currently exists is compiling the handler.
3583
3584         This patch is mostly just assertions, but also removes a bunch of field
3585         clearing that was previously being performed.  Given we do seem to periodically
3586         end up needing to recompile a handler this appears to be necessary.  That
3587         said there does not appear to be a memory hit from this as the event handlers
3588         that make us use JSLazyEventListener are not frequently compiled, and the bulk
3589         of the functions that are compiled end up causing us to keep the strings around
3590         anyway.
3591
3592         * bindings/js/JSLazyEventListener.cpp:
3593         (WebCore::JSLazyEventListener::JSLazyEventListener):
3594         (WebCore::JSLazyEventListener::initializeJSFunction):
3595
3596 2013-01-30  Kentaro Hara  <haraken@chromium.org>
3597
3598         Implement KeyboardEvent constructor
3599         https://bugs.webkit.org/show_bug.cgi?id=108320
3600
3601         Reviewed by Adam Barth.
3602
3603         This patch implements KeyboardEvent constructor under a DOM4_EVENTS_CONSTRUCTOR flag,
3604         which is enabled on Chromium and Safari.
3605
3606         This significantly simplifies a code to construct a KeyboardEvent.
3607
3608         Before:
3609           e = document.createEvent("KeyboardEvent");
3610           e.initKeyboardEvent("keypress", true, true, null, false, false, false, false, 0, 0);
3611
3612         After:
3613           e = new KeyboardEvent("keypress");
3614
3615         Editor's draft: https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm
3616
3617         - 'char' and 'code' are not yet supported due to lack of WebCore implementation.
3618
3619         - 'altGraphKey' is not supported because it's an extended attribute in WebKit
3620         and is not speced.
3621
3622         - Renamed keyboard event constant variables to avoid style errors.
3623
3624         Test: fast/events/constructors/keyboard-event-constructor.html
3625
3626         * dom/KeyboardEvent.cpp:
3627         (WebCore::keyLocationCode):
3628         (WebCore::KeyboardEventInit::KeyboardEventInit):
3629         (WebCore):
3630         (WebCore::KeyboardEvent::KeyboardEvent):
3631         * dom/KeyboardEvent.h:
3632         (WebCore):
3633         (WebCore::KeypressCommand::KeypressCommand):
3634         (KeypressCommand):
3635         (KeyboardEventInit):
3636         (KeyboardEvent):
3637         (WebCore::KeyboardEvent::create):
3638         (WebCore::KeyboardEvent::keyIdentifier):
3639         (WebCore::KeyboardEvent::keyLocation):
3640         (WebCore::KeyboardEvent::altGraphKey):
3641         (WebCore::KeyboardEvent::keyEvent):
3642         (WebCore::KeyboardEvent::keypressCommands):
3643         * dom/KeyboardEvent.idl:
3644
3645 2013-01-30  Joshua Bell  <jsbell@chromium.org>
3646
3647         IndexedDB: IDBKeyRange::isOnlyKey() does pointer equality comparison
3648         https://bugs.webkit.org/show_bug.cgi?id=107582
3649
3650         Reviewed by Tony Chang.
3651
3652         Per the bug title, IDBKeyRange::isOnlyKey() was testing the upper/lower pointers to
3653         determine if this was a "trivial" range, which can be used to fast-path lookups. This
3654         is insufficient in multi-process ports where range values may be thrown across the wire.
3655         This is addressed by using the existing key equality tests.
3656
3657         In addition, the bounds type check incorrectly checked m_lowerType == LowerBoundOpen, which
3658         meant the function could never return true (since upper == lower implies closed bounds).
3659         Therefore, the fast-path case wasn't used even in single-process ports (e.g. DRT). The
3660         slow-path case contructed a backing store cursor over the range, and exited early if the
3661         cursor yielded nothing. The fast-path case doesn't need to create a cursor, so needs to
3662         deal with lookup misses. This revealed two similar (but trivial) lurking bugs in the
3663         fast-path.
3664
3665         No new behavior; covered by tests such as: storage/indexeddb/get-keyrange.html
3666
3667         * Modules/indexeddb/IDBBackingStore.cpp:
3668         (WebCore::IDBBackingStore::getRecord): Handle backing store read miss case.
3669         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
3670         (WebCore::GetOperation::perform): Handle backing store read miss case.
3671         * Modules/indexeddb/IDBKeyRange.cpp:
3672         (WebCore::IDBKeyRange::isOnlyKey): Compare keys by value, not pointer, correct
3673         type checks, add assertions.
3674         * Modules/indexeddb/IDBKeyRange.h:
3675         (IDBKeyRange): Move implementation to CPP file.
3676
3677 2013-01-30  Joe Mason  <jmason@rim.com>
3678
3679         [BlackBerry] Never store empty credentials in NetworkJob::storeCredentials
3680         https://bugs.webkit.org/show_bug.cgi?id=108387
3681
3682         Reviewed by Yong Li.
3683
3684         There is a code path that can cause NetworkJob::storeCredentials to be called with empty
3685         credentials, causing the existing credentials to be overwritten even though authentication
3686         succeeded.  PR 287791 has been filed to investigate why this happens; in the meantime, ignore empty
3687         credentials.
3688
3689         Internal PR: 281172
3690         Internally Reviewed By: Leo Yang
3691
3692         * platform/network/blackberry/NetworkJob.cpp:
3693         (WebCore::NetworkJob::storeCredentials):
3694
3695 2013-01-30  Andy Estes  <aestes@apple.com>
3696
3697         ContentFilter should be a ref-counted class
3698         https://bugs.webkit.org/show_bug.cgi?id=108392
3699
3700         Reviewed by David Kilzer.
3701
3702         * loader/MainResourceLoader.h:
3703         (MainResourceLoader): Store a RefPtr to m_contentFilter.
3704         * platform/ContentFilter.h: Inherit from RefCounted<ContentFilter>.
3705         * platform/mac/ContentFilterMac.mm:
3706         (WebCore::ContentFilter::create): Return a PassRefPtr.
3707
3708 2013-01-30  Tim Horton  <timothy_horton@apple.com>
3709
3710         [mac] ImageBuffer should create accelerated buffers for small canvases, but we shouldn't force them to create compositing layers
3711         https://bugs.webkit.org/show_bug.cgi?id=107804
3712         <rdar://problem/11752381>
3713
3714         Reviewed by Simon Fraser.
3715
3716         Make all canvases IOSurface-backed if requested, instead of having a size threshold
3717         under which we won't use accelerated canvas.
3718
3719         Make requiresCompositingForCanvas take the size of the canvas into account, using
3720         the threshold which was previously in ImageBuffer to determine whether or not a
3721         canvas should be forced into a compositing layer.
3722
3723         This improves canvas performance on some benchmarks
3724         (http://www.mikechambers.com/html5/javascript/QuadTree/examples/collision.html, for example)
3725         significantly, in cases where canvases which fall below the size limit
3726         (and thus are unaccelerated) are being drawn rapidly into either accelerated
3727         tiles or another accelerated canvas, by preventing excessive copying to/from the GPU.
3728
3729         * platform/graphics/cg/ImageBufferCG.cpp:
3730         (WebCore):
3731         (WebCore::ImageBuffer::ImageBuffer):
3732         * rendering/RenderLayerCompositor.cpp:
3733         (WebCore::RenderLayerCompositor::requiresCompositingForCanvas):
3734
3735 2013-01-30  Alec Flett  <alecflett@chromium.org>
3736
3737         IndexedDB: clean up scheduleTask return type
3738         https://bugs.webkit.org/show_bug.cgi?id=108361
3739
3740         Reviewed by Tony Chang.
3741
3742         This is just a code simplification now that the
3743         synchronous consumers of scheduleTask are gone.
3744
3745         No new tests: pure refactor.
3746
3747         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
3748         (WebCore::IDBDatabaseBackendImpl::setIndexesReady):
3749         (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
3750         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
3751         (WebCore::IDBTransactionBackendImpl::scheduleTask):
3752         * Modules/indexeddb/IDBTransactionBackendImpl.h:
3753         (WebCore::IDBTransactionBackendImpl::scheduleTask):
3754         (IDBTransactionBackendImpl):
3755
3756 2013-01-30  Simon Fraser  <simon.fraser@apple.com>
3757
3758         Elements that dynamically become fixed sometimes jump to the top left on scrolling
3759         https://bugs.webkit.org/show_bug.cgi?id=108389
3760
3761         Reviewed by Beth Dakin.
3762
3763         When an element became position:fixed and gained a compositing layer
3764         as a result, we would compute its viewport constraints (including the 
3765         last GraphicsLayer position) before we had actually updated the GraphicsLayer
3766         geometry for the first time. This would cause a jump to 0,0 on scrolling.
3767         
3768         Fix by removing the call to updateViewportConstraintStatus() just after
3769         creating the backing. Instead, hook in to registerScrollingLayers(),
3770         which is called on every geometry update, to update the viewport
3771         constraints for this layer.
3772         
3773         Tested via existing tests, which now show correct positions at last
3774         layout.
3775
3776         * rendering/RenderLayerBacking.cpp:
3777         (WebCore::RenderLayerBacking::registerScrollingLayers):
3778         * rendering/RenderLayerCompositor.cpp:
3779         (WebCore::RenderLayerCompositor::updateBacking):
3780
3781 2013-01-30  Adam Barth  <abarth@webkit.org>
3782
3783         HTMLDocumentParser::insert should be aware of threaded parsing
3784         https://bugs.webkit.org/show_bug.cgi?id=107764
3785
3786         Reviewed by Eric Seidel.
3787
3788         This patch is an incremental step towards recovering from
3789         document.write invalidating our speculative parsing buffer. The
3790         approach I've taken is to make it possible to transfer the
3791         HTMLDocumentParser's HTMLTokenizer and HTMLToken to the background
3792         thread. To make that possible, I've taught the HTMLDocumentParser how
3793         to operate without a tokenizer or a token.
3794
3795         Not having a tokenizer or a token while parsing in the background also
3796         helps us avoid accidentially feeding input to the main thread's
3797         tokenizer when we're supposed to feed it to the background thread.
3798
3799         This patch shouldn't have any behavior change (other than possibly
3800         fixing a crash in fast/parser when threading parsing is enabled).
3801
3802         * html/parser/HTMLDocumentParser.cpp:
3803         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
3804         (WebCore::HTMLDocumentParser::didFailSpeculation):
3805         (WebCore):
3806         (WebCore::HTMLDocumentParser::insert):
3807         (WebCore::HTMLDocumentParser::finish):
3808         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
3809         * html/parser/HTMLDocumentParser.h:
3810         (HTMLDocumentParser):
3811         * html/parser/HTMLTreeBuilder.cpp:
3812         (WebCore::HTMLTreeBuilder::constructTree):
3813         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
3814         (WebCore::HTMLTreeBuilder::processEndTag):
3815         (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
3816         (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
3817         (WebCore::HTMLTreeBuilder::processScriptStartTag):
3818         * html/parser/TextDocumentParser.cpp:
3819         (WebCore::TextDocumentParser::TextDocumentParser):
3820
3821 2013-01-30  Rafael Weinstein  <rafaelw@chromium.org>
3822
3823         [HTMLTemplateElement] prevent the parser from removing nodes from the content when the foster agency is processing formatting elements
3824         https://bugs.webkit.org/show_bug.cgi?id=108377
3825
3826         Reviewed by Adam Barth.
3827
3828         https://dvcs.w3.org/hg/webcomponents/raw-file/50ce1f368c1a/spec/templates/index.html#in-body-addition
3829
3830         callTheAdoptionAgency now appends to the template's content when it previously would have appended to the template element itself.
3831
3832         New test added to html5lib.
3833
3834         * dom/ContainerNode.cpp:
3835         (WebCore::ContainerNode::parserInsertBefore):
3836         (WebCore::ContainerNode::parserAppendChild):
3837         * html/parser/HTMLTreeBuilder.cpp:
3838         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
3839
3840 2013-01-30  Mark Lam  <mark.lam@apple.com>
3841
3842         DatabaseContext should implement ThreadSafeRefCounted.
3843         https://bugs.webkit.org/show_bug.cgi?id=108285.
3844
3845         Reviewed by Alexey Proskuryakov.
3846
3847         DatabaseManager::interruptAllDatabasesForContext() can ref a
3848         DatabaseContext from another thread. Hence, the DatabaseContext needs
3849         to be a ThreadSafeRefCounted instead of a RefCounted.
3850
3851         No new tests.
3852
3853         * Modules/webdatabase/DatabaseContext.h:
3854
3855 2013-01-30  Kentaro Hara  <haraken@chromium.org>
3856
3857         Implement WheelEvent constructor
3858         https://bugs.webkit.org/show_bug.cgi?id=108303
3859
3860         Reviewed by Adam Barth.
3861
3862         Editor's draft: https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm
3863
3864         This patch implements UIEvent constructor under a DOM4_EVENTS_CONSTRUCTOR flag,
3865         which is enabled on Chromium and Safari.
3866
3867         Test: fast/events/constructors/wheel-event-constructor.html
3868
3869         * dom/WheelEvent.cpp:
3870         (WebCore::WheelEventInit::WheelEventInit):
3871         (WebCore):
3872         (WebCore::WheelEvent::WheelEvent):
3873         (WebCore::WheelEvent::initWheelEvent):
3874         * dom/WheelEvent.h:
3875         (WheelEventInit):
3876         (WebCore):
3877         (WheelEvent):
3878         (WebCore::WheelEvent::create):
3879         (WebCore::WheelEvent::wheelDelta):
3880         (WebCore::WheelEvent::wheelDeltaX):
3881         (WebCore::WheelEvent::wheelDeltaY):
3882         (WebCore::WheelEvent::rawDeltaX):
3883         (WebCore::WheelEvent::rawDeltaY):
3884         (WebCore::WheelEvent::granularity):
3885         (WebCore::WheelEvent::webkitDirectionInvertedFromDevice):
3886         (WebCore::WheelEvent::isHorizontal):
3887         * dom/WheelEvent.idl:
3888
3889 2013-01-30  Julien Chaffraix  <jchaffraix@webkit.org>
3890
3891         [CSS Grid Layout] Support 'auto' sized grid items
3892         https://bugs.webkit.org/show_bug.cgi?id=103332
3893
3894         Reviewed by Tony Chang.
3895
3896         Tests: fast/css-grid-layout/auto-content-resolution-columns.html
3897                fast/css-grid-layout/auto-content-resolution-rows.html
3898
3899         The specification interprets 'auto' as minmax(min-content, max-content).
3900         Because we stored the grid definitions as an 'auto' length, we wouldn't
3901         handle it properly during layout.
3902
3903         This change makes us do the translation when we query the information for
3904         layout.
3905
3906         * rendering/style/GridTrackSize.h:
3907         (WebCore::GridTrackSize::minTrackBreadth):
3908         (WebCore::GridTrackSize::maxTrackBreadth):
3909         Translate 'auto' to minmax(min-content, max-content). This works as getComputedStyle
3910         still sees the GridTrackSize as a single length and thus query length() instead of the
3911         individual component of minmax().
3912
3913 2013-01-30  Alec Flett  <alecflett@chromium.org>
3914
3915         IndexedDB: Avoid crashing when deleting indexes
3916         https://bugs.webkit.org/show_bug.cgi?id=108356
3917
3918         Reviewed by Tony Chang.
3919
3920         It is reasonable that the backend aborts a transaction before
3921         the frontend is aware, depending on the timing of events. This
3922         allows the transactionId to be invalid rather than asserting.
3923
3924         Test: storage/indexeddb/createIndex-after-failure.html
3925
3926         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
3927         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
3928         (WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
3929         (WebCore::IDBDatabaseBackendImpl::createIndex):
3930         (WebCore::IDBDatabaseBackendImpl::deleteIndex):
3931         (WebCore::IDBDatabaseBackendImpl::get):
3932         (WebCore::IDBDatabaseBackendImpl::put):
3933         (WebCore::IDBDatabaseBackendImpl::setIndexKeys):
3934         (WebCore::IDBDatabaseBackendImpl::setIndexesReady):
3935         (WebCore::IDBDatabaseBackendImpl::openCursor):
3936         (WebCore::IDBDatabaseBackendImpl::count):
3937         (WebCore::IDBDatabaseBackendImpl::deleteRange):
3938         (WebCore::IDBDatabaseBackendImpl::clear):
3939
3940 2013-01-30  Kentaro Hara  <haraken@chromium.org>
3941
3942         isSameAsCurrentState() should take SerializedScriptValue* instead of PassRefPtr
3943         https://bugs.webkit.org/show_bug.cgi?id=107904
3944
3945         Reviewed by Darin Adler.
3946
3947         Applied Darin's comment: https://bugs.webkit.org/show_bug.cgi?id=107904#c5
3948
3949         No tests. No change in behavior.
3950
3951         * bindings/js/JSPopStateEventCustom.cpp:
3952         (WebCore::JSPopStateEvent::state):
3953         * bindings/v8/custom/V8PopStateEventCustom.cpp:
3954         (WebCore::V8PopStateEvent::stateAccessorGetter):
3955         * page/History.cpp:
3956         (WebCore::History::isSameAsCurrentState):
3957         * page/History.h:
3958         (History):
3959
3960 2013-01-30  Douglas Stockwell  <dstockwell@chromium.org>
3961
3962         Remove unnecessary setAnimating() method
3963         https://bugs.webkit.org/show_bug.cgi?id=107495
3964
3965         Reviewed by Dean Jackson.
3966
3967         The corresponding accessor and uses were removed in r39211.
3968
3969         No new tests: no change in behaviour.
3970
3971         * page/animation/AnimationBase.cpp:
3972         (WebCore::AnimationBase::AnimationBase):
3973         * page/animation/AnimationBase.h:
3974         (AnimationBase):
3975         * page/animation/CompositeAnimation.cpp:
3976         * page/animation/CompositeAnimation.h:
3977         * page/animation/ImplicitAnimation.cpp:
3978         (WebCore::ImplicitAnimation::animate):
3979         * page/animation/KeyframeAnimation.cpp:
3980         (WebCore::KeyframeAnimation::animate):
3981
3982 2013-01-30  Elliott Sprehn  <esprehn@chromium.org>
3983
3984         Clean up interface to ShadowRoot
3985         https://bugs.webkit.org/show_bug.cgi?id=108300
3986
3987         Reviewed by Dimitri Glazkov.
3988
3989         Lots of general clean up to ShadowRoot removing unused headers and forward
3990         declarations, moving short inline methods into the class definition so it's
3991         easier to understand what methods do what, and replacing macros with methods
3992         with inline methods.
3993
3994         No new tests, just refactoring.
3995
3996         * dom/ElementShadow.cpp:
3997         (WebCore::ElementShadow::addShadowRoot):
3998         (WebCore::ElementShadow::removeAllShadowRoots):
3999         * dom/ShadowRoot.cpp:
4000         (WebCore::ShadowRoot::ShadowRoot):
4001         (WebCore::ShadowRoot::setInnerHTML): Use isOrphan instead of macro.
4002         (WebCore::ShadowRoot::setApplyAuthorStyles): Use isOrphan instead of macro.
4003         (WebCore::ShadowRoot::setResetStyleInheritance): Use isOrphan instead of macro.
4004         (WebCore::ShadowRoot::childrenChanged): Use isOrphan instead of macro.
4005         * dom/ShadowRoot.h:
4006         (WebCore::ShadowRoot::setHost): Removed.
4007         (WebCore::ShadowRoot::host):
4008         (WebCore::ShadowRoot::owner):
4009         (ShadowRoot):
4010         (WebCore::ShadowRoot::isOrphan): Replacement of GuardOrphanShadowRoot macro.
4011
4012 2013-01-30  Ryosuke Niwa  <rniwa@webkit.org>
4013
4014         Apple's internal PLT test suite doesn't finish after r141136
4015         https://bugs.webkit.org/show_bug.cgi?id=108380
4016
4017         Reviewed by Alexey Proskuryakov.
4018
4019         Temporarily disable the feature to see if that fixes it.
4020
4021         * loader/cache/CachedResourceLoader.cpp:
4022         (WebCore::CachedResourceLoader::requestResource):
4023
4024 2013-01-30  Florin Malita  <fmalita@chromium.org>
4025
4026         [Chromium] Unreviewed gardening.
4027
4028         Attempted Mac build fix after http://trac.webkit.org/changeset/141291.
4029
4030         * platform/graphics/harfbuzz/HarfBuzzFaceCoreText.cpp:
4031         (WebCore::harfBuzzCoreTextGetFontFuncs):
4032
4033 2013-01-30  Philip Rogers  <pdr@google.com>
4034
4035         Track scale and zoom together when drawing SVG images
4036         https://bugs.webkit.org/show_bug.cgi?id=108108
4037
4038         Reviewed by Tim Horton.
4039
4040         This patch refactors SVGImage::drawSVGToImageBuffer to take a single zoomAndScale parameter
4041         and removes two messy calls to setPageZoomFactor. This patch makes progress towards an
4042         SVG image cache keyed on just container size and scale.
4043
4044         This refactoring is covered by existing tests.
4045
4046         * loader/cache/CachedImage.cpp:
4047         (WebCore::CachedImage::setContainerSizeForRenderer):
4048         (WebCore::CachedImage::imageSizeForRenderer):
4049
4050             This complex logic has been refactored out of CachedImage and into SVGImageCache.
4051             In addition to the code move, we no longer divide by the zoom factor because the
4052             container size is stored without zoom.
4053
4054         * svg/graphics/SVGImage.cpp:
4055         (WebCore::SVGImage::drawSVGToImageBuffer):
4056
4057             This method signature has changed to take a FloatSize for the container size and
4058             a combined zoom and scale parameter (zoomAndScale). A FloatSize is needed for the
4059             container size because we now store the container size unzoomed, and in this process
4060             we do not want to lose precision.
4061
4062             The messy setPageZoomFactor calls have also been removed which cleans this function up.
4063
4064         * svg/graphics/SVGImage.h:
4065         * svg/graphics/SVGImageCache.cpp:
4066         (WebCore::SVGImageCache::setContainerSizeForRenderer):
4067
4068             This function now stores the container size unzoomed. The container size was changed
4069             to a FloatSize so that precision is not lost.
4070
4071         (WebCore::SVGImageCache::imageSizeForRenderer):
4072
4073             Note that the ImageBuffer size will stay the same. We now store the size as: