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