Make GraphicsLayerCA::backingStoreMemoryEstimate() give a better estimate for tiled...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-03-20  Simon Fraser  <simon.fraser@apple.com>
2
3         Make GraphicsLayerCA::backingStoreMemoryEstimate() give a better estimate for tiled layers
4         https://bugs.webkit.org/show_bug.cgi?id=112864
5
6         Reviewed by Tim Horton.
7         
8         If a GraphicsLayerCA has TiledBacking, ask the TiledBacking how
9         much memory it's using for tiles, rather than just using 
10         height * width * 4.
11         
12         Implement retainedTileBackingStoreMemory() in the TileController,
13         summing the memory used by parented tiles.
14
15         The original code was incorrectly multiplying by contentsScale
16         only once rather than twice (2x contents scale uses 4x as much memory).
17
18         * platform/graphics/TiledBacking.h:
19         * platform/graphics/ca/GraphicsLayerCA.cpp:
20         (WebCore::GraphicsLayerCA::backingStoreMemoryEstimate):
21         * platform/graphics/ca/mac/TileController.h:
22         * platform/graphics/ca/mac/TileController.mm:
23         (WebCore::TileController::retainedTileBackingStoreMemory):
24
25 2013-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>
26
27         Unreviewed, rolling out r146419.
28         http://trac.webkit.org/changeset/146419
29         https://bugs.webkit.org/show_bug.cgi?id=112870
30
31         Broke many tests on debug builds (Requested by rniwa_ on
32         #webkit).
33
34         * DerivedSources.make:
35         * GNUmakefile.am:
36         * WebCore.gyp/WebCore.gyp:
37         * WebCore.gyp/scripts/action_makenames.py:
38         (main):
39         * bindings/scripts/StaticString.pm: Removed.
40         * dom/QualifiedName.cpp:
41         (WebCore::createQualifiedName):
42         * dom/QualifiedName.h:
43         (WebCore):
44         * dom/make_names.pl:
45         (printNamesCppFile):
46         (printDefinitions):
47
48 2013-03-20  Michael Pruett  <michael@68k.org>
49
50         [JSC] Implement EnforceRange IDL attribute for integer conversions
51         https://bugs.webkit.org/show_bug.cgi?id=112506
52
53         Reviewed by Kentaro Hara.
54
55         Implement the EnforceRange attribute for JSC bindings.
56
57         The EnforceRange attribute requires a type error to be thrown when
58         converting an ECMAScript number which is beyond the representable
59         range of the IDL integer type.
60
61         Tests: fast/js/webidl-type-mapping.html
62                storage/indexeddb/cursor-advance-workers.html
63                storage/indexeddb/cursor-advance.html
64                storage/indexeddb/intversion-bad-parameters.html
65
66         * WebCore.exp.in:
67         * bindings/js/JSDOMBinding.cpp:
68         (WebCore):
69         (WebCore::enforceRange):
70         (WebCore::toInt32EnforceRange):
71         (WebCore::toUInt32EnforceRange):
72         (WebCore::toInt64):
73         (WebCore::toUInt64):
74         * bindings/js/JSDOMBinding.h:
75         (WebCore::toInt32):
76         (WebCore):
77         (WebCore::toUInt32):
78         * bindings/scripts/CodeGeneratorJS.pm:
79         (JSValueToNative):
80         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
81         (WebCore::jsTestEventTargetPrototypeFunctionItem):
82         * bindings/scripts/test/JS/JSTestObj.cpp:
83         (WebCore::setJSTestObjShortAttr):
84         (WebCore::setJSTestObjUnsignedShortAttr):
85         (WebCore::setJSTestObjLongAttr):
86         (WebCore::setJSTestObjLongLongAttr):
87         (WebCore::setJSTestObjUnsignedLongLongAttr):
88         (WebCore::setJSTestObjReflectedIntegralAttr):
89         (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
90         (WebCore::setJSTestObjReflectedCustomIntegralAttr):
91         (WebCore::setJSTestObjAttrWithGetterException):
92         (WebCore::setJSTestObjAttrWithSetterException):
93         (WebCore::setJSTestObjWithScriptStateAttribute):
94         (WebCore::setJSTestObjConditionalAttr1):
95         (WebCore::setJSTestObjConditionalAttr2):
96         (WebCore::setJSTestObjConditionalAttr3):
97         (WebCore::setJSTestObjStrawberry):
98         (WebCore::setJSTestObjId):
99         (WebCore::setJSTestObjNullableLongSettableAttribute):
100         (WebCore::setJSTestObjNullableStringValue):
101         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
102         (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
103         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
104         (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
105         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
106         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
107         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
108         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
109         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
110         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
111         (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional):
112         (WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
113         (WebCore::jsTestObjPrototypeFunctionStrictFunction):
114         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
115         (WebCore::setJSTestTypedefsUnsignedLongLongAttr):
116         (WebCore::setJSTestTypedefsAttrWithGetterException):
117         (WebCore::setJSTestTypedefsAttrWithSetterException):
118
119 2013-03-20  Hayato Ito  <hayato@chromium.org>
120
121         Gesture events should include AllowShadowContent in hit testing
122         https://bugs.webkit.org/show_bug.cgi?id=112073
123
124         Reviewed by Dimitri Glazkov.
125
126         Support gesture events for Shadow DOM.
127         Now 'gesturetap' events can be correctly dispatched in shadow trees.
128
129         Test: fast/dom/shadow/gesture-tap.html
130
131         * page/EventHandler.cpp:
132         (WebCore::EventHandler::handleGestureEvent):
133
134 2013-03-20  Adam Barth  <abarth@webkit.org>
135
136         HTMLNames should construct strings at compile time
137         https://bugs.webkit.org/show_bug.cgi?id=112831
138
139         Reviewed by Darin Adler.
140
141         This patch teaches make_names how to construct strings at compile time,
142         eliminating a large number of startup mallocs.
143
144         * WebCore.gyp/WebCore.gyp:
145         * WebCore.gyp/scripts/action_makenames.py:
146             - Teach the Chromium build how to deal with Perl modules.
147         * bindings/scripts/StaticString.pm: Added.
148             - A Perl module for constructing static strings.
149         (GenerateStrings):
150         (GenerateValidateStrings):
151         * dom/QualifiedName.cpp:
152         (WebCore::createQualifiedName):
153             - createQualifiedName now takes an already-constructed StringImpl
154               object.
155         * dom/QualifiedName.h:
156         * dom/make_names.pl:
157         (valueForName):
158         (namesToStrings):
159         (printNamesCppFile):
160         (printDefinitions):
161             - Teach make_names how to use StaticString.pm.
162
163 2013-03-20  Matt Falkenhagen  <falken@chromium.org>
164
165         Remove unnecessary calls to Node::disabled for <meter>, <progress>, and <output>
166         https://bugs.webkit.org/show_bug.cgi?id=112767
167
168         Reviewed by Kent Tamura.
169
170         This is part of a refactoring to move Node::disabled to HTMLFormControlElement::disabled.
171         The concept of disabled is just a form control element one.
172
173         HTMLMeterElement, HTMLOutputElement, and HTMLProgressElement never
174         have disabled() return true, so we can remove the call. In addition,
175         HTMLMeterElement and HTMLProgressElement no longer inherit from
176         HTMLFormControlElement, so we don't need to override supportsFocus.
177
178         No new tests because no behavior change.
179
180         * html/HTMLMeterElement.cpp:
181         * html/HTMLMeterElement.h:
182         * html/HTMLOutputElement.cpp:
183         (WebCore::HTMLOutputElement::supportsFocus):
184         * html/HTMLProgressElement.cpp:
185         * html/HTMLProgressElement.h:
186
187 2013-03-20  Jaehun Lim  <ljaehun.lim@samsung.com>
188
189         [css3-text] Parsing -webkit-each-line value for text-indent from css3-text
190         https://bugs.webkit.org/show_bug.cgi?id=109021
191  
192         Reviewed by Julien Chaffraix.
193  
194         "each-line" is added for text-indent in CSS3.
195         http://dev.w3.org/csswg/css3-text/#each-line
196  
197         This patch is the parsing part to support each-line value for text-indent.
198  
199         "each-line" means "Indentation affects the first line of the block
200         container as well as each line after a forced line break, but does
201         not affect lines after a soft wrap break."
202  
203         It's prefixed and guarded by CSS3_TEXT flag.
204  
205         Tests: fast/css3-text/css3-text-indent/getComputedStyle/getComputedStyle-text-indent-inherited.html
206                fast/css3-text/css3-text-indent/getComputedStyle/getComputedStyle-text-indent.html
207
208         * css/CSSComputedStyleDeclaration.cpp:
209         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
210             style.getPropertyCSSValue(text-indent) returns CSSPrimitiveValue when text-indent has only <length>
211             or <percentage> value, but returns CSSValueList when text-indent also has -webkit-each-line.
212
213         * css/CSSParser.cpp:
214         (WebCore::isSimpleLengthPropertyID): Removed CSSPropertyTextIndent case.
215         (WebCore::CSSParser::parseValue):
216         (WebCore::CSSParser::parseTextIndent): Added.
217         * css/CSSParser.h:
218             Parsed <length> or <percentage> with -webkit-each-line for text-indent.
219
220         * css/CSSValueKeywords.in: Added new -webkit-each-line keyword.
221         * css/StyleBuilder.cpp:
222         (ApplyPropertyTextIndent): Added.
223         (WebCore::ApplyPropertyTextIndent::applyInheritValue):
224         (WebCore::ApplyPropertyTextIndent::applyInitialValue):
225         (WebCore::ApplyPropertyTextIndent::applyValue):
226         (WebCore::ApplyPropertyTextIndent::createHandler):
227         (WebCore::StyleBuilder::StyleBuilder):
228             Added codes to handle applying text-indent offset and -webkit-each-line option to our style.
229
230         * rendering/style/RenderStyle.cpp:
231         (WebCore::RenderStyle::diff):
232         * rendering/style/RenderStyle.h:
233         * rendering/style/RenderStyleConstants.h: Added enum TextIndentLine.
234         * rendering/style/StyleRareInheritedData.cpp:
235         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
236         (WebCore::StyleRareInheritedData::operator==):
237         * rendering/style/StyleRareInheritedData.h: Added m_textIndentLine.
238         (StyleRareInheritedData):
239             Added the usual getter / setter / initial methods for m_textIndentLine.
240
241 2013-03-20  Tien-Ren Chen  <trchen@chromium.org>
242
243         Correct coordinated scrolling for RTL iframe and overflow:scroll
244         https://bugs.webkit.org/show_bug.cgi?id=112088
245
246         Reviewed by James Robinson.
247
248         This patch adds appropriate offset in ScrollingCoordinatorChromium to
249         adjust impl-side scroll position to the range [0, maxPos - minPos].
250
251         This also corrects RenderLayer to return correct scroll position for RTL,
252         explained below:
253
254         There are 2 commonly used scroll offset coordinate systems in WebCore.
255
256         1. The scroll offset is the amount that needs to be translated when painting
257            child elements in a RenderBox. The value can be negative when there is
258            negative overflow (for RTL). The range will be within
259            [overflow_top_left_corner, overflow_bottom_right_corner - client_size].
260            This system is mainly used for painting and layer positioning.
261            
262         2. The scroll offset will be always non-negative, and the range will be within
263            [0, content_size - client_size]. This system is mainly used for scrollbars.
264
265         scrollOrigin is defined to convert between the two systems. scrollOrigin is always
266         non-negative, and equivalent to -overflow_top_left_corner.
267
268         The first system is used for ScrollableArea::scrollPosition/minimumScrollPosition/
269         maximumScrollPosition function family. So is it implemented in ScrollView/Frameview.
270         RenderLayer errorneously implemented scrollPosition in the second system,
271         and worse, returned minimumScrollPosition/maximumScrollPosition were totally non-sense.
272         This patch corrects RenderLayer to use the first coordinate system.
273
274         Test: compositing/rtl/rtl-overflow-scrolling.html
275               ScrollingCoordinatorChromiumTest.rtlIframe
276
277         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
278         (WebCore::ScrollingCoordinatorChromium::scrollableAreaScrollLayerDidChange):
279         * rendering/RenderLayer.cpp:
280         (WebCore::RenderLayer::scrollPosition):
281         (WebCore::RenderLayer::minimumScrollPosition):
282         (WebCore::RenderLayer::maximumScrollPosition):
283         * rendering/RenderLayerBacking.cpp:
284         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
285
286 2013-03-20  Jessie Berlin  <jberlin@apple.com>
287
288         REGRESSION(r145592): AutodrainedPool.h. RunLoopTimer.h, SchedulePair.h are being copied into
289         the wrong location
290         https://bugs.webkit.org/show_bug.cgi?id=112833
291
292         Reviewed by Darin Adler.
293
294         Fix an incorrect include path.
295
296         * loader/DocumentLoader.h:
297         RunLoopTimer.h lives in wtf as of r145592.
298
299 2013-03-20  Kent Tamura  <tkent@chromium.org>
300
301         Crash in Document::setFocusedNode if the frame of new focused node is detached in 'change' event handler
302         https://bugs.webkit.org/show_bug.cgi?id=112653
303
304         Reviewed by Dimitri Glazkov.
305
306         Test: fast/frames/detach-frame-during-focus.html
307
308         * page/FocusController.cpp:
309         (WebCore::FocusController::setFocusedNode):
310         A oldDocument->setFocusedNode call might dispatch a 'change' event for
311         an old focused node, and an event handler code might detach the
312         newFocusedFrame. So we should check it. Without the check, the following
313         newDocument->setFocusedNode call would crash because of null
314         Frame::page().
315
316 2013-03-20  Ryosuke Niwa  <rniwa@webkit.org>
317
318         Assertion in LegacyWebArchive::create() in editing tests
319         https://bugs.webkit.org/show_bug.cgi?id=112642
320
321         Reviewed by Simon Fraser.
322
323         Address Simon's review comment. Don't convert String to MIMEType just to convert it back to String.
324
325         * platform/mac/PasteboardMac.mm:
326         (WebCore::fragmentFromWebArchive):
327
328 2013-03-20  Zan Dobersek  <zdobersek@igalia.com>
329
330         [GTK] Build ANGLE sources into a separate library from libWebCore.la
331         https://bugs.webkit.org/show_bug.cgi?id=112778
332
333         Reviewed by Martin Robinson.
334
335         No new tests - no change in functionality.
336
337         * GNUmakefile.list.am: Remove the ANGLE sources listing, it's now placed in the ANGLE-specific GNUmakefile.am.
338
339 2011-03-20  Ryosuke Niwa  <rniwa@webkit.org>
340
341         Assertion in LegacyWebArchive::create() in editing tests
342         https://bugs.webkit.org/show_bug.cgi?id=112642
343
344         Reviewed by Enrica Casucci.
345
346         It's possible for clipboard to be overriden between the time we retrieve clipboard types and the time
347         we actually retrieve the Web archive buffer. Add a null check to take this into account.
348
349         Also extracted fragmentFromWebArchive for clarity.
350
351         * platform/mac/PasteboardMac.mm:
352         (WebCore::fragmentFromWebArchive): Extracted.
353         (WebCore::Pasteboard::documentFragment):
354
355 2013-03-20  Chris Fleizach  <cfleizach@apple.com>
356
357         WebSpeech: Crash in WebCore::PlatformSpeechSynthesisUtterance::client / WebCore::SpeechSynthesis::didResumeSpeaking
358         https://bugs.webkit.org/show_bug.cgi?id=112728
359
360         Reviewed by Tim Horton.
361
362         When cancel() is called, there was a delay in the platform returning and saying speech was finished, which caused
363         the m_currentSpeechUtterance variable to get deallocated but not cleared. 
364
365         This patch fixes up the management of the utterances in SpeechSynthesis and the Mac platform given that
366         we can't rely on the platform to return immediately on a stop speaking job.
367
368         Test: platform/mac/fast/speechsynthesis/speech-synthesis-cancel-crash.html
369
370         * Modules/speech/SpeechSynthesis.cpp:
371         (WebCore::SpeechSynthesis::cancel):
372         (WebCore::SpeechSynthesis::resume):
373         * platform/mac/PlatformSpeechSynthesizerMac.mm:
374         (-[WebSpeechSynthesisWrapper cancel]):
375         (-[WebSpeechSynthesisWrapper speechSynthesizer:didFinishSpeaking:]):
376         (-[WebSpeechSynthesisWrapper speechSynthesizer:willSpeakWord:ofString:]):
377
378 2013-03-20  Eric Carlson  <eric.carlson@apple.com>
379
380         Unreviewed, fix Mac release build.
381
382         * page/CaptionUserPreferencesMac.mm:
383         (WebCore::languageIdentifier):
384
385 2013-03-20  Eric Carlson  <eric.carlson@apple.com>
386
387         Allow ports specific text track menu
388         https://bugs.webkit.org/show_bug.cgi?id=112800
389
390         Reviewed by Dean Jackson.
391
392         No new tests, existing tests updated for changes.
393
394         * English.lproj/Localizable.strings: Add localizable strings for text track names.
395
396         * html/HTMLMediaElement.cpp:
397         (WebCore::HTMLMediaElement::HTMLMediaElement): userPrefersCaptions -> shouldShowCaptions.
398         (WebCore::HTMLMediaElement::setSelectedTextTrack): toggleTrackAtIndex -> setSelectedTextTrack.
399         (WebCore::HTMLMediaElement::userPrefersCaptions): userPrefersCaptions -> shouldShowCaptions.
400         (WebCore::HTMLMediaElement::userIsInterestedInThisTrackKind): Get preferences from CaptionUserPreferences
401             instead of from Settings.
402         (WebCore::HTMLMediaElement::setSelectedTextTrack): Renamed from toggleTrackAtIndex. Now takes
403             a TextTrack* instead of an int.
404         (WebCore::HTMLMediaElement::captionPreferencesChanged): Don't force a recalculation unless 
405             captions are enabled/disabled to avoid unnecessary thrash.
406         * html/HTMLMediaElement.h:
407
408         * html/shadow/MediaControlElements.cpp:
409         (WebCore::MediaControlClosedCaptionsTrackListElement::defaultEventHandler): Use the menu to track
410             map instead of just the track index.
411         (WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay): Build and configure the
412             menu from the menu to track map.
413         (WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu): Start with a list
414             of tracks already sorted according to platform specific rules. Build a menu to track map
415             so tracks are retained while the menu is visible.
416         * html/shadow/MediaControlElements.h:
417
418         * html/shadow/MediaControls.cpp:
419         (WebCore::MediaControls::textTrackPreferencesChanged): Call closedCaptionTracksChanged so the
420             track menu will be rebuilt before it is shown again.
421
422         * html/track/InbandTextTrack.cpp:
423         (WebCore::InbandTextTrack::containsOnlyForcedSubtitles): New, passthrough to the private track.
424         (WebCore::InbandTextTrack::isMainProgramContent): Ditto.
425         (WebCore::InbandTextTrack::isEasyToRead): Ditto.
426         * html/track/InbandTextTrack.h:
427         * html/track/TextTrack.h:
428
429         * html/track/TextTrackList.cpp:
430         (WebCore::TextTrackList::contains): New.
431         * html/track/TextTrackList.h:
432
433         * page/CaptionUserPreferences.cpp:
434         (WebCore::CaptionUserPreferences::CaptionUserPreferences): Pull in from .h ditto.
435         (WebCore::CaptionUserPreferences::~CaptionUserPreferences): Ditto.
436         (WebCore::CaptionUserPreferences::shouldShowCaptions): Renamed from userPrefersCaptions. 
437         (WebCore::CaptionUserPreferences::setShouldShowCaptions): New.
438         (WebCore::CaptionUserPreferences::userPrefersCaptions): Ditto.
439         (WebCore::CaptionUserPreferences::setUserPrefersCaptions): Ditto.
440         (WebCore::CaptionUserPreferences::userPrefersSubtitles): Ditto.
441         (WebCore::CaptionUserPreferences::setUserPrefersSubtitles): Ditto.
442         (WebCore::CaptionUserPreferences::userPrefersTextDescriptions): Ditto.
443         (WebCore::CaptionUserPreferences::setUserPrefersTextDescriptions): Ditto.
444         (WebCore::CaptionUserPreferences::displayNameForTrack): Ditto.
445         (WebCore::CaptionUserPreferences::sortedTrackListForMenu): Ditto.
446         * page/CaptionUserPreferences.h:
447
448         * page/CaptionUserPreferencesMac.h:
449         * page/CaptionUserPreferencesMac.mm:
450         (WebCore::CaptionUserPreferencesMac::shouldShowCaptions): Renamed from userPrefersCaptions. 
451         (WebCore::CaptionUserPreferencesMac::userPrefersCaptions): New.
452         (WebCore::CaptionUserPreferences::userPrefersSubtitles): Ditto.
453         (WebCore::trackDisplayName): Update logic used to build track title.
454         (WebCore::CaptionUserPreferencesMac::displayNameForTrack): Call trackDisplayName.
455         (WebCore::textTrackCompare): Text track title sort comparison function.
456         (WebCore::CaptionUserPreferencesMac::sortedTrackListForMenu): New. Sort the list of tracks
457             according to title, language, and user preferences.
458
459         * platform/Language.cpp:
460         (WebCore::displayNameForLanguageLocale): Don't leak the CFLocale.
461         
462         * platform/LocalizedStrings.cpp:
463         (WebCore::textTrackCountryAndLanguageMenuItemText): New.
464         (WebCore::textTrackLanguageMenuItemText): Ditto.
465         (WebCore::closedCaptionTrackMenuItemText): Ditto.
466         (WebCore::sdhTrackMenuItemText): Ditto.
467         (WebCore::easyReaderTrackMenuItemText): Ditto.
468         * platform/LocalizedStrings.h:
469
470         * platform/graphics/InbandTextTrackPrivate.h:
471         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h:
472         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
473         (WebCore::InbandTextTrackPrivateAVFObjC::containsOnlyForcedSubtitles): New, return AVFoundation property.
474         (WebCore::InbandTextTrackPrivateAVFObjC::isMainProgramContent): Ditto.
475         (WebCore::InbandTextTrackPrivateAVFObjC::isEasyToRead): Ditto.
476
477         * testing/InternalSettings.cpp:
478         (WebCore::InternalSettings::setShouldDisplayTrackKind): Set setting via CaptionUserPreferences
479             instead of from Settings.
480         (WebCore::InternalSettings::shouldDisplayTrackKind): Get setting from CaptionUserPreferences
481             instead of from Settings.
482
483 2013-03-20  Zan Dobersek  <zdobersek@igalia.com>
484
485         [GTK] Clean up TemporaryLinkStubs.cpp
486         https://bugs.webkit.org/show_bug.cgi?id=112820
487
488         Reviewed by Philippe Normand.
489
490         Clean up the TemporaryLinkStubs.cpp file, removing unnecessary includes and prettifying the code.
491
492         No new tests - no new functionality.
493
494         * platform/gtk/TemporaryLinkStubs.cpp:
495         (WebCore):
496         (WebCore::getSupportedKeySizes):
497         (WebCore::signedPublicKeyAndChallengeString):
498         (WebCore::userIdleTime):
499
500 2013-03-20  Yufeng Shen  <miletus@chromium.org>
501
502         Remove PlatformEvent::GestureDoubleTap
503         https://bugs.webkit.org/show_bug.cgi?id=93045
504
505         Reviewed by Antonio Gomes.
506
507         PlatformEvent::GestureDoubleTap is not currently
508         used in WebCore and replaced by GestureTap with
509         tap count 2, so remove it.
510
511         Test: We are removing something that is not used, so
512         no new test. All existing tests pass.
513
514         * dom/GestureEvent.cpp:
515         (WebCore::GestureEvent::create):
516         * page/EventHandler.cpp:
517         (WebCore::EventHandler::handleGestureEvent):
518         * platform/PlatformEvent.h:
519         * platform/chromium/PopupContainer.cpp:
520         (WebCore::PopupContainer::handleGestureEvent):
521
522 2013-03-20  Ojan Vafai  <ojan@chromium.org>
523
524         Move repaint methods from RenderObject to RenderBox
525         https://bugs.webkit.org/show_bug.cgi?id=112773
526
527         Reviewed by Julien Chaffraix.
528
529         repaintOverhangingFloats and repaintDuringLayoutIfMoved are only ever called
530         on RenderBoxes, so don't need to be on RenderObject. This also lets us
531         devirtualize repaintDuringLayoutIfMoved.
532
533         * rendering/RenderBox.h:
534         (WebCore::RenderBox::repaintOverhangingFloats):
535         * rendering/RenderObject.cpp:
536         * rendering/RenderObject.h:
537
538 2013-03-20  Christian Biesinger  <cbiesinger@chromium.org>
539
540         Add a feature observer for RenderDeprecatedFlexibleBox
541         https://bugs.webkit.org/show_bug.cgi?id=112740
542
543         Reviewed by Tony Chang.
544
545         No new tests - only adding measurements.
546
547         * page/FeatureObserver.h:
548         Add constants for RenderDeprecatedFlexibleBox, and add separate
549         constants for its use in the UI and in extensions.
550         * rendering/RenderDeprecatedFlexibleBox.cpp:
551         (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
552         Call FeatureObserver. Check the document()->url() to see which
553         constant to use.
554
555 2013-03-20  Tim Horton  <timothy_horton@apple.com>
556
557         Autosize should use documentRect height instead of scrollHeight
558         https://bugs.webkit.org/show_bug.cgi?id=112770
559
560         Reviewed by David Levin.
561
562         Autosizing fails to compute the correct height if the root element is very
563         small but the document has significant overflow.
564
565         No new tests; autosizing is not currently exposed in a testable way on Mac.
566
567         * page/FrameView.cpp:
568         (WebCore::FrameView::autoSizeIfEnabled):
569
570 2013-03-20  Julien Chaffraix  <jchaffraix@webkit.org>
571
572         [CSS Grid Layout] Improper repainting when grid item change their position
573         https://bugs.webkit.org/show_bug.cgi?id=112749
574
575         Reviewed by Ojan Vafai.
576
577         Tests: fast/css-grid-layout/grid-element-change-columns-repaint.html
578                fast/css-grid-layout/grid-element-change-rows-repaint.html
579                fast/css-grid-layout/grid-item-change-column-repaint.html
580                fast/css-grid-layout/grid-item-change-row-repaint.html
581
582         * rendering/RenderGrid.cpp:
583         (WebCore::RenderGrid::layoutGridItems):
584         Added a call to repaintDuringLayoutIfMoved to repaint moving grid items.
585
586 2013-03-20  Arvid Nilsson  <anilsson@rim.com>
587
588         [BlackBerry] compositing/iframes/scroll-fixed-transformed-element.html fails in manual testing
589         https://bugs.webkit.org/show_bug.cgi?id=112806
590
591         Reviewed by Antonio Gomes.
592
593         PR 283363
594
595         When scrolling the iframe, the position: fixed element is correctly
596         positioned, that is, as if it was fixed with respect to the iframe's
597         viewport. When scrolling the main frame however, the fixed pos element
598         was positioned as if it was fixed with respect to the main frame's
599         viewport.
600
601         Fixed by falling back to using the WebKit-thread scroll position for
602         fixed positioning in LayerRenderer, if the override doesn't have a
603         position currently set, i.e. if we are not currently scrolling the
604         iframe.
605
606         The effects of the bug are only visual, i.e. not detectable by DRT.
607
608         Manually testable using compositing/iframes/scroll-fixed-transformed-element.html
609
610         * platform/graphics/blackberry/LayerRenderer.cpp:
611         (WebCore::LayerRenderer::updateLayersRecursive):
612
613 2013-03-20  Michael Pruett  <michael@68k.org>
614
615         [V8] Simplify implementation of EnforceRange conversions
616         https://bugs.webkit.org/show_bug.cgi?id=112758
617
618         Reviewed by Kentaro Hara.
619
620         Factor out EnforceRange conversion into a helper function.
621         Simplify calculation for truncation.
622
623         Tests: fast/js/webidl-type-mapping.html
624                storage/indexeddb/cursor-advance.html
625                storage/indexeddb/cursor-advance-workers.html
626                storage/indexeddb/intversion-bad-parameters.html
627
628         * bindings/v8/V8Binding.cpp:
629         (WebCore::enforceRange):
630         (WebCore):
631         (WebCore::toInt32):
632         (WebCore::toUInt32):
633         (WebCore::toInt64):
634         (WebCore::toUInt64):
635
636 2013-03-20  Harald Alvestrand  <hta@google.com>
637
638         Remove Local/Remote and RTCStatsElement from WebRTCStats API
639         https://bugs.webkit.org/show_bug.cgi?id=112678
640
641         Reviewed by Adam Barth.
642
643         Pure removal, remaining functionality covered by existing test.
644
645         * Modules/mediastream/RTCStatsReport.cpp:
646         * Modules/mediastream/RTCStatsReport.h:
647         (RTCStatsReport):
648         * Modules/mediastream/RTCStatsResponse.cpp:
649         * Modules/mediastream/RTCStatsResponse.h:
650         (RTCStatsResponse):
651         * platform/chromium/support/WebRTCStatsResponse.cpp:
652         * platform/mediastream/RTCStatsResponseBase.h:
653         (RTCStatsResponseBase):
654
655 2013-03-20  Xingnan Wang  <xingnan.wang@intel.com>
656
657         ASSERTION FAILED: !m_renderingAutomaticPullNodes.size()
658         https://bugs.webkit.org/show_bug.cgi?id=112777
659
660         Reviewed by Chris Rogers.
661
662         * Modules/webaudio/AudioContext.cpp:
663         (WebCore::AudioContext::~AudioContext):
664
665 2013-03-20  Rouslan Solomakhin  <rouslan@chromium.org>
666
667         Copy-paste should not spellcheck when continuous spellcheck is turned off
668         https://bugs.webkit.org/show_bug.cgi?id=112464
669
670         Reviewed by Ryosuke Niwa.
671
672         Test: editing/spelling/spellcheck-paste-continuous-disabled.html
673
674         * WebCore.exp.in: Export WebCore::Editor::isContinuousSpellCheckingEnabled() and WebCore::Editor::toggleContinuousSpellChecking() for use by internals.
675         * WebCore.order: Export WebCore::Editor::isContinuousSpellCheckingEnabled() and WebCore::Editor::toggleContinuousSpellChecking() for use by internals.
676         * editing/Editor.cpp:
677         (WebCore::Editor::replaceSelectionWithFragment): Do not spellcheck if continuous spellcheck is turned off.
678         * testing/Internals.cpp:
679         (WebCore::Internals::resetToConsistentState): Leave continuous spellcheck turned on after a test.
680         (WebCore::Internals::setContinuousSpellCheckingEnabled): Let tests enable and disable continuous spellcheck.
681         (WebCore):
682         * testing/Internals.h: Let tests enable and disable continuous spellcheck.
683         (Internals):
684         * testing/Internals.idl: Let tests enable and disable continuous spellcheck.
685
686 2013-03-20  Aaron Colwell  <acolwell@chromium.org>
687
688         Add support for MediaSource::isTypeSupported()
689         https://bugs.webkit.org/show_bug.cgi?id=112301
690
691         Reviewed by Darin Fisher.
692
693         Test: http/tests/media/media-source/video-media-source-is-type-supported.html
694
695         * Modules/mediasource/MediaSource.cpp:
696         (WebCore::MediaSource::addSourceBuffer): Added isTypeSupported() call to verify parameters
697                                                  pass into this method.
698         (WebCore::MediaSource::isTypeSupported):
699         (WebCore):
700         * Modules/mediasource/MediaSource.h:
701         (MediaSource):
702         * Modules/mediasource/MediaSource.idl: Added isTypeSupported().
703         * platform/MIMETypeRegistry.h:
704         (MIMETypeRegistry): Added isSupportedMediaSourceMIMEType().
705         * platform/chromium/MIMETypeRegistryChromium.cpp:
706         (WebCore):
707         (WebCore::MIMETypeRegistry::isSupportedMediaSourceMIMEType): Implemented in terms of WebMimeRegistry::isSupportedMediaSourceMIMEType.
708
709 2013-03-20  Brent Fulgham  <bfulgham@webkit.org>
710
711         [WinCairo] Unreviewed VS2010 build correction.
712
713         * WebCore.vcxproj/WebCore.vcxproj: Enable build of NetworkStorageSessionStub.cpp
714         for WinCairo port.
715         * WebCore.vcxproj/WebCore.vcxproj.filters: Correct build type of
716         CookieJarCurl from 'custom' to 'C++ source file'
717
718 2013-03-20  Marja Hölttä  <marja@chromium.org>
719
720         [V8] Rename DOMDataStore::isMainWorldObject
721         https://bugs.webkit.org/show_bug.cgi?id=112817
722
723         Reviewed by Jochen Eisinger.
724
725         No new tests (no changes in functionality).
726
727         * bindings/v8/DOMDataStore.h:
728         (WebCore::DOMDataStore::getWrapperFast):
729         (WebCore::DOMDataStore::getWrapper):
730         (WebCore::DOMDataStore::getWrapperForMainWorld):
731         (WebCore::DOMDataStore::setWrapper):
732         (WebCore::DOMDataStore::canExistInWorker):
733
734 2013-03-20  Ilya Tikhonovsky  <loislo@chromium.org>
735
736         Web Inspector: Flame Chart. Provide Overview pane for better user expirience.
737         https://bugs.webkit.org/show_bug.cgi?id=112496
738
739         Reviewed by Yury Semikhatsky.
740
741         This patch implements basic part of Overview Pane in FlameChart.
742         The idea of the patch is to move everything into chart-container element.
743         And put OverviewGrid into new overview-container element.
744
745         Drive by change: fix the layout of the flame chart elements.
746         Drive by change: fix the drag window & drag resizer mechanics
747         for the case when the parent element has zero offsetLeft.
748
749         * inspector/front-end/FlameChart.js:
750         (WebInspector.FlameChart):
751         (WebInspector.FlameChart.OverviewCalculator):
752         (WebInspector.FlameChart.OverviewCalculator.prototype._updateBoundaries):
753         (WebInspector.FlameChart.OverviewCalculator.prototype.computePosition):
754         (WebInspector.FlameChart.OverviewCalculator.prototype.formatTime):
755         (WebInspector.FlameChart.OverviewCalculator.prototype.maximumBoundary):
756         (WebInspector.FlameChart.OverviewCalculator.prototype.minimumBoundary):
757         (WebInspector.FlameChart.OverviewCalculator.prototype.boundarySpan):
758         (WebInspector.FlameChart.prototype._onWindowChanged):
759         (WebInspector.FlameChart.prototype._adjustXScale):
760         (WebInspector.FlameChart.prototype.update):
761         * inspector/front-end/OverviewGrid.js:
762         (WebInspector.OverviewGrid.Window):
763         (WebInspector.OverviewGrid.Window.prototype._resizerElementStartDragging):
764         (WebInspector.OverviewGrid.Window.prototype._leftResizeElementDragging):
765         (WebInspector.OverviewGrid.Window.prototype._rightResizeElementDragging):
766         (WebInspector.OverviewGrid.Window.prototype._startWindowSelectorDragging):
767         (WebInspector.OverviewGrid.Window.prototype._windowSelectorDragging):
768         (WebInspector.OverviewGrid.Window.prototype._endWindowSelectorDragging):
769         (WebInspector.OverviewGrid.Window.prototype._setWindowPosition):
770         (WebInspector.OverviewGrid.Window.prototype._onMouseWheel):
771         (WebInspector.OverviewGrid.WindowSelector):
772         * inspector/front-end/TimelineOverviewPane.js:
773         * inspector/front-end/flameChart.css:
774         (.chart-container .item-anchor):
775         (.overview-container):
776         (.chart-container):
777         (#flame-chart-overview-grid .resources-dividers-label-bar):
778         * inspector/front-end/inspectorCommon.css:
779         (.resources-divider-label):
780
781 2013-03-20  Sergey Ryazanov  <serya@chromium.org>
782
783         Web Inspector: Plumbing CSS warnings
784         https://bugs.webkit.org/show_bug.cgi?id=111334
785
786         Reviewed by Pavel Feldman.
787
788         Adding a framework for plumbing CSS warnings from CSSParser/grammar to the Inspector console.
789
790         * css/CSSParser.cpp:
791         (WebCore::CSSParser::CSSParser):
792         (WebCore::CSSParser::parseSheet):
793         (WebCore::CSSParser::syntaxError):
794         (WebCore):
795         (WebCore::CSSParser::isLoggingErrors):
796         (WebCore::CSSParser::logError):
797         * css/CSSParser.h:
798         (CSSParser):
799         (CSSParser::Location):
800         (WebCore):
801         * css/StyleSheetContents.cpp:
802         (WebCore::StyleSheetContents::parseAuthorStyleSheet):
803         (WebCore::StyleSheetContents::parseString):
804         (WebCore::StyleSheetContents::parseStringAtLine):
805         * css/StyleSheetContents.h:
806         (StyleSheetContents):
807         * dom/StyleElement.cpp:
808         (WebCore::StyleElement::createSheet):
809         * page/PageConsole.cpp:
810         (WebCore::PageConsole::addMessage):
811
812 2013-03-20  Justin Novosad  <junov@google.com>
813
814         [Chromium] Code cleanup: removing support for non-deferred 2d canvas rendering
815         https://bugs.webkit.org/show_bug.cgi?id=112605
816
817         Reviewed by James Robinson.
818
819         Deleting all the code that was used for propagating and supporting
820         the Chromium setting for disabling deferred 2d canvas rendering.
821
822         No new tests: Affected code paths covered by existing tests.
823
824         * html/HTMLCanvasElement.cpp:
825         (WebCore::HTMLCanvasElement::createImageBuffer):
826         * html/HTMLCanvasElement.h:
827         * page/Settings.in:
828         * platform/graphics/ImageBuffer.h:
829         (WebCore::ImageBuffer::create):
830         (ImageBuffer):
831         * platform/graphics/blackberry/ImageBufferBlackBerry.cpp:
832         (WebCore::ImageBuffer::ImageBuffer):
833         * platform/graphics/cairo/ImageBufferCairo.cpp:
834         (WebCore::ImageBuffer::ImageBuffer):
835         * platform/graphics/cg/ImageBufferCG.cpp:
836         (WebCore::ImageBuffer::ImageBuffer):
837         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
838         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
839         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
840         (WebCore::Canvas2DLayerBridge::prepareForDraw):
841         (WebCore::Canvas2DLayerBridge::storageAllocatedForRecordingChanged):
842         (WebCore::Canvas2DLayerBridge::storageAllocatedForRecording):
843         (WebCore::Canvas2DLayerBridge::freeMemoryIfPossible):
844         (WebCore::Canvas2DLayerBridge::flush):
845         (WebCore::Canvas2DLayerBridge::skCanvas):
846         (WebCore::Canvas2DLayerBridge::prepareTexture):
847         (WebCore::Canvas2DLayerBridge::contextAcquired):
848         * platform/graphics/chromium/Canvas2DLayerBridge.h:
849         (WebCore::Canvas2DLayerBridge::create):
850         (Canvas2DLayerBridge):
851         * platform/graphics/qt/ImageBufferQt.cpp:
852         (WebCore::ImageBuffer::ImageBuffer):
853         * platform/graphics/skia/ImageBufferSkia.cpp:
854         (WebCore::createAcceleratedCanvas):
855         (WebCore::ImageBuffer::ImageBuffer):
856         * platform/graphics/wince/ImageBufferWinCE.cpp:
857         (WebCore::ImageBuffer::ImageBuffer):
858         * platform/graphics/wx/ImageBufferWx.cpp:
859         (WebCore::ImageBuffer::ImageBuffer):
860
861 2013-03-20  Mike West  <mkwst@chromium.org>
862
863         Drop full URLs from cross-domain access errors caused by 'document.domain' mismatches.
864         https://bugs.webkit.org/show_bug.cgi?id=112813
865
866         Reviewed by Timothy Hatcher.
867
868         Following up on http://wkbug.com/112042, this patch brings 'document.domain'
869         mismatch error messages into line with the newly origin-only default
870         message. There will probably be two or three more patches in this series
871         just to keep the rebaselines down to something managably reviewable.
872
873         * page/DOMWindow.cpp:
874         (WebCore::DOMWindow::crossDomainAccessErrorMessage):
875             Move the default message redefinition up out of the final 'return' so
876             that 'document.domain' mismatch errors grab the new text.
877
878 2013-03-20  Ken Kania  <kkania@chromium.org>
879
880         Web Inspector: Add promptText param to Page.handleJavaScriptDialog
881         https://bugs.webkit.org/show_bug.cgi?id=112706
882
883         Reviewed by Pavel Feldman.
884
885         * inspector/Inspector.json:
886         * inspector/InspectorClient.h:
887         (WebCore::InspectorClient::handleJavaScriptDialog):
888         * inspector/InspectorPageAgent.cpp:
889         (WebCore::InspectorPageAgent::handleJavaScriptDialog):
890         * inspector/InspectorPageAgent.h:
891
892 2013-03-20  Andrey Lushnikov  <lushnikov@chromium.org>
893
894         Web Inspector: fix SourceFrame.js compilation warning
895         https://bugs.webkit.org/show_bug.cgi?id=112804
896
897         Reviewed by Yury Semikhatsky.
898
899         No new tests: no change in behavior.
900
901         - Explicitly parse lineNumber from object property name.
902         - Add type annotations to ensure addMessageToSource is monomorphic.
903
904         * inspector/front-end/SourceFrame.js:
905         (WebInspector.SourceFrame.prototype.clearMessages):
906
907 2013-03-20  Dan Carney  <dcarney@google.com>
908
909         [v8] unsafe persistent access in V8LazyEventListener
910         https://bugs.webkit.org/show_bug.cgi?id=112807
911
912         Reviewed by Kentaro Hara.
913
914         No new tests.
915
916         * bindings/v8/V8LazyEventListener.cpp:
917         (WebCore::toObjectWrapper):
918
919 2013-03-20  Arvid Nilsson  <anilsson@rim.com>
920
921         [BlackBerry] Enable appropriate vertex attribute arrays in LayerRenderer::useProgram()
922         https://bugs.webkit.org/show_bug.cgi?id=112757
923
924         Reviewed by Rob Buis.
925
926         PR 306465
927
928         Make the LayerRenderer and associated code more bullet-proof when it
929         comes to enabling vertex attribute arrays, by enabling them already
930         when LayerRenderer::useProgram() is called. This fixes a bug where the
931         video hole punch rectangle wasn't punched when preceding rendering
932         caused the vertex attribute array at index 0 to be disabled, such as
933         when rendering the text selection overlay immediately before video.
934
935         A number of places where the position attribute index was hard-coded
936         to 0 were also fixed. This causes no change in behavior, the position
937         attribute was really at 0, but nonetheless that shouldn't be hardcoded.
938
939         The effects of this patch are only manually testable.
940
941         * platform/graphics/blackberry/LayerCompositingThread.cpp:
942         (WebCore::LayerCompositingThread::drawTextures):
943         (WebCore::LayerCompositingThread::drawSurface):
944         * platform/graphics/blackberry/LayerRenderer.cpp:
945         (WebCore::LayerRenderer::compositeBuffer):
946         (WebCore::LayerRenderer::drawColor):
947         (WebCore::LayerRenderer::drawDebugBorder):
948         (WebCore::LayerRenderer::drawHolePunchRect):
949         (WebCore::LayerRenderer::compositeLayersRecursive):
950         (WebCore::LayerRenderer::useProgram):
951
952 2013-03-20  Andrey Lushnikov  <lushnikov@chromium.org>
953
954         Web Inspector: [CodeMirror] implement highlightRange method
955         https://bugs.webkit.org/show_bug.cgi?id=112802
956
957         Reviewed by Vsevolod Vlasov.
958
959         - Implement highlightRange/removeHighlight methods in
960         CodeMirrorTextEditor.
961         - Update TextEditor interface closure annotations.
962
963         No new tests.
964
965         * inspector/front-end/CodeMirrorTextEditor.js:
966         (WebInspector.CodeMirrorTextEditor.prototype.removeHighlight):
967         (WebInspector.CodeMirrorTextEditor.prototype.highlightRange):
968         * inspector/front-end/DefaultTextEditor.js:
969         * inspector/front-end/TextEditor.js:
970
971 2013-03-20  Andrey Lushnikov  <lushnikov@chromium.org>
972
973         Web Inspector: [CodeMirror] show source location for codemirror text editor
974         https://bugs.webkit.org/show_bug.cgi?id=112798
975
976         Reviewed by Vsevolod Vlasov.
977
978         No new tests.
979
980         - Implement CodeMirrorTextEditor.copyRange method
981         - Fire "selectionChange" event for text editor delegate from
982         CodeMirrorTextEditor.
983
984         * inspector/front-end/CodeMirrorTextEditor.js:
985         (WebInspector.CodeMirrorTextEditor):
986         (WebInspector.CodeMirrorTextEditor.prototype.copyRange):
987         (WebInspector.CodeMirrorTextEditor.prototype._cursorActivity):
988
989 2013-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>
990
991         Unreviewed, rolling out r146331.
992         http://trac.webkit.org/changeset/146331
993         https://bugs.webkit.org/show_bug.cgi?id=112795
994
995         Does not work as expected (Requested by carewolf on #webkit).
996
997         * platform/graphics/qt/FontQt.cpp:
998         (WebCore::Font::initFormatForTextLayout):
999
1000 2013-03-20  Eugene Klyuchnikov  <eustas@chromium.org>
1001
1002         Web Inspector: [Resources] Local Storage: "Add item" row height doesn't match underlying grid.
1003         https://bugs.webkit.org/show_bug.cgi?id=112433
1004
1005         Reviewed by Pavel Feldman.
1006
1007         Fixed cell height to correspond grid step.
1008
1009         * inspector/front-end/dataGrid.css:
1010         (.data-grid td): Fixed cell height to correspond grid step.
1011
1012 2013-03-20  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1013
1014         [Qt] New fast/text/word-space-with-kerning-3.html fails on Qt
1015         https://bugs.webkit.org/show_bug.cgi?id=112668
1016
1017         Reviewed by Jocelyn Turcotte.
1018
1019         Kerning is on by default in Qt. This means we need to disable it
1020         when WebCore does not request it.
1021
1022         * platform/graphics/qt/FontQt.cpp:
1023         (WebCore::Font::initFormatForTextLayout):
1024
1025 2013-03-20  Ilya Tikhonovsky  <loislo@chromium.org>
1026
1027         Web Inspector: OverviewGrid rename classes according to names of js classes.
1028         https://bugs.webkit.org/show_bug.cgi?id=112786
1029
1030         Reviewed by Yury Semikhatsky.
1031
1032         It is a part of meta bug 'extract OverviewGrid from TimelineOverviewPane'.
1033         As the last step it renames timeline-...... classes to overview-grid-...... classes
1034         and moves them to inspectorCommon.css
1035
1036         * inspector/front-end/OverviewGrid.js:
1037         (WebInspector.OverviewGrid):
1038         (WebInspector.OverviewGrid.Window):
1039         (WebInspector.OverviewGrid.Window.prototype._startWindowSelectorDragging):
1040         (WebInspector.OverviewGrid.WindowSelector):
1041         (WebInspector.OverviewGrid.WindowSelector.prototype._createSelectorElement):
1042         * inspector/front-end/inspectorCommon.css:
1043         (.overview-grid-window-selector):
1044         (.overview-grid-window):
1045         (.overview-grid-dividers-background):
1046         (.overview-grid-window-rulers):
1047         (.overview-grid-window-resizer):
1048         * inspector/front-end/timelinePanel.css:
1049         (.timeline-frame-overview .overview-grid-window):
1050         (.timeline-frame-overview .overview-grid-dividers-background):
1051
1052 2013-03-20  Dmitry Zvorygin  <zvorygin@chromium.org>
1053
1054         Web Inspector: Switch Drawer animation from JavaScript to CSS transitions.
1055         https://bugs.webkit.org/show_bug.cgi?id=112586
1056
1057         This is prerequisite to make Drawer work in overlay mode.
1058
1059         Reviewed by Vsevolod Vlasov.
1060
1061         * inspector/front-end/Drawer.js:
1062         (WebInspector.Drawer):
1063         (WebInspector.Drawer.prototype.show):
1064         (WebInspector.Drawer.prototype.hide.this.animationFinished):
1065         (WebInspector.Drawer.prototype.hide):
1066         (WebInspector.Drawer.prototype.immediatelyFinishAnimation):
1067         (WebInspector.Drawer.prototype._getAnimationStyles):
1068         * inspector/front-end/UIUtils.js:
1069         * inspector/front-end/inspector.css:
1070         (.animate-slow *):
1071         (.animate #main):
1072         (.animate #floating-status-bar-container):
1073         (.animate #drawer):
1074         (.animate #bottom-status-bar-container > *):
1075
1076 2013-03-19  Eugene Klyuchnikov  <eustas@chromium.org>
1077
1078         Web Inspector: [DataGrid] Refactorings.
1079         https://bugs.webkit.org/show_bug.cgi?id=112690
1080
1081         Reviewed by Pavel Feldman.
1082
1083         1. Avoid using string literals;
1084         2. Remove unused notifications; turn "populate" to method invocation;
1085         3. Replace some getters with regular functions.
1086
1087         * inspector/front-end/DataGrid.js: Applied refactorings.
1088         * inspector/front-end/ApplicationCacheItemsView.js: Adopted changes.
1089         * inspector/front-end/BottomUpProfileDataGridTree.js: Ditto.
1090         * inspector/front-end/CPUProfileView.js: Ditto.
1091         * inspector/front-end/CSSSelectorProfileView.js: Ditto.
1092         * inspector/front-end/CookiesTable.js: Ditto.
1093         * inspector/front-end/DirectoryContentView.js: Ditto.
1094         * inspector/front-end/HeapSnapshotDataGrids.js: Ditto.
1095         * inspector/front-end/HeapSnapshotGridNodes.js: Ditto.
1096         * inspector/front-end/NativeMemorySnapshotView.js: Ditto.
1097         * inspector/front-end/NetworkPanel.js: Ditto.
1098         * inspector/front-end/ProfileDataGridTree.js: Ditto.
1099         * inspector/front-end/ResourceWebSocketFrameView.js: Ditto.
1100         * inspector/front-end/TopDownProfileDataGridTree.js: Ditto.
1101         * inspector/front-end/dataGrid.css: Ditto.
1102
1103 2013-03-19  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1104
1105         [Qt] Support -webkit-font-smoothing
1106         https://bugs.webkit.org/show_bug.cgi?id=106009
1107
1108         Reviewed by Jocelyn Turcotte.
1109
1110         Set QFont antialiasing settings based on the font smoothing settings in FontDescription.
1111
1112         * platform/graphics/qt/FontPlatformDataQt.cpp:
1113         (WebCore::FontPlatformData::FontPlatformData):
1114
1115 2013-03-20  Alexei Filippov  <alph@chromium.org>
1116
1117         Web Inspector: Allow toolbar customization
1118         https://bugs.webkit.org/show_bug.cgi?id=112440
1119
1120         Adds a tools menu item that allows the user to show/hide
1121         inspector panels on the toolbar.
1122
1123         Reviewed by Yury Semikhatsky.
1124
1125         * inspector/front-end/InspectorView.js:
1126         * inspector/front-end/Settings.js:
1127         (WebInspector.Settings):
1128         (WebInspector.ExperimentsSettings):
1129         * inspector/front-end/Toolbar.js:
1130         (WebInspector.Toolbar):
1131         (WebInspector.Toolbar.prototype.addPanel):
1132         (WebInspector.Toolbar.prototype._isPanelVisibleByDefault):
1133         (WebInspector.Toolbar.prototype.set _hidePanel):
1134         (WebInspector.Toolbar.prototype._showPanel):
1135         (WebInspector.Toolbar.prototype._togglePanelsMenu):
1136         * inspector/front-end/inspector.css:
1137         (#toolbar-panels-menu):
1138         (#toolbar-panels-menu:hover):
1139         (#toolbar-panels-menu:active):
1140         * inspector/front-end/inspector.html:
1141
1142 2013-03-20  Eugene Klyuchnikov  <eustas@chromium.org>
1143
1144         Web Inspector: [Settings] Add "storage" parameter to WebInspector.Setting
1145         https://bugs.webkit.org/show_bug.cgi?id=112667
1146
1147         Reviewed by Pavel Feldman.
1148
1149         New parameter will allow more options on how long setting will persist.
1150         Possible options are: localStorage, sessionStorage and no-storage.
1151
1152         Additional change: use delete instead of .removeItem to make it possible
1153         use any object as storage.
1154
1155         * inspector/front-end/Settings.js:
1156         Added "storage" parameter and used is instead of "window.localStorage".
1157
1158 2013-03-20  Pan Deng  <pan.deng@intel.com>
1159
1160         Web Inspector: [Network] Fix the bug of WebSocketFrameView crash.
1161         https://bugs.webkit.org/show_bug.cgi?id=112771.
1162
1163         Reviewed by Pavel Feldman.
1164
1165         WebSocketFrameView crashes when websocket receives an error message, this
1166         patch fixes this problem, and error message will be shown in dataGrid as expected.
1167
1168         No new tests.
1169
1170         * inspector/front-end/ResourceWebSocketFrameView.js:
1171         (WebInspector.ResourceWebSocketFrameView): Handle the errorMessage case.
1172
1173 2013-03-20  Dmitry Zvorygin  <zvorygin@chromium.org>
1174
1175         Remove remainings of obsolete LogLevels and MessageSources from inspector JS part.
1176         https://bugs.webkit.org/show_bug.cgi?id=112709
1177
1178         By the way tuned messagesources in ApplicationCacheGroup.
1179
1180         Reviewed by Pavel Feldman.
1181
1182         * inspector/front-end/ConsoleMessage.js:
1183         (WebInspector.ConsoleMessageImpl.prototype.toMessageElement):
1184         (WebInspector.ConsoleMessageImpl.prototype.toString):
1185         * inspector/front-end/ConsoleModel.js:
1186         * inspector/front-end/ExtensionAPI.js:
1187         (defineCommonExtensionSymbols):
1188         * inspector/front-end/ExtensionServer.js:
1189         (WebInspector.ExtensionServer.prototype._onAddConsoleMessage):
1190         (WebInspector.ExtensionServer.prototype._makeConsoleMessage):
1191         * loader/appcache/ApplicationCacheGroup.cpp:
1192         (WebCore::ApplicationCacheGroup::didReceiveResponse):
1193         (WebCore::ApplicationCacheGroup::didFinishLoading):
1194         (WebCore::ApplicationCacheGroup::didFail):
1195
1196 2013-03-20  Krzysztof Czech  <k.czech@samsung.com>
1197
1198         [GTK] accessibility/aria-scrollbar-role.html is failing
1199         https://bugs.webkit.org/show_bug.cgi?id=98358
1200
1201         Reviewed by Martin Robinson.
1202
1203         Adds support for checking an orientation attribute of accessibility object.
1204         AccessibilityObject that represents ScrollBar element should be ATK_VALUE type.
1205         ScrollBar element can be considered as a Range Widget that is able to expose some
1206         range values.
1207
1208         Test: accessibility/aria-scrollbar-role.html
1209
1210         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1211         (setAtkStateSetFromCoreObject):
1212         (getInterfaceMaskFromObject):
1213
1214 2013-03-20  Zan Dobersek  <zdobersek@igalia.com>
1215
1216         Unreviewed. Fixing a typo in libLevelDB_la_CFLAGS assignment - cxflags -> cflags.
1217
1218         * GNUmakefile.am:
1219
1220 2013-03-20  Robert Hogan  <robert@webkit.org>
1221
1222         Absolute position div without width specified does not reflow its text when it is moved (and computed width changes)
1223         https://bugs.webkit.org/show_bug.cgi?id=112052
1224
1225         Reviewed by Emil A Eklund.
1226         
1227         If a positioned block has auto width then any movement means the block needs to be resized.
1228
1229         Test: fast/block/positioned-block-auto-width-movement.html
1230
1231         * rendering/style/RenderStyle.cpp:
1232         (WebCore::positionedObjectMoved):
1233         (WebCore::RenderStyle::diff):
1234
1235 2013-03-19  Sheriff Bot  <webkit.review.bot@gmail.com>
1236
1237         Unreviewed, rolling out r146301.
1238         http://trac.webkit.org/changeset/146301
1239         https://bugs.webkit.org/show_bug.cgi?id=112776
1240
1241         Caused hundreds of tests to hit assertions on Windows debug
1242         bots (Requested by rniwa on #webkit).
1243
1244         * CMakeLists.txt:
1245         * GNUmakefile.list.am:
1246         * Target.pri:
1247         * WebCore.exp.in:
1248         * WebCore.gypi:
1249         * WebCore.vcproj/WebCore.vcproj:
1250         * WebCore.vcxproj/WebCore.vcxproj:
1251         * WebCore.vcxproj/WebCore.vcxproj.filters:
1252         * WebCore.xcodeproj/project.pbxproj:
1253         * loader/DocumentLoader.cpp:
1254         (WebCore::DocumentLoader::DocumentLoader):
1255         (WebCore::DocumentLoader::mainResourceLoader):
1256         (WebCore::DocumentLoader::~DocumentLoader):
1257         (WebCore::DocumentLoader::mainResourceData):
1258         (WebCore::DocumentLoader::stopLoading):
1259         (WebCore::DocumentLoader::finishedLoading):
1260         (WebCore::DocumentLoader::handleSubstituteDataLoadNow):
1261         (WebCore::DocumentLoader::continueAfterNavigationPolicy):
1262         (WebCore::DocumentLoader::responseReceived):
1263         (WebCore::DocumentLoader::continueAfterContentPolicy):
1264         (WebCore::DocumentLoader::reportMemoryUsage):
1265         (WebCore::DocumentLoader::receivedData):
1266         (WebCore::DocumentLoader::clearMainResourceLoader):
1267         (WebCore::DocumentLoader::setDefersLoading):
1268         (WebCore::DocumentLoader::setMainResourceDataBufferingPolicy):
1269         (WebCore::DocumentLoader::addSubresourceLoader):
1270         (WebCore::DocumentLoader::isLoadingMainResource):
1271         (WebCore):
1272         (WebCore::DocumentLoader::maybeLoadEmpty):
1273         (WebCore::DocumentLoader::startLoadingMainResource):
1274         * loader/DocumentLoader.h:
1275         (WebCore):
1276         (DocumentLoader):
1277         * loader/MainResourceLoader.cpp: Added.
1278         (WebCore):
1279         (WebCore::MainResourceLoader::MainResourceLoader):
1280         (WebCore::MainResourceLoader::~MainResourceLoader):
1281         (WebCore::MainResourceLoader::create):
1282         (WebCore::MainResourceLoader::clearResource):
1283         (WebCore::MainResourceLoader::frameLoader):
1284         (WebCore::MainResourceLoader::request):
1285         (WebCore::MainResourceLoader::resourceData):
1286         (WebCore::MainResourceLoader::redirectReceived):
1287         (WebCore::MainResourceLoader::responseReceived):
1288         (WebCore::MainResourceLoader::dataReceived):
1289         (WebCore::MainResourceLoader::notifyFinished):
1290         (WebCore::MainResourceLoader::reportMemoryUsage):
1291         (WebCore::MainResourceLoader::load):
1292         (WebCore::MainResourceLoader::setDefersLoading):
1293         (WebCore::MainResourceLoader::defersLoading):
1294         (WebCore::MainResourceLoader::setDataBufferingPolicy):
1295         (WebCore::MainResourceLoader::loader):
1296         (WebCore::MainResourceLoader::identifier):
1297         * loader/MainResourceLoader.h: Added.
1298         (WebCore):
1299         (MainResourceLoader):
1300         (WebCore::MainResourceLoader::cachedMainResource):
1301         (WebCore::MainResourceLoader::documentLoader):
1302         * loader/mac/DocumentLoaderMac.cpp:
1303         (WebCore::DocumentLoader::schedule):
1304         (WebCore::DocumentLoader::unschedule):
1305
1306 2013-03-19  Mike West  <mkwst@chromium.org>
1307
1308         CSP 1.1: Stub out SecurityPolicyViolationEvent interface.
1309         https://bugs.webkit.org/show_bug.cgi?id=112681
1310
1311         Reviewed by Adam Barth.
1312
1313         A first pass at a SecurityPolicyViolationEvent interface is defined in
1314         CSP 1.1's editor's draft[1]. This patch puts the big components into
1315         place so that we can start getting some implementation experience with
1316         the new event interface as it's defined, and feed that back into the
1317         working group.
1318
1319         Here, we're only defining the interface, and creating a listener on the
1320         Document. Events aren't yet being fired when Content Security Policy
1321         violations occur. I'll tackle that in a future patch; adding files is
1322         a big enough annoyance to do it separately.
1323
1324         This patch has only two web-visible impacts:
1325
1326         - Document objects now have an 'onsecuritypolicyviolation' attribute.
1327         - A SecurityPolicyViolationEvent constructor is accessible on the Window object.
1328
1329         Ports that have not enabled the CSP_NEXT flag should experience no change.
1330
1331         [1]: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#securitypolicyviolationevent-events
1332
1333         Test: http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-basics.html
1334
1335         * CMakeLists.txt:
1336         * GNUmakefile.list.am:
1337         * WebCore.gypi:
1338         * WebCore.vcproj/WebCore.vcproj:
1339         * WebCore.xcodeproj/project.pbxproj:
1340             Wow! A new file! This is so exciting! I'm going to tell ALL my build
1341             systems about this!
1342         * dom/Document.h:
1343         * dom/Document.idl:
1344             Define an 'onsecuritypolicyviolation' event handler on Document objects.
1345         * dom/EventNames.h:
1346         * dom/EventNames.in:
1347             Define a 'securitypolicyviolation' event type.
1348         * dom/SecurityPolicyViolationEvent.h: Added.
1349         (WebCore::SecurityPolicyViolationEventInit::SecurityPolicyViolationEventInit):
1350         (SecurityPolicyViolationEventInit):
1351         (SecurityPolicyViolationEvent):
1352         (WebCore::SecurityPolicyViolationEvent::create):
1353         (WebCore::SecurityPolicyViolationEvent::documentURI):
1354         (WebCore::SecurityPolicyViolationEvent::referrer):
1355         (WebCore::SecurityPolicyViolationEvent::blockedURI):
1356         (WebCore::SecurityPolicyViolationEvent::violatedDirective):
1357         (WebCore::SecurityPolicyViolationEvent::effectiveDirective):
1358         (WebCore::SecurityPolicyViolationEvent::originalPolicy):
1359         (WebCore::SecurityPolicyViolationEvent::sourceURL):
1360         (WebCore::SecurityPolicyViolationEvent::lineNumber):
1361         (WebCore::SecurityPolicyViolationEvent::interfaceName):
1362         (WebCore::SecurityPolicyViolationEvent::SecurityPolicyViolationEvent):
1363         * dom/SecurityPolicyViolationEvent.idl: Added.
1364             Define the SecurityPolicyViolationEvent's IDL, and then create all the
1365             boilerplate necessary to properly initialize a SecurityPolicyViolationEvent
1366             object with the relevant properties.
1367         * page/DOMWindow.idl:
1368             Add the new SecurityPolicyViolationEvent constructor to the Window object
1369             so it's available on a page.
1370
1371 2013-03-19  Eugene Klyuchnikov  <eustas@chromium.org>
1372
1373         Web Inspector: [Timeline] Tune status bar UI for limited-width window.
1374         https://bugs.webkit.org/show_bug.cgi?id=112702
1375
1376         Reviewed by Pavel Feldman.
1377
1378         Reduce filter titles when there is not enough space.
1379
1380         * inspector/front-end/TimelinePanel.js: Add classnames to elements.
1381         * inspector/front-end/timelinePanel.css: Specify "flex" behaviour.
1382
1383 2013-03-19  Nate Chapin  <japhet@chromium.org>
1384
1385         Merge MainResourceLoader into DocumentLoader
1386         https://bugs.webkit.org/show_bug.cgi?id=104969
1387
1388         Reviewed by Adam Barth.
1389
1390         No new tests, refactor only.
1391
1392         * CMakeLists.txt:
1393         * GNUmakefile.list.am:
1394         * Target.pri:
1395         * WebCore.exp.in:
1396         * WebCore.gypi:
1397         * WebCore.vcproj/WebCore.vcproj:
1398         * WebCore.vcxproj/WebCore.vcxproj:
1399         * WebCore.vcxproj/WebCore.vcxproj.filters:
1400         * WebCore.xcodeproj/project.pbxproj:
1401         * loader/DocumentLoader.cpp:
1402         (WebCore::DocumentLoader::DocumentLoader):
1403         (WebCore::DocumentLoader::mainResourceLoader):
1404         (WebCore::DocumentLoader::~DocumentLoader): Move main resource clearing from
1405             ~MainResourceLoader.
1406         (WebCore::DocumentLoader::mainResourceData):
1407         (WebCore::DocumentLoader::stopLoading):
1408         (WebCore::DocumentLoader::notifyFinished): Moved from MainResourceLoader::notifyFinished.
1409         (WebCore):
1410         (WebCore::DocumentLoader::finishedLoading):
1411         (WebCore::DocumentLoader::handleSubstituteDataLoadNow):
1412         (WebCore::DocumentLoader::redirectReceived):
1413         (WebCore::DocumentLoader::continueAfterNavigationPolicy):
1414         (WebCore::DocumentLoader::responseReceived):
1415         (WebCore::DocumentLoader::continueAfterContentPolicy):
1416         (WebCore::DocumentLoader::reportMemoryUsage):
1417         (WebCore::DocumentLoader::dataReceived):
1418         (WebCore::DocumentLoader::clearMainResourceLoader):
1419         (WebCore::DocumentLoader::setDefersLoading):
1420         (WebCore::DocumentLoader::setMainResourceDataBufferingPolicy):
1421         (WebCore::DocumentLoader::addSubresourceLoader):
1422         (WebCore::DocumentLoader::maybeLoadEmpty):
1423         (WebCore::DocumentLoader::startLoadingMainResource): Don't keep separate checks
1424              for normal and empty loads, just use a single boolean.
1425         * loader/DocumentLoader.h:
1426         (WebCore::DocumentLoader::isLoadingMainResource):
1427         * loader/MainResourceLoader.cpp: Removed.
1428         * loader/MainResourceLoader.h: Removed.
1429         * loader/mac/DocumentLoaderMac.cpp:
1430         (WebCore::DocumentLoader::schedule):
1431         (WebCore::DocumentLoader::unschedule):
1432
1433 2013-03-19  Ankur Taly  <ataly@google.com>
1434
1435         Cache a pointer to V8DOMActivityLogger in PerContextData.
1436         https://bugs.webkit.org/show_bug.cgi?id=112719
1437
1438         Reviewed by Kentaro Hara.
1439
1440         Adds a data member (and getter, setter methods) to V8PerContextData
1441         that holds a pointer to a V8DOMActivityLogger. This member is set while
1442         initializing the context for a V8DOMWindowShell. Ownership of the pointer
1443         is still retained by the HashMap in DOMWrapperWorld.
1444         As a result of this patch, subsequent patches that will implement logging
1445         for DOM API access (See bug 107207) will be able to obtain a reference to
1446         the logger directly from PerContextData. This will benefit performance as it
1447         will be faster than looking up the logger in the DOMActivityLoggerMap in
1448         DOMWrapperWorld.
1449
1450         There are no new tests as there is no change in behavior.
1451
1452         * bindings/v8/V8DOMWindowShell.cpp:
1453         (WebCore::V8DOMWindowShell::initializeIfNeeded):
1454         * bindings/v8/V8PerContextData.h:
1455         (WebCore::V8PerContextData::activityLogger):
1456         (V8PerContextData):
1457         (WebCore::V8PerContextData::setActivityLogger):
1458
1459 2013-03-19  Arnaud Renevier  <a.renevier@sisa.samsung.com>
1460
1461         do not use string reference for enum support in CodeGeneratorJS.pm
1462         https://bugs.webkit.org/show_bug.cgi?id=112760
1463
1464         Reviewed by Kentaro Hara.
1465
1466         Do use string references in generated JS bindings for enum values.
1467
1468         Test: bindings/scripts/test/TestObj.idl
1469
1470         * bindings/scripts/CodeGeneratorJS.pm:
1471         (GenerateImplementation):
1472         (GenerateParametersCheck):
1473         * bindings/scripts/test/JS/JSTestObj.cpp:
1474         (WebCore::setJSTestObjEnumAttr):
1475         (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
1476
1477 2013-03-19  Simon Fraser  <simon.fraser@apple.com>
1478
1479         Make RLC::haveNonMainLayersWithTiledBacking() public and fix the name
1480         https://bugs.webkit.org/show_bug.cgi?id=112763
1481
1482         Reviewed by Tim Horton.
1483
1484         Downstream code needs to call hasNonMainLayersWithTiledBacking().
1485
1486         * rendering/RenderLayerCompositor.h:
1487         (WebCore::RenderLayerCompositor::hasNonMainLayersWithTiledBacking):
1488         (RenderLayerCompositor):
1489
1490 2013-03-19  David Levin  <levin@chromium.org>
1491
1492         FrameLoader::didChangeIcons isn't called when the favicon is changed.
1493         https://bugs.webkit.org/show_bug.cgi?id=112080
1494
1495         Reviewed by Dmitry Titov.
1496
1497         Test: fast/dom/icon-url-property.html
1498
1499         * dom/Document.cpp:
1500         (WebCore::Document::addIconURL): Made the callback for didChangeIcons
1501         happen whenever there are favicon changes instead of filtering it
1502         and have to be in sync about what hosts care about. As far as I could
1503         tell no hosts rely on this callback except for Chromium, so in general
1504         doing less work here may potentially help a small amount for other
1505         ports.
1506
1507 2013-03-19  Michael Pruett  <michael@68k.org>
1508
1509         Don't throw on infinity or NaN index in HTMLOptionsCollection.add()
1510         https://bugs.webkit.org/show_bug.cgi?id=112612
1511
1512         Reviewed by Kentaro Hara.
1513
1514         HTMLOptionsCollection.add() should not throw a type error when
1515         its optional index argument is infinity or NaN. Such values
1516         should instead be converted to 0 with no error.
1517
1518         Tests: fast/dom/non-numeric-values-numeric-parameters.html
1519                fast/js/select-options-add.html
1520
1521         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
1522         (WebCore::JSHTMLOptionsCollection::add):
1523
1524 2013-03-19  Dominic Mazzoni  <dmazzoni@google.com>
1525
1526         Security: Heap-use-after-free in WebCore::AXObjectCache::getOrCreate
1527         https://bugs.webkit.org/show_bug.cgi?id=112044
1528
1529         Reviewed by Chris Fleizach.
1530
1531         Always call recalcSectionsIfNeeded before accessing
1532         table sections.
1533
1534         Test: accessibility/table-remove-cell-crash.html
1535
1536         * accessibility/AccessibilityTable.cpp:
1537         (WebCore::AccessibilityTable::addChildren):
1538
1539 2013-03-19  Arnaud Renevier  <a.renevier@sisa.samsung.com>
1540
1541         [v8] add IDL 'enum' in DOM methods
1542         https://bugs.webkit.org/show_bug.cgi?id=112644
1543
1544         Reviewed by Kentaro Hara.
1545
1546         This adds V8 support for enumerations in method parameters.
1547
1548         Test: bindings/scripts/test/TestObj.idl
1549
1550         * bindings/scripts/CodeGeneratorV8.pm:
1551         (GenerateParametersCheck):
1552         * bindings/scripts/test/V8/V8TestObj.cpp:
1553         (WebCore::TestObjV8Internal::methodWithEnumArgMethod):
1554
1555 2013-03-19  Kenneth Russell  <kbr@google.com>
1556
1557         Unreviewed, rolling out r146277.
1558         http://trac.webkit.org/changeset/146277
1559         https://bugs.webkit.org/show_bug.cgi?id=111695
1560
1561         Broke Chromium Android build
1562
1563         * Modules/speech/SpeechSynthesis.cpp:
1564         (WebCore::SpeechSynthesis::boundaryEventOccurred):
1565         (WebCore::SpeechSynthesis::didStartSpeaking):
1566         (WebCore::SpeechSynthesis::didPauseSpeaking):
1567         (WebCore::SpeechSynthesis::didResumeSpeaking):
1568         (WebCore::SpeechSynthesis::didFinishSpeaking):
1569         (WebCore::SpeechSynthesis::speakingErrorOccurred):
1570         (WebCore):
1571         * Modules/speech/SpeechSynthesis.h:
1572         (SpeechSynthesis):
1573         * Modules/speech/SpeechSynthesisUtterance.cpp:
1574         (WebCore::SpeechSynthesisUtterance::SpeechSynthesisUtterance):
1575         (WebCore::SpeechSynthesisUtterance::setVoice):
1576         * Modules/speech/SpeechSynthesisUtterance.h:
1577         (WebCore::SpeechSynthesisUtterance::text):
1578         (WebCore::SpeechSynthesisUtterance::setText):
1579         (WebCore::SpeechSynthesisUtterance::lang):
1580         (WebCore::SpeechSynthesisUtterance::setLang):
1581         (WebCore::SpeechSynthesisUtterance::volume):
1582         (WebCore::SpeechSynthesisUtterance::setVolume):
1583         (WebCore::SpeechSynthesisUtterance::rate):
1584         (WebCore::SpeechSynthesisUtterance::setRate):
1585         (WebCore::SpeechSynthesisUtterance::pitch):
1586         (WebCore::SpeechSynthesisUtterance::setPitch):
1587         (WebCore::SpeechSynthesisUtterance::startTime):
1588         (WebCore::SpeechSynthesisUtterance::setStartTime):
1589         (WebCore::SpeechSynthesisUtterance::platformUtterance):
1590         (SpeechSynthesisUtterance):
1591         * Modules/speech/SpeechSynthesisVoice.h:
1592         * WebCore.exp.in:
1593         * WebCore.gypi:
1594         * platform/PlatformSpeechSynthesis.h:
1595         (PlatformSpeechSynthesis):
1596         * platform/PlatformSpeechSynthesisUtterance.cpp:
1597         * platform/PlatformSpeechSynthesisUtterance.h:
1598         (PlatformSpeechSynthesisUtterance):
1599         * platform/PlatformSpeechSynthesisVoice.cpp:
1600         (WebCore::PlatformSpeechSynthesisVoice::create):
1601         * platform/PlatformSpeechSynthesisVoice.h:
1602         (PlatformSpeechSynthesisVoice):
1603         * platform/PlatformSpeechSynthesizer.cpp:
1604         (WebCore::PlatformSpeechSynthesizer::create):
1605         (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
1606         (WebCore):
1607         * platform/PlatformSpeechSynthesizer.h:
1608         (PlatformSpeechSynthesizerClient):
1609         (WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):
1610         (PlatformSpeechSynthesizer):
1611         * platform/chromium/PlatformSpeechSynthesizerChromium.cpp: Removed.
1612         * platform/chromium/support/WebSpeechSynthesisUtterance.cpp: Removed.
1613         * platform/chromium/support/WebSpeechSynthesisVoice.cpp: Removed.
1614         * platform/chromium/support/WebSpeechSynthesizerClientImpl.cpp: Removed.
1615         * platform/chromium/support/WebSpeechSynthesizerClientImpl.h: Removed.
1616         * platform/mac/PlatformSpeechSynthesizerMac.mm:
1617         (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
1618         (-[WebSpeechSynthesisWrapper speechSynthesizer:didFinishSpeaking:]):
1619         (WebCore::PlatformSpeechSynthesizer::speak):
1620         * platform/mock/PlatformSpeechSynthesizerMock.cpp:
1621         (WebCore::PlatformSpeechSynthesizerMock::create):
1622         (WebCore::PlatformSpeechSynthesizerMock::PlatformSpeechSynthesizerMock):
1623         (WebCore::PlatformSpeechSynthesizerMock::speakingFinished):
1624         (WebCore::PlatformSpeechSynthesizerMock::speak):
1625         * platform/mock/PlatformSpeechSynthesizerMock.h:
1626         (PlatformSpeechSynthesizerMock):
1627
1628 2013-03-19  Antti Koivisto  <antti@apple.com>
1629
1630         Don't compute background obscuration on every repaint
1631         https://bugs.webkit.org/show_bug.cgi?id=112457
1632
1633         Reviewed by Simon Fraser.
1634
1635         Test: fast/backgrounds/obscured-background-child-style-change.html
1636         
1637         It is generally enough to compute background obscuration status once per layout rather than doing it on every repaint.
1638         Since there are fewer layouts than repaints this will allow more expensive checks in the future.
1639         
1640         With this patch adds caching and invalidation of the obscuration status.
1641
1642         * rendering/RenderBlock.cpp:
1643         (WebCore::RenderBlock::layout):
1644         
1645             Invalidate the obscuration status on layout.
1646
1647         * rendering/RenderBox.cpp:
1648         (WebCore::RenderBox::styleDidChange):
1649         
1650             Invalidate the parent obscuration status if there is repaint-only style change (often background related). 
1651             Tested by the new fast/css/obscured-background-child-style-change.html.
1652
1653         (WebCore::RenderBox::layout):
1654         (WebCore::RenderBox::computeBackgroundIsKnownToBeObscured):
1655         * rendering/RenderBox.h:
1656         * rendering/RenderImage.cpp:
1657         (WebCore::RenderImage::imageChanged):
1658         (WebCore::RenderImage::notifyFinished):
1659         (WebCore::RenderImage::boxShadowShouldBeAppliedToBackground):
1660         (WebCore::RenderImage::computeBackgroundIsKnownToBeObscured):
1661         
1662             Use CachedImage::currentFrameKnownToBeOpaque which ensures that the frame is decoded and we get the real status.
1663             Tested by an additional case in fast/css/obscured-background-child-style-change.html.
1664
1665         * rendering/RenderImage.h:
1666         * rendering/RenderObject.cpp:
1667         (WebCore::RenderObject::styleWillChange):
1668         * rendering/RenderObject.h:
1669         (WebCore::RenderObject::hasBoxDecorations):
1670         (WebCore::RenderObject::computeBackgroundIsKnownToBeObscured):
1671         (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
1672         (RenderObjectBitfields):
1673         (WebCore::RenderObject::RenderObjectBitfields::boxDecorationState):
1674         (WebCore::RenderObject::RenderObjectBitfields::setBoxDecorationState):
1675         
1676             Combine box decoration bit and the obscuration status so we only need one extra bit.
1677
1678         (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout):
1679         (WebCore::RenderObject::setHasBoxDecorations):
1680         (WebCore::RenderObject::invalidateBackgroundObscurationStatus):
1681         (WebCore::RenderObject::backgroundIsKnownToBeObscured):
1682         * rendering/RenderReplaced.cpp:
1683         (WebCore::RenderReplaced::layout):
1684
1685 2013-03-19  Dominic Mazzoni  <dmazzoni@google.com>
1686
1687         Implement Web Speech Synthesis for Chromium
1688         https://bugs.webkit.org/show_bug.cgi?id=111695
1689
1690         Reviewed by Adam Barth.
1691
1692         Straightforward implementation of speech synthesis
1693         for Chromium by exposing interfaces for the platform
1694         to implement.
1695
1696         * Modules/speech/SpeechSynthesis.cpp:
1697         (WebCore::SpeechSynthesis::boundaryEventOccurred):
1698         (WebCore::SpeechSynthesis::didStartSpeaking):
1699         (WebCore::SpeechSynthesis::didPauseSpeaking):
1700         (WebCore::SpeechSynthesis::didResumeSpeaking):
1701         (WebCore::SpeechSynthesis::didFinishSpeaking):
1702         (WebCore::SpeechSynthesis::speakingErrorOccurred):
1703         (WebCore):
1704         * Modules/speech/SpeechSynthesis.h:
1705         (SpeechSynthesis):
1706         * Modules/speech/SpeechSynthesisUtterance.cpp:
1707         (WebCore::SpeechSynthesisUtterance::SpeechSynthesisUtterance):
1708         (WebCore):
1709         (WebCore::SpeechSynthesisUtterance::~SpeechSynthesisUtterance):
1710         (WebCore::SpeechSynthesisUtterance::setVoice):
1711         * Modules/speech/SpeechSynthesisUtterance.h:
1712         (SpeechSynthesisUtterance):
1713         (WebCore::SpeechSynthesisUtterance::text):
1714         (WebCore::SpeechSynthesisUtterance::setText):
1715         (WebCore::SpeechSynthesisUtterance::lang):
1716         (WebCore::SpeechSynthesisUtterance::setLang):
1717         (WebCore::SpeechSynthesisUtterance::volume):
1718         (WebCore::SpeechSynthesisUtterance::setVolume):
1719         (WebCore::SpeechSynthesisUtterance::rate):
1720         (WebCore::SpeechSynthesisUtterance::setRate):
1721         (WebCore::SpeechSynthesisUtterance::pitch):
1722         (WebCore::SpeechSynthesisUtterance::setPitch):
1723         (WebCore::SpeechSynthesisUtterance::startTime):
1724         (WebCore::SpeechSynthesisUtterance::setStartTime):
1725         (WebCore::SpeechSynthesisUtterance::platformUtterance):
1726         * Modules/speech/SpeechSynthesisVoice.h:
1727         (WebCore::SpeechSynthesisVoice::~SpeechSynthesisVoice):
1728         * WebCore.exp.in:
1729         * WebCore.gypi:
1730         * platform/PlatformSpeechSynthesis.h:
1731         (PlatformSpeechSynthesis):
1732         * platform/PlatformSpeechSynthesisUtterance.cpp:
1733         (WebCore):
1734         (WebCore::PlatformSpeechSynthesisUtterance::create):
1735         * platform/PlatformSpeechSynthesisUtterance.h:
1736         (PlatformSpeechSynthesisUtterance):
1737         (WebCore::PlatformSpeechSynthesisUtterance::setClient):
1738         * platform/PlatformSpeechSynthesisVoice.cpp:
1739         (WebCore):
1740         (WebCore::PlatformSpeechSynthesisVoice::create):
1741         (WebCore::PlatformSpeechSynthesisVoice::PlatformSpeechSynthesisVoice):
1742         * platform/PlatformSpeechSynthesisVoice.h:
1743         (PlatformSpeechSynthesisVoice):
1744         (WebCore::PlatformSpeechSynthesisVoice::setVoiceURI):
1745         (WebCore::PlatformSpeechSynthesisVoice::setName):
1746         (WebCore::PlatformSpeechSynthesisVoice::setLang):
1747         (WebCore::PlatformSpeechSynthesisVoice::setLocalService):
1748         (WebCore::PlatformSpeechSynthesisVoice::setIsDefault):
1749         * platform/PlatformSpeechSynthesizer.cpp:
1750         (WebCore::PlatformSpeechSynthesizer::create):
1751         (WebCore::PlatformSpeechSynthesizer::setVoiceList):
1752         (WebCore):
1753         * platform/PlatformSpeechSynthesizer.h:
1754         (WebKit):
1755         (PlatformSpeechSynthesizerClient):
1756         (PlatformSpeechSynthesizer):
1757         * platform/chromium/PlatformSpeechSynthesizerChromium.cpp: Added.
1758         (WebCore):
1759         (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
1760         (WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):
1761         (WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
1762         (WebCore::PlatformSpeechSynthesizer::speak):
1763         (WebCore::PlatformSpeechSynthesizer::pause):
1764         (WebCore::PlatformSpeechSynthesizer::resume):
1765         (WebCore::PlatformSpeechSynthesizer::cancel):
1766         * platform/chromium/support/WebSpeechSynthesisUtterance.cpp: Added.
1767         (WebKit):
1768         (WebKit::WebSpeechSynthesisUtterance::WebSpeechSynthesisUtterance):
1769         (WebKit::WebSpeechSynthesisUtterance::operator=):
1770         (WebKit::WebSpeechSynthesisUtterance::assign):
1771         (WebKit::WebSpeechSynthesisUtterance::reset):
1772         (WebKit::WebSpeechSynthesisUtterance::operator PassRefPtr<PlatformSpeechSynthesisUtterance>):
1773         (WebKit::WebSpeechSynthesisUtterance::operator PlatformSpeechSynthesisUtterance*):
1774         (WebKit::WebSpeechSynthesisUtterance::text):
1775         (WebKit::WebSpeechSynthesisUtterance::lang):
1776         (WebKit::WebSpeechSynthesisUtterance::voice):
1777         (WebKit::WebSpeechSynthesisUtterance::volume):
1778         (WebKit::WebSpeechSynthesisUtterance::rate):
1779         (WebKit::WebSpeechSynthesisUtterance::pitch):
1780         (WebKit::WebSpeechSynthesisUtterance::startTime):
1781         * platform/chromium/support/WebSpeechSynthesisVoice.cpp: Added.
1782         (WebKit):
1783         (WebKit::WebSpeechSynthesisVoice::assign):
1784         (WebKit::WebSpeechSynthesisVoice::reset):
1785         (WebKit::WebSpeechSynthesisVoice::setVoiceURI):
1786         (WebKit::WebSpeechSynthesisVoice::setName):
1787         (WebKit::WebSpeechSynthesisVoice::setLanguage):
1788         (WebKit::WebSpeechSynthesisVoice::setIsLocalService):
1789         (WebKit::WebSpeechSynthesisVoice::setIsDefault):
1790         (WebKit::WebSpeechSynthesisVoice::operator PassRefPtr<WebCore::PlatformSpeechSynthesisVoice>):
1791         * platform/chromium/support/WebSpeechSynthesizerClientImpl.cpp: Added.
1792         (WebCore):
1793         (WebCore::WebSpeechSynthesizerClientImpl::WebSpeechSynthesizerClientImpl):
1794         (WebCore::WebSpeechSynthesizerClientImpl::~WebSpeechSynthesizerClientImpl):
1795         (WebCore::WebSpeechSynthesizerClientImpl::setVoiceList):
1796         (WebCore::WebSpeechSynthesizerClientImpl::didStartSpeaking):
1797         (WebCore::WebSpeechSynthesizerClientImpl::didFinishSpeaking):
1798         (WebCore::WebSpeechSynthesizerClientImpl::didPauseSpeaking):
1799         (WebCore::WebSpeechSynthesizerClientImpl::didResumeSpeaking):
1800         (WebCore::WebSpeechSynthesizerClientImpl::speakingErrorOccurred):
1801         (WebCore::WebSpeechSynthesizerClientImpl::wordBoundaryEventOccurred):
1802         (WebCore::WebSpeechSynthesizerClientImpl::sentenceBoundaryEventOccurred):
1803         * platform/chromium/support/WebSpeechSynthesizerClientImpl.h: Added.
1804         (WebCore):
1805         (WebSpeechSynthesizerClientImpl):
1806         * platform/mac/PlatformSpeechSynthesizerMac.mm:
1807         (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
1808         (-[WebSpeechSynthesisWrapper speechSynthesizer:didFinishSpeaking:]):
1809         (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
1810         (WebCore):
1811         (WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):
1812         (WebCore::PlatformSpeechSynthesizer::speak):
1813         * platform/mock/PlatformSpeechSynthesizerMock.cpp:
1814         (WebCore::PlatformSpeechSynthesizerMock::PlatformSpeechSynthesizerMock):
1815         (WebCore::PlatformSpeechSynthesizerMock::speakingFinished):
1816         (WebCore::PlatformSpeechSynthesizerMock::speak):
1817         * platform/mock/PlatformSpeechSynthesizerMock.h:
1818         (PlatformSpeechSynthesizerMock):
1819
1820 2013-03-19  Ryosuke Niwa  <rniwa@webkit.org>
1821
1822         Another build fix after r146220.
1823
1824         * English.lproj/localizedStrings.js:
1825
1826 2013-03-19  Julien Chaffraix  <jchaffraix@webkit.org>
1827
1828         [CSS Grid Layout] Add parsing for grid-auto-{row|column}
1829         https://bugs.webkit.org/show_bug.cgi?id=112724
1830
1831         Reviewed by Tony Chang.
1832
1833         This change is a first step towards handling grid-auto-{row|column}.
1834         For now, only the parsing, storing and getComputedStyle bits are implemented.
1835         In order to do so without duplicating code, the functions handling <track-size>
1836         (named <track-minmax> in the code based on a previous version of the grammar)
1837         have been tweaked to be called in a standalone fashion. The code was also
1838         updated to match the grammar more closely:
1839         - <track-minmax> is now <track-size>.
1840         - <track-group> was renmoved, folded into <track-list>.
1841
1842         Test: fast/css-grid-layout/grid-auto-columns-rows-get-set.html
1843
1844         * css/CSSComputedStyleDeclaration.cpp:
1845         (WebCore::valueForGridTrackSize):
1846         Renamed from valueForGridTrackMinMax.
1847
1848         (WebCore::valueForGridTrackList):
1849         Folded valueForGridTrackGroup here.
1850
1851         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1852         * css/CSSParser.cpp:
1853         (WebCore::CSSParser::parseValue):
1854         Added the parsing for grid-auto-{rows|columns}.
1855
1856         (WebCore::CSSParser::parseGridTrackSize):
1857         Renamed from parseGridTrackMinMax. Changed to return the parsed value (or 0 in case of
1858         error). This enables us to reuse it in parseValue. Note that this function now moves
1859         the parser value list instead of the caller.
1860
1861         (WebCore::CSSParser::parseGridTrackList):
1862         Updated after parseGridTrackSize changes and parseGridTrackGroup removal.
1863
1864         * css/CSSParser.h: Updated the names.
1865         * css/CSSProperty.cpp:
1866         (WebCore::CSSProperty::isInheritedProperty):
1867         * css/CSSPropertyNames.in:
1868         Added the 2 new non-inherited properties.
1869
1870         * css/StyleResolver.cpp:
1871         (WebCore::createGridTrackSize):
1872         Renamed from createGridTrackMinMax. Also simplified to ensure code reuse (applyProperty hands
1873         down a CSSValue) and consistency (the state wasn't consistently the last argument).
1874
1875         (WebCore::createGridTrackList):
1876         Folded createGridTrackGroup into this function.
1877
1878         (WebCore::StyleResolver::applyProperty):
1879         Added the code for the new properties.
1880
1881         * rendering/style/RenderStyle.h:
1882         * rendering/style/StyleGridData.cpp:
1883         (WebCore::StyleGridData::StyleGridData):
1884         * rendering/style/StyleGridData.h:
1885         (WebCore::StyleGridData::operator==):
1886         Added the storage and boiler-plate code for the new properties.
1887
1888 2013-03-19  Geoffrey Garen  <ggaren@apple.com>
1889
1890         Removed a using declaration to avoid name conflicts
1891         https://bugs.webkit.org/show_bug.cgi?id=112752
1892
1893         Reviewed by Ryosuke Niwa.
1894
1895         * html/ClassList.cpp: Put the using declaration here instead.
1896
1897         * html/ClassList.h: Don't put a using declaration in this header because
1898         it can cause name conflicts with SVGNames.
1899
1900 2013-03-18  Ojan Vafai  <ojan@chromium.org>
1901
1902         Make intrinsic size keywords on flexboxes work
1903         https://bugs.webkit.org/show_bug.cgi?id=112652
1904
1905         Reviewed by Tony Chang.
1906
1907         Tests: fast/css-intrinsic-dimensions/intrinsic-sized-column-flex-items.html
1908                fast/css-intrinsic-dimensions/intrinsic-sized-flex-items.html
1909
1910         * platform/Length.h:
1911         (WebCore::Length::isSpecifiedOrIntrinsic):
1912         * rendering/RenderBox.cpp:
1913         (WebCore::RenderBox::constrainLogicalWidthInRegionByMinMax):
1914         (WebCore::RenderBox::computeLogicalWidthInRegion):
1915         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
1916         Pass in the Length so that RenderFlexibleBox can call this method and avoid
1917         doing a bunch of code duplication.
1918
1919         * rendering/RenderBox.h:
1920         * rendering/RenderFlexibleBox.cpp:
1921         (WebCore::RenderFlexibleBox::computeMainAxisExtentForChild):
1922         Instead of just calling valueForLength, call computeLogicalWidthInRegionUsing so that
1923         we properly resolve intrinsic Length types. Incidentally, this should also make viewport
1924         percentage units work.
1925
1926         (WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax):
1927         Resolve intrinsic min/max Lengths. Also, instead of calling minPreferredLogicalWidth for the
1928         min-width: auto case, call computeMainAxisExtentForChild to correctly compute the min intrinsic size.
1929
1930 2013-03-19  Geoffrey Garen  <ggaren@apple.com>
1931
1932         Try to fix the Windows build.
1933
1934         * svg/SVGAnimateMotionElement.cpp:
1935         (WebCore::SVGAnimateMotionElement::hasValidAttributeType): Qualify the
1936         namespace to avoid conflicts.
1937
1938 2013-03-19  Ryosuke Niwa  <rniwa@webkit.org>
1939
1940         Windows build fix after r146264.
1941
1942         * svg/SVGAnimateMotionElement.cpp:
1943         (WebCore::SVGAnimateMotionElement::hasValidAttributeType):
1944
1945 2013-03-19  Nate Chapin  <japhet@chromium.org>
1946
1947         REGRESSION(r146223): chromium asserts/crashes in DocumentLoader
1948         https://bugs.webkit.org/show_bug.cgi?id=112745
1949
1950         Reviewed by Kenneth Russell.
1951
1952         Fixes layout tests on chromium debug
1953
1954         * loader/DocumentLoader.cpp:
1955         (WebCore::DocumentLoader::mainReceivedError): Frame might be detached, get
1956             defersLoading() from mainResourceLoader().
1957         (WebCore::DocumentLoader::responseReceived): RefPtr got dropped, it's really needed.
1958         (WebCore::DocumentLoader::receivedData): Frame might be detached, get
1959             defersLoading() from mainResourceLoader().
1960         (WebCore::DocumentLoader::cancelMainResourceLoad): The ResourceError parameter
1961             can be null if coming from the WebKit layer, we should have a default just in case.
1962
1963 2013-03-19  Geoffrey Garen  <ggaren@apple.com>
1964
1965         Refactored script content removal in the fragment parser for clarity and speed
1966         https://bugs.webkit.org/show_bug.cgi?id=112734
1967
1968         Reviewed by Enrica Casucci.
1969
1970         * WebCore.exp.in: Export!
1971
1972         * dom/DocumentFragment.cpp:
1973         (WebCore::DocumentFragment::parseHTML):
1974         (WebCore::DocumentFragment::parseXML):
1975         * dom/DocumentFragment.h:
1976         (DocumentFragment): Updated for rename of FragmentScriptingPermission to
1977         ParserContentPolicy.
1978
1979         * dom/Element.cpp:
1980         (WebCore::isEventHandlerAttribute):
1981         (WebCore::Element::isJavaScriptURLAttribute):
1982         (WebCore::Element::isJavaScriptAttribute): Fixed a FIXME by factoring
1983         out some helper functions that reuse isURLAttribute(). This makes our
1984         attribute removal slightly more precise, as reflected in test changes.
1985
1986         (WebCore::Element::stripJavaScriptAttributes): Factored this function out
1987         of parserSetAttributes to clarify that the parser is responsible for
1988         fully removing scripts before inserting anything into the DOM.
1989
1990         Now that this is a helper function, we can avoid doing any work in the
1991         common case, where script content is allowed. Also, when we do have to
1992         strip attributes, we use "two finger compaction" to avoid copying the
1993         vector, and to avoid O(N) vector removal operations when there is
1994         something to remove.
1995
1996         (WebCore::Element::parserSetAttributes):
1997         * dom/Element.h:
1998
1999         * dom/FragmentScriptingPermission.h:
2000         (WebCore::scriptingContentIsAllowed):
2001         (WebCore::disallowScriptingContent):
2002         (WebCore::pluginContentIsAllowed):
2003         (WebCore::allowPluginContent): Renamed for clarity, and added some helper
2004         functions for reading values out of this enum.
2005
2006         * dom/ScriptableDocumentParser.cpp:
2007         (WebCore::ScriptableDocumentParser::ScriptableDocumentParser): Moved
2008         a settings check into the parser constructor so we're sure that all
2009         clients get the right behavior.
2010
2011         * dom/ScriptableDocumentParser.h:
2012         (WebCore::ScriptableDocumentParser::parserContentPolicy):
2013         (ScriptableDocumentParser):
2014         * editing/markup.cpp:
2015         (WebCore::createFragmentFromMarkup):
2016         (WebCore::createFragmentFromMarkupWithContext):
2017         (WebCore::createFragmentForInnerOuterHTML):
2018         (WebCore::createContextualFragment):
2019         * editing/markup.h: Updated for renames.
2020
2021         * html/HTMLAnchorElement.cpp:
2022         (WebCore::HTMLAnchorElement::isURLAttribute): Fixed a bug where
2023         isURLAttribute would ignore href attributes in other namespaces, like
2024         xlink:href.
2025
2026         * html/HTMLBaseElement.cpp:
2027         (WebCore::HTMLBaseElement::isURLAttribute): Same bug.
2028
2029         * html/HTMLElement.cpp:
2030         (WebCore::HTMLElement::isURLAttribute): Fixed a logic error where HTMLElement
2031         wouldn't call through to its base class.
2032
2033         * html/HTMLLinkElement.cpp:
2034         (WebCore::HTMLLinkElement::isURLAttribute): Same isURLAttribute namespace
2035         bug as above.
2036
2037         * html/parser/HTMLConstructionSite.cpp:
2038         (WebCore::setAttributes): Helper function for optionally stripping
2039         disallowed attributes before setting them on an element. This helps all
2040         clients get the right behavior without sprinkling checks everywhere.
2041
2042         (WebCore::HTMLConstructionSite::HTMLConstructionSite):
2043         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
2044
2045         (WebCore::HTMLConstructionSite::insertScriptElement): Don't schedule the
2046         element for insertion into the document if the element is forbidden. This
2047         is slightly clearer than leaving an empty forbidden element in the document.
2048
2049         (WebCore::HTMLConstructionSite::createElement):
2050         (WebCore::HTMLConstructionSite::createHTMLElement):
2051         * html/parser/HTMLConstructionSite.h:
2052         (HTMLConstructionSite):
2053         (WebCore::HTMLConstructionSite::parserContentPolicy):
2054         * html/parser/HTMLDocumentParser.cpp:
2055         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
2056         (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
2057         (WebCore::HTMLDocumentParser::parseDocumentFragment):
2058         * html/parser/HTMLDocumentParser.h:
2059         (HTMLDocumentParser):
2060         (WebCore::HTMLDocumentParser::create):
2061         * html/parser/HTMLTreeBuilder.cpp:
2062         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
2063         (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
2064         Updated for renames and interface changes above.
2065
2066         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
2067         (WebCore::HTMLTreeBuilder::processEndTag): Removed isParsingFragment()
2068         checks to make it possible to use ParserContentPolicy in more places.
2069
2070         Removed call to removeChildren() because, if an element is forbidden,
2071         we fully remove the element now. This brings behavior for <script>
2072         elements in line with behavior for plug-in elements. It also brings
2073         behavior of the HTML parser in line with behavior of the XML parser.
2074
2075         * html/parser/HTMLTreeBuilder.h:
2076         (WebCore::HTMLTreeBuilder::create):
2077         (FragmentParsingContext):
2078         (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement):
2079         * platform/blackberry/PasteboardBlackBerry.cpp:
2080         (WebCore::Pasteboard::documentFragment):
2081         * platform/chromium/DragDataChromium.cpp:
2082         (WebCore::DragData::asFragment):
2083         * platform/chromium/PasteboardChromium.cpp:
2084         (WebCore::Pasteboard::documentFragment):
2085         * platform/gtk/PasteboardGtk.cpp:
2086         (WebCore::Pasteboard::documentFragment):
2087         * platform/mac/PasteboardMac.mm:
2088         (WebCore::Pasteboard::documentFragment):
2089         * platform/qt/DragDataQt.cpp:
2090         (WebCore::DragData::asFragment):
2091         * platform/qt/PasteboardQt.cpp:
2092         (WebCore::Pasteboard::documentFragment):
2093         * platform/win/ClipboardUtilitiesWin.cpp:
2094         (WebCore::fragmentFromCFHTML):
2095         (WebCore::fragmentFromHTML):
2096         * platform/wx/PasteboardWx.cpp:
2097         (WebCore::Pasteboard::documentFragment): Updated for renames and interface
2098         changes.
2099
2100         * svg/SVGAElement.cpp:
2101         (WebCore::SVGAElement::isURLAttribute): Fixed a bug where SVG anchor
2102         elements didn't identify their URL attributes.
2103
2104         * svg/SVGAElement.h:
2105         (SVGAElement):
2106
2107         * xml/XMLErrors.cpp:
2108         (WebCore::createXHTMLParserErrorHeader):
2109         (WebCore::XMLErrors::insertErrorMessageBlock): No need to disallow
2110         scripting attributes here because we're creating the attributes 
2111         ourselves and we know they're not scripting attributes.
2112
2113         * xml/parser/XMLDocumentParser.cpp:
2114         (WebCore::XMLDocumentParser::parseDocumentFragment):
2115         * xml/parser/XMLDocumentParser.h:
2116         (WebCore::XMLDocumentParser::create):
2117         (XMLDocumentParser): Updated for renames and interface changes above.
2118
2119         Removed the 8 inline capacity in the attribute vector so we could share
2120         helper functions with the HTML parser, which didn't have it.
2121
2122         * xml/parser/XMLDocumentParserLibxml2.cpp:
2123         (WebCore::setAttributes):
2124         (WebCore):
2125         (WebCore::XMLDocumentParser::XMLDocumentParser):
2126         (WebCore::handleNamespaceAttributes):
2127         (WebCore::handleElementAttributes):
2128         (WebCore::XMLDocumentParser::startElementNs):
2129         (WebCore::XMLDocumentParser::endElementNs):
2130         * xml/parser/XMLDocumentParserQt.cpp:
2131         (WebCore::setAttributes):
2132         (WebCore):
2133         (WebCore::XMLDocumentParser::XMLDocumentParser):
2134         (WebCore::handleNamespaceAttributes):
2135         (WebCore::handleElementAttributes):
2136         (WebCore::XMLDocumentParser::parseStartElement):
2137         (WebCore::XMLDocumentParser::parseEndElement): Same changes as for the
2138         HTML parser.
2139
2140 2013-03-19  Philip Rogers  <pdr@google.com>
2141
2142         Clean up static_casts for SVG renderers
2143         https://bugs.webkit.org/show_bug.cgi?id=111651
2144
2145         Reviewed by Abhishek Arya.
2146
2147         toRenderSVGPath and toRenderSVGFilter are preferred over static_casts because bad casts can
2148         be caught on our testing infrastructure. This patch replaces all static_casts for
2149         RenderSVGPath and RenderSVGFilter with toRenderSVGPath and toRenderSVGFilter, respectively.
2150
2151         This patch also adds FIXME to the remaining toRenderSVG* instances that are missing.
2152
2153         No new tests as this is covered with existing tests.
2154
2155         * rendering/RenderLayer.cpp:
2156         (WebCore::RenderLayer::paintLayerContents):
2157
2158             This call is currently safe due to the element->hasTagName(SVGNames::clipPathTag) check.
2159
2160         * rendering/svg/RenderSVGPath.h:
2161         (WebCore):
2162         (WebCore::toRenderSVGPath):
2163         * rendering/svg/RenderSVGResourceFilter.h:
2164         (WebCore):
2165         (WebCore::toRenderSVGFilter):
2166         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
2167         (WebCore::RenderSVGResourceFilterPrimitive::styleDidChange):
2168         * rendering/svg/RenderSVGRoot.cpp:
2169         (WebCore::RenderSVGRoot::addResourceForClientInvalidation):
2170         * rendering/svg/SVGRenderSupport.cpp:
2171         (WebCore::SVGRenderSupport::repaintRectForRendererInLocalCoordinatesExcludingSVGShadow):
2172         (WebCore::SVGRenderSupport::rendererHasSVGShadow):
2173         (WebCore::SVGRenderSupport::setRendererHasSVGShadow):
2174         * rendering/svg/SVGRenderingContext.cpp:
2175         (WebCore::SVGRenderingContext::~SVGRenderingContext):
2176
2177             This cast was not correct! Thankfully it was not required anyway.
2178
2179         * svg/SVGCircleElement.cpp:
2180         (WebCore::SVGCircleElement::svgAttributeChanged):
2181
2182             This cast was not correct!
2183
2184         * svg/SVGEllipseElement.cpp:
2185         (WebCore::SVGEllipseElement::svgAttributeChanged):
2186
2187             This cast was not correct!
2188
2189         * svg/SVGLineElement.cpp:
2190         (WebCore::SVGLineElement::svgAttributeChanged):
2191         * svg/SVGPathElement.cpp:
2192         (WebCore::SVGPathElement::svgAttributeChanged):
2193         (WebCore::SVGPathElement::pathSegListChanged):
2194         (WebCore::SVGPathElement::getBBox):
2195         * svg/SVGPolyElement.cpp:
2196         (WebCore::SVGPolyElement::svgAttributeChanged):
2197         * svg/SVGRectElement.cpp:
2198         (WebCore::SVGRectElement::svgAttributeChanged):
2199
2200 2013-03-19  Beth Dakin  <bdakin@apple.com>
2201
2202         RenderLayer::scrollTo() should call FrameLoaderClient::didChangeScrollOffset()
2203         https://bugs.webkit.org/show_bug.cgi?id=110673
2204
2205         Reviewed by Simon Fraser.
2206
2207         FrameLoaderClient::didChangeScrollOffset() should be called whenever something is 
2208         actually being scrolled. 
2209
2210         * rendering/RenderLayer.cpp:
2211         (WebCore::RenderLayer::scrollTo):
2212
2213 2013-03-19  Marja Hölttä  <marja@chromium.org>
2214
2215         [V8] Add machinery for generating specialized bindings for the main world
2216         https://bugs.webkit.org/show_bug.cgi?id=111417
2217
2218         Reviewed by Jochen Eisinger.
2219
2220         The new specialized bindings will be faster, because they don't need to
2221         do the "main world, isolated world or a worker" check, but can right
2222         away assume that we're in the main world.
2223
2224         Added an IDL attribute (V8PerWorldBindings) to define which
2225         attribute getters / setters to specialize.
2226
2227         This patch generates main world bindings for getters and setters of Node
2228         and Element. (The possibility to generate bindings for callbacks will be
2229         added later.)
2230
2231         No new tests (updated existing bindings tests).
2232
2233         * bindings/scripts/CodeGeneratorV8.pm:
2234         (GenerateHeader):
2235         (GenerateNormalAttrGetterCallback):
2236         (GenerateNormalAttrGetter):
2237         (GenerateNormalAttrSetterCallback):
2238         (GenerateNormalAttrSetter):
2239         (GenerateNamedConstructor):
2240         (GenerateSingleBatchedAttribute):
2241         (GenerateImplementation):
2242         (GenerateCallbackImplementation):
2243         (GenerateFunctionCallString):
2244         (CreateCustomSignature):
2245         (NativeToJSValue):
2246         * bindings/scripts/IDLAttributes.txt:
2247         * bindings/scripts/test/V8/V8Float64Array.cpp:
2248         (WebCore::ConfigureV8Float64ArrayTemplate):
2249         (WebCore::V8Float64Array::GetTemplate):
2250         (WebCore::V8Float64Array::HasInstance):
2251         * bindings/scripts/test/V8/V8Float64Array.h:
2252         (WebCore::toV8ForMainWorld):
2253         (WebCore):
2254         (WebCore::toV8FastForMainWorld):
2255         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2256         (WebCore):
2257         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
2258         (WebCore::V8TestActiveDOMObject::GetTemplate):
2259         (WebCore::V8TestActiveDOMObject::HasInstance):
2260         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
2261         (WebCore::toV8ForMainWorld):
2262         (WebCore):
2263         (WebCore::toV8FastForMainWorld):
2264         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2265         (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
2266         (WebCore::V8TestCustomNamedGetter::GetTemplate):
2267         (WebCore::V8TestCustomNamedGetter::HasInstance):
2268         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
2269         (WebCore::toV8ForMainWorld):
2270         (WebCore):
2271         (WebCore::toV8FastForMainWorld):
2272         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2273         (WebCore):
2274         (WebCore::ConfigureV8TestEventConstructorTemplate):
2275         (WebCore::V8TestEventConstructor::GetTemplate):
2276         (WebCore::V8TestEventConstructor::HasInstance):
2277         * bindings/scripts/test/V8/V8TestEventConstructor.h:
2278         (WebCore::toV8ForMainWorld):
2279         (WebCore):
2280         (WebCore::toV8FastForMainWorld):
2281         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2282         (WebCore::ConfigureV8TestEventTargetTemplate):
2283         (WebCore::V8TestEventTarget::GetTemplate):
2284         (WebCore::V8TestEventTarget::HasInstance):
2285         * bindings/scripts/test/V8/V8TestEventTarget.h:
2286         (WebCore::toV8ForMainWorld):
2287         (WebCore):
2288         (WebCore::toV8FastForMainWorld):
2289         * bindings/scripts/test/V8/V8TestException.cpp:
2290         (WebCore):
2291         (WebCore::ConfigureV8TestExceptionTemplate):
2292         (WebCore::V8TestException::GetTemplate):
2293         (WebCore::V8TestException::HasInstance):
2294         * bindings/scripts/test/V8/V8TestException.h:
2295         (WebCore::toV8ForMainWorld):
2296         (WebCore):
2297         (WebCore::toV8FastForMainWorld):
2298         * bindings/scripts/test/V8/V8TestInterface.cpp:
2299         (WebCore):
2300         (WebCore::ConfigureV8TestInterfaceTemplate):
2301         (WebCore::V8TestInterface::GetTemplate):
2302         (WebCore::V8TestInterface::HasInstance):
2303         * bindings/scripts/test/V8/V8TestInterface.h:
2304         (WebCore::toV8ForMainWorld):
2305         (WebCore):
2306         (WebCore::toV8FastForMainWorld):
2307         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2308         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
2309         (WebCore::V8TestMediaQueryListListener::GetTemplate):
2310         (WebCore::V8TestMediaQueryListListener::HasInstance):
2311         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
2312         (WebCore::toV8ForMainWorld):
2313         (WebCore):
2314         (WebCore::toV8FastForMainWorld):
2315         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2316         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
2317         (WebCore::ConfigureV8TestNamedConstructorTemplate):
2318         (WebCore::V8TestNamedConstructor::GetTemplate):
2319         (WebCore::V8TestNamedConstructor::HasInstance):
2320         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
2321         (WebCore::toV8ForMainWorld):
2322         (WebCore):
2323         (WebCore::toV8FastForMainWorld):
2324         * bindings/scripts/test/V8/V8TestNode.cpp:
2325         (WebCore::ConfigureV8TestNodeTemplate):
2326         (WebCore::V8TestNode::GetTemplate):
2327         (WebCore::V8TestNode::HasInstance):
2328         * bindings/scripts/test/V8/V8TestNode.h:
2329         (WebCore::toV8ForMainWorld):
2330         (WebCore):
2331         (WebCore::toV8FastForMainWorld):
2332         * bindings/scripts/test/V8/V8TestObj.cpp:
2333         (WebCore):
2334         (WebCore::ConfigureV8TestObjTemplate):
2335         (WebCore::V8TestObj::GetTemplate):
2336         (WebCore::V8TestObj::HasInstance):
2337         (WebCore::V8TestObj::installPerContextProperties):
2338         * bindings/scripts/test/V8/V8TestObj.h:
2339         (WebCore::toV8ForMainWorld):
2340         (WebCore):
2341         (WebCore::toV8FastForMainWorld):
2342         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
2343         (WebCore::ConfigureV8TestOverloadedConstructorsTemplate):
2344         (WebCore::V8TestOverloadedConstructors::GetTemplate):
2345         (WebCore::V8TestOverloadedConstructors::HasInstance):
2346         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
2347         (WebCore::toV8ForMainWorld):
2348         (WebCore):
2349         (WebCore::toV8FastForMainWorld):
2350         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2351         (WebCore):
2352         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
2353         (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
2354         (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
2355         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
2356         (WebCore::toV8ForMainWorld):
2357         (WebCore):
2358         (WebCore::toV8FastForMainWorld):
2359         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
2360         (WebCore):
2361         (WebCore::ConfigureV8TestTypedefsTemplate):
2362         (WebCore::V8TestTypedefs::GetTemplate):
2363         (WebCore::V8TestTypedefs::HasInstance):
2364         * bindings/scripts/test/V8/V8TestTypedefs.h:
2365         (WebCore::toV8ForMainWorld):
2366         (WebCore):
2367         (WebCore::toV8FastForMainWorld):
2368         * bindings/v8/DOMDataStore.h:
2369         (WebCore::DOMDataStore::getWrapperForMainWorld):
2370         (DOMDataStore):
2371         * bindings/v8/V8DOMConfiguration.cpp:
2372         (WebCore::V8DOMConfiguration::batchConfigureAttributes):
2373         (WebCore::V8DOMConfiguration::configureTemplate):
2374         * bindings/v8/V8DOMConfiguration.h:
2375         (BatchedAttribute):
2376         (V8DOMConfiguration):
2377         (WebCore::V8DOMConfiguration::configureAttribute):
2378         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2379         (WebCore::toV8ForMainWorld):
2380         (WebCore):
2381         * bindings/v8/custom/V8EventTargetCustom.cpp:
2382         (WebCore::toV8ForMainWorld):
2383         (WebCore):
2384         * bindings/v8/custom/V8IDBAnyCustom.cpp:
2385         (WebCore::toV8ForMainWorld):
2386         (WebCore):
2387         * bindings/v8/custom/V8MicroDataItemValueCustom.cpp:
2388         (WebCore::toV8ForMainWorld):
2389         (WebCore):
2390         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2391         (WebCore::toV8ForMainWorld):
2392         (WebCore):
2393         * dom/Element.idl:
2394         * dom/Node.idl:
2395
2396 2013-03-19  Mike West  <mkwst@chromium.org>
2397
2398         FeatureObserver: Measure X-Frame-Options usage.
2399         https://bugs.webkit.org/show_bug.cgi?id=112670
2400
2401         Reviewed by Adam Barth.
2402
2403         This patch adds three FeatureObserver entries to gather information
2404         about 'X-Frame-Options' usage in general, and in particular usage
2405         and potential misunderstanding of the 'SAMEORIGIN' value.
2406
2407         Three entries are added:
2408
2409         - XFrameOptions measures the raw number of 'X-Frame-Options' headers.
2410
2411         - XFrameOptionsSameOrigin measures the number of those headers that
2412           set the value to 'SAMEORIGIN'.
2413
2414         - XFrameOptionsSameOriginWithBadAncestorChain measures the number of
2415           occasions in which the frame passed the "top-only" origin check we're
2416           currently performing, but would have failed a more strict check
2417           against poisoned ancestor chains (that is, an ancestor chain that
2418           looks like 'example.com' -> 'evil.com' -> 'example.com').
2419
2420         Mozilla is considering changing 'SAMEORIGIN's behavior to block the
2421         latter loophole[1], and the UI Safety spec is considering dropping
2422         'top-only' entirely[2]. This data will inform those decisions.
2423
2424         [1]: https://bugzilla.mozilla.org/show_bug.cgi?id=725490
2425         [2]: http://lists.w3.org/Archives/Public/public-webappsec/2013Mar/0007.html
2426
2427         This doesn't change web-visible behavior; it only adds histograms
2428
2429         * loader/FrameLoader.cpp:
2430         (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
2431             When processing an 'X-Frame-Options' header's value, call out to
2432             FeatureObserver when relevant to increment the correct histogram
2433             entries.
2434         * page/FeatureObserver.h:
2435             Added three entries to the FeatureObserver enum: XFrameOptions,
2436             XFrameOptionsSameOrigin, and XFrameOptionsSameOriginWithBadAncestorChain.
2437             Each is explained above.
2438
2439 2013-03-19  Adam Barth  <abarth@webkit.org>
2440
2441         GenerateHashValue should be usable outside CodeGeneratorJS.pm
2442         https://bugs.webkit.org/show_bug.cgi?id=112736
2443
2444         Reviewed by Benjamin Poulain.
2445
2446         GenerateHashValue is not specific to CodeGeneratorJS.pm. Instead, the
2447         function matches the StringHash used in WTF. This patch moves the
2448         function into a separate Perl module so that it can be used by other
2449         Perl scripts. For example, I plan to use this function to compute the
2450         hash value for HTMLNames at compile time rather than at startup.
2451
2452         * bindings/scripts/CodeGeneratorJS.pm:
2453         (GenerateHashTable):
2454         * bindings/scripts/Hash.pm: Added.
2455         (leftShift):
2456         (GenerateHashValue):
2457
2458 2013-03-19  Dean Jackson  <dino@apple.com>
2459
2460         Allow PlugIn Snapshotting to be tested
2461         https://bugs.webkit.org/show_bug.cgi?id=98696
2462
2463         Reviewed by Tim Horton.
2464
2465         Expose a new setting maximumPlugInSnapshotAttempts that can
2466         be set by testing scripts.
2467
2468         Tests: plugins/snapshotting/restart.html
2469                plugins/snapshotting/simple.html
2470
2471         * page/Settings.in:
2472
2473 2013-03-19  Dean Jackson  <dino@apple.com>
2474
2475         Restarting a snapshotted plugin should restart all plugins from the same domain on the page
2476         https://bugs.webkit.org/show_bug.cgi?id=112725
2477
2478         Reviewed by Tim Horton.
2479
2480         If the user restarts a snapshotted plugin, then typically they will
2481         want to restart all similar plugins on the page, where similarity
2482         is defined by the domain of the content. Or in other words, since clients
2483         will typically add a restarted plugin to the list of autostarting
2484         domain hashes, we should start the other plugins that would autostart
2485         on reload.
2486
2487         When a snapshotted plugin gets the user click telling it to restart, it iterates
2488         over every frame in the document looking for domain hashes similar to its own.
2489         It then manually restarts each of the paused plugins.
2490
2491         * html/HTMLPlugInImageElement.cpp:
2492         (WebCore::addPlugInsFromNodeListMatchingOriginHash): Static helper function
2493             that builds a list of plugins to restart.
2494         (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): After restarting itself,
2495             the plugin looks for all other similar snapshotted plugins in the page.
2496         (WebCore::HTMLPlugInImageElement::restartSnapshottedPlugIn): Splits out the actual
2497             restart functionality, to make it separate from plugins that were manually
2498             restarted and thus probably want to forward a delayed click event.
2499         * html/HTMLPlugInImageElement.h:
2500         (HTMLPlugInImageElement): New method restartSnapshottedPlugIn.
2501
2502 2013-03-19  Nate Chapin  <japhet@chromium.org>
2503
2504         Merge MainResourceLoader's SubstituteData loading + others into DocumentLoader
2505         https://bugs.webkit.org/show_bug.cgi?id=112722
2506
2507         Part of the ongoing effort to merge MainResourceLoader entirely
2508         into DocumentLoader.
2509
2510         Reviewed by Antti Koivisto.
2511
2512         No new tests, refactor only.
2513
2514         * loader/DocumentLoader.cpp:
2515         (WebCore::DocumentLoader::mainReceivedError): Moved from MainResourceLoader::receivedError
2516             and the failure case in MainResourceLoader::notifyFinished.
2517         (WebCore::DocumentLoader::stopLoading):
2518         (WebCore::DocumentLoader::finishedLoading):
2519         (WebCore::DocumentLoader::handleSubstituteDataLoadNow): Moved from MainResourceLoader.
2520         (WebCore::DocumentLoader::startDataLoadTimer): Moved from MainResourceLoader.
2521         (WebCore::DocumentLoader::handleSubstituteDataLoadSoon): Moved from MainResourceLoader.
2522         (WebCore::DocumentLoader::willSendRequest):
2523         (WebCore::DocumentLoader::continueAfterNavigationPolicy):
2524         (WebCore::DocumentLoader::responseReceived):
2525         (WebCore::DocumentLoader::receivedData):
2526         (WebCore::DocumentLoader::startLoadingMainResource): Most of MainResourceLoader::load
2527             moved here.
2528         (WebCore::DocumentLoader::cancelMainResourceLoad): MainResourceLoader::cancel
2529             moved here.
2530         * loader/DocumentLoader.h:
2531         * loader/MainResourceLoader.cpp:
2532         (WebCore::MainResourceLoader::notifyFinished):
2533         (WebCore::MainResourceLoader::reportMemoryUsage):
2534         (WebCore::MainResourceLoader::load):
2535         (WebCore::MainResourceLoader::identifier):
2536         * loader/MainResourceLoader.h:
2537
2538 2013-03-19  Ryosuke Niwa  <rniwa@webkit.org>
2539
2540         Unreviewed build fix after r146220. Add the missing ]'s.
2541
2542         * English.lproj/localizedStrings.js:
2543
2544 2013-03-19  Alpha Lam  <hclam@chromium.org>
2545
2546         GIFImageReader to count frames and decode in one pass
2547         https://bugs.webkit.org/show_bug.cgi?id=111144
2548
2549         Reviewed by Stephen White.
2550
2551         OBJECTIVE
2552
2553         This change has the objective of improving performance reading GIF
2554         files. This implementation can parse the entire GIF file in one pass
2555         and saves information about each frame, such that decoding in a later
2556         pass does not need to parse the file again.
2557
2558         This change fixes the performance problem of decoding GIF files when
2559         they are received very slowly. Existing implementation creates a new
2560         GIFImageReader for counting frames for every time it is notified that
2561         new data has been received, this has O(n^2) behavior when data is
2562         received very slowly.
2563
2564         ALGORITHM
2565
2566         This implementation divides the decoding process into two separate
2567         steps: parse and LZW decoding.
2568
2569         In the parse step, the state machine is similar to the existing
2570         implementation. However this algorithm does not perform any decoding
2571         while scanning through the file. Intead it creates a new data structure
2572         for caching all frame information and the corresponding LZW blocks.
2573
2574         If a full decode is requested then LZW decoding is performed. This
2575         implementation looks through all frame information saved and decodes
2576         each frame sequentially until the target frame is reached.
2577
2578         Because of the separation of parse and decode, each frame can be
2579         decoded separately. This paves the way to support seeking in GIF files.
2580
2581         TESTING
2582
2583         Added a new unit test to cover progressively decoding a GIF image.
2584         There are already GIF unit tests for functional testing.
2585         Exhaustive testing was done locally with a corpus of 60k images.
2586         I mixed the corpus with some generated bad data and truncated files.
2587         The results was bit-identical when compared to the previous
2588         implementation.
2589
2590         These was also no crashing when decoding the entire corpus.
2591
2592         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2593         (WebCore::GIFImageDecoder::GIFImageDecoder):
2594         (WebCore::GIFImageDecoder::setData):
2595         (WebCore::GIFImageDecoder::frameCount):
2596         (WebCore::GIFImageDecoder::repetitionCount):
2597         (WebCore::GIFImageDecoder::decode):
2598         * platform/image-decoders/gif/GIFImageDecoder.h:
2599         (GIFImageDecoder):
2600         * platform/image-decoders/gif/GIFImageReader.cpp:
2601         (GIFLZWContext::outputRow):
2602         (GIFLZWContext::doLZW):
2603         (GIFFrameContext::decode):
2604         (GIFImageReader::decode):
2605         (GIFImageReader::parse):
2606         (GIFImageReader::addFrameIfNecessary):
2607         (GIFLZWContext::prepareToDecode):
2608         * platform/image-decoders/gif/GIFImageReader.h:
2609         There is a lot of reshuffling in GIFLZWContext and GIFFrameContext.
2610         These changes has the goal of having GIFLZWContext be a pure decoding
2611         state machine. GIFFrameContext is mostly a read-only container for
2612         frame information. With all these changes we can decode each
2613         GIFFrameContext independently.
2614
2615         The ownership pattern is:
2616         GIFImageReader owns GIFFrameContext owns GIFLZWContext.
2617
2618         (GIFLZWContext::GIFLZWContext):
2619         (GIFLZWContext):
2620         (GIFLZWContext::hasRemainingRows):
2621         GIFLZWContext is moved to the top of file.
2622         (GIFLZWBlock):
2623         (GIFLZWBlock::GIFLZWBlock):
2624         New data structure to save block position and size.
2625         (GIFFrameContext):
2626         (GIFFrameContext::GIFFrameContext):
2627         (GIFFrameContext::~GIFFrameContext):
2628         (GIFFrameContext::addLzwBlock):
2629         (GIFFrameContext::isComplete):
2630         (GIFFrameContext::isHeaderDefined):
2631         (GIFFrameContext::isDataSizeDefined):
2632         (GIFFrameContext::setComplete):
2633         (GIFFrameContext::setHeaderDefined):
2634         (GIFFrameContext::setDataSize):
2635         Now owns GIFLZWContext for decoding.
2636         (GIFImageReader::GIFImageReader):
2637         (GIFImageReader::~GIFImageReader):
2638         (GIFImageReader::imagesCount):
2639         (GIFImageReader::frameContext):
2640         (GIFImageReader):
2641         (GIFImageReader::parseFailed):
2642         (GIFImageReader::isFirstFrame):
2643         Owns a list of GIFFrameContxt.
2644
2645 2013-03-19  Brent Fulgham  <bfulgham@webkit.org>
2646
2647         [WinCairo] Unreviewed build correction for WebCore library.
2648
2649         * WebCore.vcxproj/WebCore.vcxproj: Exclude CG-specific frame source
2650         from WinCairo build.
2651         * WebCore.vcxproj/WebCoreGeneratedWinCairo.make: Pass correct
2652         parameter to build-generated-files.sh for WinCairo build.
2653
2654 2013-03-19  Leon Scroggins  <scroggo@chromium.org>
2655
2656         Implement onRefEncodedData for lazy pixel refs.
2657         This allows printToSkPicture to write the original
2658         encoded data to the stream.
2659         Add a method to ImageFrameGenerator to copy its
2660         data, which is used by onRefEncodedData.
2661         https://bugs.webkit.org/show_bug.cgi?id=110759
2662
2663         Reviewed by Stephen White.
2664
2665         No new tests. New functionality is for testing purposes
2666         (creating SKP files).
2667
2668         * platform/graphics/chromium/ImageFrameGenerator.cpp:
2669         (WebCore::ImageFrameGenerator::data):
2670         (WebCore):
2671         * platform/graphics/chromium/ImageFrameGenerator.h:
2672         (ImageFrameGenerator):
2673         * platform/graphics/chromium/LazyDecodingPixelRef.cpp:
2674         (WebCore::LazyDecodingPixelRef::isClipped):
2675         (WebCore):
2676         (WebCore::LazyDecodingPixelRef::onRefEncodedData):
2677         * platform/graphics/chromium/LazyDecodingPixelRef.h:
2678         (LazyDecodingPixelRef):
2679
2680 2013-03-19  Philip Rogers  <pdr@google.com>
2681
2682         Separate SVG image size and container size
2683         https://bugs.webkit.org/show_bug.cgi?id=112651
2684
2685         Reviewed by Stephen Chenney.
2686
2687         Previously, SVG images could retain their cached size between reloads due to a bug where an
2688         old container size would be re-used if the image's new container size was not available yet.
2689
2690         This patch changes SVGImage::size() to return the intrinsic size of the image before a
2691         container size has been set. SVGImageCache::imageSizeForRenderer will now return the
2692         image's intrinsic size instead of a cached value if the container size cannot be looked up.
2693         In javascript, querying [SVGImage].width will now return either the image's intrinsic size
2694         or the size of 'imageForContainer'.
2695
2696         Test: svg/as-image/svg-container-size-after-reload.html
2697
2698         * svg/graphics/SVGImage.cpp:
2699         (WebCore::SVGImage::setContainerSize):
2700         (WebCore::SVGImage::containerSize):
2701         (WebCore::SVGImage::draw):
2702         (WebCore::SVGImage::dataChanged):
2703         * svg/graphics/SVGImage.h:
2704
2705             The member variable 'm_intrinsicSize' has been added to track the image's intrinsic
2706             size. This term can be found in: http://www.w3.org/TR/css3-images/#default-sizing
2707
2708         * svg/graphics/SVGImageCache.cpp:
2709         (WebCore::SVGImageCache::imageSizeForRenderer):
2710         (WebCore::SVGImageCache::imageForRenderer):
2711
2712             In both of these functions, image has been renamed to imageForContainer here to clarify
2713             that the cached container size is being returned, not the image's intrinsic size.
2714
2715 2013-03-19  Joshua Bell  <jsbell@chromium.org>
2716
2717         IndexedDB: Use integer plumbing for deleteDatabase onVersionChange calls
2718         https://bugs.webkit.org/show_bug.cgi?id=112715
2719
2720         Reviewed by Tony Chang.
2721
2722         When deleteDatabase on the back-end needs to send the front-end an
2723         onVersionChange notification it does so using the string overload. That's
2724         the only remaining use of that overload and we'd like to delete it. Switch
2725         to using the integer overload, with an already defined special value.
2726         This will unblock http://wkbug.com/112712 to delete the dead code.
2727
2728         No new tests - no functional change.
2729
2730         * Modules/indexeddb/IDBDatabase.cpp:
2731         (WebCore::IDBDatabase::onVersionChange): Map NoIntVersion to null.
2732         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
2733         (WebCore::IDBDatabaseBackendImpl::deleteDatabase): Call integer overload.
2734
2735 2013-03-19  Terry Anderson  <tdanderson@chromium.org>
2736
2737         Hover effects from a GestureTapDown are dismissed by a GestureTap on the hover element
2738         https://bugs.webkit.org/show_bug.cgi?id=103283
2739
2740         Reviewed by Antonio Gomes.
2741
2742         On a GestureTap event over an element that was made visible as a hover effect, the
2743         GestureTap should be applied to that element and the hover effects should not be dismissed. 
2744         A GestureTap or a mouse move to a location outside of the element should still dismiss the
2745         hover effects.
2746
2747         Tests: fast/events/touch/gesture/gesture-tap-hover-clear.html
2748                fast/events/touch/gesture/gesture-tap-on-hover-element.html
2749
2750         * page/EventHandler.cpp:
2751         (WebCore::EventHandler::handleGestureEvent):
2752
2753 2013-03-19  Alexei Filippov  <alph@chromium.org>
2754
2755         Web Inspector: Fix menu items capitalization.
2756         https://bugs.webkit.org/show_bug.cgi?id=112553
2757
2758         The context menu items should be correctly capitalized.
2759
2760         Reviewed by Pavel Feldman.
2761
2762         * English.lproj/localizedStrings.js:
2763         * inspector/front-end/BreakpointsSidebarPane.js:
2764         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._emptyElementContextMenu):
2765         (WebInspector.XHRBreakpointsSidebarPane.prototype._emptyElementContextMenu):
2766         (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu):
2767         * inspector/front-end/CallStackSidebarPane.js:
2768         (WebInspector.CallStackSidebarPane.Placard.prototype._placardContextMenu):
2769         * inspector/front-end/ConsoleView.js:
2770         (WebInspector.ConsoleView.prototype._handleContextMenuEvent.get var):
2771         (WebInspector.ConsoleView.prototype._handleContextMenuEvent.set get contextMenu):
2772         * inspector/front-end/DOMBreakpointsSidebarPane.js:
2773         (WebInspector.DOMBreakpointsSidebarPane.prototype._contextMenu):
2774         * inspector/front-end/DataGrid.js:
2775         (WebInspector.DataGrid.prototype._contextMenuInDataTable):
2776         * inspector/front-end/ElementsPanel.js:
2777         (WebInspector.ElementsPanel.prototype._contextMenuEventFired.set get var):
2778         (WebInspector.ElementsPanel.prototype.appendApplicableItems):
2779         * inspector/front-end/ElementsTreeOutline.js:
2780         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
2781         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
2782         * inspector/front-end/HeapSnapshotDataGrids.js:
2783         (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu):
2784         * inspector/front-end/NetworkPanel.js:
2785         (WebInspector.NetworkPanel.prototype.appendApplicableItems):
2786         * inspector/front-end/ProfilesPanel.js:
2787         (WebInspector.ProfilesPanel.prototype._handleContextMenuEvent):
2788         (WebInspector.ProfilesPanel.prototype.appendApplicableItems):
2789         (WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
2790         * inspector/front-end/ResourcesPanel.js:
2791         (WebInspector.FileSystemListTreeElement.prototype._handleContextMenuEvent):
2792         * inspector/front-end/ScriptsPanel.js:
2793         (WebInspector.ScriptsPanel.prototype._appendUISourceCodeMappingItems):
2794         (WebInspector.ScriptsPanel.prototype._appendUISourceCodeItems):
2795         (WebInspector.ScriptsPanel.prototype._appendFunctionItems):
2796         * inspector/front-end/TabbedPane.js:
2797         (WebInspector.TabbedPaneTab.prototype._tabContextMenu):
2798         * inspector/front-end/TimelinePanel.js:
2799         (WebInspector.TimelinePanel.prototype._contextMenu):
2800         * inspector/front-end/WatchExpressionsSidebarPane.js:
2801         (WebInspector.WatchExpressionsSection.prototype._emptyElementContextMenu):
2802         (WebInspector.WatchExpressionTreeElement.prototype.populateContextMenu):
2803
2804 2013-03-19  Alec Flett  <alecflett@chromium.org>
2805
2806         Inspector: IndexedDB clear button and menu item
2807         https://bugs.webkit.org/show_bug.cgi?id=112066
2808
2809         Reviewed by Vsevolod Vlasov.
2810
2811         Adds a button that can clear the contents of an objectStore from
2812         the IDBDataView, and a context menu from the ResourcesPanel that
2813         can do the same.
2814
2815         This also disables the Refresh button from the IDBDataView, so there
2816         is at least some visual feedback that the refresh button is working.
2817
2818         Tests: http/tests/inspector/indexeddb/database-data.html
2819
2820         * inspector/Inspector.json: New API clearObjectStore.
2821         * inspector/InspectorIndexedDBAgent.cpp: Implementation of clearObjectStore
2822         (WebCore):
2823         (ClearObjectStoreListener): Calls the original closure after the objectStore is cleared.
2824         (ClearObjectStore): Initiates the clear operation after the DB opens.
2825         * inspector/front-end/IndexedDBModel.js: Exposes clearObjectStore to the Model API.
2826         (WebInspector.IDBDataView): Add clear button and enable/disable clear and refresh buttons appropriately.
2827         * inspector/front-end/ResourcesPanel.js: Add a menu item and refresh the displayed data after the clear.
2828         * inspector/front-end/inspector.css: Add a style to show the right button for clear.
2829
2830 2013-03-19  Nate Chapin  <japhet@chromium.org>
2831
2832         Merge MainResourceLoader::responseReceived into DocumentLoader
2833         https://bugs.webkit.org/show_bug.cgi?id=112593
2834
2835         Part of the ongoing effort to merge MainResourceLoader entirely
2836         into DocumentLoader.
2837
2838         Reviewed by Adam Barth.
2839
2840         No new tests, refactor only.
2841
2842         * loader/DocumentLoader.cpp:
2843         (WebCore::DocumentLoader::DocumentLoader):
2844         (WebCore::DocumentLoader::stopLoading):
2845         (WebCore::DocumentLoader::finishedLoading): The only thing left in
2846             MainResourceLoader related to this function was a RefPtr which indirectly
2847             protected DocumentLoader. Move the RefPtr here and protect DocumentLoader directly.
2848         (WebCore::DocumentLoader::responseReceived): Moved from MainResourceLoader.
2849         (WebCore::DocumentLoader::callContinueAfterContentPolicy): Moved from MainResourceLoader.
2850         (WebCore::DocumentLoader::continueAfterContentPolicy): Moved from MainResourceLoader.
2851         (WebCore::DocumentLoader::interruptedForPolicyChangeError): Moved from MainResourceLoader.
2852         (WebCore::DocumentLoader::stopLoadingForPolicyChange): Moved from MainResourceLoader.
2853         (WebCore::DocumentLoader::receivedData):
2854         (WebCore::DocumentLoader::cancelMainResourceLoad):
2855         * loader/DocumentLoader.h:
2856         (WebCore::DocumentLoader::isLoadingMultipartContent): Store multipart bit here.
2857         * loader/MainResourceLoader.cpp:
2858         (WebCore::MainResourceLoader::MainResourceLoader):
2859         (WebCore::MainResourceLoader::cancel):
2860         (WebCore::MainResourceLoader::responseReceived):
2861         (WebCore::MainResourceLoader::notifyFinished):
2862         * loader/MainResourceLoader.h:
2863
2864 2013-03-19  Tony Chang  <tony@chromium.org>
2865
2866         Cleanup defaultUnifiedTextCheckerEnabled type
2867         https://bugs.webkit.org/show_bug.cgi?id=112640
2868
2869         Reviewed by Adam Barth.
2870
2871         It's a bool setting. I accidentally declared the default value as a double
2872         in r139202.
2873
2874         No new tests, this is a refactor/code cleanup.
2875
2876         * page/Settings.cpp:
2877         (WebCore): Switch from double to a bool.
2878
2879 2013-03-19  Alexei Filippov  <alph@chromium.org>
2880
2881         Web Inspector: Increase DataGrid default font size.
2882         https://bugs.webkit.org/show_bug.cgi?id=112692
2883
2884         Reviewed by Pavel Feldman.
2885
2886         The default font of 10px is too small. Most instances of DataGrid set
2887         font to 11px.
2888
2889         * inspector/front-end/dataGrid.css:
2890         (.data-grid table):
2891
2892 2013-03-19  Max Vujovic  <mvujovic@adobe.com>
2893
2894         Refactor conditions for setCompositingLayersNeedRebuild in RenderLayer::styleChanged
2895         https://bugs.webkit.org/show_bug.cgi?id=112606
2896
2897         Reviewed by Simon Fraser.
2898
2899         To fix bug 109098 [1], we will need to add more conditions for calling
2900         RenderLayerCompositor::setCompositingLayersNeedRebuild in RenderLayer::styleChanged.
2901         Adding more non-trivial conditions will make this block of code even harder to follow.
2902         This patch refactors the current conditions into functions:
2903             needsCompositingLayersRebuiltForClip
2904             needsCompositingLayersRebuiltForOverflow
2905
2906         In bug 109098 [1], I'm planning to add:
2907             needsCompositingLayersRebuiltForFilters
2908
2909         [1]: https://bugs.webkit.org/show_bug.cgi?id=109098
2910
2911         No new tests. Just refactoring.
2912
2913         * rendering/RenderLayer.cpp:
2914         (WebCore):
2915         (WebCore::RenderLayer::needsCompositingLayersRebuiltForClip):
2916         (WebCore::RenderLayer::needsCompositingLayersRebuiltForOverflow):
2917             This is a method and not a file static function because it needs to look at the
2918             RenderLayer's stackingContainer(), which is a private method.
2919         (WebCore::RenderLayer::styleChanged):
2920         * rendering/RenderLayer.h:
2921         (RenderLayer):
2922
2923 2013-03-19  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2924
2925         [Qt] Support kerning in fast path font rendering
2926         https://bugs.webkit.org/show_bug.cgi?id=106013
2927
2928         Reviewed by Jocelyn Turcotte.
2929
2930         To support kerning in the fast font path we need to implement SimpleFontData::applyTransforms.
2931
2932         This patch changes the types used by the fast path GlyphBuffer to match those used by Qt,
2933         and implements SimpleFontData::applyTransforms using QRawFont::advancesForGlyphIndexes.
2934
2935         * platform/graphics/GlyphBuffer.h:
2936         (GlyphBufferAdvance):
2937         (WebCore::GlyphBufferAdvance::GlyphBufferAdvance):
2938         (WebCore::GlyphBufferAdvance::setWidth):
2939         (WebCore::GlyphBufferAdvance::width):
2940         (WebCore::GlyphBufferAdvance::height):
2941         (WebCore::GlyphBuffer::add):
2942         * platform/graphics/SimpleFontData.h:
2943         (WebCore::SimpleFontData::applyTransforms):
2944         * platform/graphics/WidthIterator.h:
2945         (WebCore::WidthIterator::supportsTypesettingFeatures):
2946
2947 2013-03-19  Sergey Ryazanov  <serya@chromium.org>
2948
2949         Web Inspector: split Console into two entities, a web-facing bound object and page console.
2950         https://bugs.webkit.org/show_bug.cgi?id=111578
2951
2952         Reviewed by Vsevolod Vlasov.
2953
2954         Otherwise, a lot of logging in WebCore needs to go through the DOMWindow which is unnecessary.
2955
2956         * CMakeLists.txt:
2957         * GNUmakefile.list.am:
2958         * Target.pri:
2959         * WebCore.exp.in:
2960         * WebCore.gypi:
2961         * WebCore.order:
2962         * WebCore.vcproj/WebCore.vcproj:
2963         * WebCore.vcxproj/WebCore.vcxproj:
2964         * WebCore.vcxproj/WebCore.vcxproj.filters:
2965         * WebCore.xcodeproj/project.pbxproj:
2966         * bindings/js/JSCustomXPathNSResolver.cpp:
2967         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2968         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
2969         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
2970         * dom/Document.cpp:
2971         (WebCore::Document::addConsoleMessage):
2972         (WebCore::Document::addMessage):
2973         * inspector/PageDebuggerAgent.cpp:
2974         (WebCore::PageDebuggerAgent::muteConsole):
2975         (WebCore::PageDebuggerAgent::unmuteConsole):
2976         * inspector/PageRuntimeAgent.cpp:
2977         (WebCore::PageRuntimeAgent::muteConsole):
2978         (WebCore::PageRuntimeAgent::unmuteConsole):
2979         * page/Console.cpp:
2980         (WebCore::internalAddMessage):
2981         * page/Console.h:
2982         (WebCore):
2983         (Console):
2984         * page/DOMWindow.cpp:
2985         (WebCore::DOMWindow::pageConsole):
2986         (WebCore):
2987         (WebCore::DOMWindow::dispatchMessageEventWithOriginCheck):
2988         (WebCore::DOMWindow::printErrorMessage):
2989         * page/DOMWindow.h:
2990         (WebCore):
2991         (DOMWindow):
2992         * page/Page.cpp:
2993         (WebCore::Page::Page):
2994         * page/Page.h:
2995         (WebCore):
2996         (WebCore::Page::console):
2997         (Page):
2998         * page/PageConsole.cpp: Added.
2999         (WebCore::PageConsole::PageConsole):
3000         (WebCore):
3001         (WebCore::PageConsole::~PageConsole):
3002         (WebCore::PageConsole::printSourceURLAndLine):
3003         (WebCore::PageConsole::printMessageSourceAndLevelPrefix):
3004         (WebCore::PageConsole::addMessage):
3005         (WebCore::PageConsole::mute):
3006         (WebCore::PageConsole::unmute):
3007         (WebCore::PageConsole::shouldPrintExceptions):
3008         (WebCore::PageConsole::setShouldPrintExceptions):
3009         * page/PageConsole.h: Copied from Source/WebCore/page/Console.h.
3010         (WebCore):
3011         (PageConsole):
3012         (WebCore::PageConsole::create):
3013         (WebCore::PageConsole::page):
3014         * xml/XSLStyleSheetLibxslt.cpp:
3015         (WebCore::XSLStyleSheet::parseString):
3016         * xml/XSLTProcessorLibxslt.cpp:
3017         (WebCore::XSLTProcessor::parseErrorFunc):
3018         (WebCore::docLoaderFunc):
3019
3020 2013-03-19  Ilya Tikhonovsky  <loislo@chromium.org>
3021
3022         Web Inspector: move OverviewGrid and OverviewWindow into separate file.
3023         https://bugs.webkit.org/show_bug.cgi?id=112693
3024
3025         Reviewed by Yury Semikhatsky.
3026
3027         It is the third patch for the meta bug "Web Inspector: meta bug: extract OverviewGrid from TimelineOverviewPane"
3028         It just moves the OverviewGrid and the related classes into its own file.
3029
3030         * WebCore.gypi:
3031         * WebCore.vcproj/WebCore.vcproj:
3032         * WebCore.vcxproj/WebCore.vcxproj:
3033         * WebCore.vcxproj/WebCore.vcxproj.filters:
3034         * inspector/compile-front-end.py:
3035         * inspector/front-end/OverviewGrid.js: Added.
3036         (WebInspector.OverviewGrid):
3037         (WebInspector.OverviewGrid.prototype.itemsGraphsElement):
3038         (WebInspector.OverviewGrid.prototype.insertBeforeItemsGraphsElement):
3039         (WebInspector.OverviewGrid.prototype.clientWidth):
3040         (WebInspector.OverviewGrid.prototype.showItemsGraphsElement):
3041         (WebInspector.OverviewGrid.prototype.hideItemsGraphsElement):
3042         (WebInspector.OverviewGrid.prototype.updateDividers):
3043         (WebInspector.OverviewGrid.prototype.addEventDividers):
3044         (WebInspector.OverviewGrid.prototype.removeEventDividers):
3045         (WebInspector.OverviewGrid.prototype.setWindowPosition):
3046         (WebInspector.OverviewGrid.prototype.reset):
3047         (WebInspector.OverviewGrid.prototype.windowLeft):
3048         (WebInspector.OverviewGrid.prototype.windowRight):
3049         (WebInspector.OverviewGrid.prototype.setWindow):
3050         (WebInspector.OverviewGrid.prototype.addEventListener):
3051         (WebInspector.OverviewGrid.Window):
3052         (WebInspector.OverviewGrid.Window.prototype.reset):
3053         (WebInspector.OverviewGrid.Window.prototype._leftResizeElementDragging):
3054         (WebInspector.OverviewGrid.Window.prototype._rightResizeElementDragging):
3055         (WebInspector.OverviewGrid.Window.prototype._startWindowSelectorDragging):
3056         (WebInspector.OverviewGrid.Window.prototype._windowSelectorDragging):
3057         (WebInspector.OverviewGrid.Window.prototype._endWindowSelectorDragging):
3058         (WebInspector.OverviewGrid.Window.prototype._startWindowDragging):
3059         (WebInspector.OverviewGrid.Window.prototype._windowDragging):
3060         (WebInspector.OverviewGrid.Window.prototype._endWindowDragging):
3061         (WebInspector.OverviewGrid.Window.prototype._moveWindow):
3062         (WebInspector.OverviewGrid.Window.prototype._resizeWindowLeft):
3063         (WebInspector.OverviewGrid.Window.prototype._resizeWindowRight):
3064         (WebInspector.OverviewGrid.Window.prototype._resizeWindowMaximum):
3065         (WebInspector.OverviewGrid.Window.prototype._setWindow):
3066         (WebInspector.OverviewGrid.Window.prototype._setWindowPosition):
3067         (WebInspector.OverviewGrid.Window.prototype._onMouseWheel):
3068         (WebInspector.OverviewGrid.Window.prototype._zoom):
3069         (WebInspector.OverviewGrid.WindowSelector):
3070         (WebInspector.OverviewGrid.WindowSelector.prototype._createSelectorElement):
3071         (WebInspector.OverviewGrid.WindowSelector.prototype._close):
3072         (WebInspector.OverviewGrid.WindowSelector.prototype._updatePosition):
3073         * inspector/front-end/TimelineOverviewPane.js:
3074         * inspector/front-end/WebKit.qrc:
3075         * inspector/front-end/inspector.html:
3076
3077 2013-03-19  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3078
3079         [Qt] Monospace font does not render in proper sizes
3080         https://bugs.webkit.org/show_bug.cgi?id=93263
3081
3082         Reviewed by Jocelyn Turcotte.
3083
3084         Do not force fonts to use integer metrics. This was necessary when the fast font path
3085         only worked in integer but is now hindering accurate metrics. This is also required to
3086         make kerning in the fast-path look acceptable
3087
3088         Only enabled for Qt 5.1+ to avoid changing all the baselines for 5.0.
3089
3090         * platform/graphics/qt/FontPlatformDataQt.cpp:
3091         (WebCore::FontPlatformData::FontPlatformData):
3092
3093 2013-03-19  John J. Barton  <johnjbarton@chromium.org>
3094
3095         Web Inspector: Add iframe option to inspectedWindow.eval() extension API
3096         https://bugs.webkit.org/show_bug.cgi?id=106811
3097
3098         Reviewed by Vsevolod Vlasov.
3099
3100         Add a new case to the options processing in inspectedWindow.eval(), look
3101         for option.frameURL <string> and/or option.scriptExecutionContext: <string>, find the
3102         matching JS context in the runtimeModel, and call evaluate() in that
3103         context; or error if the context is not found. 
3104
3105         Test: http/tests/inspector/extensions-iframe-eval.html
3106
3107         * inspector/front-end/ExtensionServer.js:
3108         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
3109         (WebInspector.ExtensionServer.prototype.):
3110         (WebInspector.ExtensionServer.prototype.evaluate):
3111         * inspector/front-end/ResourceTreeModel.js:
3112         (WebInspector.ResourceTreeModel.prototype.frames):
3113            Added read access to _frames
3114        * inspector/front-end/RuntimeModel.js:
3115         (WebInspector.RuntimeModel.prototype.contextListByFrame):
3116            Added access to a frame's contextList, removed contextByFrameAndSecurityOrigin()
3117         (WebInspector.FrameExecutionContextList.prototype.mainWorldContext):
3118            Added access to frame's mainWorldContext, rather than implicit first context.
3119            Now we can go from ResourceTreeModel -> frame -> contextList then either
3120            mainWorldContext() or contextBySecurityOrigin() to access contexts.
3121
3122         * inspector/front-end/ExtensionServer.js:
3123         (WebInspector.ExtensionServer.prototype.):
3124         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
3125         (WebInspector.ExtensionServer.prototype.evaluate):
3126         * inspector/front-end/ResourceTreeModel.js:
3127         * inspector/front-end/RuntimeModel.js:
3128         (WebInspector.RuntimeModel.prototype.contextListByFrame):
3129         (WebInspector.FrameExecutionContextList.prototype.mainWorldContext):
3130
3131         * inspector/front-end/ExtensionServer.js:
3132         (WebInspector.ExtensionServer.prototype._onReload):
3133         (WebInspector.ExtensionServer.prototype.resolveURLToFrame.hasMatchingURL):
3134         (WebInspector.ExtensionServer.prototype.):
3135         (WebInspector.ExtensionServer.prototype.evaluate):
3136         * inspector/front-end/ResourceTreeModel.js:
3137         (WebInspector.ResourceTreeModel.prototype.frames):
3138         * inspector/front-end/RuntimeModel.js:
3139         (WebInspector.RuntimeModel.prototype.contextListByFrame):
3140         (WebInspector.FrameExecutionContextList.prototype.mainWorldContext):
3141
3142         * inspector/front-end/ExtensionServer.js:
3143         (WebInspector.ExtensionServer.prototype.resolveURLToFrame.hasMatchingURL):
3144         (WebInspector.ExtensionServer.prototype.):
3145         (WebInspector.ExtensionServer.prototype.evaluate):
3146         * inspector/front-end/ResourceTreeModel.js:
3147         (WebInspector.ResourceTreeModel.prototype.frames):
3148         * inspector/front-end/RuntimeModel.js:
3149         (WebInspector.RuntimeModel.prototype.contextListByFrame):
3150         (WebInspector.FrameExecutionContextList.prototype.mainWorldContext):
3151
3152 2013-03-19  Ilya Tikhonovsky  <loislo@chromium.org>
3153
3154         Web Inspector: rename TimelineOverviewWindow to OverviewGrid.Window and fix names for constants.
3155         https://bugs.webkit.org/show_bug.cgi?id=112685
3156
3157         Reviewed by Yury Semikhatsky.
3158
3159         It is the second patch which extracts OverviewGrid from TimelineOverviewPane.
3160         It renames internal components of OverviewGrid.
3161         WebInspector.TimelineOverviewWindow -> WebInspector.OverviewGrid.Window
3162         WebInspector.TimelineOverviewWindow.WindowSelector -> WebInspector.OverviewGrid.WindowSelector
3163
3164         and moves constants from WebInspector.TimelineOverviewWindow namespace to WebInspector.OverviewGrid namespace
3165
3166         * inspector/front-end/TimelineOverviewPane.js:
3167         (WebInspector.TimelineOverviewPane):
3168         (WebInspector.OverviewGrid):
3169         (WebInspector.OverviewGrid.Window):
3170         (WebInspector.OverviewGrid.Window.prototype._startWindowSelectorDragging):
3171         (WebInspector.OverviewGrid.Window.prototype._endWindowSelectorDragging):
3172         (WebInspector.OverviewGrid.Window.prototype._startWindowDragging):
3173         (WebInspector.OverviewGrid.Window.prototype._windowDragging):
3174         (WebInspector.OverviewGrid.Window.prototype._moveWindow):
3175         (WebInspector.OverviewGrid.Window.prototype._resizeWindowRight):
3176         (WebInspector.OverviewGrid.Window.prototype._setWindowPosition):
3177         (WebInspector.OverviewGrid.Window.prototype._onMouseWheel):
3178         (WebInspector.OverviewGrid.Window.prototype._zoom):
3179         (WebInspector.OverviewGrid.WindowSelector):
3180         (WebInspector.OverviewGrid.WindowSelector.prototype._createSelectorElement):
3181
3182 2013-03-19  Ilya Tikhonovsky  <loislo@chromium.org>
3183
3184         Web Inspector: move _timelineGrid && _timelineOverviewWindow from TimelineOverviewPane into a new class OverviewGrid.
3185         https://bugs.webkit.org/show_bug.cgi?id=112584
3186
3187         Reviewed by Pavel Feldman.
3188
3189         It is the first path in the set.
3190         The end goal is to extract OverviewGrid with window selectors
3191         into a separate class in separate file and reuse it in CPU FlameChart.
3192
3193         * inspector/front-end/TimelineOverviewPane.js:
3194         (WebInspector.TimelineOverviewPane):
3195         (WebInspector.OverviewGrid):
3196         (WebInspector.OverviewGrid.prototype.get grid):
3197         (WebInspector.OverviewGrid.prototype.get clientWidth):
3198         (WebInspector.OverviewGrid.prototype.showItemsGraphsElement):
3199         (WebInspector.OverviewGrid.prototype.hideItemsGraphsElement):
3200         (WebInspector.OverviewGrid.prototype.updateDividers):
3201         (WebInspector.OverviewGrid.prototype.addEventDividers):
3202         (WebInspector.OverviewGrid.prototype.removeEventDividers):
3203         (WebInspector.OverviewGrid.prototype.setWindowPosition):
3204         (WebInspector.OverviewGrid.prototype.reset):
3205         (WebInspector.OverviewGrid.prototype.get windowLeft):
3206         (WebInspector.OverviewGrid.prototype.get windowRight):
3207         (WebInspector.OverviewGrid.prototype.setWindow):
3208         (WebInspector.OverviewGrid.prototype.addEventListener):
3209         (WebInspector.TimelineOverviewPane.prototype.setMode):
3210         (WebInspector.TimelineOverviewPane.prototype._setFrameMode):
3211         (WebInspector.TimelineOverviewPane.prototype._update):
3212         (WebInspector.TimelineOverviewPane.prototype.sidebarResized):
3213         (WebInspector.TimelineOverviewPane.prototype.zoomToFrame):
3214         (WebInspector.TimelineOverviewPane.prototype._reset):
3215         (WebInspector.TimelineOverviewPane.prototype.windowLeft):
3216         (WebInspector.TimelineOverviewPane.prototype.windowRight):
3217         (WebInspector.TimelineOverviewPane.prototype._updateWindow):
3218
3219 2013-03-19  Vladislav Kaznacheev  <kaznacheev@chromium.org>
3220
3221         Web Inspector: Add Inspector.targetCrashed event to Inspector protocol.
3222         https://bugs.webkit.org/show_bug.cgi?id=112669
3223
3224         Added Inspector.targetCrashed event and handled it on the front end.
3225         Showing a modal dialog similar to the one displayed when the remote
3226         debugging target is disconnected.
3227
3228         Reviewed by Pavel Feldman.
3229
3230         * English.lproj/localizedStrings.js:
3231         * inspector/Inspector.json:
3232         * inspector/front-end/HelpScreen.js:
3233         (WebInspector.HelpScreenUntilReload):
3234         (WebInspector.HelpScreenUntilReload.prototype.willHide):
3235         * inspector/front-end/inspector.js:
3236         (WebInspector.targetCrashed):
3237
3238 2013-03-19  Mario Sanchez Prada  <mario.prada@samsung.com>
3239
3240         [GTK] Wrong guard USE(GLX) in RedirectedXCompositeWindow
3241         https://bugs.webkit.org/show_bug.cgi?id=112600
3242
3243         Reviewed by Martin Robinson.
3244
3245         Replace USE(GLX) condition with USE(OPENGL) && PLATFORM(X11).
3246
3247         * platform/gtk/RedirectedXCompositeWindow.cpp: Updated guard.
3248         * platform/gtk/RedirectedXCompositeWindow.h: Ditto.
3249
3250 2013-03-19  Mihnea Ovidenie  <mihnea@adobe.com>
3251
3252         [CSSRegions] Crash reflowing content in variable width regions
3253         https://bugs.webkit.org/show_bug.cgi?id=112515
3254
3255         Reviewed by David Hyatt.
3256
3257         When removing floats during relayout of a line in a paginated context,
3258         we have to make sure that the floats collection actually has elements before
3259         accessing the last float from the collection.
3260         This situation arises when a block had floats in a previous layout and after
3261         they were removed, m_floatingObjects is not destroyed, only emptied.
3262
3263         Test: fast/regions/crash-reflow-inline-content-in-variable-width-regions.html
3264
3265         * rendering/RenderBlock.cpp:
3266         (WebCore::RenderBlock::removeFloatingObjectsBelow):
3267         * rendering/RenderBlockLineLayout.cpp:
3268         (WebCore::RenderBlock::layoutRunsAndFloats):
3269         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
3270
3271 2013-03-18  Vsevolod Vlasov  <vsevik@chromium.org>
3272
3273         Web Inspector: Debugger scripts should visually differ from network/filesystem files in workspace.
3274         https://bugs.webkit.org/show_bug.cgi?id=112552
3275
3276         Reviewed by Pavel Feldman.
3277
3278         Extracted ContentProviderBasedProjectDelegate from SimpleProjectDelegate.
3279         Implemented DebuggerProjectDelegate for DefaultScriptMapping.
3280         Debugger scripts are now added to workspace with a name starting with [VM] and ending with scriptId.
3281         Added yellow background to debugger scripts editor.
3282
3283         * WebCore.gypi:
3284         * WebCore.vcproj/WebCore.vcproj:
3285         * inspector/compile-front-end.py:
3286         * inspector/front-end/ContentProviderBasedProjectDelegate.js: Added.
3287         * inspector/front-end/DefaultScriptMapping.js:
3288         (WebInspector.DefaultScriptMapping):
3289         (WebInspector.DefaultScriptMapping.prototype.addScript):
3290         (WebInspector.DefaultScriptMapping.prototype._debuggerReset):
3291         (WebInspector.DebuggerProjectDelegate):
3292         (WebInspector.DebuggerProjectDelegate.prototype.id):
3293         (WebInspector.DebuggerProjectDelegate.prototype.type):
3294         (WebInspector.DebuggerProjectDelegate.prototype.displayName):
3295         (WebInspector.DebuggerProjectDelegate.prototype.addScript):
3296         * inspector/front-end/JavaScriptSourceFrame.js:
3297         (WebInspector.JavaScriptSourceFrame):
3298         * inspector/front-end/ParsedURL.js:
3299         (WebInspector.ParsedURL.splitURL):
3300         * inspector/front-end/SimpleWorkspaceProvider.js:
3301         (WebInspector.SimpleProjectDelegate):
3302         (WebInspector.SimpleProjectDelegate.prototype.addFile):
3303         (WebInspector.SimpleProjectDelegate.prototype._ensureUniquePath):
3304         (WebInspector.SimpleWorkspaceProvider.prototype._innerAddFileForURL):
3305         * inspector/front-end/WebKit.qrc:
3306         * inspector/front-end/Workspace.js:
3307         (WebInspector.Workspace.prototype.uiSourceCodeForURL):
3308         * inspector/front-end/inspector.html:
3309         * inspector/front-end/javaScriptSourceFrame.css: Added.
3310         (.source-frame-debugger-script):
3311
3312 2013-03-19  Andrey Lushnikov  <lushnikov@chromium.org>
3313
3314         Web Inspector: [CodeMirror] add smart braces functionality
3315         https://bugs.webkit.org/show_bug.cgi?id=112138
3316
3317         Reviewed by Vsevolod Vlasov.
3318
3319         No new tests.
3320
3321         Add closebrackets add-on to codemirror which implements smart braces
3322         functionality and guard this setting with the "Text Editor smart
3323         braces" experiment.
3324
3325         * WebCore.gypi:
3326         * WebCore.vcproj/WebCore.vcproj:
3327         * WebCore.vcxproj/WebCore.vcxproj:
3328         * WebCore.vcxproj/WebCore.vcxproj.filters:
3329         * inspector/front-end/CodeMirrorTextEditor.js:
3330         * inspector/front-end/WebKit.qrc:
3331         * inspector/front-end/cm/closebrackets.js: Added.
3332         (.):
3333
3334 2013-03-19  Andrey Lushnikov  <lushnikov@chromium.org>
3335
3336         Web Inspector: Avoid forcing text editor resize
3337         https://bugs.webkit.org/show_bug.cgi?id=112581
3338
3339         Reviewed by Vsevolod Vlasov.
3340
3341         No new tests.
3342
3343         Avoid unnecessary text editor resizing by removing line decoration
3344         via removeDecoration method instead of DOM remove operation.
3345
3346         * inspector/front-end/SourceFrame.js:
3347         (WebInspector.SourceFrame.prototype.clearMessages):
3348         (WebInspector.SourceFrame.prototype._setTextEditorDecorations):
3349
3350 2013-03-19  Andrey Lushnikov  <lushnikov@chromium.org>
3351
3352         Web Inspector: [CodeMirror] fix cursor movements
3353         https://bugs.webkit.org/show_bug.cgi?id=112555
3354
3355         Reviewed by Vsevolod Vlasov.
3356
3357         No new tests.
3358
3359         - Update CodeMirror to ToT to include its improved cursor movement
3360         - Add a small keymap to force cursor stop on both line endings and line
3361         starts.
3362
3363         * inspector/front-end/CodeMirrorTextEditor.js:
3364         (WebInspector.CodeMirrorTextEditor):
3365         (WebInspector.CodeMirrorTextEditor.FixWordMovement):
3366         (WebInspector.CodeMirrorTextEditor.FixWordMovement.moveRight):
3367         * inspector/front-end/cm/codemirror.css:
3368         (.CodeMirror div.CodeMirror-cursor):
3369         (.CodeMirror.cm-keymap-fat-cursor div.CodeMirror-cursor):
3370         (.CodeMirror):
3371         * inspector/front-end/cm/codemirror.js:
3372         (window.CodeMirror):
3373         (window.CodeMirror.):
3374
3375 2013-03-19  Adam Barth  <abarth@webkit.org>
3376
3377         [chromium] Regression(143825): select elements don't open when there is a marquee on the page
3378         https://bugs.webkit.org/show_bug.cgi?id=111278
3379
3380         Unreviewed.
3381
3382         This patch is a rollout of http://trac.webkit.org/changeset/143825. The
3383         original patch caused a regression in the Chromium port.
3384
3385         * rendering/RenderLayer.cpp:
3386         (WebCore::RenderLayer::scrollTo):
3387
3388 2013-03-19  Alexander Pavlov  <apavlov@chromium.org>
3389
3390         Web Inspector: [Styles] Matching @host rule children are not displayed
3391         https://bugs.webkit.org/show_bug.cgi?id=112664
3392
3393         Reviewed by Vsevolod Vlasov.
3394
3395         Process host rules' contents akin to media rules' when handling the CSS model and source data.
3396
3397         Test: platform/chromium/inspector/styles/host-rules.html
3398
3399         * inspector/InspectorStyleSheet.cpp:
3400         (flattenSourceData):
3401         (WebCore::asCSSRuleList):
3402
3403 2013-03-18  Alexander Pavlov  <apavlov@chromium.org>
3404
3405         Web Inspector: [Styles] The "inherit" property value should be suggested for all properties
3406         https://bugs.webkit.org/show_bug.cgi?id=112662
3407
3408         Reviewed by Vsevolod Vlasov.
3409
3410         * inspector/front-end/CSSMetadata.js:
3411         (WebInspector.CSSMetadata.keywordsForProperty):
3412
3413 2013-03-18  David Kilzer  <ddkilzer@apple.com>
3414
3415         BUILD FIX (r146088): ResourceRequest::cfURLRequest() is defined twice on iOS
3416         <http://webkit.org/b/112387>
3417
3418         * platform/network/mac/ResourceRequestMac.mm:
3419         (WebCore::ResourceRequest::cfURLRequest): Move method into
3420         !USE(CFNETWORK) section since it's also defined in
3421         cf/ResourceRequestCFNet.cpp on iOS.
3422
3423 2013-03-18  Alpha Lam  <hclam@chromium.org>
3424
3425         [chromium] More tracing in deferred image decoding
3426         https://bugs.webkit.org/show_bug.cgi?id=112648
3427
3428         Reviewed by James Robinson.
3429
3430         Adding more trace events for a couple things in deferred image decoding path:
3431         - Time span for each lock pixels of SkPixelRef.
3432         - Time spent on decoding, scaling and pruning. Also the stack trace for these events.
3433         - Memory usage and number of cached entries.
3434         - Number of decode & scale operations done per image.
3435
3436         No test as this just add tracing information and no behavior change.
3437
3438         * platform/graphics/chromium/ImageDecodingStore.cpp:
3439         (WebCore::ImageDecodingStore::prune):
3440         (WebCore::ImageDecodingStore::insertCacheInternal):
3441         (WebCore::ImageDecodingStore::removeFromCacheInternal):
3442         * platform/graphics/chromium/ImageFrameGenerator.cpp:
3443         (WebCore::ImageFrameGenerator::ImageFrameGenerator):
3444         (WebCore::ImageFrameGenerator::decodeAndScale):
3445         (WebCore::ImageFrameGenerator::tryToScale):
3446         (WebCore::ImageFrameGenerator::tryToResumeDecodeAndScale):
3447         (WebCore::ImageFrameGenerator::tryToDecodeAndScale):
3448         (WebCore::ImageFrameGenerator::decode):
3449         * platform/graphics/chromium/ImageFrameGenerator.h:
3450         (ImageFrameGenerator):
3451         * platform/graphics/chromium/LazyDecodingPixelRef.cpp:
3452         (WebCore::LazyDecodingPixelRef::onLockPixels):
3453         (WebCore::LazyDecodingPixelRef::onUnlockPixels):
3454         (WebCore::LazyDecodingPixelRef::PrepareToDecode):
3455
3456 2013-03-18  Kentaro Hara  <haraken@chromium.org>
3457
3458         Unreviewed. Rebaselined run-bindings-tests after r146161.
3459
3460         * bindings/scripts/test/JS/JSTestObj.cpp:
3461         (WebCore::setJSTestObjEnumAttr):
3462         (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
3463         * bindings/scripts/test/V8/V8TestObj.cpp:
3464         (WebCore::ConfigureV8TestObjTemplate):
3465
3466 2013-03-18  Robert Flack  <flackr@chromium.org>
3467