1 2013-02-11 Alexander Pavlov <apavlov@chromium.org>
3 Web Inspector: Implement position-based sourcemapping for stylesheets
4 https://bugs.webkit.org/show_bug.cgi?id=109168
6 Reviewed by Vsevolod Vlasov.
8 This change introduces support for position-based source maps for CSS stylesheets.
9 Sourcemaps and originating resources (sass, scss, etc.) are loaded synchronously
10 upon the CSS UISourceCode addition. RangeBasedSourceMap is removed as it is not used.
12 Test: http/tests/inspector/stylesheet-source-mapping.html
14 * inspector/front-end/CSSStyleModel.js:
15 (WebInspector.CSSStyleModel):
16 (WebInspector.CSSStyleModel.prototype.setSourceMapping):
17 (WebInspector.CSSStyleModel.prototype.rawLocationToUILocation):
18 (WebInspector.CSSStyleModel.LiveLocation.prototype.uiLocation):
19 (WebInspector.CSSLocation):
20 (WebInspector.CSSProperty):
21 (WebInspector.CSSProperty.parsePayload):
22 * inspector/front-end/CompilerScriptMapping.js:
23 (WebInspector.CompilerScriptMapping):
24 (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
25 (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
26 * inspector/front-end/SASSSourceMapping.js:
27 (WebInspector.SASSSourceMapping):
28 (WebInspector.SASSSourceMapping.prototype._styleSheetChanged.callback):
29 (WebInspector.SASSSourceMapping.prototype._styleSheetChanged):
30 (WebInspector.SASSSourceMapping.prototype._reloadCSS):
31 (WebInspector.SASSSourceMapping.prototype._resourceAdded.didRequestContent):
32 (WebInspector.SASSSourceMapping.prototype._resourceAdded):
33 (WebInspector.SASSSourceMapping.prototype._loadAndProcessSourceMap):
34 (WebInspector.SASSSourceMapping.prototype.loadSourceMapForStyleSheet):
35 (WebInspector.SASSSourceMapping.prototype._bindUISourceCode):
36 (WebInspector.SASSSourceMapping.prototype.rawLocationToUILocation):
37 (WebInspector.SASSSourceMapping.prototype.uiLocationToRawLocation):
38 (WebInspector.SASSSourceMapping.prototype._reset):
39 * inspector/front-end/SourceMap.js:
40 (WebInspector.SourceMap):
41 (WebInspector.SourceMap.load):
42 (WebInspector.SourceMap.prototype.findEntry):
43 (WebInspector.SourceMap.prototype.findEntryReversed):
44 (WebInspector.SourceMap.prototype._parseMap):
45 * inspector/front-end/StylesSourceMapping.js:
46 (WebInspector.StylesSourceMapping):
47 (WebInspector.StylesSourceMapping.prototype._bindUISourceCode):
48 * inspector/front-end/inspector.js:
50 2013-02-11 Alexander Shalamov <alexander.shalamov@intel.com>
52 Implement CSSValue::equals(const CSSValue&) to optimise CSSValue comparison
53 https://bugs.webkit.org/show_bug.cgi?id=102901
55 Reviewed by Antti Koivisto.
57 Added comparison method to CSSValue and its children, so that the
58 css values could be compared efficiently. Before this patch, CSSValue
59 objects were compared using strings that were generated by the cssText() method.
61 Test: cssom/cssvalue-comparison.html
63 * css/CSSAspectRatioValue.cpp:
64 (WebCore::CSSAspectRatioValue::equals):
66 * css/CSSAspectRatioValue.h:
67 (CSSAspectRatioValue):
68 * css/CSSBasicShapes.cpp:
69 (WebCore::CSSBasicShapeRectangle::equals):
71 (WebCore::CSSBasicShapeCircle::equals):
72 (WebCore::CSSBasicShapeEllipse::equals):
73 (WebCore::CSSBasicShapePolygon::equals):
74 * css/CSSBasicShapes.h:
75 (CSSBasicShapeRectangle):
76 (CSSBasicShapeCircle):
77 (CSSBasicShapeEllipse):
78 (CSSBasicShapePolygon):
79 * css/CSSBorderImageSliceValue.cpp:
80 (WebCore::CSSBorderImageSliceValue::equals):
82 * css/CSSBorderImageSliceValue.h:
83 (CSSBorderImageSliceValue):
84 * css/CSSCalculationValue.cpp:
85 (WebCore::CSSCalcValue::equals):
87 (WebCore::CSSCalcPrimitiveValue::equals):
88 (CSSCalcPrimitiveValue):
89 (WebCore::CSSCalcPrimitiveValue::type):
90 (WebCore::CSSCalcBinaryOperation::equals):
91 (CSSCalcBinaryOperation):
92 (WebCore::CSSCalcBinaryOperation::type):
93 * css/CSSCalculationValue.h:
94 (WebCore::CSSCalcExpressionNode::equals):
95 (CSSCalcExpressionNode):
97 * css/CSSCanvasValue.cpp:
98 (WebCore::CSSCanvasValue::equals):
100 * css/CSSCanvasValue.h:
102 * css/CSSComputedStyleDeclaration.cpp:
103 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
104 (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
105 (WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForSidesShorthand):
106 * css/CSSCrossfadeValue.cpp:
107 (WebCore::CSSCrossfadeValue::equals):
109 * css/CSSCrossfadeValue.h:
111 * css/CSSCursorImageValue.cpp:
112 (WebCore::CSSCursorImageValue::equals):
114 * css/CSSCursorImageValue.h:
115 (CSSCursorImageValue):
116 * css/CSSFontFaceSrcValue.cpp:
117 (WebCore::CSSFontFaceSrcValue::equals):
119 * css/CSSFontFaceSrcValue.h:
120 (CSSFontFaceSrcValue):
121 * css/CSSFunctionValue.cpp:
122 (WebCore::CSSFunctionValue::equals):
124 * css/CSSFunctionValue.h:
126 * css/CSSGradientValue.cpp:
127 (WebCore::CSSLinearGradientValue::equals):
129 (WebCore::CSSRadialGradientValue::equals):
130 * css/CSSGradientValue.h:
131 (WebCore::CSSGradientColorStop::operator==):
132 (CSSLinearGradientValue):
133 (CSSRadialGradientValue):
134 * css/CSSImageValue.cpp:
135 (WebCore::CSSImageValue::equals):
137 * css/CSSImageValue.h:
139 * css/CSSInheritedValue.h:
140 (WebCore::CSSInheritedValue::equals):
142 * css/CSSInitialValue.h:
143 (WebCore::CSSInitialValue::equals):
145 * css/CSSLineBoxContainValue.h:
146 (WebCore::CSSLineBoxContainValue::equals):
147 * css/CSSPrimitiveValue.cpp:
148 (WebCore::CSSPrimitiveValue::equals):
150 * css/CSSPrimitiveValue.h:
152 * css/CSSReflectValue.cpp:
153 (WebCore::CSSReflectValue::equals):
155 * css/CSSReflectValue.h:
157 * css/CSSTimingFunctionValue.cpp:
158 (WebCore::CSSCubicBezierTimingFunctionValue::equals):
160 (WebCore::CSSStepsTimingFunctionValue::equals):
161 * css/CSSTimingFunctionValue.h:
162 (WebCore::CSSLinearTimingFunctionValue::equals):
163 (CSSLinearTimingFunctionValue):
164 (CSSCubicBezierTimingFunctionValue):
165 (CSSStepsTimingFunctionValue):
166 * css/CSSUnicodeRangeValue.cpp:
167 (WebCore::CSSUnicodeRangeValue::equals):
169 * css/CSSUnicodeRangeValue.h:
170 (CSSUnicodeRangeValue):
173 (WebCore::compareCSSValues):
174 (WebCore::CSSValue::equals):
178 (WebCore::compareCSSValueVector):
179 (WebCore::compareCSSValuePtr):
180 * css/CSSValueList.cpp:
181 (WebCore::CSSValueList::removeAll):
182 (WebCore::CSSValueList::hasValue):
183 (WebCore::CSSValueList::equals):
185 * css/CSSValueList.h:
187 * css/CSSVariableValue.h:
188 (WebCore::CSSVariableValue::equals):
192 (WebCore::Counter::equals):
193 * css/DashboardRegion.h:
194 (WebCore::DashboardRegion::equals):
195 * css/FontFeatureValue.cpp:
196 (WebCore::FontFeatureValue::equals):
198 * css/FontFeatureValue.h:
201 (WebCore::FontValue::equals):
205 * css/MediaQueryExp.h:
206 (WebCore::MediaQueryExp::operator==):
208 (WebCore::Pair::equals):
211 (WebCore::RectBase::equals):
213 * css/ShadowValue.cpp:
214 (WebCore::ShadowValue::equals):
218 * css/StylePropertySet.cpp:
219 (WebCore::StylePropertySet::get4Values):
220 (WebCore::StylePropertySet::propertyMatches):
221 * css/WebKitCSSArrayFunctionValue.cpp:
222 (WebCore::WebKitCSSArrayFunctionValue::equals):
224 * css/WebKitCSSArrayFunctionValue.h:
225 (WebKitCSSArrayFunctionValue):
226 * css/WebKitCSSFilterValue.cpp:
227 (WebCore::WebKitCSSFilterValue::equals):
229 * css/WebKitCSSFilterValue.h:
230 (WebKitCSSFilterValue):
231 * css/WebKitCSSMixFunctionValue.cpp:
232 (WebCore::WebKitCSSMixFunctionValue::equals):
234 * css/WebKitCSSMixFunctionValue.h:
235 (WebKitCSSMixFunctionValue):
236 * css/WebKitCSSSVGDocumentValue.cpp:
237 (WebCore::WebKitCSSSVGDocumentValue::equals):
239 * css/WebKitCSSSVGDocumentValue.h:
240 (WebKitCSSSVGDocumentValue):
241 * css/WebKitCSSShaderValue.cpp:
242 (WebCore::WebKitCSSShaderValue::equals):
244 * css/WebKitCSSShaderValue.h:
245 (WebKitCSSShaderValue):
246 * css/WebKitCSSTransformValue.h:
247 (WebCore::WebKitCSSTransformValue::equals):
248 * editing/EditingStyle.cpp:
249 (WebCore::HTMLAttributeEquivalent::valueIsPresentInStyle):
251 (WebCore::SVGColor::equals):
256 (WebCore::SVGPaint::equals):
261 2013-02-11 Pan Deng <pan.deng@intel.com>
263 [Web Inspector] Network panel, sort by "transferSize" instead of "resourceSize".
264 https://bugs.webkit.org/show_bug.cgi?id=109142.
266 Reviewed by Vsevolod Vlasov.
268 Sort by "transferSize" as it is the primary rather than "resoureSize".
272 * inspector/front-end/NetworkPanel.js:
273 (WebInspector.NetworkDataGridNode.SizeComparator):
275 2013-02-11 Eugene Klyuchnikov <eustas@chromium.org>
277 Web Inspector: [Resources] Prefactorings in DataGrid and CookieTable
278 https://bugs.webkit.org/show_bug.cgi?id=109141
280 Reviewed by Vsevolod Vlasov.
282 1) Make deleteCookie method static and move to WebInspector.Cookie
283 2) Replace resfreshCallback getter/setter in DataGrid with
284 constructor parameter
286 * inspector/front-end/CookieItemsView.js: Adopt changes.
287 * inspector/front-end/CookieParser.js:
288 (WebInspector.Cookie.prototype.remove): Moved from CookiesTable.
289 * inspector/front-end/CookiesTable.js: Adopt changes.
290 * inspector/front-end/DataGrid.js:
291 Replace setter with constructor parameter.
293 2013-02-11 John J. Barton <johnjbarton@chromium.org>
295 Web Inspector: Don't throw exceptions in WebInspector.Color
296 https://bugs.webkit.org/show_bug.cgi?id=104835
298 Reviewed by Vsevolod Vlasov.
300 WebInspector.Color.parse() returns a Color from a string, or null;
301 Ctor calls now call parse();
302 In the StylesSideBarPane, test null rather than catch(e).
304 Added case to inspector/styles/styles-invalid-color-values.html
306 * inspector/front-end/Color.js:
307 (WebInspector.Color):
308 (WebInspector.Color.parse):
309 (WebInspector.Color.fromRGBA):
310 (WebInspector.Color.fromRGB):
311 (WebInspector.Color.prototype.toString):
312 (WebInspector.Color.prototype._parse.this.alpha.set 0):
313 (WebInspector.Color.prototype._parse.this.nickname.set 2):
314 (WebInspector.Color.prototype._parse.this.hsla.set 1):
315 (WebInspector.Color.prototype._parse.this.rgba.set 0):
316 (WebInspector.Color.prototype._parse.set WebInspector):
317 (WebInspector.Color.prototype._parse):
318 * inspector/front-end/Spectrum.js:
319 (WebInspector.Spectrum.prototype.get color):
320 * inspector/front-end/StylesSidebarPane.js:
322 2013-02-11 Andrey Lushnikov <lushnikov@chromium.org>
324 Web Inspector: home button behaviour is wrong in DTE
325 https://bugs.webkit.org/show_bug.cgi?id=109154
327 Reviewed by Vsevolod Vlasov.
329 Handle home key shortcut explicitly in TextEditorMainPanel.
331 New test: inspector/editor/text-editor-home-button.html
333 * inspector/front-end/DefaultTextEditor.js:
334 (WebInspector.TextEditorMainPanel.prototype._registerShortcuts):
335 (WebInspector.TextEditorMainPanel.prototype._handleHomeKey):
337 2013-02-11 Abhishek Arya <inferno@chromium.org>
339 Add ASSERT_WITH_SECURITY_IMPLICATION to detect out of bounds access
340 https://bugs.webkit.org/show_bug.cgi?id=108981
342 Reviewed by Eric Seidel.
344 * Modules/mediastream/RTCStatsResponse.cpp:
345 (WebCore::RTCStatsResponse::addElement):
346 (WebCore::RTCStatsResponse::addStatistic):
347 * Modules/websockets/WebSocketChannel.cpp:
348 (WebCore::WebSocketChannel::skipBuffer):
349 * css/CSSCalculationValue.cpp:
350 (WebCore::CSSCalcExpressionNodeParser::parseValueMultiplicativeExpression):
351 (WebCore::CSSCalcExpressionNodeParser::parseAdditiveValueExpression):
352 * css/WebKitCSSTransformValue.cpp:
353 (WebCore::transformValueToCssString):
354 * editing/TextIterator.cpp:
355 (WebCore::SearchBuffer::search):
356 * html/HTMLElement.cpp:
357 (WebCore::parseColorStringWithCrazyLegacyRules):
358 * html/ImageData.cpp:
359 (WebCore::ImageData::ImageData):
360 * html/shadow/DateTimeSymbolicFieldElement.cpp:
361 (WebCore::DateTimeSymbolicFieldElement::DateTimeSymbolicFieldElement):
362 * html/track/TextTrackCueList.cpp:
363 (WebCore::TextTrackCueList::add):
364 * platform/SharedBuffer.cpp:
365 (WebCore::SharedBuffer::getSomeData):
366 * platform/SharedBufferChunkReader.cpp:
367 (WebCore::SharedBufferChunkReader::nextChunk):
368 * platform/audio/HRTFDatabase.cpp:
369 (WebCore::HRTFDatabase::getKernelsFromAzimuthElevation):
370 * platform/graphics/GlyphPageTreeNode.cpp:
371 (WebCore::GlyphPageTreeNode::initializePage):
372 * platform/graphics/Region.cpp:
373 (WebCore::Region::Shape::segments_end):
374 * platform/graphics/filters/FEComponentTransfer.cpp:
375 (WebCore::FEComponentTransfer::getValues):
376 * platform/graphics/filters/FilterEffect.cpp:
377 (WebCore::FilterEffect::inputEffect):
378 * platform/text/TextCodecUTF8.cpp:
379 (WebCore::TextCodecUTF8::decode):
380 * platform/text/mac/TextCodecMac.cpp:
381 (WebCore::TextCodecMac::decode):
382 * rendering/RenderBlockLineLayout.cpp:
383 (WebCore::RenderBlock::checkFloatsInCleanLine):
384 * svg/SVGAnimatedTypeAnimator.h:
385 (WebCore::SVGAnimatedTypeAnimator::executeAction):
386 * svg/SVGAnimationElement.cpp:
387 (WebCore::SVGAnimationElement::calculatePercentForSpline):
388 * svg/animation/SVGSMILElement.cpp:
389 (WebCore::SVGSMILElement::findInstanceTime):
391 2013-02-10 Chris Fleizach <cfleizach@apple.com>
393 WebSpeech: Implement basic speaking/finished speaking behavior
394 https://bugs.webkit.org/show_bug.cgi?id=107135
396 Reviewed by Sam Weinig.
398 Implements the basic functionality of speaking utterances.
400 In the WebCore side, it manages the speech queue the way the spec defines
401 (that is, new jobs are appended to a queue and wait for other jobs to finish).
403 On the Mac side, it instantiates a synthesizer and handles the callbacks for when
404 jobs are finished. It sends those jobs back to WebCore to dispatch the right events.
406 Test: platform/mac/fast/speechsynthesis/speech-synthesis-speak.html
408 * Modules/speech/SpeechSynthesis.cpp:
409 (WebCore::SpeechSynthesis::SpeechSynthesis):
410 (WebCore::SpeechSynthesis::paused):
411 (WebCore::SpeechSynthesis::startSpeakingImmediately):
412 (WebCore::SpeechSynthesis::speak):
414 (WebCore::SpeechSynthesis::fireEvent):
415 (WebCore::SpeechSynthesis::handleSpeakingCompleted):
416 (WebCore::SpeechSynthesis::didStartSpeaking):
417 (WebCore::SpeechSynthesis::didFinishSpeaking):
418 (WebCore::SpeechSynthesis::speakingErrorOccurred):
419 * Modules/speech/SpeechSynthesis.h:
421 (WebCore::SpeechSynthesis::speaking):
423 * Modules/speech/SpeechSynthesisEvent.cpp:
424 (WebCore::SpeechSynthesisEvent::create):
426 (WebCore::SpeechSynthesisEvent::SpeechSynthesisEvent):
427 * Modules/speech/SpeechSynthesisEvent.h:
428 (SpeechSynthesisEvent):
429 (WebCore::SpeechSynthesisEvent::interfaceName):
430 * Modules/speech/SpeechSynthesisUtterance.h:
431 (WebCore::SpeechSynthesisUtterance::startTime):
432 (WebCore::SpeechSynthesisUtterance::setStartTime):
433 (SpeechSynthesisUtterance):
434 * platform/PlatformSpeechSynthesisUtterance.cpp:
435 (WebCore::PlatformSpeechSynthesisUtterance::PlatformSpeechSynthesisUtterance):
436 * platform/PlatformSpeechSynthesisUtterance.h:
437 (PlatformSpeechSynthesisUtterance):
438 (WebCore::PlatformSpeechSynthesisUtterance::setVolume):
439 (WebCore::PlatformSpeechSynthesisUtterance::setRate):
440 (WebCore::PlatformSpeechSynthesisUtterance::setPitch):
441 (WebCore::PlatformSpeechSynthesisUtterance::startTime):
442 (WebCore::PlatformSpeechSynthesisUtterance::setStartTime):
443 (WebCore::PlatformSpeechSynthesisUtterance::client):
444 * platform/PlatformSpeechSynthesizer.cpp:
445 (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
446 * platform/PlatformSpeechSynthesizer.h:
447 (PlatformSpeechSynthesizerClient):
448 (WebCore::PlatformSpeechSynthesizer::client):
449 (PlatformSpeechSynthesizer):
450 * platform/mac/PlatformSpeechSynthesizerMac.mm:
451 (-[WebSpeechSynthesisWrapper initWithSpeechSynthesizer:WebCore::]):
452 (-[WebSpeechSynthesisWrapper dealloc]):
453 (-[WebSpeechSynthesisWrapper convertRateToWPM:]):
454 (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
455 (-[WebSpeechSynthesisWrapper speechSynthesizer:didFinishSpeaking:]):
456 (WebCore::PlatformSpeechSynthesizer::speak):
458 2013-02-10 Eric Seidel <eric@webkit.org>
460 Make the existing HTMLPreloadScanner threading-aware
461 https://bugs.webkit.org/show_bug.cgi?id=107807
463 Reviewed by Adam Barth.
465 The HTMLPreloadScanner and CSSPreloadScanner do a number of things.
466 CSSPreloadScanner is mostly just a helper class for HTMLPreloadScanner.
467 HTMLPreloadScanner runs its own copy of the HTMLTokenizer and uses
468 HTMLTokenizer::updateStateFor to emulate enough of the TreeBuilder
469 to get a realistic stream of tokens. It does some additional TreeBuilder
470 emulation, including tracking template tags and base tags, but mostly
471 just scans the token stream for start-tags and looks for URLs in them.
472 It tracks when it has seen a <style> tag and starts sending all character tokens
473 to the CSSPreloadScanner until a </style> tag is seen.
474 It also (unfortunately) knows some about the loader guts and how to construct
475 a proper CachedResourcRequest and issue a preload.
477 This patch changes the model so that the preload scanners only know how to produce
478 PreloadRequest objects and append them to a passed-in vector.
480 This changes the preload-scanner behavior so that preloads are now all issued in one large
481 batch at the end of scanning, instead of as we hit each resource. It's possible that
482 we'll wait to instead check for preload requests more often, at a possible tradeoff
485 An alternate approach might be to pass in a preload-delegate of sorts which knew how
486 to either build a vector, or send requests immediately. For now the build-a-vector-always
487 approach seems clean, and does not seem to slow down our PerformanceTest microbenchmarks at least.
489 This patch has 2 main pieces:
490 - Remove Document and (and loader) dependencies from HTMLPreloadScanner/CSSPreloadScanner
491 This is done through introduction of a new HTMLResourcePreloader class which holds
492 a Document* and knows how to talk to the CachedResourceLoader.
493 - Clean-up HTMLPreloadScanners token-loop to not be tied to having a Tokenizer.
494 (On a background thead, the HTMLPreloadScanner won't own the tokenizer, it will just
495 be passed in tokens and expected to issue loads if necessary.)
497 This passes all of the LayoutTests using the main thread parser.
499 This patch does not make the HTMLPreloadScanner 100% ready for threading
500 (it still uses AtomicString which is currently not-OK on the parser thread)
501 but it's very close. Two further (already written) patches will complete this.
504 * GNUmakefile.list.am:
507 * WebCore.vcproj/WebCore.vcproj:
508 * WebCore.vcxproj/WebCore.vcxproj:
509 * WebCore.xcodeproj/project.pbxproj:
510 * html/parser/CSSPreloadScanner.cpp:
511 (WebCore::CSSPreloadScanner::CSSPreloadScanner):
512 (WebCore::CSSPreloadScanner::scan):
513 (WebCore::CSSPreloadScanner::emitRule):
514 * html/parser/CSSPreloadScanner.h:
516 * html/parser/HTMLDocumentParser.cpp:
517 (WebCore::HTMLDocumentParser::HTMLDocumentParser):
518 (WebCore::HTMLDocumentParser::pumpTokenizer):
519 (WebCore::HTMLDocumentParser::insert):
520 (WebCore::HTMLDocumentParser::append):
521 (WebCore::HTMLDocumentParser::appendCurrentInputStreamToPreloadScannerAndScan):
522 * html/parser/HTMLDocumentParser.h:
523 (HTMLDocumentParser):
524 * html/parser/HTMLPreloadScanner.cpp:
525 (WebCore::isStartTag):
527 (WebCore::isStartOrEndTag):
528 (WebCore::PreloadTask::processAttributes):
529 (WebCore::PreloadTask::charset):
531 (WebCore::PreloadTask::resourceType):
532 (WebCore::PreloadTask::shouldPreload):
533 (WebCore::PreloadTask::createPreloadRequest):
534 (WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
535 (WebCore::HTMLPreloadScanner::scan):
536 (WebCore::HTMLPreloadScanner::processPossibleTemplateTag):
537 (WebCore::HTMLPreloadScanner::processPossibleStyleTag):
538 (WebCore::HTMLPreloadScanner::processPossibleBaseTag):
539 (WebCore::HTMLPreloadScanner::processToken):
540 * html/parser/HTMLPreloadScanner.h:
541 (HTMLPreloadScanner):
542 * html/parser/HTMLResourcePreloader.cpp: Added.
544 (WebCore::isStringSafeToSendToAnotherThread):
545 (WebCore::PreloadRequest::isSafeToSendToAnotherThread):
546 (WebCore::PreloadRequest::completeURL):
547 (WebCore::PreloadRequest::resourceRequest):
548 (WebCore::HTMLResourcePreloader::preload):
549 * html/parser/HTMLResourcePreloader.h: Added.
552 (WebCore::PreloadRequest::create):
553 (WebCore::PreloadRequest::PreloadRequest):
554 (HTMLResourcePreloader):
555 (WebCore::HTMLResourcePreloader::HTMLResourcePreloader):
556 (WebCore::HTMLResourcePreloader::createWeakPtr):
557 * loader/cache/CachedResourceRequest.h:
559 2013-02-06 Kentaro Hara <haraken@chromium.org>
561 [V8] Rename isolated() to getWorld(), rename worldForEnteredContextIfIsolated() to worldForEnteredContext()
562 https://bugs.webkit.org/show_bug.cgi?id=109039
564 Reviewed by Adam Barth.
566 This is a follow-up patch for r141983.
567 Rename methods for consistency.
569 No tests. No change in behavior.
571 * bindings/v8/DOMDataStore.cpp:
572 (WebCore::DOMDataStore::current):
573 * bindings/v8/DOMWrapperWorld.h:
574 (WebCore::DOMWrapperWorld::getWorld):
575 * bindings/v8/ScriptController.cpp:
576 (WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
577 (WebCore::ScriptController::currentWorldContext):
578 * bindings/v8/V8Binding.h:
579 (WebCore::worldForEnteredContext):
580 * bindings/v8/WorldContextHandle.cpp:
581 (WebCore::WorldContextHandle::WorldContextHandle):
582 * bindings/v8/custom/V8DocumentCustom.cpp:
584 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
586 * bindings/v8/custom/V8SVGDocumentCustom.cpp:
588 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
589 (WebCore::V8XMLHttpRequest::constructorCallbackCustom):
591 2013-02-10 Alexandre Elias <aelias@chromium.org>
593 [chromium] Fix Android scrollbar size
594 https://bugs.webkit.org/show_bug.cgi?id=109374
596 Reviewed by James Robinson.
598 This shrinks scrollbars to 3 device-independent pixels (usually 6
599 physical pixels) and deletes the edge fade. Although the Android
600 system theme does have an edge fade, it's a much sharper cliff
601 than we had (against black, the colors go 64 -> 64 -> 52 -> 21 -> 0)
602 and I can't perceive any difference compared with no fade at all.
604 No new tests (due for rewrite in a week anyway).
606 * platform/chromium/ScrollbarThemeChromiumAndroid.cpp:
608 (WebCore::ScrollbarThemeChromiumAndroid::paintThumb):
610 2013-02-04 Kentaro Hara <haraken@chromium.org>
612 [V8] Remove V8GCController::m_edenNodes and make minor DOM GC more precise
613 https://bugs.webkit.org/show_bug.cgi?id=108579
615 Reviewed by Adam Barth.
617 Currently V8GCController::m_edenNodes stores a list of nodes whose
618 wrappers have been created since the latest GC. The reason why we
619 needed m_edenNodes is that there was no way to know a list of wrappers
620 in the new space of V8. By using m_edenNodes, we had been approximating
621 'wrappers in the new space' by 'wrappers that have been created since
624 Now V8 provides VisitHandlesForPartialDependence(), with which WebKit
625 can know a list of wrappers in the new space. By using the API, we can
626 remove V8GCController::m_edenNodes. The benefit is that (1) we no longer
627 need to keep m_edenNodes and that (2) it enables more precise minor
628 DOM GC (Remember that m_edenNodes was just an approximation).
630 Performance benchmark: https://bugs.webkit.org/attachment.cgi?id=185940
631 The benchmark runs 300 iterations, each of which creates 100000 elements.
632 The benchmark measures average, min, median, max and stdev of execution times
633 of the 300 iterations. This will tell us the worst-case overhead of this change.
636 mean=59.91ms, min=39ms, median=42ms, max=258ms, stdev=47.48ms
639 mean=58.75ms, min=35ms, median=41ms, max=250ms, stdev=47.32ms
641 As shown above, I couldn't observe any performance regression.
643 No tests. No change in behavior.
645 * bindings/v8/DOMDataStore.h:
646 (WebCore::DOMDataStore::setWrapperInObject):
647 * bindings/v8/DOMWrapperWorld.h:
649 (WebCore::DOMWrapperWorld::getWorldWithoutContextCheck):
650 * bindings/v8/V8Binding.h:
652 (WebCore::worldForEnteredContextIfIsolated):
653 (WebCore::worldForEnteredContextWithoutContextCheck):
654 * bindings/v8/V8DOMWindowShell.cpp:
655 (WebCore::V8DOMWindowShell::initializeIfNeeded):
656 * bindings/v8/V8GCController.cpp:
659 (MinorGCWrapperVisitor):
660 (WebCore::MinorGCWrapperVisitor::MinorGCWrapperVisitor):
661 (WebCore::MinorGCWrapperVisitor::notifyFinished):
662 (WebCore::MajorGCWrapperVisitor::MajorGCWrapperVisitor):
663 (WebCore::V8GCController::gcPrologue):
664 (WebCore::V8GCController::minorGCPrologue):
665 (WebCore::V8GCController::majorGCPrologue):
666 * bindings/v8/V8GCController.h:
669 2013-02-10 Tim Horton <timothy_horton@apple.com>
671 REGRESSION (r132422): Page content and scrollbars are incorrectly offset after restoring a page from the page cache
672 https://bugs.webkit.org/show_bug.cgi?id=109317
673 <rdar://problem/12649131>
675 Reviewed by Simon Fraser.
677 Mark all scrolling that occurs beneath FrameView::layout as programmatic.
679 Test: platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html
681 * page/FrameView.cpp:
682 (WebCore::FrameView::layout):
684 2013-02-10 Kent Tamura <tkent@chromium.org>
686 [Mac] Fix release build failure by recent reverts
690 2013-02-10 Philippe Normand <pnormand@igalia.com>
692 [GStreamer] media/video-controls-fullscreen-volume.html crashes
693 https://bugs.webkit.org/show_bug.cgi?id=108682
695 Reviewed by Martin Robinson.
697 Clean up various signal handlers and avoid bad interaction between
698 the FullscreenVideoControllerGStreamer and its subclasses,
699 especially when the platform video window is created.
701 * platform/graphics/gstreamer/FullscreenVideoControllerGStreamer.cpp:
702 (WebCore::FullscreenVideoControllerGStreamer::enterFullscreen):
703 Initialize the window before connecting to the volume/mute
704 signals. This ensures that the signals won't ever interfere with
705 an inexisting window.
706 * platform/graphics/gstreamer/GStreamerGWorld.cpp:
707 (WebCore::GStreamerGWorld::~GStreamerGWorld): Remove GstBus
708 synchronous handler function.
709 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
710 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
711 (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
712 Disconnect from volume/mute signals.
713 (WebCore::MediaPlayerPrivateGStreamerBase::setStreamVolumeElement):
714 Keep a trace of volume/mute signal handlers.
715 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
716 Various forward type declarations to avoid un-necessary header includes.
717 (MediaPlayerPrivateGStreamerBase):
718 * platform/graphics/gtk/FullscreenVideoControllerGtk.cpp:
719 (WebCore::FullscreenVideoControllerGtk::FullscreenVideoControllerGtk):
720 (WebCore::FullscreenVideoControllerGtk::volumeChanged): Bail out
721 if volume button hasn't been created yet.
722 (WebCore::FullscreenVideoControllerGtk::muteChanged): Ditto.
724 2013-02-10 Andreas Kling <akling@apple.com>
726 RenderStyle should use copy-on-write inheritance for NinePieceImage.
727 <http://webkit.org/b/109366>
729 Reviewed by Antti Koivisto.
731 Refactor NinePieceImage to hold a copy-on-write DataRef like other RenderStyle substructures.
732 This allows us to avoids copying the NinePieceImageData when one RenderStyle inherits from another
733 but modifies something in the substructure holding the NinePieceImage (typically StyleSurroundData.)
735 Also made RenderStyle not copy-on-write its StyleSurroundData prematurely when doing a no-op write
736 to a border-image related value.
738 1.23 MB progression on Membuster3.
740 * rendering/style/NinePieceImage.cpp:
741 (WebCore::defaultData):
742 (WebCore::NinePieceImage::NinePieceImage):
743 (WebCore::NinePieceImageData::NinePieceImageData):
744 (WebCore::NinePieceImageData::operator==):
745 * rendering/style/NinePieceImage.h:
746 (WebCore::NinePieceImageData::create):
747 (WebCore::NinePieceImageData::copy):
748 (NinePieceImageData):
750 (WebCore::NinePieceImage::operator==):
751 (WebCore::NinePieceImage::operator!=):
752 (WebCore::NinePieceImage::hasImage):
753 (WebCore::NinePieceImage::image):
754 (WebCore::NinePieceImage::setImage):
755 (WebCore::NinePieceImage::imageSlices):
756 (WebCore::NinePieceImage::setImageSlices):
757 (WebCore::NinePieceImage::fill):
758 (WebCore::NinePieceImage::setFill):
759 (WebCore::NinePieceImage::borderSlices):
760 (WebCore::NinePieceImage::setBorderSlices):
761 (WebCore::NinePieceImage::outset):
762 (WebCore::NinePieceImage::setOutset):
763 (WebCore::NinePieceImage::horizontalRule):
764 (WebCore::NinePieceImage::setHorizontalRule):
765 (WebCore::NinePieceImage::verticalRule):
766 (WebCore::NinePieceImage::setVerticalRule):
767 (WebCore::NinePieceImage::copyImageSlicesFrom):
768 (WebCore::NinePieceImage::copyBorderSlicesFrom):
769 (WebCore::NinePieceImage::copyOutsetFrom):
770 (WebCore::NinePieceImage::copyRepeatFrom):
771 (WebCore::NinePieceImage::setMaskDefaults):
772 (WebCore::NinePieceImage::computeOutset):
773 * rendering/style/RenderStyle.cpp:
774 (WebCore::RenderStyle::setBorderImageSource):
775 (WebCore::RenderStyle::setBorderImageSlices):
776 (WebCore::RenderStyle::setBorderImageWidth):
777 (WebCore::RenderStyle::setBorderImageOutset):
778 * rendering/style/RenderStyle.h:
780 2013-02-10 Kent Tamura <tkent@chromium.org>
782 Unreviewed, rolling out r142343.
783 http://trac.webkit.org/changeset/142343
784 https://bugs.webkit.org/show_bug.cgi?id=108284
786 It might make inspector/profiler/selector-profiler-url.html
792 * html/HTMLPlugInElement.cpp:
793 (WebCore::HTMLPlugInElement::defaultEventHandler):
794 * html/HTMLPlugInImageElement.cpp:
795 (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
796 (WebCore::HTMLPlugInImageElement::createRenderer):
797 (WebCore::HTMLPlugInImageElement::willRecalcStyle):
798 (WebCore::HTMLPlugInImageElement::updateSnapshot):
799 (WebCore::HTMLPlugInImageElement::userDidClickSnapshot):
800 (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn):
801 * html/HTMLPlugInImageElement.h:
803 (HTMLPlugInImageElement):
804 * page/ChromeClient.h:
805 (WebCore::ChromeClient::plugInStartLabelImage):
806 * platform/LocalizedStrings.cpp:
807 * platform/LocalizedStrings.h:
808 * platform/blackberry/LocalizedStringsBlackBerry.cpp:
809 * platform/chromium/LocalizedStringsChromium.cpp:
810 * platform/efl/LocalizedStringsEfl.cpp:
812 * platform/gtk/LocalizedStringsGtk.cpp:
814 * platform/qt/LocalizedStringsQt.cpp:
815 * rendering/RenderSnapshottedPlugIn.cpp:
817 (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn):
818 (WebCore::RenderSnapshottedPlugIn::paint):
819 (WebCore::RenderSnapshottedPlugIn::paintReplaced):
820 (WebCore::RenderSnapshottedPlugIn::paintSnapshot):
821 (WebCore::RenderSnapshottedPlugIn::paintReplacedSnapshot):
822 (WebCore::RenderSnapshottedPlugIn::startLabelImage):
823 (WebCore::RenderSnapshottedPlugIn::paintReplacedSnapshotWithLabel):
824 (WebCore::RenderSnapshottedPlugIn::getCursor):
825 (WebCore::RenderSnapshottedPlugIn::handleEvent):
826 (WebCore::RenderSnapshottedPlugIn::tryToFitStartLabel):
827 * rendering/RenderSnapshottedPlugIn.h:
829 2013-02-10 Andreas Kling <akling@apple.com>
831 RenderText: Access characters through m_text instead of caching data pointers separately.
832 <http://webkit.org/b/109357>
834 Reviewed by Antti Koivisto.
836 Go through RenderText::m_text.impl() instead of caching the character data pointer.
837 RenderText should never have a null String in m_text so it's safe to access impl() directly.
838 We have assertions for this since before.
840 Removing this pointer shrinks RenderText by 8 bytes, allowing it to fit into a snugger size class.
841 749 KB progression on Membuster3.
843 * rendering/RenderText.cpp:
844 (SameSizeAsRenderText):
845 (WebCore::RenderText::RenderText):
846 (WebCore::RenderText::setTextInternal):
847 * rendering/RenderText.h:
848 (WebCore::RenderText::is8Bit):
849 (WebCore::RenderText::characters8):
850 (WebCore::RenderText::characters16):
851 (WebCore::RenderText::characterAt):
852 (WebCore::RenderText::operator[]):
855 2013-02-10 Jae Hyun Park <jae.park08@gmail.com>
857 Rename ENABLE(GLIB_SUPPORT) to USE(GLIB)
858 https://bugs.webkit.org/show_bug.cgi?id=104266
860 Reviewed by Philippe Normand.
862 Using USE(GLIB) instead of ENABLE(GLIB_SUPPORT) is more consistent with
863 the existing macro naming conventions.
866 USE() - use a particular third-party library or optional OS service
867 ENABLE() - turn on a specific feature of WebKit
869 No new tests, no new functionality.
873 2013-02-10 Zan Dobersek <zdobersek@igalia.com>
875 [GTK] Build errors in TextureMapperShaderProgram.cpp when compiling with Clang
876 https://bugs.webkit.org/show_bug.cgi?id=109321
878 Reviewed by Noam Rosenthal.
880 Clang is reporting errors due to non-constant expressions that cannot be narrowed
881 from double to float type in initializer list when constructing a matrix of GC3Dfloat
882 numbers. To avoid this every parameter is passed through an explicit GC3Dfloat constructor.
884 No new tests - no new functionality.
886 * platform/graphics/texmap/TextureMapperShaderProgram.cpp:
887 (WebCore::TextureMapperShaderProgram::setMatrix):
889 2013-02-10 Philippe Normand <pnormand@igalia.com>
891 [GStreamer] audio is muted when playback rate is between 0.8 and 2.0
892 https://bugs.webkit.org/show_bug.cgi?id=109362
894 Reviewed by Martin Robinson.
896 Don't mute sound if the audio pitch is preserved. If this is not
897 the case mute it if it's too extreme, as the HTML5 spec recommends.
899 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
900 (WebCore::MediaPlayerPrivateGStreamer::setRate):
902 2013-02-09 Dominic Mazzoni <dmazzoni@google.com>
904 fast/encoding/parser-tests-*.html tests sometimes crash
905 https://bugs.webkit.org/show_bug.cgi?id=108058
907 Reviewed by Chris Fleizach.
909 To avoid calling accessibilityIsIgnored while the render
910 tree is unstable, call accessibilityIsIgnored in the
911 notification timer handler, only for childrenChanged
914 This exposed a problem where notifications queued on
915 objects can fire after the object has been deleted; fix that
916 by checking the object's id, which is always set to 0 when
917 removed from the tree.
919 Covered by existing tests.
921 * accessibility/AXObjectCache.cpp:
922 (WebCore::AXObjectCache::childrenChanged):
923 (WebCore::AXObjectCache::notificationPostTimerFired):
925 2013-02-09 Eric Carlson <eric.carlson@apple.com>
927 [Mac] Do not assume MediaAccessibility framework is installed
928 https://bugs.webkit.org/show_bug.cgi?id=109365
930 Reviewed by Sam Weinig.
932 * page/CaptionUserPreferencesMac.h:
933 * page/CaptionUserPreferencesMac.mm:
934 (WebCore::CaptionUserPreferencesMac::userPrefersCaptions): Call the base class if the framework
936 (WebCore::CaptionUserPreferencesMac::setUserPrefersCaptions): Ditto.
937 (WebCore::CaptionUserPreferencesMac::userHasCaptionPreferences): Ditto.
938 (WebCore::CaptionUserPreferencesMac::registerForCaptionPreferencesChangedCallbacks): Ditto.
939 (WebCore::CaptionUserPreferencesMac::unregisterForCaptionPreferencesChangedCallbacks): Ditto.
940 (WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride): Ditto.
941 (WebCore::CaptionUserPreferencesMac::captionFontSizeScale): Ditto.
942 (WebCore::CaptionUserPreferencesMac::setPreferredLanguage): Ditto.
943 (WebCore::CaptionUserPreferencesMac::preferredLanguages): Ditto.
945 2013-02-09 Dominic Mazzoni <dmazzoni@google.com>
947 AX: move isIgnored caching to AXObject
948 https://bugs.webkit.org/show_bug.cgi?id=109322
950 Reviewed by Chris Fleizach.
952 There's some benefit to caching accessibilityIsIgnored
953 (using AXComputedObjectAttributeCache) for more than just
954 AXRenderObject, so move the caching code to AXObject.
956 AXObject now has a protected virtual method
957 computeAccessibilityIsIgnored, and all subclasses
958 override that instead.
962 * accessibility/AccessibilityImageMapLink.h:
963 (AccessibilityImageMapLink):
964 (WebCore::AccessibilityImageMapLink::computeAccessibilityIsIgnored):
965 * accessibility/AccessibilityList.cpp:
966 (WebCore::AccessibilityList::computeAccessibilityIsIgnored):
967 * accessibility/AccessibilityList.h:
969 * accessibility/AccessibilityListBox.cpp:
970 (WebCore::AccessibilityListBox::computeAccessibilityIsIgnored):
971 * accessibility/AccessibilityListBox.h:
972 (AccessibilityListBox):
973 * accessibility/AccessibilityListBoxOption.cpp:
974 (WebCore::AccessibilityListBoxOption::computeAccessibilityIsIgnored):
975 * accessibility/AccessibilityListBoxOption.h:
976 (AccessibilityListBoxOption):
977 * accessibility/AccessibilityMediaControls.cpp:
978 (WebCore::AccessibilityMediaControl::computeAccessibilityIsIgnored):
979 (WebCore::AccessibilityMediaTimeDisplay::computeAccessibilityIsIgnored):
980 * accessibility/AccessibilityMediaControls.h:
981 (AccessibilityMediaControl):
982 (WebCore::AccessibilityMediaControlsContainer::computeAccessibilityIsIgnored):
983 (AccessibilityMediaTimeDisplay):
984 * accessibility/AccessibilityMenuList.h:
985 (WebCore::AccessibilityMenuList::computeAccessibilityIsIgnored):
986 * accessibility/AccessibilityMenuListOption.cpp:
987 (WebCore::AccessibilityMenuListOption::computeAccessibilityIsIgnored):
988 * accessibility/AccessibilityMenuListOption.h:
989 (AccessibilityMenuListOption):
990 * accessibility/AccessibilityMenuListPopup.cpp:
991 (WebCore::AccessibilityMenuListPopup::computeAccessibilityIsIgnored):
992 * accessibility/AccessibilityMenuListPopup.h:
993 (AccessibilityMenuListPopup):
994 * accessibility/AccessibilityNodeObject.cpp:
995 (WebCore::AccessibilityNodeObject::computeAccessibilityIsIgnored):
996 * accessibility/AccessibilityNodeObject.h:
997 (AccessibilityNodeObject):
998 * accessibility/AccessibilityObject.cpp:
999 (WebCore::AccessibilityObject::accessibilityIsIgnored):
1001 * accessibility/AccessibilityObject.h:
1002 (AccessibilityObject):
1003 (WebCore::AccessibilityObject::computeAccessibilityIsIgnored):
1004 * accessibility/AccessibilityProgressIndicator.cpp:
1005 (WebCore::AccessibilityProgressIndicator::computeAccessibilityIsIgnored):
1006 * accessibility/AccessibilityProgressIndicator.h:
1007 (AccessibilityProgressIndicator):
1008 * accessibility/AccessibilityRenderObject.cpp:
1009 (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
1010 * accessibility/AccessibilityRenderObject.h:
1011 (AccessibilityRenderObject):
1012 * accessibility/AccessibilityScrollView.cpp:
1013 (WebCore::AccessibilityScrollView::computeAccessibilityIsIgnored):
1014 * accessibility/AccessibilityScrollView.h:
1015 (AccessibilityScrollView):
1016 * accessibility/AccessibilityScrollbar.h:
1017 (WebCore::AccessibilityScrollbar::computeAccessibilityIsIgnored):
1018 * accessibility/AccessibilitySlider.cpp:
1019 (WebCore::AccessibilitySlider::computeAccessibilityIsIgnored):
1020 (WebCore::AccessibilitySliderThumb::computeAccessibilityIsIgnored):
1021 * accessibility/AccessibilitySlider.h:
1022 (AccessibilitySlider):
1023 (AccessibilitySliderThumb):
1024 * accessibility/AccessibilitySpinButton.h:
1025 (WebCore::AccessibilitySpinButton::computeAccessibilityIsIgnored):
1026 (WebCore::AccessibilitySpinButtonPart::computeAccessibilityIsIgnored):
1027 * accessibility/AccessibilityTable.cpp:
1028 (WebCore::AccessibilityTable::computeAccessibilityIsIgnored):
1029 * accessibility/AccessibilityTable.h:
1030 (AccessibilityTable):
1031 * accessibility/AccessibilityTableCell.cpp:
1032 (WebCore::AccessibilityTableCell::computeAccessibilityIsIgnored):
1033 * accessibility/AccessibilityTableCell.h:
1034 (AccessibilityTableCell):
1035 * accessibility/AccessibilityTableColumn.cpp:
1036 (WebCore::AccessibilityTableColumn::computeAccessibilityIsIgnored):
1037 * accessibility/AccessibilityTableColumn.h:
1038 (AccessibilityTableColumn):
1039 * accessibility/AccessibilityTableHeaderContainer.cpp:
1040 (WebCore::AccessibilityTableHeaderContainer::computeAccessibilityIsIgnored):
1041 * accessibility/AccessibilityTableHeaderContainer.h:
1042 (AccessibilityTableHeaderContainer):
1043 * accessibility/AccessibilityTableRow.cpp:
1044 (WebCore::AccessibilityTableRow::computeAccessibilityIsIgnored):
1045 * accessibility/AccessibilityTableRow.h:
1046 (AccessibilityTableRow):
1048 2013-02-09 David Farler <dfarler@apple.com>
1050 Make TestWebKitAPI work for iOS
1051 https://bugs.webkit.org/show_bug.cgi?id=108978
1053 Reviewed by David Kilzer.
1055 Tests already exist - refactor only.
1057 * WebCore.exp.in: Lumped __ZNK7WebCore4KURL7hasPathEv with related methods.
1058 * platform/KURL.cpp: Inlined hasPath() into the header
1059 * platform/KURL.h: Inlined hasPath() into the header
1061 2013-02-09 Adam Barth <abarth@webkit.org>
1063 Load event fires too early with threaded HTML parser
1064 https://bugs.webkit.org/show_bug.cgi?id=108984
1066 Reviewed by Eric Seidel.
1068 Previously, the DocumentLoader would always be on the stack when the
1069 HTMLDocumentParser was processing data from the network. The
1070 DocumentLoader would then tell isLoadingInAPISense not to fire the load
1071 event. Now that we process data asynchronously with the threaded
1072 parser, the DocumentLoader is not always on the stack, which means we
1073 need to delay the load event using the clause that asks the parser
1074 whether it is processing data.
1076 Unfortunately, that clause is fragile because we can check for load
1077 completion while we're switching parsers between the network-created
1078 parser and a script-created parser. To avoid accidentially triggerin
1079 the load event during these "gaps," this patch introduces a counter on
1080 document to record how many parsers are active on the stack. While
1081 that numer is non-zero, we'll delay the load event. When that number
1082 reaches zero, we'll check for load complete.
1084 That last step is required because the DocumentLoader::finishLoading
1085 method is no longer guarunteed to check for load complete after calling
1086 finish on the parser because the finish operation might complete
1089 After this patch, the threaded parser passes all but four fast/parser
1093 (WebCore::Document::Document):
1094 (WebCore::Document::hasActiveParser):
1096 (WebCore::Document::decrementActiveParserCount):
1099 (WebCore::Document::incrementActiveParserCount):
1100 * html/parser/HTMLDocumentParser.cpp:
1101 (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
1102 (WebCore::HTMLDocumentParser::pumpTokenizer):
1103 * html/parser/HTMLParserScheduler.cpp:
1104 (WebCore::ActiveParserSession::ActiveParserSession):
1106 (WebCore::ActiveParserSession::~ActiveParserSession):
1107 (WebCore::PumpSession::PumpSession):
1108 (WebCore::PumpSession::~PumpSession):
1109 * html/parser/HTMLParserScheduler.h:
1111 (ActiveParserSession):
1113 * loader/DocumentLoader.cpp:
1114 (WebCore::DocumentLoader::isLoadingInAPISense):
1116 2013-02-09 Mike West <mkwst@chromium.org>
1118 Use IGNORE_EXCEPTION for initialized, but unused, ExceptionCodes.
1119 https://bugs.webkit.org/show_bug.cgi?id=109295
1121 Reviewed by Darin Adler.
1123 The monster patch in http://wkbug.com/108771 missed an entire class of
1124 ignored exceptions. It only dealt with call sites that never initialized
1125 the ExceptionCode variable, on the assumption that only such call sites
1126 would ignore the variable's value.
1128 That was a flawed assumption: a large number of sites that initialize the
1129 ExceptionCode to 0 ignore it regardless. This patch deals with the
1130 almost-as-large set of callsites that initialize the variable, pass it to
1131 a function, and then never touch it again.
1133 * Modules/indexeddb/IDBDatabase.cpp:
1134 (WebCore::IDBDatabase::forceClose):
1135 * accessibility/AccessibilityRenderObject.cpp:
1136 (WebCore::AccessibilityRenderObject::ariaSelectedTextRange):
1137 (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
1138 (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
1139 * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
1140 (getSelectionOffsetsForObject):
1141 * accessibility/atk/WebKitAccessibleUtil.cpp:
1142 (selectionBelongsToObject):
1144 (WebCore::Node::textRects):
1145 * editing/DeleteButtonController.cpp:
1146 (WebCore::DeleteButtonController::hide):
1147 * editing/EditingStyle.cpp:
1148 (WebCore::EditingStyle::styleAtSelectionStart):
1149 * editing/Editor.cpp:
1150 (WebCore::Editor::canDeleteRange):
1151 (WebCore::Editor::pasteAsPlainText):
1152 (WebCore::Editor::pasteAsFragment):
1153 (WebCore::Editor::shouldDeleteRange):
1154 (WebCore::Editor::dispatchCPPEvent):
1155 (WebCore::Editor::setComposition):
1156 (WebCore::Editor::advanceToNextMisspelling):
1157 (WebCore::isFrameInRange):
1158 * editing/EditorCommand.cpp:
1159 (WebCore::expandSelectionToGranularity):
1160 * editing/MergeIdenticalElementsCommand.cpp:
1161 (WebCore::MergeIdenticalElementsCommand::doApply):
1162 * editing/SplitElementCommand.cpp:
1163 (WebCore::SplitElementCommand::doUnapply):
1164 * editing/SplitTextNodeCommand.cpp:
1165 (WebCore::SplitTextNodeCommand::doApply):
1166 * editing/TextCheckingHelper.cpp:
1167 (WebCore::expandToParagraphBoundary):
1168 (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
1169 (WebCore::TextCheckingHelper::isUngrammatical):
1170 (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):
1171 * editing/TextInsertionBaseCommand.cpp:
1172 (WebCore::dispatchBeforeTextInsertedEvent):
1173 (WebCore::canAppendNewLineFeedToSelection):
1174 * editing/TextIterator.cpp:
1175 (WebCore::findPlainText):
1176 * editing/htmlediting.cpp:
1177 (WebCore::extendRangeToWrappingNodes):
1178 (WebCore::isNodeVisiblyContainedWithin):
1179 * editing/visible_units.cpp:
1180 (WebCore::nextBoundary):
1181 * html/FileInputType.cpp:
1182 (WebCore::FileInputType::createShadowSubtree):
1183 * html/HTMLKeygenElement.cpp:
1184 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
1185 * html/HTMLScriptElement.cpp:
1186 (WebCore::HTMLScriptElement::setText):
1187 * html/HTMLTitleElement.cpp:
1188 (WebCore::HTMLTitleElement::setText):
1189 * html/HTMLTrackElement.cpp:
1190 (WebCore::HTMLTrackElement::didCompleteLoad):
1191 * html/RangeInputType.cpp:
1192 (WebCore::RangeInputType::createShadowSubtree):
1193 * html/SearchInputType.cpp:
1194 (WebCore::SearchInputType::createShadowSubtree):
1195 * html/TextFieldInputType.cpp:
1196 (WebCore::TextFieldInputType::createShadowSubtree):
1197 * html/track/TextTrackList.cpp:
1198 (TextTrackList::asyncEventTimerFired):
1199 * inspector/DOMPatchSupport.cpp:
1200 (WebCore::DOMPatchSupport::patchDocument):
1201 * inspector/InspectorDatabaseAgent.cpp:
1203 * inspector/InspectorFileSystemAgent.cpp:
1205 * page/DOMSelection.cpp:
1206 (WebCore::DOMSelection::addRange):
1207 * page/DragController.cpp:
1208 (WebCore::DragController::dispatchTextInputEventFor):
1209 * page/EventHandler.cpp:
1210 (WebCore::EventHandler::dispatchMouseEvent):
1211 (WebCore::EventHandler::handleTouchEvent):
1212 * page/FrameActionScheduler.cpp:
1213 (WebCore::EventFrameAction::fire):
1214 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1215 (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
1216 * svg/SVGDocument.cpp:
1217 (WebCore::SVGDocument::dispatchZoomEvent):
1218 (WebCore::SVGDocument::dispatchScrollEvent):
1219 * svg/SVGLength.cpp:
1220 (WebCore::SVGLength::SVGLength):
1221 (WebCore::SVGLength::value):
1222 * xml/parser/XMLDocumentParser.cpp:
1223 (WebCore::XMLDocumentParser::exitText):
1224 * xml/parser/XMLDocumentParserQt.cpp:
1225 (WebCore::XMLDocumentParser::parse):
1226 (WebCore::XMLDocumentParser::startDocument):
1227 (WebCore::XMLDocumentParser::parseCharacters):
1229 2013-02-09 Stephen White <senorblanco@chromium.org>
1231 [skia] Fix memory management in SkiaImageFilterBuilder and friends.
1232 https://bugs.webkit.org/show_bug.cgi?id=109326
1234 Sadly, skia has no official ref-counted pointers, so we must make do
1237 Reviewed by James Robinson.
1239 Correctness covered by existing tests in css3/filters.
1241 * platform/graphics/filters/skia/FEBlendSkia.cpp:
1242 (WebCore::FEBlend::createImageFilter):
1243 * platform/graphics/filters/skia/FEComponentTransferSkia.cpp:
1244 (WebCore::FEComponentTransfer::createImageFilter):
1245 * platform/graphics/filters/skia/FELightingSkia.cpp:
1246 (WebCore::FELighting::createImageFilter):
1247 Adopt refs produced by the build() pass with SkAutoTUnref.
1248 * platform/graphics/filters/skia/SkiaImageFilterBuilder.cpp:
1249 (WebCore::SkiaImageFilterBuilder::~SkiaImageFilterBuilder):
1250 Unref the builder's hashmap effect pointers.
1251 (WebCore::SkiaImageFilterBuilder::build):
1252 Ref the pointer returned to the caller, and use SkAutoTUnref
1253 internally while building the tree.
1254 * platform/graphics/filters/skia/SkiaImageFilterBuilder.h:
1255 (SkiaImageFilterBuilder):
1256 Add a destructor to SkiaImageFilterBuilder.
1259 2013-02-09 Dominic Mazzoni <dmazzoni@google.com>
1261 AX: Rename AXObject::cachedIsIgnoredValue to lastKnownIsIgnoredValue
1262 https://bugs.webkit.org/show_bug.cgi?id=108238
1264 Reviewed by Chris Fleizach.
1266 Simple refactoring, no new tests.
1268 * accessibility/AXObjectCache.cpp:
1269 (WebCore::AXObjectCache::getOrCreate):
1270 (WebCore::AXObjectCache::childrenChanged):
1271 * accessibility/AccessibilityObject.cpp:
1272 (WebCore::AccessibilityObject::AccessibilityObject):
1273 (WebCore::AccessibilityObject::lastKnownIsIgnoredValue):
1274 (WebCore::AccessibilityObject::setLastKnownIsIgnoredValue):
1275 (WebCore::AccessibilityObject::notifyIfIgnoredValueChanged):
1276 * accessibility/AccessibilityObject.h:
1277 (AccessibilityObject):
1279 2013-02-09 Anton Vayvod <avayvod@chromium.org>
1281 [Text Autosizing] Cleanup change: converter the pointer argument to be a reference since
1282 non-null pointer is always expected.
1283 https://bugs.webkit.org/show_bug.cgi?id=109079
1285 Reviewed by Kenneth Rohde Christiansen.
1287 Cleanup change, no need to add new tests or modify the existing ones.
1289 * rendering/TextAutosizer.cpp:
1291 Changed parameter from a pointer to a reference in the methods below.
1293 (WebCore::TextAutosizer::processSubtree):
1294 (WebCore::TextAutosizer::processCluster):
1295 (WebCore::TextAutosizer::processContainer):
1296 (WebCore::TextAutosizer::isNarrowDescendant):
1297 (WebCore::TextAutosizer::isWiderDescendant):
1298 (WebCore::TextAutosizer::isAutosizingCluster):
1299 (WebCore::TextAutosizer::clusterShouldBeAutosized):
1300 (WebCore::TextAutosizer::measureDescendantTextWidth):
1302 * rendering/TextAutosizer.h: updated method prototypes.
1304 2013-02-09 Rafael Brandao <rafael.lobo@openbossa.org>
1306 [TexMap] Separate classes per file in TextureMapperBackingStore.h
1307 https://bugs.webkit.org/show_bug.cgi?id=109333
1309 Reviewed by Noam Rosenthal.
1311 TextureMapperBackingStore.h had the classes TextureMapperBackingStore,
1312 TextureMapperTiledBackingStore, TextureMapperSurfaceBackingStore and
1313 TextureMapperTile which was quite confusing. Now each one has its
1314 own header and its own source file.
1316 No new tests needed, refactoring only.
1319 * GNUmakefile.list.am:
1322 * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
1323 * platform/graphics/texmap/TextureMapperBackingStore.cpp:
1324 * platform/graphics/texmap/TextureMapperBackingStore.h:
1325 * platform/graphics/texmap/TextureMapperSurfaceBackingStore.cpp: Added.
1327 (WebCore::TextureMapperSurfaceBackingStore::setGraphicsSurface):
1328 (WebCore::TextureMapperSurfaceBackingStore::swapBuffersIfNeeded):
1329 (WebCore::TextureMapperSurfaceBackingStore::texture):
1330 (WebCore::TextureMapperSurfaceBackingStore::paintToTextureMapper):
1331 * platform/graphics/texmap/TextureMapperSurfaceBackingStore.h: Added.
1333 (TextureMapperSurfaceBackingStore):
1334 (WebCore::TextureMapperSurfaceBackingStore::create):
1335 (WebCore::TextureMapperSurfaceBackingStore::~TextureMapperSurfaceBackingStore):
1336 (WebCore::TextureMapperSurfaceBackingStore::TextureMapperSurfaceBackingStore):
1337 * platform/graphics/texmap/TextureMapperTile.cpp: Added.
1339 (WebCore::TextureMapperTile::updateContents):
1340 (WebCore::TextureMapperTile::paint):
1341 * platform/graphics/texmap/TextureMapperTile.h: Added.
1343 (TextureMapperTile):
1344 (WebCore::TextureMapperTile::texture):
1345 (WebCore::TextureMapperTile::rect):
1346 (WebCore::TextureMapperTile::setTexture):
1347 (WebCore::TextureMapperTile::setRect):
1348 (WebCore::TextureMapperTile::~TextureMapperTile):
1349 (WebCore::TextureMapperTile::TextureMapperTile):
1350 * platform/graphics/texmap/TextureMapperTiledBackingStore.cpp: Copied from Source/WebCore/platform/graphics/texmap/TextureMapperBackingStore.cpp.
1352 (WebCore::TextureMapperTiledBackingStore::TextureMapperTiledBackingStore):
1353 (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
1354 (WebCore::TextureMapperTiledBackingStore::adjustedTransformForRect):
1355 (WebCore::TextureMapperTiledBackingStore::paintToTextureMapper):
1356 (WebCore::TextureMapperTiledBackingStore::drawBorder):
1357 (WebCore::TextureMapperTiledBackingStore::drawRepaintCounter):
1358 (WebCore::TextureMapperTiledBackingStore::createOrDestroyTilesIfNeeded):
1359 (WebCore::TextureMapperTiledBackingStore::updateContents):
1360 (WebCore::TextureMapperTiledBackingStore::texture):
1361 * platform/graphics/texmap/TextureMapperTiledBackingStore.h: Added.
1363 (TextureMapperTiledBackingStore):
1364 (WebCore::TextureMapperTiledBackingStore::create):
1365 (WebCore::TextureMapperTiledBackingStore::~TextureMapperTiledBackingStore):
1366 (WebCore::TextureMapperTiledBackingStore::setContentsToImage):
1367 (WebCore::TextureMapperTiledBackingStore::rect):
1368 * platform/graphics/texmap/coordinated/CoordinatedBackingStore.h:
1369 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
1371 2013-02-09 Philip Rogers <pdr@google.com>
1373 Sanitize m_keyTimes for paced value animations
1374 https://bugs.webkit.org/show_bug.cgi?id=108828
1376 Reviewed by Dirk Schulze.
1378 SVG animations with calcMode=paced calculate new m_keyTimes in
1379 SVGAnimationElement::calculateKeyTimesForCalcModePaced() because paced animations do not
1380 specify keyTimes. If an error occurs while calculating m_keyTimes, and there exists
1381 user-specified values, a crash could occur because the user-specified values were not
1384 This change clears user-specified keyTimes before calculating new ones.
1386 Test: svg/animations/animate-keytimes-crash.html
1388 * svg/SVGAnimationElement.cpp:
1389 (WebCore::SVGAnimationElement::calculateKeyTimesForCalcModePaced):
1391 2013-02-09 Eric Seidel <eric@webkit.org>
1393 Fix TextDocumentParser to play nice with threading
1394 https://bugs.webkit.org/show_bug.cgi?id=109240
1396 Reviewed by Adam Barth.
1398 Before the HTML5 parser re-write the text document parser
1399 was completely custom. With the HTML5 parser, we just made
1400 the TextDocumentParser use the HTMLDocumentParser with an
1401 artificial script tag.
1403 However, our solution was slightly over-engineered to avoid
1404 lying about the column numbers of the first line of the text document
1407 This change makes us use a simpler (and threading-compatible)
1408 solution by just inserting a real "<pre>" tag into the
1409 input stream instead of hacking one together with the treebuilder
1410 and manually setting the Tokenizer state.
1412 fast/parser/empty-text-resource.html covers this case.
1414 * html/parser/TextDocumentParser.cpp:
1415 (WebCore::TextDocumentParser::TextDocumentParser):
1416 (WebCore::TextDocumentParser::insertFakePreElement):
1418 2013-02-09 Kent Tamura <tkent@chromium.org>
1420 Add missing copyright header
1421 https://bugs.webkit.org/show_bug.cgi?id=107507
1423 * Resources/pagepopups/chromium/calendarPickerChromium.css:
1424 * Resources/pagepopups/chromium/pickerCommonChromium.css:
1426 2013-02-09 Kent Tamura <tkent@chromium.org>
1428 Fix crash by img[ismap] with content property
1429 https://bugs.webkit.org/show_bug.cgi?id=108702
1431 Reviewed by Adam Barth.
1433 Test: fast/dom/HTMLAnchorElement/anchor-ismap-crash.html
1435 * html/HTMLAnchorElement.cpp:
1436 (WebCore::appendServerMapMousePosition):
1437 Check if the renderer of an img element is RenderImage.
1439 2013-02-09 Mike West <mkwst@chromium.org>
1441 Drop ExceptionCode from IDB's directionToString and modeToString.
1442 https://bugs.webkit.org/show_bug.cgi?id=109143
1444 Reviewed by Jochen Eisinger.
1446 No caller of either IDBCursor::directionToString or
1447 IDBTransaction::modeToString makes use of the ExceptionCode these
1448 methods require. This patch removes the 'ExceptionCode&' parameter from
1449 both methods and their callsites.
1451 * Modules/indexeddb/IDBCursor.cpp:
1452 (WebCore::IDBCursor::direction):
1453 (WebCore::IDBCursor::directionToString):
1454 Drop the 'ExceptionCode&' parameter, and replace the 'TypeError'
1455 exception previously generated with ASSERT_NOT_REACHED.
1456 * Modules/indexeddb/IDBCursor.h:
1457 * Modules/indexeddb/IDBTransaction.cpp:
1458 (WebCore::IDBTransaction::mode):
1459 (WebCore::IDBTransaction::modeToString):
1460 Drop the 'ExceptionCode&' parameter, and replace the 'TypeError'
1461 exception previously generated with ASSERT_NOT_REACHED.
1462 * Modules/indexeddb/IDBTransaction.h:
1464 2013-02-09 Kondapally Kalyan <kalyan.kondapally@intel.com>
1466 [EFL][Qt][WebGL] Share the common code between GraphicsSurfaceGLX and X11WindowResources.
1467 https://bugs.webkit.org/show_bug.cgi?id=106666
1469 Reviewed by Kenneth Rohde Christiansen.
1471 Covered by existing WebGL tests.
1473 This patch removes any duplicate code in X11WindowResources and
1474 GraphicsSurfaceGLX. No new functionality is added.
1476 * PlatformEfl.cmake:
1478 * platform/graphics/surfaces/egl/EGLConfigSelector.cpp:
1479 (WebCore::EGLConfigSelector::pixmapContextConfig):
1480 * platform/graphics/surfaces/egl/EGLConfigSelector.h:
1481 (EGLConfigSelector):
1482 * platform/graphics/surfaces/egl/EGLSurface.cpp:
1483 (WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
1484 (WebCore::EGLWindowTransportSurface::destroy):
1485 (WebCore::EGLWindowTransportSurface::setGeometry):
1486 * platform/graphics/surfaces/egl/EGLSurface.h:
1488 (EGLWindowTransportSurface):
1489 * platform/graphics/surfaces/glx/GLXConfigSelector.h:
1490 (WebCore::GLXConfigSelector::GLXConfigSelector):
1491 (WebCore::GLXConfigSelector::visualInfo):
1492 (WebCore::GLXConfigSelector::pBufferContextConfig):
1493 (WebCore::GLXConfigSelector::createSurfaceConfig):
1494 (GLXConfigSelector):
1495 * platform/graphics/surfaces/glx/GLXContext.cpp:
1496 (WebCore::initializeARBExtensions):
1497 (WebCore::GLXOffScreenContext::GLXOffScreenContext):
1498 (WebCore::GLXOffScreenContext::initialize):
1499 (WebCore::GLXOffScreenContext::platformReleaseCurrent):
1500 (WebCore::GLXOffScreenContext::freeResources):
1501 * platform/graphics/surfaces/glx/GLXContext.h:
1502 (GLXOffScreenContext):
1503 * platform/graphics/surfaces/glx/GLXSurface.cpp:
1504 (WebCore::GLXTransportSurface::GLXTransportSurface):
1505 (WebCore::GLXTransportSurface::setGeometry):
1506 (WebCore::GLXTransportSurface::destroy):
1507 (WebCore::GLXPBuffer::initialize):
1508 * platform/graphics/surfaces/glx/GLXSurface.h:
1509 (GLXTransportSurface):
1511 * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
1513 (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
1514 (WebCore::GraphicsSurfacePrivate::initialize):
1515 (GraphicsSurfacePrivate):
1516 (WebCore::GraphicsSurfacePrivate::createSurface):
1517 (WebCore::GraphicsSurfacePrivate::createPixmap):
1518 (WebCore::GraphicsSurfacePrivate::display):
1519 (WebCore::GraphicsSurfacePrivate::flags):
1520 (WebCore::GraphicsSurfacePrivate::clear):
1521 (WebCore::GraphicsSurface::platformPaintToTextureMapper):
1522 No new functionality added. Made changes to take the common code into use.
1524 * platform/graphics/surfaces/glx/X11WindowResources.h: Removed.
1525 * platform/graphics/surfaces/glx/X11Helper.cpp: Renamed from Source/WebCore/platform/graphics/surfaces/glx/X11WindowResources.cpp.
1527 (WebCore::DisplayConnection::DisplayConnection):
1528 (DisplayConnection):
1529 (WebCore::DisplayConnection::~DisplayConnection):
1530 (WebCore::DisplayConnection::display):
1531 (OffScreenRootWindow):
1532 (WebCore::OffScreenRootWindow::OffScreenRootWindow):
1533 (WebCore::OffScreenRootWindow::~OffScreenRootWindow):
1534 (WebCore::OffScreenRootWindow::rootWindow):
1535 (WebCore::X11Helper::resizeWindow):
1536 (WebCore::X11Helper::createOffScreenWindow):
1537 (WebCore::X11Helper::destroyWindow):
1538 (WebCore::X11Helper::isXRenderExtensionSupported):
1539 (WebCore::X11Helper::nativeDisplay):
1540 (WebCore::X11Helper::offscreenRootWindow):
1541 * platform/graphics/surfaces/glx/X11Helper.h: Added.
1543 (WebCore::handleXPixmapCreationError):
1545 (ScopedXPixmapCreationErrorHandler):
1546 (WebCore::ScopedXPixmapCreationErrorHandler::ScopedXPixmapCreationErrorHandler):
1547 (WebCore::ScopedXPixmapCreationErrorHandler::~ScopedXPixmapCreationErrorHandler):
1548 (WebCore::ScopedXPixmapCreationErrorHandler::isValidOperation):
1549 Moved common code from GraphicsSurfaceGLX to X11Helper.
1551 2013-02-09 Andrey Lushnikov <lushnikov@chromium.org>
1553 Web Inspector: show whitespace characters in DTE
1554 https://bugs.webkit.org/show_bug.cgi?id=108947
1556 Reviewed by Pavel Feldman.
1558 New test: inspector/editor/text-editor-show-whitespaces.html
1560 Split consecutive whitespace characters into groups of 16, 8, 4, 2 and 1 and
1561 add ::before pseudoclass for this groups which contains necessary
1562 amount of "dots" (u+00b7). Add a setting "Show whitespace" for this
1563 option in "Sources" section of "General" tab.
1565 * English.lproj/localizedStrings.js:
1566 * inspector/front-end/DefaultTextEditor.js:
1567 (WebInspector.TextEditorMainPanel.prototype.wasShown):
1568 (WebInspector.TextEditorMainPanel.prototype.willHide):
1569 (WebInspector.TextEditorMainPanel.prototype._renderRanges):
1570 (WebInspector.TextEditorMainPanel.prototype._renderWhitespaceCharsWithFixedSizeSpans):
1571 (WebInspector.TextEditorMainPanel.prototype._paintLine):
1572 * inspector/front-end/Settings.js:
1573 * inspector/front-end/SettingsScreen.js:
1574 (WebInspector.GenericSettingsTab):
1575 * inspector/front-end/inspectorSyntaxHighlight.css:
1576 (.webkit-whitespace-1::before):
1577 (.webkit-whitespace-2::before):
1578 (.webkit-whitespace-4::before):
1579 (.webkit-whitespace-8::before):
1580 (.webkit-whitespace-16::before):
1581 (.webkit-whitespace::before):
1583 2013-02-08 Eric Carlson <eric.carlson@apple.com>
1585 [Mac] respect in-band caption color
1586 https://bugs.webkit.org/show_bug.cgi?id=109203
1588 Reviewed by Dean Jackson.
1590 Test: media/track/track-in-band-style.html
1592 * WebCore.xcodeproj/project.pbxproj: Add HTMLDivElement.h to private headers because it is
1593 included by HTMLTextElement, which is included by HTMLMediaElement.h, which is included
1594 by files in WebKit/WebKit2.
1595 * html/track/InbandTextTrack.cpp:
1596 (WebCore::InbandTextTrack::addGenericCue): Set cue colors if necessary.
1598 * html/track/TextTrackCue.h:
1599 (WebCore::TextTrackCue::element): New, accessor for the cue element so it can be styled.
1601 * html/track/TextTrackCueGeneric.cpp:
1602 (WebCore::TextTrackCueGenericBoxElement::applyCSSProperties): Set container and cue background
1604 (WebCore::TextTrackCueGeneric::operator==): Compare cue colors.
1605 * html/track/TextTrackCueGeneric.h:
1606 (WebCore::TextTrackCueGeneric::foregroundColor): Add color accessors.
1607 (WebCore::TextTrackCueGeneric::setForegroundColor):
1608 (WebCore::TextTrackCueGeneric::backgroundColor):
1609 (WebCore::TextTrackCueGeneric::setBackgroundColor):
1611 * page/CaptionUserPreferencesMac.mm:
1612 (WebCore::CaptionUserPreferencesMac::registerForCaptionPreferencesChangedCallbacks): Always
1613 regenerate override CSS when an element registers for callbacks.
1614 (WebCore::CaptionUserPreferencesMac::captionsWindowCSS): Drive by fix of "window color" padding.
1615 (WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride): Log the stylesheet generated
1616 for easier debugging.
1618 * platform/graphics/InbandTextTrackPrivateClient.h:
1619 (WebCore::GenericCueData::foregroundColor): Add color getters/setters.
1620 (WebCore::GenericCueData::setForegroundColor):
1621 (WebCore::GenericCueData::backgroundColor):
1622 (WebCore::GenericCueData::setBackgroundColor):
1624 * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
1625 (WebCore::makeRGBA32FromARGBCFArray): Initialize a RGBA32 from a CFArray of color values.
1626 (WebCore::InbandTextTrackPrivateAVF::processCueAttributes): Process cue colors.
1628 2013-02-08 Benjamin Poulain <bpoulain@apple.com>
1630 Move workerThreadCount from TestRunner to WebCore Internals
1631 https://bugs.webkit.org/show_bug.cgi?id=109239
1633 Reviewed by Darin Adler.
1635 Add the new read-only property workerThreadCount.
1637 * testing/Internals.cpp:
1638 (WebCore::Internals::workerThreadCount):
1640 * testing/Internals.h:
1642 * testing/Internals.idl:
1644 2013-02-08 Dean Jackson <dino@apple.com>
1646 Snapshotted plug-in should use shadow root
1647 https://bugs.webkit.org/show_bug.cgi?id=108284
1649 Reviewed by Simon Fraser.
1651 Take two! This time with updated exports file.
1653 A snapshotted plugin needs to indicate to the user that it can be clicked
1654 to be restarted. Previously this was done with an image that had embedded
1655 text. Instead, we now use an internal shadow root to embed some markup that
1656 will display instructions that can be localised.
1658 The UA stylesheet for plug-ins provides a default styling for the label, which
1659 can be overridden by ports.
1661 In the process, RenderSnapshottedPlugIn no longer inherits from RenderEmbeddedObject,
1662 since it is only responsible for drawing a paused plug-in. The snapshot creation
1663 can work with the default renderer, but a shadow root requires something like
1664 RenderBlock in order to draw its children. We swap from one renderer to another when
1665 necessary either by creating the shadow root or by explicitly detaching and attaching
1668 Unfortunately this is difficult to test, because the snapshotting requires
1669 time to execute, and also a PluginView to be instantiated.
1671 * WebCore.exp.in: Export the InlineBox interface.
1674 (object::-webkit-snapshotted-plugin-content): New rules for a default label style.
1676 * platform/LocalizedStrings.cpp: Make sure all ports have plugin strings, now it is called.
1677 * platform/LocalizedStrings.h:
1678 * platform/blackberry/LocalizedStringsBlackBerry.cpp:
1679 * platform/chromium/LocalizedStringsChromium.cpp:
1680 * platform/efl/LocalizedStringsEfl.cpp:
1681 * platform/gtk/LocalizedStringsGtk.cpp:
1682 * platform/qt/LocalizedStringsQt.cpp:
1684 * html/HTMLPlugInElement.cpp:
1685 (WebCore::HTMLPlugInElement::defaultEventHandler): Take into account the fact
1686 that RenderSnapshottedPlugIn no longer is an embedded object.
1688 * html/HTMLPlugInImageElement.cpp:
1689 (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): New default values in constructor.
1690 (WebCore::HTMLPlugInElement::defaultEventHandler): Make sure to call base class.
1691 (WebCore::HTMLPlugInElement::willRecalcStyle): No need to reattach if we're a snapshot.
1692 (WebCore::HTMLPlugInImageElement::createRenderer): If we're showing a snapshot, create such
1693 a renderer, otherwise use the typical plug-in path.
1694 (WebCore::HTMLPlugInImageElement::updateSnapshot): Keep a record of the snapshot, since we'll
1695 need to give it to the renderer.
1696 (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Build a subtree that will display a label.
1697 * html/HTMLPlugInImageElement.h:
1698 (HTMLPlugInImageElement): New member variable to record the snapshot image and whether the label
1699 should show immediately.
1700 (WebCore::HTMLPlugInImageElement::swapRendererTimerFired): The callback function triggered when we need
1701 to swap to the Shadow Root.
1702 (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): The user has tapped on the snapshot so the plugin
1703 in being recreated. Make sure we reattach so that a plugin renderer will be created.
1704 (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Make sure we set the right
1705 displayState for snapshots.
1706 * html/HTMLPlugInImageElement.h:
1707 (HTMLPlugInImageElement): The new methods listed above.
1708 (WebCore::HTMLPlugInImageElement::setShouldShowSnapshotLabelAutomatically): Indicates whether or not
1709 a snapshot should be immediately labeled.
1711 * page/ChromeClient.h: No need for plugInStartLabelImage any more.
1713 * rendering/RenderSnapshottedPlugIn.cpp:
1714 (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): New inheritance.
1715 (WebCore::RenderSnapshottedPlugIn::paint): If we're in the background paint phase, render the snapshot image.
1716 (WebCore::RenderSnapshottedPlugIn::paintSnapshotImage): Rename.
1717 (WebCore::RenderSnapshottedPlugIn::paintSnapshot): Rename.
1718 (WebCore::RenderSnapshottedPlugIn::paintSnapshotWithLabel): Rename. No need for label sizes.
1719 (WebCore::RenderSnapshottedPlugIn::getCursor):
1720 (WebCore::RenderSnapshottedPlugIn::handleEvent): The renderer doesn't restart the plug-in any more. Tell the element and it will do it.
1721 * rendering/RenderSnapshottedPlugIn.h:
1722 (RenderSnapshottedPlugIn): New inheritance. Some method renaming.
1724 2013-02-08 Dean Jackson <dino@apple.com>
1726 Rolling out r142333 and r142337 which broke Mac Release builds.
1728 2013-02-08 Sheriff Bot <webkit.review.bot@gmail.com>
1730 Unreviewed, rolling out r142337.
1731 http://trac.webkit.org/changeset/142337
1732 https://bugs.webkit.org/show_bug.cgi?id=109339
1734 Breaking Mac release builds (Requested by dino_ on #webkit).
1736 * rendering/RenderSnapshottedPlugIn.h:
1738 2013-02-08 Dean Jackson <dino@apple.com>
1740 Attempted Mac and GTK build fix after r142333.
1742 * rendering/RenderSnapshottedPlugIn.h: Include InlineBox.h.
1744 2013-02-08 Andy Estes <aestes@apple.com>
1746 Restore pre-r118852 behavior for EllipsisBox::nodeAtPoint()
1747 https://bugs.webkit.org/show_bug.cgi?id=109277
1749 Reviewed by Simon Fraser.
1751 Test: fast/flexbox/line-clamp-link-after-ellipsis.html
1753 Roll out r118852. Enough time has passed that this can't be done
1754 mechanically, so transcribe the old method definition to current
1757 * rendering/EllipsisBox.cpp:
1758 (WebCore::EllipsisBox::markupBox): EllipsisBox no longer has
1759 m_markupBox, so break the logic for finding the markup box from
1760 paintMarkupBox() into its own function.
1761 (WebCore::EllipsisBox::paintMarkupBox): Call markupBox().
1762 (WebCore::EllipsisBox::nodeAtPoint): Transcribe the pre-r118852 implementation.
1763 * rendering/EllipsisBox.h:
1764 (EllipsisBox): Declare markupBox().
1766 2013-02-08 Eric Carlson <eric.carlson@apple.com>
1768 [Mac] In-band closed caption tracks are not always initialized correctly
1769 https://bugs.webkit.org/show_bug.cgi?id=109323
1771 Reviewed by Dean Jackson.
1773 No new tests, this fix makes existing tests less flakey.
1775 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1776 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Create and configure legible output
1777 here instad of in tracksChanged.
1778 (WebCore::MediaPlayerPrivateAVFoundationObjC::setClosedCaptionsVisible): Do nothing in a build with
1779 in-band track support.
1780 (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Move legible output creation to
1781 createAVPlayerItem, don't set look at track media type to see if the movie has captions
1782 when we have support for in-band captions.
1784 2013-02-08 Dean Jackson <dino@apple.com>
1786 Snapshotted plug-in should use shadow root
1787 https://bugs.webkit.org/show_bug.cgi?id=108284
1789 Reviewed by Simon Fraser.
1791 A snapshotted plugin needs to indicate to the user that it can be clicked
1792 to be restarted. Previously this was done with an image that had embedded
1793 text. Instead, we now use an internal shadow root to embed some markup that
1794 will display instructions that can be localised.
1796 The UA stylesheet for plug-ins provides a default styling for the label, which
1797 can be overridden by ports.
1799 In the process, RenderSnapshottedPlugIn no longer inherits from RenderEmbeddedObject,
1800 since it is only responsible for drawing a paused plug-in. The snapshot creation
1801 can work with the default renderer, but a shadow root requires something like
1802 RenderBlock in order to draw its children. We swap from one renderer to another when
1803 necessary either by creating the shadow root or by explicitly detaching and attaching
1806 Unfortunately this is difficult to test, because the snapshotting requires
1807 time to execute, and also a PluginView to be instantiated.
1810 (object::-webkit-snapshotted-plugin-content): New rules for a default label style.
1812 * platform/LocalizedStrings.cpp: Make sure all ports have plugin strings, now it is called.
1813 * platform/LocalizedStrings.h:
1814 * platform/blackberry/LocalizedStringsBlackBerry.cpp:
1815 * platform/chromium/LocalizedStringsChromium.cpp:
1816 * platform/efl/LocalizedStringsEfl.cpp:
1817 * platform/gtk/LocalizedStringsGtk.cpp:
1818 * platform/qt/LocalizedStringsQt.cpp:
1820 * html/HTMLPlugInElement.cpp:
1821 (WebCore::HTMLPlugInElement::defaultEventHandler): Take into account the fact
1822 that RenderSnapshottedPlugIn no longer is an embedded object.
1824 * html/HTMLPlugInImageElement.cpp:
1825 (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): New default values in constructor.
1826 (WebCore::HTMLPlugInElement::defaultEventHandler): Make sure to call base class.
1827 (WebCore::HTMLPlugInElement::willRecalcStyle): No need to reattach if we're a snapshot.
1828 (WebCore::HTMLPlugInImageElement::createRenderer): If we're showing a snapshot, create such
1829 a renderer, otherwise use the typical plug-in path.
1830 (WebCore::HTMLPlugInImageElement::updateSnapshot): Keep a record of the snapshot, since we'll
1831 need to give it to the renderer.
1832 (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Build a subtree that will display a label.
1833 * html/HTMLPlugInImageElement.h:
1834 (HTMLPlugInImageElement): New member variable to record the snapshot image and whether the label
1835 should show immediately.
1836 (WebCore::HTMLPlugInImageElement::swapRendererTimerFired): The callback function triggered when we need
1837 to swap to the Shadow Root.
1838 (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): The user has tapped on the snapshot so the plugin
1839 in being recreated. Make sure we reattach so that a plugin renderer will be created.
1840 (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Make sure we set the right
1841 displayState for snapshots.
1842 * html/HTMLPlugInImageElement.h:
1843 (HTMLPlugInImageElement): The new methods listed above.
1844 (WebCore::HTMLPlugInImageElement::setShouldShowSnapshotLabelAutomatically): Indicates whether or not
1845 a snapshot should be immediately labeled.
1847 * page/ChromeClient.h: No need for plugInStartLabelImage any more.
1849 * rendering/RenderSnapshottedPlugIn.cpp:
1850 (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): New inheritance.
1851 (WebCore::RenderSnapshottedPlugIn::paint): If we're in the background paint phase, render the snapshot image.
1852 (WebCore::RenderSnapshottedPlugIn::paintSnapshotImage): Rename.
1853 (WebCore::RenderSnapshottedPlugIn::paintSnapshot): Rename.
1854 (WebCore::RenderSnapshottedPlugIn::paintSnapshotWithLabel): Rename. No need for label sizes.
1855 (WebCore::RenderSnapshottedPlugIn::getCursor):
1856 (WebCore::RenderSnapshottedPlugIn::handleEvent): The renderer doesn't restart the plug-in any more. Tell the element and it will do it.
1857 * rendering/RenderSnapshottedPlugIn.h:
1858 (RenderSnapshottedPlugIn): New inheritance. Some method renaming.
1860 2013-02-08 Kentaro Hara <haraken@chromium.org>
1862 {FocusIn,FocusOut,Focus,Blur}EventDispatchMediator should be in FocusEvent.cpp
1863 https://bugs.webkit.org/show_bug.cgi?id=109265
1865 Reviewed by Dimitri Glazkov.
1867 Conventionally we put XXXEventDispatchMediator to XXXEvent.cpp.
1868 We should move {FocusIn,FocusOut,Focus,Blur}EventDispatchMediator to FocusEvent.cpp.
1870 No tests. No change in behavior.
1872 * dom/EventDispatchMediator.cpp:
1873 * dom/EventDispatchMediator.h:
1874 * dom/FocusEvent.cpp:
1875 (WebCore::FocusEventDispatchMediator::create):
1877 (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
1878 (WebCore::FocusEventDispatchMediator::dispatchEvent):
1879 (WebCore::BlurEventDispatchMediator::create):
1880 (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
1881 (WebCore::BlurEventDispatchMediator::dispatchEvent):
1882 (WebCore::FocusInEventDispatchMediator::create):
1883 (WebCore::FocusInEventDispatchMediator::FocusInEventDispatchMediator):
1884 (WebCore::FocusInEventDispatchMediator::dispatchEvent):
1885 (WebCore::FocusOutEventDispatchMediator::create):
1886 (WebCore::FocusOutEventDispatchMediator::FocusOutEventDispatchMediator):
1887 (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
1890 (FocusEventDispatchMediator):
1891 (BlurEventDispatchMediator):
1892 (FocusInEventDispatchMediator):
1893 (FocusOutEventDispatchMediator):
1897 2013-02-08 Jer Noble <jer.noble@apple.com>
1899 Unreviewed build fix. MSVC (and other compilers) need a default: case in switch statement.
1901 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1902 (WebCore::notificationName):
1904 2013-02-08 Jer Noble <jer.noble@apple.com>
1906 Bring WebKit up to speed with latest Encrypted Media spec.
1907 https://bugs.webkit.org/show_bug.cgi?id=97037
1909 Reviewed by Eric Carlson.
1911 The most recent version of the Encrypted Media Extensions spec breaks functionality out of the
1912 HTMLMediaElement and into new MediaKeys and MediaKeySession classes. Since the CDM functionality
1913 has been pulled out of the media element, we create a proxy CDM class and factory system for
1914 creating specific CDM key system implementations. The spec also breaks out MediaKeyEvent
1915 into distinct event classes, MediaKeyNeededEvent and MediaKeyMessageEvent, for needkey and
1916 keymessage events, respectively.
1918 Tests: media/encrypted-media/encrypted-media-v2-events.html
1919 media/encrypted-media/encrypted-media-v2-syntax.html
1921 CDM is a proxy class (a la MediaPlayer) for a specific CDMPrivateInterface implementation. A CDM
1922 implementation is registered with the CDMFactory and will be created if that implementation supports
1923 the key system passed into the MediaKeys constructor. CDMSession is a pure-virtual interface exposed
1924 by concrete CDMPrivate subclasses. Its lifetime is owned by MediaKeySession.
1925 * Modules/encryptedmedia/CDM.cpp: Added.
1926 (WebCore::installedCDMFactories): Initialize all the known CDM subtypes. Ports will add CDM implementations here.
1927 (WebCore::CDM::registerCDMFactory): Registers a new CDMFactory using the passed in function pointers.
1928 (WebCore::CDMFactoryForKeySystem): Return the first CDM factory which supports the requested key system.
1929 (WebCore::CDM::supportsKeySystem): Walk the installed CDMs and ask if the given key system is supported.
1930 (WebCore::CDM::supportsKeySystemMIMETypeAndCodec): Ditto, with an additional MIME type and codec string.
1931 (WebCore::CDM::create): Simple constructor wrapper.
1932 (WebCore::CDM::CDM): Simple constructor; calls bestCDMForKeySystem() to create it's private implementation.
1933 (WebCore::CDM::~CDM): Simple destructor.
1934 (WebCore::CDM::createSession): Creates a new CDMSession.
1935 * Modules/encryptedmedia/CDM.h: Added.
1936 (WebCore::CDM::keySystem): Simple accessor for m_keySystem.
1937 (WebCore::CDMSession::CDMSession): Simple constructor.
1938 (WebCore::CDMSession::~CDMSession): Simple destructor.
1939 * Modules/encryptedmedia/CDMPrivate.h: Added.
1940 (WebCore::CDMPrivateInterface::CDMPrivateInterface): Simple constructor.
1941 (WebCore::CDMPrivateInterface::~CDMPrivateInterface): Simple destructor.
1943 The new classes, MediaKeyMessageEvent and MediaKeyNeededEvent, take distinct subsets of the initializers of
1944 the original MediaKeyMessageEvent.
1945 * Modules/encryptedmedia/MediaKeyMessageEvent.cpp: Copied from Source/WebCore/html/MediaKeyEvent.cpp.
1946 (WebCore::MediaKeyMessageEventInit::MediaKeyMessageEventInit): Initializer now only takes message and destinationURL
1948 (WebCore::MediaKeyMessageEvent::MediaKeyMessageEvent): Simple constructor.
1949 (WebCore::MediaKeyMessageEvent::~MediaKeyMessageEvent): Simple destructor.
1950 (WebCore::MediaKeyMessageEvent::interfaceName): Standard interfaceName.
1951 * Modules/encryptedmedia/MediaKeyMessageEvent.h: Copied from Source/WebCore/html/MediaKeyEvent.h.
1952 (WebCore::MediaKeyMessageEvent::create): Simple construction wrapper.
1953 (WebCore::MediaKeyMessageEvent::message): Simple accessor for m_message.
1954 (WebCore::MediaKeyMessageEvent::destinationURL): Simple accessor for m_destinationURL.
1955 * Modules/encryptedmedia/MediaKeyMessageEvent.idl: Copied from Source/WebCore/html/MediaKeyEvent.idl.
1956 * Modules/encryptedmedia/MediaKeyNeededEvent.cpp: Copied from Source/WebCore/html/MediaKeyEvent.h.
1957 (WebCore::MediaKeyNeededEventInit::MediaKeyNeededEventInit): Initializer now only takes initData parameter.
1958 (WebCore::MediaKeyNeededEvent::MediaKeyNeededEvent): Simple constructor.
1959 (WebCore::MediaKeyNeededEvent::~MediaKeyNeededEvent): Simple destructor.
1960 (WebCore::MediaKeyNeededEvent::interfaceName): Standard interfaceName.
1961 * Modules/encryptedmedia/MediaKeyNeededEvent.h: Copied from Source/WebCore/html/MediaKeyEvent.h.
1962 (WebCore::MediaKeyNeededEvent::create): Simple construction wrapper.
1963 (WebCore::MediaKeyNeededEvent::initData): Simple accessor for m_initData.
1964 * Modules/encryptedmedia/MediaKeyNeededEvent.idl: Copied from Source/WebCore/html/MediaKeyEvent.idl.
1966 MediaKeySession is a new class that maps keys and key requests to a given session ID:
1967 * Modules/encryptedmedia/MediaKeySession.cpp: Added.
1968 (WebCore::MediaKeySession::create): Simple construction wrapper.
1969 (WebCore::MediaKeySession::MediaKeySession): Simple constructor.
1970 (WebCore::MediaKeySession::~MediaKeySession): Simple destructor; calls close().
1971 (WebCore::MediaKeySession::setError): Simple setter for m_error;
1972 (WebCore::MediaKeySession::close): Tell the CDM to clear any saved session keys.
1973 (WebCore::MediaKeySession::generateKeyRequest): Start a one-shot timer, handled in keyRequestTimerFired.
1974 (WebCore::MediaKeySession::keyRequestTimerFired): Follow the steps in the spec; ask the CDM to generate a key request.
1975 (WebCore::MediaKeySession::addKey): Start a one-shot timer, handled in addKeyTimerFired.
1976 (WebCore::MediaKeySession::addKeyTimerFired): Follow the steps in the spec; provide the key data to the CDM.
1977 * Modules/encryptedmedia/MediaKeySession.h: Added.
1978 (WebCore::MediaKeySession::keySystem): Simple accessor for m_keySystem.
1979 (WebCore::MediaKeySession::sessionId): Simple accessor for m_sessionId.
1980 (WebCore::MediaKeySession::error): Simple accessor for m_error;
1981 * Modules/encryptedmedia/MediaKeySession.idl:
1983 MediaKeySession inherits from EventTarget, and must override the pure virtual functions in that class:
1984 * Modules/encryptedmedia/MediaKeySession.cpp: Added.
1985 (WebCore::MediaKeySession::interfaceName):
1986 * Modules/encryptedmedia/MediaKeySession.h: Added.
1987 (WebCore::MediaKeySession::refEventTarget):
1988 (WebCore::MediaKeySession::derefEventTarget):
1989 (WebCore::MediaKeySession::eventTargetData):
1990 (WebCore::MediaKeySession::ensureEventTargetData):
1991 (WebCore::MediaKeySession::scriptExecutionContext):
1993 MediaKeys is a new class that encapsulates a CDM and a number of key sessions:
1994 * Modules/encryptedmedia/MediaKeys.cpp: Added.
1995 (WebCore::MediaKeys::create): Throw an exception if the key system parameter is unsupported; create a CDM object
1996 and a new MediaKeys session.
1997 (WebCore::MediaKeys::MediaKeys): Simple constructor.
1998 (WebCore::MediaKeys::~MediaKeys): Simple destructor.
1999 (WebCore::MediaKeys::createSession): Follow the spec and create a new key session.
2000 * Modules/encryptedmedia/MediaKeys.h: Added.
2001 * Modules/encryptedmedia/MediaKeys.idl: Copied from Source/WebCore/html/MediaError.idl.
2003 Provide a new interface to HTMLMediaElement for MediaPlayer which does not require a sessionId or a key system:
2004 * html/HTMLMediaElement.cpp:
2005 (WebCore::HTMLMediaElement::mediaPlayerKeyNeeded):
2006 * platform/graphics/MediaPlayer.cpp:
2007 (WebCore::MediaPlayer::keyNeeded):
2009 MediaKeyError now has a systemCode parameter and member variable.
2010 * html/MediaKeyError.h:
2011 (WebCore::MediaKeyError::create): Take a systemCode parameter with a default (0) value.
2012 (WebCore::MediaKeyError::MediaKeyError): Ditto.
2013 (WebCore::MediaKeyError::systemCode): Simple accessor for m_systemCode.
2014 * html/MediaKeyError.idl:
2016 Add new methods to HTMLMediaElement to support MediaKeys. Support different initializer
2017 for the MediaKeyNeededEvent.
2018 * html/HTMLMediaElement.cpp:
2019 (WebCore::HTMLMediaElement::setMediaKeys): Simple setter for m_mediaKeys.
2020 (WebCore::HTMLMediaElement::mediaPlayerKeyNeeded): This version takes fewer parameters
2021 than the deprecated version.
2022 * html/HTMLMediaElement.h:
2023 (WebCore::HTMLMediaElement::mediaKeys): Simple accessor for m_mediaKeys.
2024 * html/HTMLMediaElement.idl: Add the mediaKeys attribute.
2026 Add an ENABLE(ENCRYPTED_MEDIA_V2) check to the existing ENABLE(ENCRYPTED_MEDIA) one:
2027 * html/MediaError.h:
2028 * html/MediaError.idl:
2029 * platform/graphics/MediaPlayer.cpp:
2030 (WebCore::bestMediaEngineForTypeAndCodecs):
2031 (WebCore::MediaPlayer::supportsType):
2032 * platform/graphics/MediaPlayer.h:
2033 (WebCore::MediaPlayer::keyNeeded): This version takes fewer parameters than the
2036 Support the new version of canPlayType which takes an extra parameter:
2037 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2038 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2039 (WebCore::MediaPlayerPrivateAVFoundationObjC::registerMediaEngine):
2040 (WebCore::MediaPlayerPrivateAVFoundationObjC::extendedSupportsType):
2041 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2042 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2043 (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine):
2044 (WebCore::MediaPlayerPrivateQTKit::extendedSupportsType):
2046 Add a mock CDM for use within DRT and WKTR to test the MediaKeys and MediaKeySession
2048 * testing/Internals.cpp:
2049 (WebCore::Internals::initializeMockCDM): Add the MockCDM class to the CDM factories.
2050 * testing/Internals.h:
2051 * testing/Internals.idl: Add the initializeMockCDM() method.
2052 * testing/MockCDM.cpp: Added.
2053 (WebCore::MockCDM::supportsKeySystem): Only supports the 'com.webcore.mock' key system.
2054 (WebCore::MockCDM::supportsMIMEType): Only supports the 'video/mock' mime type.
2055 (WebCore::initDataPrefix): Static method which returns a Uint8Array containing 'mock'.
2056 (WebCore::keyPrefix): Static method which returns a Uint8Array containing 'key'.
2057 (WebCore::keyRequest): Static method which returns a Uint8Array containing 'request'.
2058 (WebCore::generateSessionId): Return a monotonically increasing number.
2059 (WebCore::MockCDMSession::MockCDMSession): Simple constructor.
2060 (WebCore::MockCDMSession::generateKeyRequest): Ignores the parameters and returns a keyRequest() array.
2061 (WebCore::MockCDMSession::releaseKeys): No-op.
2062 (WebCore::MockCDMSession::addKey): Checks that the key starts with the keyPrefix() array.
2063 * testing/MockCDM.h: Added.
2064 (WebCore::MockCDM::create):
2065 (WebCore::MockCDM::~MockCDM): Simple destructor.
2066 (WebCore::MockCDM::MockCDM): Simple constructor.
2068 Add the new classes to the built system:
2069 * Configurations/FeatureDefines.xcconfig:
2070 * DerivedSources.make:
2072 * WebCore.xcodeproj/project.pbxproj:
2074 Miscelaneous changes:
2075 * dom/EventNames.in: Add the two new event types, MediaKeyMessageEvent and MediaKeyNeededEvent.
2076 * dom/EventTargetFactory.in: Add the new EventTarget, MediaKeySession.
2077 * page/DOMWindow.idl: Add constructors for the new classes to the window object.
2079 2013-02-08 Chris Fleizach <cfleizach@apple.com>
2081 Refactor platform-specific code in SpeechSynthesis
2082 https://bugs.webkit.org/show_bug.cgi?id=107414
2084 Reviewed by Sam Weinig.
2086 Refactor WebSpeech code to use a platform mechanism to provide access to platform resources.
2088 * Modules/speech/DOMWindowSpeechSynthesis.cpp:
2089 (WebCore::DOMWindowSpeechSynthesis::from):
2090 * Modules/speech/SpeechSynthesis.cpp:
2091 (WebCore::SpeechSynthesis::SpeechSynthesis):
2093 (WebCore::SpeechSynthesis::voicesDidChange):
2094 (WebCore::SpeechSynthesis::getVoices):
2095 (WebCore::SpeechSynthesis::pending):
2096 (WebCore::SpeechSynthesis::speaking):
2097 (WebCore::SpeechSynthesis::paused):
2098 (WebCore::SpeechSynthesis::speak):
2099 (WebCore::SpeechSynthesis::cancel):
2100 (WebCore::SpeechSynthesis::pause):
2101 (WebCore::SpeechSynthesis::resume):
2102 * Modules/speech/SpeechSynthesis.h:
2105 (WebCore::SpeechSynthesis::didStartSpeaking):
2106 (WebCore::SpeechSynthesis::didFinishSpeaking):
2107 (WebCore::SpeechSynthesis::speakingErrorOccurred):
2108 * Modules/speech/SpeechSynthesisUtterance.cpp:
2109 (WebCore::SpeechSynthesisUtterance::SpeechSynthesisUtterance):
2110 * Modules/speech/SpeechSynthesisUtterance.h:
2111 (WebCore::SpeechSynthesisUtterance::text):
2112 (WebCore::SpeechSynthesisUtterance::setText):
2113 (WebCore::SpeechSynthesisUtterance::lang):
2114 (WebCore::SpeechSynthesisUtterance::setLang):
2115 (WebCore::SpeechSynthesisUtterance::voiceURI):
2116 (WebCore::SpeechSynthesisUtterance::setVoiceURI):
2117 (WebCore::SpeechSynthesisUtterance::volume):
2118 (WebCore::SpeechSynthesisUtterance::setVolume):
2119 (WebCore::SpeechSynthesisUtterance::rate):
2120 (WebCore::SpeechSynthesisUtterance::setRate):
2121 (WebCore::SpeechSynthesisUtterance::pitch):
2122 (WebCore::SpeechSynthesisUtterance::setPitch):
2123 (SpeechSynthesisUtterance):
2124 (WebCore::SpeechSynthesisUtterance::platformUtterance):
2125 * Modules/speech/SpeechSynthesisVoice.cpp:
2126 (WebCore::SpeechSynthesisVoice::create):
2127 (WebCore::SpeechSynthesisVoice::SpeechSynthesisVoice):
2128 * Modules/speech/SpeechSynthesisVoice.h:
2129 (SpeechSynthesisVoice):
2130 (WebCore::SpeechSynthesisVoice::voiceURI):
2131 (WebCore::SpeechSynthesisVoice::name):
2132 (WebCore::SpeechSynthesisVoice::lang):
2133 (WebCore::SpeechSynthesisVoice::localService):
2134 (WebCore::SpeechSynthesisVoice::isDefault):
2135 * Modules/speech/mac/SpeechSynthesisMac.mm:
2136 * WebCore.xcodeproj/project.pbxproj:
2137 * platform/PlatformSpeechSynthesis.h: Added.
2139 (PlatformSpeechSynthesis):
2140 * platform/PlatformSpeechSynthesisUtterance.cpp: Added.
2142 (WebCore::PlatformSpeechSynthesisUtterance::PlatformSpeechSynthesisUtterance):
2143 * platform/PlatformSpeechSynthesisUtterance.h: Added.
2145 (PlatformSpeechSynthesisUtteranceClient):
2146 (WebCore::PlatformSpeechSynthesisUtteranceClient::~PlatformSpeechSynthesisUtteranceClient):
2147 (PlatformSpeechSynthesisUtterance):
2148 (WebCore::PlatformSpeechSynthesisUtterance::text):
2149 (WebCore::PlatformSpeechSynthesisUtterance::setText):
2150 (WebCore::PlatformSpeechSynthesisUtterance::lang):
2151 (WebCore::PlatformSpeechSynthesisUtterance::setLang):
2152 (WebCore::PlatformSpeechSynthesisUtterance::voiceURI):
2153 (WebCore::PlatformSpeechSynthesisUtterance::setVoiceURI):
2154 (WebCore::PlatformSpeechSynthesisUtterance::volume):
2155 (WebCore::PlatformSpeechSynthesisUtterance::setVolume):
2156 (WebCore::PlatformSpeechSynthesisUtterance::rate):
2157 (WebCore::PlatformSpeechSynthesisUtterance::setRate):
2158 (WebCore::PlatformSpeechSynthesisUtterance::pitch):
2159 (WebCore::PlatformSpeechSynthesisUtterance::setPitch):
2160 * platform/PlatformSpeechSynthesisVoice.cpp: Added.
2162 (WebCore::PlatformSpeechSynthesisVoice::create):
2163 (WebCore::PlatformSpeechSynthesisVoice::PlatformSpeechSynthesisVoice):
2164 * platform/PlatformSpeechSynthesisVoice.h: Added.
2166 (PlatformSpeechSynthesisVoice):
2167 (WebCore::PlatformSpeechSynthesisVoice::voiceURI):
2168 (WebCore::PlatformSpeechSynthesisVoice::name):
2169 (WebCore::PlatformSpeechSynthesisVoice::lang):
2170 (WebCore::PlatformSpeechSynthesisVoice::localService):
2171 (WebCore::PlatformSpeechSynthesisVoice::isDefault):
2172 * platform/PlatformSpeechSynthesizer.cpp: Added.
2174 (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
2175 * platform/PlatformSpeechSynthesizer.h: Added.
2177 (PlatformSpeechSynthesizerClient):
2178 (WebCore::PlatformSpeechSynthesizerClient::~PlatformSpeechSynthesizerClient):
2179 (PlatformSpeechSynthesizer):
2180 (WebCore::PlatformSpeechSynthesizer::voiceList):
2181 * platform/mac/PlatformSpeechSynthesisMac.mm: Added.
2183 (WebCore::PlatformSpeechSynthesis::create):
2184 (WebCore::PlatformSpeechSynthesis::PlatformSpeechSynthesis):
2185 (WebCore::PlatformSpeechSynthesis::platformSpeak):
2186 * platform/mac/PlatformSpeechSynthesizerMac.mm: Added.
2188 (WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
2189 (WebCore::PlatformSpeechSynthesizer::speak):
2191 2013-02-08 Dean Jackson <dino@apple.com>
2193 Put snapshotting label text into localizable strings
2194 https://bugs.webkit.org/show_bug.cgi?id=108268
2196 Reviewed by Simon Fraser.
2198 In preparation for a snapshotted plug-in using a ShadowRoot, allow
2199 its label to be localized.
2201 * English.lproj/Localizable.strings:
2202 * platform/LocalizedStrings.cpp:
2203 (WebCore::snapshottedPlugInLabelTitle): New method for returning title.
2204 (WebCore::snapshottedPlugInLabelSubtitle): New method for returning subtitle.
2205 * platform/LocalizedStrings.h:
2207 2013-02-08 Dean Jackson <dino@apple.com>
2209 Do not register autostart for plugins from file:// (or nowhere)
2210 https://bugs.webkit.org/show_bug.cgi?id=108271
2212 Reviewed by Tim Horton.
2214 If the page url origin is treated as a local URL, don't attempt
2215 to add it to the auto-start list.
2217 * html/HTMLPlugInImageElement.cpp:
2218 (WebCore::HTMLPlugInImageElement::userDidClickSnapshot):
2220 2013-02-08 Adam Barth <abarth@webkit.org>
2222 Use WeakPtrs to communicate between the HTMLDocumentParser and the BackgroundHTMLParser
2223 https://bugs.webkit.org/show_bug.cgi?id=107190
2225 Reviewed by Eric Seidel.
2227 This patch replaces the parser map with WeakPtr. We now use WeakPtrs to
2228 communicate from the main thread to the background thread. (We were
2229 already using WeakPtrs to communicate from the background thread to the
2230 main thread.) This change lets us remove a bunch of boilerplate code.
2232 * html/parser/BackgroundHTMLParser.cpp:
2233 (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
2234 (WebCore::BackgroundHTMLParser::stop):
2236 * html/parser/BackgroundHTMLParser.h:
2237 (WebCore::BackgroundHTMLParser::create):
2238 (BackgroundHTMLParser):
2239 * html/parser/HTMLDocumentParser.cpp:
2240 (WebCore::HTMLDocumentParser::didFailSpeculation):
2241 (WebCore::HTMLDocumentParser::startBackgroundParser):
2242 (WebCore::HTMLDocumentParser::stopBackgroundParser):
2243 (WebCore::HTMLDocumentParser::append):
2244 (WebCore::HTMLDocumentParser::finish):
2245 * html/parser/HTMLDocumentParser.h:
2247 (HTMLDocumentParser):
2249 2013-02-07 Roger Fong <roger_fong@apple.com>
2251 VS2010 WebCore TestSupport project.
2252 https://bugs.webkit.org/show_bug.cgi?id=107034.
2254 Reviewed by Brent Fulgham.
2256 * WebCore.vcxproj/WebCoreTestSupport.vcxproj: Added.
2257 * WebCore.vcxproj/WebCoreTestSupport.vcxproj.filters: Added.
2259 2013-02-08 ChangSeok Oh <shivamidow@gmail.com>
2261 [GTK][AC] GraphicsLayerActor code clean up after clutter version up.
2262 https://bugs.webkit.org/show_bug.cgi?id=109304
2264 Reviewed by Gustavo Noronha Silva.
2266 This patch cleans up GraphicsLayerActor functions by using new clutter apis
2267 and makes existing functions simple & readable.
2269 No new tests since no change in functionality
2271 * platform/graphics/clutter/GraphicsLayerActor.cpp:
2272 (_GraphicsLayerActorPrivate):
2273 (graphicsLayerActorApplyTransform):
2274 (graphicsLayerActorPaint):
2275 (graphicsLayerActorDraw):
2276 (graphicsLayerActorUpdateTexture):
2277 (drawLayerContents):
2278 (graphicsLayerActorNew):
2279 (graphicsLayerActorInvalidateRectangle):
2280 (graphicsLayerActorSetTransform):
2281 (graphicsLayerActorSetAnchorPoint):
2282 (graphicsLayerActorGetAnchorPoint):
2283 (graphicsLayerActorSetScrollPosition):
2284 * platform/graphics/clutter/PlatformClutterAnimation.h:
2286 2013-02-08 Harald Alvestrand <hta@google.com>
2288 Fix and test for missing return statement
2290 RTCPeerConnection.getStats() failed when remote stats were instantiated.
2291 https://bugs.webkit.org/show_bug.cgi?id=109292
2293 Reviewed by Adam Barth.
2295 Tested by extending the existing mock's behaviour.
2297 * Modules/mediastream/RTCStatsReport.cpp:
2298 (WebCore::RTCStatsReport::addElement):
2300 2013-02-08 Anton Vayvod <avayvod@chromium.org>
2302 [Text Autosizing] Split isAutosizingCluster into three independent checks
2303 https://bugs.webkit.org/show_bug.cgi?id=109093
2305 Refactoring to create more flexible version of isAutosizingCluster since there're more types
2306 of autosizing cluster now: narrower than the parent cluster, wider than the parent cluster
2307 and the one that doesn't depend on the parent cluster.
2309 Reviewed by Kenneth Rohde Christiansen.
2311 Refactoring, no test changes.
2313 * rendering/TextAutosizer.cpp:
2315 (WebCore::TextAutosizer::isNarrowDescendant):
2317 Separate check for the container to be of the narrow-descendant type. Was a part of
2318 isAutosizingCluster().
2320 (WebCore::TextAutosizer::isWiderDescendant):
2322 Separate check for the container to be of the wider-descendant type. Was a part of
2323 isAutosizingCluster().
2325 (WebCore::TextAutosizer::isIndependentDescendant):
2327 Separate check for the container to be autosized separately from the ancestor cluster.
2328 Checks for conditions independent of the aforementioned cluster.
2330 (WebCore::TextAutosizer::isAutosizingCluster):
2332 Handy method to check all separate conditions together.
2334 (WebCore::TextAutosizer::processSubtree):
2335 (WebCore::TextAutosizer::processCluster):
2336 (WebCore::TextAutosizer::processContainer):
2337 (WebCore::TextAutosizer::clusterShouldBeAutosized):
2338 (WebCore::TextAutosizer::measureDescendantTextWidth):
2339 (WebCore::TextAutosizer::findFirstTextLeafNotInCluster):
2341 The methods above were updated to use new functions/arguments.
2343 * rendering/TextAutosizer.h:
2345 Updated/added method definitions.
2347 2013-02-08 Vsevolod Vlasov <vsevik@chromium.org>
2349 Web Inspector: Extension sever should use Workspace.projectForType() instead of Workspace.project()
2350 https://bugs.webkit.org/show_bug.cgi?id=109301
2352 Reviewed by Alexander Pavlov.
2354 * inspector/front-end/ExtensionServer.js:
2355 (WebInspector.ExtensionServer.prototype._onGetPageResources):
2357 2013-02-04 Yury Semikhatsky <yurys@chromium.org>
2359 Web Inspector: simplify Memory.getDOMNodeCount implementation
2360 https://bugs.webkit.org/show_bug.cgi?id=108821
2362 Reviewed by Alexander Pavlov.
2364 Removed Memory.getDOMNodeCount command from the protocol. Memory.getDOMCounters
2365 should be used instead.
2367 * inspector/Inspector.json:
2368 * inspector/InspectorMemoryAgent.cpp:
2369 * inspector/InspectorMemoryAgent.h:
2370 (InspectorMemoryAgent):
2372 2013-02-08 Yury Semikhatsky <yurys@chromium.org>
2374 Web Inspector: refactor MemoryStatistics.js
2375 https://bugs.webkit.org/show_bug.cgi?id=109299
2377 Reviewed by Vsevolod Vlasov.
2379 Extracted functionality specific to DOM counter graphs drawing into
2380 separate methods on MemoryStatistics class.
2381 Introduced CounterUIBase base class for DOMCounterUI that contains
2382 functionality which can be shared with native memory graph.
2384 * inspector/front-end/MemoryStatistics.js:
2385 (WebInspector.MemoryStatistics):
2386 (WebInspector.CounterUIBase):
2387 (WebInspector.CounterUIBase.prototype.updateCurrentValue):
2388 (WebInspector.CounterUIBase.prototype.clearCurrentValueAndMarker):
2389 (WebInspector.CounterUIBase.prototype.get visible):
2390 (WebInspector.DOMCounterUI):
2391 (WebInspector.DOMCounterUI.prototype.discardImageUnderMarker):
2392 (WebInspector.MemoryStatistics.prototype._onMouseOut):
2393 (WebInspector.MemoryStatistics.prototype._clearCurrentValueAndMarker):
2394 (WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
2395 (WebInspector.MemoryStatistics.prototype._updateCurrentValue):
2396 (WebInspector.MemoryStatistics.prototype._highlightCurrentPositionOnGraphs):
2397 (WebInspector.MemoryStatistics.prototype._restoreImageUnderMarker):
2398 (WebInspector.MemoryStatistics.prototype._saveImageUnderMarker):
2399 (WebInspector.MemoryStatistics.prototype._drawMarker):
2400 (WebInspector.MemoryStatistics.prototype._clear):
2401 (WebInspector.MemoryStatistics.prototype._discardImageUnderMarker):
2403 2013-02-08 Mike West <mkwst@chromium.org>
2405 Add a new IGNORE_EXCEPTION helper to ignore ExceptionCodes when they are expected but uninteresting
2406 https://bugs.webkit.org/show_bug.cgi?id=108771
2408 Reviewed by Eric Seidel.
2410 In cases where the ExceptionCode passed into a function is completely
2411 ignored, this patch replaces it with a new IGNORE_EXCEPTION macro. This
2412 makes our expectations about possible exceptions (or lack thereof)
2413 explicit, rather than relying on implicit assumptions about whether a
2414 variable is intentionally uninitialized or not. It also removes
2415 knowledge about the internals of ExceptionCodes (that they're currently
2416 ints, for instance) from code that shouldn't care, which will help with
2417 future refactorings.
2419 The implementation is entirely based upon ASSERT_NO_EXCEPTION, and
2420 shouldn't have any visible effect on the web. As long as all the
2421 current tests pass, we're good.
2423 * Modules/indexeddb/IDBRequest.cpp:
2424 (WebCore::IDBRequest::dispatchEvent):
2425 (WebCore::IDBRequest::uncaughtExceptionInEventHandler):
2426 * Modules/indexeddb/IDBTransaction.cpp:
2427 (WebCore::IDBTransaction::stop):
2428 * Modules/websockets/WebSocketChannel.cpp:
2429 (WebCore::WebSocketChannel::processBuffer):
2431 (WebCore::Document::processHttpEquiv):
2432 * dom/ExceptionCodePlaceholder.h:
2435 (WebCore::Node::normalize):
2437 (WebCore::Text::replaceWholeText):
2438 * editing/AlternativeTextController.cpp:
2439 (WebCore::AlternativeTextController::insertDictatedText):
2440 * editing/AppendNodeCommand.cpp:
2441 (WebCore::AppendNodeCommand::doApply):
2442 (WebCore::AppendNodeCommand::doUnapply):
2443 * editing/CompositeEditCommand.cpp:
2444 (WebCore::CompositeEditCommand::insertNewDefaultParagraphElementAt):
2445 * editing/DeleteFromTextNodeCommand.cpp:
2446 (WebCore::DeleteFromTextNodeCommand::doUnapply):
2447 * editing/Editor.cpp:
2448 (WebCore::dispatchEditableContentChangedEvents):
2449 (WebCore::Editor::applyEditingStyleToElement):
2450 * editing/EditorCommand.cpp:
2451 (WebCore::executeFormatBlock):
2452 * editing/FormatBlockCommand.cpp:
2453 (WebCore::FormatBlockCommand::elementForFormatBlockCommand):
2454 * editing/InsertIntoTextNodeCommand.cpp:
2455 (WebCore::InsertIntoTextNodeCommand::doApply):
2456 (WebCore::InsertIntoTextNodeCommand::doUnapply):
2457 * editing/InsertListCommand.cpp:
2458 (WebCore::InsertListCommand::doApplyForSingleParagraph):
2459 * editing/InsertNodeBeforeCommand.cpp:
2460 (WebCore::InsertNodeBeforeCommand::doApply):
2461 (WebCore::InsertNodeBeforeCommand::doUnapply):
2462 * editing/RemoveCSSPropertyCommand.cpp:
2463 (WebCore::RemoveCSSPropertyCommand::doApply):
2464 (WebCore::RemoveCSSPropertyCommand::doUnapply):
2465 * editing/RemoveNodeCommand.cpp:
2466 (WebCore::RemoveNodeCommand::doApply):
2467 (WebCore::RemoveNodeCommand::doUnapply):
2468 * editing/ReplaceSelectionCommand.cpp:
2469 (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
2470 * editing/TextIterator.cpp:
2471 (WebCore::TextIterator::getLocationAndLengthFromRange):
2472 * editing/WrapContentsInDummySpanCommand.cpp:
2473 (WebCore::WrapContentsInDummySpanCommand::executeApply):
2474 (WebCore::WrapContentsInDummySpanCommand::doUnapply):
2475 * editing/htmlediting.cpp:
2476 (WebCore::comparePositions):
2477 * editing/markup.cpp:
2478 (WebCore::highestAncestorToWrapMarkup):
2479 * html/FTPDirectoryDocument.cpp:
2480 (WebCore::FTPDirectoryDocumentParser::appendEntry):
2481 (WebCore::FTPDirectoryDocumentParser::createTDForFilename):
2482 (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
2483 (WebCore::FTPDirectoryDocumentParser::createBasicDocument):
2484 * html/HTMLMediaElement.cpp:
2485 (WebCore::HTMLMediaElement::rewind):
2486 (WebCore::HTMLMediaElement::returnToRealtime):
2487 (WebCore::HTMLMediaElement::playInternal):
2488 (WebCore::HTMLMediaElement::percentLoaded):
2489 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
2490 (WebCore::HTMLMediaElement::mediaPlayerDurationChanged):
2491 (WebCore::HTMLMediaElement::applyMediaFragmentURI):
2492 * html/HTMLOutputElement.cpp:
2493 (WebCore::HTMLOutputElement::setTextContentInternal):
2494 * html/HTMLSelectElement.cpp:
2495 (WebCore::HTMLSelectElement::remove):
2496 * html/HTMLTableElement.cpp:
2497 (WebCore::HTMLTableElement::createTHead):
2498 (WebCore::HTMLTableElement::deleteTHead):
2499 (WebCore::HTMLTableElement::createTFoot):
2500 (WebCore::HTMLTableElement::deleteTFoot):
2501 (WebCore::HTMLTableElement::createCaption):
2502 (WebCore::HTMLTableElement::deleteCaption):
2503 * html/HTMLTextAreaElement.cpp:
2504 (WebCore::HTMLTextAreaElement::setDefaultValue):
2505 * html/ImageDocument.cpp:
2506 (WebCore::ImageDocument::createDocumentStructure):
2507 * html/InputType.cpp:
2508 (WebCore::InputType::stepUpFromRenderer):
2509 * html/MediaController.cpp:
2510 (MediaController::bringElementUpToSpeed):
2511 (MediaController::asyncEventTimerFired):
2512 * html/MediaDocument.cpp:
2513 (WebCore::MediaDocumentParser::createDocumentStructure):
2514 (WebCore::MediaDocument::replaceMediaElementTimerFired):
2515 * html/PluginDocument.cpp:
2516 (WebCore::PluginDocumentParser::createDocumentStructure):
2517 * html/RangeInputType.cpp:
2518 (WebCore::RangeInputType::handleKeydownEvent):
2519 * html/TimeRanges.cpp:
2520 (TimeRanges::contain):
2521 (TimeRanges::nearest):
2522 * html/canvas/CanvasRenderingContext2D.cpp:
2523 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
2524 * html/shadow/MediaControlElementTypes.cpp:
2525 (WebCore::MediaControlSeekButtonElement::seekTimerFired):
2526 * html/shadow/MediaControlElements.cpp:
2527 (WebCore::MediaControlPanelElement::setPosition):
2528 (WebCore::MediaControlPanelElement::resetPosition):
2529 (WebCore::MediaControlStatusDisplayElement::update):
2530 (WebCore::MediaControlRewindButtonElement::defaultEventHandler):
2531 (WebCore::MediaControlTimelineElement::defaultEventHandler):
2532 * html/shadow/MediaControls.cpp:
2533 (WebCore::MediaControls::updateCurrentTimeDisplay):
2534 (WebCore::MediaControls::createTextTrackDisplay):
2535 * html/shadow/MediaControlsApple.cpp:
2536 (WebCore::MediaControlsApple::updateCurrentTimeDisplay):
2537 * html/shadow/MediaControlsBlackBerry.cpp:
2538 (WebCore::MediaControlEmbeddedPanelElement::setPosition):
2539 (WebCore::MediaControlEmbeddedPanelElement::resetPosition):
2540 (WebCore::MediaControlFullscreenTimelineElement::defaultEventHandler):
2541 (WebCore::MediaControlsBlackBerry::updateCurrentTimeDisplay):
2542 * html/shadow/MediaControlsChromium.cpp:
2543 (WebCore::MediaControlsChromium::updateCurrentTimeDisplay):
2544 * html/track/InbandTextTrack.cpp:
2545 (WebCore::InbandTextTrack::addGenericCue):
2546 * inspector/InspectorCSSAgent.cpp:
2547 (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
2548 * inspector/InspectorHistory.cpp:
2549 (WebCore::InspectorHistory::markUndoableState):
2550 * inspector/InspectorResourceAgent.cpp:
2551 (WebCore::InspectorResourceAgent::replayXHR):
2552 * page/ContextMenuController.cpp:
2553 (WebCore::ContextMenuController::contextMenuItemSelected):
2554 * page/DOMWindow.cpp:
2555 (WebCore::didAddStorageEventListener):
2556 * page/DragController.cpp:
2557 (WebCore::documentFragmentFromDragData):
2558 * page/EventHandler.cpp:
2559 (WebCore::EventHandler::dispatchDragEvent):
2560 (WebCore::EventHandler::keyEvent):
2561 (WebCore::EventHandler::handleTextInputEvent):
2563 (WebCore::Page::findStringMatchingRanges):
2564 * platform/efl/RenderThemeEfl.cpp:
2565 (WebCore::RenderThemeEfl::paintMediaSliderTrack):
2566 * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
2567 (WebCore::MediaPlayerPrivate::percentLoaded):
2568 * platform/gtk/RenderThemeGtk.cpp:
2569 (WebCore::RenderThemeGtk::paintMediaSliderTrack):
2570 * platform/mac/PasteboardMac.mm:
2571 (WebCore::Pasteboard::getDataSelection):
2572 (WebCore::documentFragmentWithImageResource):
2573 (WebCore::Pasteboard::documentFragment):
2574 * platform/mac/WebVideoFullscreenHUDWindowController.mm:
2575 (-[WebVideoFullscreenHUDWindowController setCurrentTime:]):
2576 (-[WebVideoFullscreenHUDWindowController setVolume:]):
2577 * platform/qt/RenderThemeQt.cpp:
2578 (WebCore::RenderThemeQt::paintMediaSliderTrack):
2579 * rendering/RenderNamedFlowThread.cpp:
2580 (WebCore::RenderNamedFlowThread::getRanges):
2581 * rendering/RenderThemeMac.mm:
2582 (WebCore::RenderThemeMac::paintMediaSliderTrack):
2583 * svg/SVGTRefElement.cpp:
2584 (WebCore::SVGTRefElement::detachTarget):
2585 * xml/XMLTreeViewer.cpp:
2586 (WebCore::XMLTreeViewer::transformDocumentToTreeView):
2587 * xml/parser/XMLDocumentParserLibxml2.cpp:
2588 (WebCore::XMLDocumentParser::endElementNs):
2589 * xml/parser/XMLDocumentParserQt.cpp:
2590 (WebCore::XMLDocumentParser::parseEndElement):
2592 2013-02-08 Vsevolod Vlasov <vsevik@chromium.org>
2594 Web Inspector: Introduce workspace provider/project type, encapsulate uri creation in SimpleWorkspaceProvider.
2595 https://bugs.webkit.org/show_bug.cgi?id=109282
2597 Reviewed by Alexander Pavlov.
2599 SimpleWorkspaceProvider now fully takes care of creating uri based on project/workspace provider type.
2600 This is the first step on the way to project-per-domain mode for non file system project types.
2601 Workspace is now partly aware of the possibility that several projects with the same type exist.
2602 Drive-by: ScriptsPanel now uses FileMapping to show anchor location properly.
2604 * inspector/front-end/DefaultScriptMapping.js:
2605 (WebInspector.DefaultScriptMapping):
2606 (WebInspector.DefaultScriptMapping.prototype.addScript):
2607 * inspector/front-end/ExtensionServer.js:
2608 (WebInspector.ExtensionServer.prototype._onGetPageResources):
2609 * inspector/front-end/FileMapping.js:
2610 (WebInspector.FileMapping.prototype.uriForURL):
2611 * inspector/front-end/FileSystemWorkspaceProvider.js:
2612 (WebInspector.FileSystemWorkspaceProvider.prototype.type):
2613 * inspector/front-end/JavaScriptSourceFrame.js:
2614 (WebInspector.JavaScriptSourceFrame.prototype._supportsEnabledBreakpointsWhileEditing):
2615 * inspector/front-end/LiveEditSupport.js:
2616 (WebInspector.LiveEditSupport):
2617 (WebInspector.LiveEditSupport.prototype.uiSourceCodeForLiveEdit):
2618 * inspector/front-end/ScriptSnippetModel.js:
2619 (WebInspector.ScriptSnippetModel):
2620 (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
2621 * inspector/front-end/ScriptsNavigator.js:
2622 (WebInspector.ScriptsNavigator.prototype._navigatorViewForUISourceCode):
2623 (WebInspector.ScriptsNavigator.prototype.revealUISourceCode):
2624 (WebInspector.SnippetsNavigatorView.prototype._handleEvaluateSnippet):
2625 (WebInspector.SnippetsNavigatorView.prototype._handleRemoveSnippet):
2626 * inspector/front-end/ScriptsPanel.js:
2627 (WebInspector.ScriptsPanel.prototype._addUISourceCode):
2628 (WebInspector.ScriptsPanel.prototype._projectWillReset):
2629 (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
2630 (WebInspector.ScriptsPanel.prototype._createSourceFrame):
2631 (WebInspector.ScriptsPanel.prototype.set _fileRenamed):
2632 * inspector/front-end/SimpleWorkspaceProvider.js:
2633 (WebInspector.SimpleWorkspaceProvider):
2634 (WebInspector.SimpleWorkspaceProvider.uriForURL):
2635 (WebInspector.SimpleWorkspaceProvider.prototype.type):
2636 (WebInspector.SimpleWorkspaceProvider.prototype.addFileForURL):
2637 (WebInspector.SimpleWorkspaceProvider.prototype.addUniqueFileForURL):
2638 (WebInspector.SimpleWorkspaceProvider.prototype._innerAddFileForURL):
2639 (WebInspector.SimpleWorkspaceProvider.prototype._uniqueURI):
2640 * inspector/front-end/Workspace.js:
2641 (WebInspector.WorkspaceProvider.prototype.type):
2642 (WebInspector.Project.prototype.type):
2643 (WebInspector.Project.prototype.isServiceProject):
2644 (WebInspector.Workspace.prototype.uiSourceCodeForOriginURL):
2645 (WebInspector.Workspace.prototype.uiSourceCodesForProjectType):
2646 (WebInspector.Workspace.prototype.projectsForType):
2647 * inspector/front-end/inspector.js:
2649 2013-02-08 ChangSeok Oh <shivamidow@gmail.com>
2651 [GTK][AC] GraphicsLayerClutter doesn't need to recalculate its position after changing anchor position.
2652 https://bugs.webkit.org/show_bug.cgi?id=109226
2654 Reviewed by Gustavo Noronha Silva.
2656 Clutter has a different coordinate system from mac port's, so we don't need to
2657 recalulate GraphicsLayer position after changing its anchor position.
2659 Covered by existing ac tests.
2661 * platform/graphics/clutter/GraphicsLayerClutter.cpp:
2662 (WebCore::GraphicsLayerClutter::updateGeometry):
2664 2013-02-08 Mike West <mkwst@chromium.org>
2666 Migrate ExceptionCode ASSERTs in IDB to ASSERT_NO_EXCEPTION.
2667 https://bugs.webkit.org/show_bug.cgi?id=109266
2669 Reviewed by Jochen Eisinger.
2673 ExceptionCode ec = 0;
2674 methodThatGeneratesException(ec);
2677 is more clearly and succinctly written as:
2679 methodThatGeneratesException(ASSERT_NO_EXCEPTION);
2681 This patch replaces the occurances of the former in IDB code that never
2682 touch 'ec' again with the latter. No change in behavior should result
2683 from this refactoring.
2685 * Modules/indexeddb/IDBCursor.cpp:
2686 (WebCore::IDBCursor::advance):
2687 (WebCore::IDBCursor::continueFunction):
2688 (WebCore::IDBCursor::deleteFunction):
2689 These methods checked the value of the ExceptionCode without first
2690 initializing it to 0. Now the ExceptionCode is explicitly set to 0
2691 before doing potentially exception-generating work.
2692 (WebCore::IDBCursor::direction):
2693 * Modules/indexeddb/IDBObjectStore.cpp:
2695 * Modules/indexeddb/IDBTransaction.cpp:
2696 (WebCore::IDBTransaction::mode):
2697 Replace the above pattern with ASSERT_NO_EXCEPTION.
2699 2013-02-08 Mike West <mkwst@chromium.org>
2701 Migrate ExceptionCode ASSERTs in SVG to ASSERT_NO_EXCEPTION.
2702 https://bugs.webkit.org/show_bug.cgi?id=109267
2704 Reviewed by Jochen Eisinger.
2708 ExceptionCode ec = 0;
2709 methodThatGeneratesException(ec);
2712 is more clearly and succinctly written as:
2714 methodThatGeneratesException(ASSERT_NO_EXCEPTION);
2716 This patch replaces the occurances of the former in SVG code that never
2717 touch 'ec' again with the latter. No change in behavior should result
2718 from this refactoring.
2720 * svg/SVGLength.cpp:
2721 (WebCore::SVGLength::SVGLength):
2722 (WebCore::SVGLength::setValue):
2723 This method checked the value of the ExceptionCode without first
2724 initializing it to 0. Now it initializes before doing potentially
2725 exception-generating work.
2726 * rendering/style/SVGRenderStyle.h:
2727 (WebCore::SVGRenderStyle::initialBaselineShiftValue):
2728 (WebCore::SVGRenderStyle::initialKerning):
2729 (WebCore::SVGRenderStyle::initialStrokeDashOffset):
2730 (WebCore::SVGRenderStyle::initialStrokeWidth):
2731 * svg/SVGAnimatedLength.cpp:
2732 (WebCore::sharedSVGLength):
2733 (WebCore::SVGAnimatedLengthAnimator::addAnimatedTypes):
2734 (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
2735 * svg/SVGAnimatedLengthList.cpp:
2736 (WebCore::SVGAnimatedLengthListAnimator::addAnimatedTypes):
2737 (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
2738 * svg/SVGTextContentElement.cpp:
2739 (WebCore::SVGTextContentElement::textLengthAnimated):
2740 * svg/animation/SVGSMILElement.cpp:
2741 (WebCore::constructQualifiedName):
2742 Replace the above pattern with ASSERT_NO_EXCEPTION.
2744 2013-02-08 Vsevolod Vlasov <vsevik@chromium.org>
2746 Web Inspector: Replace workspace with project in UISourceCode constructor.
2747 https://bugs.webkit.org/show_bug.cgi?id=109256
2749 Reviewed by Alexander Pavlov.
2751 Replaced workspace with project in UISourceCode constructor since every UISourceCode
2752 operation is delegated to project anyway.
2754 * inspector/front-end/UISourceCode.js:
2755 (WebInspector.UISourceCode):
2756 (WebInspector.UISourceCode.prototype.project):
2757 (WebInspector.UISourceCode.prototype.requestContent):
2758 (WebInspector.UISourceCode.prototype.requestOriginalContent):
2759 (WebInspector.UISourceCode.prototype._commitContent):
2760 (WebInspector.UISourceCode.prototype.searchInContent):
2761 * inspector/front-end/Workspace.js:
2762 (WebInspector.Project.prototype._fileAdded):
2763 (WebInspector.Project.prototype.requestFileContent):
2764 (WebInspector.Project.prototype.setFileContent):
2765 (WebInspector.Project.prototype.searchInFileContent):
2767 2013-02-08 Patrick Gansterer <paroga@webkit.org>
2769 Build fix for Windows after r141981.
2771 * platform/network/win/ResourceHandleWin.cpp:
2772 (WebCore::ResourceHandle::loadResourceSynchronously):
2774 2013-02-08 Sheriff Bot <webkit.review.bot@gmail.com>
2776 Unreviewed, rolling out r141695 and r141697.
2777 http://trac.webkit.org/changeset/141695
2778 http://trac.webkit.org/changeset/141697
2779 https://bugs.webkit.org/show_bug.cgi?id=109279
2781 broke on-disk buffering for http(s) media (Requested by philn
2784 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2785 (WebCore::MediaPlayerPrivateGStreamer::load):
2786 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2787 (MediaPlayerPrivateGStreamer):
2788 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2789 (webKitWebSrcGetProtocols):
2790 (webKitWebSrcSetUri):
2792 2013-02-08 Dan Carney <dcarney@google.com>
2794 [v8] isolate parameter added to all v8::peristent calls
2795 https://bugs.webkit.org/show_bug.cgi?id=109268
2797 Reviewed by Kentaro Hara.
2799 No new tests. No change in functionality.
2801 * bindings/scripts/CodeGeneratorV8.pm:
2802 (GenerateDomainSafeFunctionGetter):
2803 (GenerateNamedConstructorCallback):
2804 (GenerateImplementation):
2805 * bindings/scripts/test/V8/V8Float64Array.cpp:
2806 (WebCore::V8Float64Array::GetRawTemplate):
2807 * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2808 (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
2809 (WebCore::V8TestActiveDOMObject::GetRawTemplate):
2810 * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2811 (WebCore::V8TestCustomNamedGetter::GetRawTemplate):
2812 * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2813 (WebCore::V8TestEventConstructor::GetRawTemplate):
2814 * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2815 (WebCore::V8TestEventTarget::GetRawTemplate):
2816 * bindings/scripts/test/V8/V8TestException.cpp:
2817 (WebCore::V8TestException::GetRawTemplate):
2818 * bindings/scripts/test/V8/V8TestInterface.cpp:
2819 (WebCore::V8TestInterface::GetRawTemplate):
2820 * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2821 (WebCore::V8TestMediaQueryListListener::GetRawTemplate):
2822 * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2823 (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
2824 (WebCore::V8TestNamedConstructor::GetRawTemplate):
2825 * bindings/scripts/test/V8/V8TestNode.cpp:
2826 (WebCore::V8TestNode::GetRawTemplate):
2827 * bindings/scripts/test/V8/V8TestObj.cpp:
2828 (WebCore::V8TestObj::GetRawTemplate):
2829 * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
2830 (WebCore::V8TestOverloadedConstructors::GetRawTemplate):
2831 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2832 (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
2833 * bindings/v8/DOMWrapperMap.h:
2834 (WebCore::DOMWrapperMap::clear):
2835 * bindings/v8/DOMWrapperWorld.cpp:
2836 (WebCore::isolatedWorldWeakCallback):
2837 (WebCore::DOMWrapperWorld::makeContextWeak):
2838 * bindings/v8/NPV8Object.cpp:
2839 (WebCore::freeV8NPObject):
2840 (WebCore::npCreateV8ScriptObject):
2841 * bindings/v8/ScheduledAction.cpp:
2842 (WebCore::ScheduledAction::ScheduledAction):
2843 (WebCore::ScheduledAction::~ScheduledAction):
2844 * bindings/v8/ScopedPersistent.h:
2845 (WebCore::ScopedPersistent::ScopedPersistent):
2846 (WebCore::ScopedPersistent::set):
2847 (WebCore::ScopedPersistent::clear):
2848 * bindings/v8/ScriptWrappable.h:
2849 (WebCore::ScriptWrappable::setWrapper):
2850 (WebCore::ScriptWrappable::disposeWrapper):
2851 (WebCore::ScriptWrappable::weakCallback):
2852 * bindings/v8/V8Binding.cpp:
2853 (WebCore::createRawTemplate):
2854 * bindings/v8/V8Binding.h:
2856 * bindings/v8/V8GCController.cpp:
2858 (WebCore::V8GCController::gcPrologue):
2859 (WebCore::V8GCController::minorGCPrologue):
2860 * bindings/v8/V8GCController.h:
2862 * bindings/v8/V8HiddenPropertyName.cpp:
2863 (WebCore::V8HiddenPropertyName::createString):
2864 * bindings/v8/V8LazyEventListener.cpp:
2865 (WebCore::V8LazyEventListener::prepareListenerObject):
2866 * bindings/v8/V8NPObject.cpp:
2867 (WebCore::V8NPTemplateMap::dispose):
2868 (WebCore::npObjectGetProperty):
2869 (WebCore::createV8ObjectForNPObject):
2870 * bindings/v8/V8PerContextData.cpp:
2871 (WebCore::V8PerContextData::dispose):
2872 (WebCore::V8PerContextData::createWrapperFromCacheSlowCase):
2873 (WebCore::V8PerContextData::constructorForTypeSlowCase):
2874 * bindings/v8/V8ValueCache.cpp:
2875 (WebCore::makeExternalString):
2876 * bindings/v8/WrapperTypeInfo.h:
2877 (WebCore::WrapperConfiguration::configureWrapper):
2878 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2879 (WebCore::V8HTMLDocument::wrapInShadowObject):
2880 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
2881 (WebCore::V8HTMLImageElementConstructor::GetTemplate):
2882 * bindings/v8/custom/V8InjectedScriptManager.cpp:
2883 (WebCore::WeakReferenceCallback):
2884 (WebCore::createInjectedScriptHostV8Wrapper):
2885 * bindings/v8/custom/V8LocationCustom.cpp:
2886 (WebCore::V8Location::reloadAccessorGetter):
2887 (WebCore::V8Location::replaceAccessorGetter):
2888 (WebCore::V8Location::assignAccessorGetter):
2890 2013-02-08 Kent Tamura <tkent@chromium.org>
2892 Adjust usage of ENABLE flags to enable whole content
2893 https://bugs.webkit.org/show_bug.cgi?id=109270
2895 Reviewed by Eric Seidel.
2897 Our common usage of ENABLE flags to enable whole content of files is:
2909 Fix files which have uncommon usage, and fix CodeGeneratorV8.pm so that
2910 it generates the common pattern. Note that CodeGeneratorJS.pm already
2911 generates code in this order.
2913 * bindings/scripts/CodeGeneratorV8.pm:
2914 (GenerateHeaderContentHeader):
2915 (GenerateImplementationContentHeader):
2916 * bindings/scripts/test/V8/V8TestCallback.cpp:
2917 * bindings/scripts/test/V8/V8TestCallback.h:
2918 * bindings/scripts/test/V8/V8TestInterface.cpp:
2919 * bindings/scripts/test/V8/V8TestInterface.h:
2920 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2921 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
2922 * html/BaseMultipleFieldsDateAndTimeInputType.h:
2923 * html/ColorInputType.cpp:
2924 * html/ColorInputType.h:
2925 * html/DateInputType.cpp:
2926 * html/DateTimeInputType.cpp:
2927 * html/DateTimeInputType.h:
2928 * html/DateTimeLocalInputType.cpp:
2929 * html/HTMLAudioElement.cpp:
2930 * html/HTMLAudioElement.h:
2931 * html/HTMLDataListElement.cpp:
2932 * html/HTMLDialogElement.cpp:
2933 * html/HTMLDialogElement.h:
2934 * html/HTMLMediaElement.cpp:
2935 * html/HTMLMediaElement.h:
2936 * html/HTMLMeterElement.cpp:
2937 * html/HTMLProgressElement.cpp:
2938 * html/HTMLSourceElement.cpp:
2939 * html/HTMLSourceElement.h:
2940 * html/HTMLTrackElement.cpp:
2941 * html/HTMLTrackElement.h:
2942 * html/HTMLVideoElement.cpp:
2943 * html/HTMLVideoElement.h:
2944 * html/MonthInputType.cpp:
2945 * html/TimeInputType.cpp:
2946 * html/WeekInputType.cpp:
2947 * html/shadow/DateTimeFieldElement.h:
2948 * html/shadow/DetailsMarkerControl.cpp:
2949 * html/shadow/MeterShadowElement.cpp:
2950 * html/shadow/ProgressShadowElement.cpp:
2951 * rendering/RenderDetailsMarker.cpp:
2952 * rendering/RenderInputSpeech.cpp:
2953 * rendering/RenderMeter.cpp:
2954 * rendering/RenderProgress.cpp:
2956 2013-02-08 Mike West <mkwst@chromium.org>
2958 Replace ExceptionCode assertions with ASSERT_NO_EXCEPTION macro.
2959 https://bugs.webkit.org/show_bug.cgi?id=109044
2961 Reviewed by Darin Adler.
2965 ExceptionCode ec = 0;
2966 methodThatGeneratesException(ec);
2969 is more clearly and succinctly written as:
2971 methodThatGeneratesException(ASSERT_NO_EXCEPTION);
2973 This patch replaces the occurances of the former that never touch 'ec'
2974 again with the latter. It does the same for 'ASSERT(ec == 0);' (and, as
2975 a drive-by, replaces 'ASSERT(ec == 0)' with 'ASSERT(!ec)' in places
2976 where it does indeed matter that 'ec' get set properly.
2978 No change in behavior should result from this refactoring.
2980 * dom/ContainerNode.cpp:
2981 (WebCore::ContainerNode::takeAllChildrenFrom):
2983 (WebCore::Document::setTitle):
2984 * dom/MessagePort.cpp:
2985 (WebCore::MessagePort::dispatchMessages):
2986 (WebCore::MessagePort::disentanglePorts):
2987 * editing/DeleteButtonController.cpp:
2988 (WebCore::enclosingDeletableElement):
2989 (WebCore::DeleteButtonController::createDeletionUI):
2990 Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
2991 (WebCore::DeleteButtonController::show):
2992 Replaced 'ASSERT(ec == 0)' with 'ASSERT(!ec)' to match the style guide.
2993 * editing/EditorCommand.cpp:
2994 (WebCore::unionDOMRanges):
2995 * editing/ReplaceNodeWithSpanCommand.cpp:
2996 (WebCore::swapInNodePreservingAttributesAndChildren):
2997 * editing/ReplaceSelectionCommand.cpp:
2998 (WebCore::ReplacementFragment::ReplacementFragment):
2999 (WebCore::ReplacementFragment::removeNode):
3000 (WebCore::ReplacementFragment::insertNodeBefore):
3001 (WebCore::ReplacementFragment::insertFragmentForTestRendering):
3002 (WebCore::ReplacementFragment::restoreAndRemoveTestRenderingNodesToFragment):
3003 (WebCore::ReplaceSelectionCommand::insertAsListItems):
3004 * editing/SplitTextNodeCommand.cpp:
3005 (WebCore::SplitTextNodeCommand::doUnapply):
3006 * editing/TextIterator.cpp:
3007 (WebCore::CharacterIterator::range):
3008 (WebCore::BackwardsCharacterIterator::range):
3009 (WebCore::TextIterator::rangeFromLocationAndLength):
3010 (WebCore::collapsedToBoundary):
3011 * editing/htmlediting.cpp:
3012 (WebCore::createTabSpanElement):
3013 * editing/mac/EditorMac.mm:
3014 (WebCore::Editor::fontForSelection):
3015 (WebCore::Editor::fontAttributesForSelectionStart):
3016 * editing/markup.cpp:
3017 (WebCore::createMarkup):
3018 (WebCore::trimFragment):
3019 (WebCore::createFragmentFromMarkupWithContext):
3020 (WebCore::fillContainerFromString):
3021 (WebCore::createFragmentFromText):
3022 (WebCore::createFragmentFromNodes):
3023 * html/ColorInputType.cpp:
3024 (WebCore::ColorInputType::createShadowSubtree):
3025 Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
3026 * html/HTMLOptionsCollection.cpp:
3027 (WebCore::HTMLOptionsCollection::add):
3028 Replaced 'ASSERT(ec == 0)' with 'ASSERT(!ec)' to match the style guide.
3029 * html/HTMLTextAreaElement.cpp:
3030 (WebCore::HTMLTextAreaElement::updatePlaceholderText):
3031 * html/HTMLTextFormControlElement.cpp:
3032 (WebCore::HTMLTextFormControlElement::indexForVisiblePosition):
3033 (WebCore::HTMLTextFormControlElement::setInnerTextValue):
3034 * html/TextFieldInputType.cpp:
3035 (WebCore::TextFieldInputType::updatePlaceholderText):
3036 * html/ValidationMessage.cpp:
3037 (WebCore::ValidationMessage::buildBubbleTree):
3038 * html/shadow/MediaControlElementTypes.cpp:
3039 (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
3040 * inspector/InspectorPageAgent.cpp:
3041 (WebCore::InspectorPageAgent::getCookies):
3042 * inspector/InspectorStyleSheet.cpp:
3043 (WebCore::InspectorStyleSheet::addRule):
3044 * loader/appcache/ApplicationCacheHost.cpp:
3045 (WebCore::ApplicationCacheHost::dispatchDOMEvent):
3046 * page/DOMSelection.cpp:
3047 (WebCore::DOMSelection::deleteFromDocument):
3048 * page/DragController.cpp:
3049 (WebCore::prepareClipboardForImageDrag):
3050 * rendering/RenderTextControl.cpp:
3051 (WebCore::RenderTextControl::visiblePositionForIndex):
3052 Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
3054 2013-02-08 Alexei Filippov <alph@chromium.org>
3056 Web Inspector: disable profile type switching while profile in progress
3057 https://bugs.webkit.org/show_bug.cgi?id=109178
3059 Reviewed by Yury Semikhatsky.
3061 Disables profile type selection controls when a profiling session
3064 * inspector/front-end/HeapSnapshotView.js:
3065 (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
3066 * inspector/front-end/ProfileLauncherView.js:
3067 (WebInspector.ProfileLauncherView.prototype._updateControls):
3068 * inspector/front-end/ProfilesPanel.js:
3069 (WebInspector.ProfilesPanel.prototype.toggleRecordButton):
3071 2013-02-08 Ilya Tikhonovsky <loislo@chromium.org>
3073 Web Inspector: Native Memory Instrumentation: adjust chunk transfer size for better speed.
3074 https://bugs.webkit.org/show_bug.cgi?id=109263
3076 Reviewed by Yury Semikhatsky.
3078 The chunk size is changed from 100 to 10000.
3079 addString counts only first 256 symbols of the string.o
3081 * inspector/HeapGraphSerializer.cpp:
3082 (WebCore::HeapGraphSerializer::pushUpdateIfNeeded):
3083 (WebCore::HeapGraphSerializer::addString):
3084 * inspector/front-end/NativeMemorySnapshotView.js:
3086 2013-02-08 Kentaro Hara <haraken@chromium.org>
3088 Support a relatedTarget attribute on focus/blur events
3089 https://bugs.webkit.org/show_bug.cgi?id=109176
3091 Reviewed by Ojan Vafai.
3093 In bug 76216, we supported a relatedTarget attribute on
3094 focusin/focusout events. We should also support it on focus/blur events.
3096 See http://lists.w3.org/Archives/Public/www-dom/2012OctDec/0061.html
3097 for the www-dom discussion.
3099 Test: fast/dom/shadow/shadow-boundary-events.html
3100 fast/events/related-target-focusevent.html
3102 * dom/EventDispatchMediator.cpp:
3103 (WebCore::FocusEventDispatchMediator::create):
3104 (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
3105 (WebCore::BlurEventDispatchMediator::create):
3106 (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
3107 * dom/EventDispatchMediator.h:
3108 (FocusEventDispatchMediator):
3109 (BlurEventDispatchMediator):
3111 (WebCore::Node::dispatchFocusInEvent):
3112 (WebCore::Node::dispatchFocusOutEvent):
3113 (WebCore::Node::dispatchFocusEvent):
3114 (WebCore::Node::dispatchBlurEvent):
3116 2013-02-07 Yury Semikhatsky <yurys@chromium.org>
3118 Web Inspector: reduce number of native memory instrumentation categories
3119 https://bugs.webkit.org/show_bug.cgi?id=109146
3121 Reviewed by Pavel Feldman.
3123 Merged some of memory instrumentation categories.
3125 * dom/WebCoreMemoryInstrumentation.cpp:
3127 * inspector/front-end/NativeMemorySnapshotView.js:
3128 (WebInspector.MemoryBlockViewProperties._initialize):
3129 * platform/PlatformMemoryInstrumentation.cpp:
3132 2013-02-07 Mike West <mkwst@chromium.org>
3134 <iframe seamless> should avoid vertical scrollbars during the initial layout passes.
3135 https://bugs.webkit.org/show_bug.cgi?id=87707
3137 Reviewed by Eric Seidel.
3139 Seamless documents currently render incorrectly when their content fills
3140 the width of the container into which they're placed. Because FrameView
3141 assumes that the container's size is properly set before the first pass
3142 of layout, vertical scrollbars are incorrectly forced onto seamless
3143 content, because seamless sets the container's height to 0 before
3144 handing it off to FrameView for layout. The scrollbars make the
3145 available width for the seamless document ~15px smaller than it should
3146 be, resulting in content getting bumped to the next line.
3148 This patch special-cases FrameView::calculateScrollbarModesForLayout in
3149 order to force scrollbars off for seamless documents with a full visible
3150 height of 0px. Once the layout pass has grabbed the content height and
3151 applied it to the visible height, scrollbars will again be applicable.
3153 The change should be covered by rebaselines for the newly-passing
3154 results in fast/frame/seamless-{float,inline}.html
3156 * page/FrameView.cpp:
3157 (WebCore::FrameView::calculateScrollbarModesForLayout):
3158 If we're rendering a seamless document, and the full visible height
3159 is 0, and the vertical scrollbar would otherwise be ScrollbarAuto,
3160 then force ScrollbarAlwaysOff.
3162 2013-02-07 Kent Tamura <tkent@chromium.org>
3164 document.activeElement should not return a non-focusable element
3165 https://bugs.webkit.org/show_bug.cgi?id=86707
3167 Reviewed by Hajime Morita.
3169 This is based on a patch by Arpita Bahuguna.
3171 Test: fast/dom/HTMLDocument/set-focus-on-valid-element.html
3174 (WebCore::Document::setFocusedNode):
3175 Added check for verifying that the node to be focused is
3176 focusable. However, this check should be skipped for HTMLPlugInElement
3177 because it has special behavior.
3179 2013-02-07 Vladislav Kaznacheev <kaznacheev@chromium.org>
3181 Web Inspector: Fix front-end compilation warnings related to WebInspector.SidebarPane
3182 https://bugs.webkit.org/show_bug.cgi?id=109259
3184 Reviewed by Vsevolod Vlasov.
3186 * inspector/front-end/DOMBreakpointsSidebarPane.js:
3187 (WebInspector.DOMBreakpointsSidebarPane.Proxy):
3188 * inspector/front-end/SidebarPane.js:
3190 2013-02-07 Kentaro Hara <haraken@chromium.org>
3192 [V8] enum V8HiddenPropertyCreationType is not used
3193 https://bugs.webkit.org/show_bug.cgi?id=109250
3195 Reviewed by Adam Barth.
3197 V8HiddenPropertyCreationType is always NewSymbol. We can remove the enum.
3199 No tests. No change in behavior.
3201 * bindings/v8/V8HiddenPropertyName.cpp:
3202 (WebCore::hiddenReferenceName):
3203 * bindings/v8/V8HiddenPropertyName.h:
3206 2013-02-07 Sheriff Bot <webkit.review.bot@gmail.com>
3208 Unreviewed, rolling out r142212.
3209 http://trac.webkit.org/changeset/142212
3210 https://bugs.webkit.org/show_bug.cgi?id=109255
3212 Causes ASSERT(!m_installed) on launch (Requested by smfr on
3216 * platform/MemoryPressureHandler.cpp:
3218 (WebCore::MemoryPressureHandler::respondToMemoryPressure):
3219 * platform/MemoryPressureHandler.h:
3220 (MemoryPressureHandler):
3221 * platform/mac/MemoryPressureHandlerMac.mm:
3222 (WebCore::MemoryPressureHandler::respondToMemoryPressure):
3224 2013-02-07 Hanyee Kim <choco@company100.net>
3226 NamedFlowCollection should be a ContextDestructionObserver
3227 https://bugs.webkit.org/show_bug.cgi?id=99239
3229 Reviewed by Adam Barth
3231 This patch removes the raw pointer of Document in NamedFlowCollection.
3232 It could be replaced with ContextDestructionObserver.
3233 ContextDestructionObserver has the pointer and clears the pointer
3234 automatically when the document is destroyed.
3237 (WebCore::Document::~Document):
3238 * dom/NamedFlowCollection.cpp:
3239 (WebCore::NamedFlowCollection::NamedFlowCollection):
3240 (WebCore::NamedFlowCollection::ensureFlowWithName):
3241 (WebCore::NamedFlowCollection::discardNamedFlow):
3242 (WebCore::NamedFlowCollection::document):
3244 * dom/NamedFlowCollection.h:
3245 (NamedFlowCollection):
3247 2013-02-07 Dean Jackson <dino@apple.com>
3249 Followup review suggestions from Alexey Proskuryakov on
3250 https://bugs.webkit.org/show_bug.cgi?id=109215
3252 Don't provide a charset on embedded SVG, especially
3253 with incorrect syntax :)
3255 * css/mediaControlsQuickTime.css:
3256 (video::-webkit-media-controls-toggle-closed-captions-button):
3257 (video::-webkit-media-controls-closed-captions-track-list li.selected):
3258 (video::-webkit-media-controls-closed-captions-track-list li.selected:hover):
3260 2013-02-07 Seulgi Kim <seulgikim@company100.net>
3262 [Gtk] RunLoop::run shuold run current thread's run loop.
3263 https://bugs.webkit.org/show_bug.cgi?id=107887
3265 Reviewed by Martin Robinson.
3267 Currently, RunLoop in Gtk can use just main thread's event loop.
3268 But the other ports are implemented to use RunLoop in sub threads.
3270 This patch makes RunLoop constructor create new context, not use default
3272 But in the main thread still uses default context to use main event loop
3273 since there is some codes using glib directly (e.g. in
3274 LayerTreeHostGtk::scheduleLayerFlush).
3276 No new tests. There is no case that uses RunLoop in off the main thread
3279 * platform/gtk/RunLoopGtk.cpp:
3280 (WebCore::RunLoop::RunLoop):
3281 (WebCore::RunLoop::run):
3283 2013-02-07 Kentaro Hara <haraken@chromium.org>
3285 [V8] Move V8DOMWrapper::setNamedHiddenReference() to V8HiddenPropertyName.h
3286 https://bugs.webkit.org/show_bug.cgi?id=109186
3288 Reviewed by Adam Barth.
3290 V8HiddenPropertyName.h is a right place for setNamedHiddenReference().
3292 No tests. No change in behavior.
3294 * bindings/scripts/CodeGeneratorV8.pm:
3295 (GenerateNormalAttrGetter):
3296 * bindings/scripts/test/V8/V8TestObj.cpp:
3297 (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetter):
3298 * bindings/v8/V8DOMWrapper.cpp:
3299 * bindings/v8/V8DOMWrapper.h:
3301 * bindings/v8/V8HiddenPropertyName.cpp:
3302 (WebCore::V8HiddenPropertyName::hiddenReferenceName):
3303 (WebCore::V8HiddenPropertyName::setNamedHiddenReference):
3305 * bindings/v8/V8HiddenPropertyName.h:
3306 (V8HiddenPropertyName):
3307 (WebCore::V8HiddenPropertyName::V8HiddenPropertyName):
3308 * bindings/v8/custom/V8MessageChannelCustom.cpp:
3309 (WebCore::V8MessageChannel::constructorCallbackCustom):
3310 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
3311 (WebCore::toV8Object):
3313 2013-02-07 Elliott Sprehn <esprehn@chromium.org>
3315 getComputedStyle() doesn't report intermediate values during a transition of a pseudo element
3316 https://bugs.webkit.org/show_bug.cgi?id=106535
3318 Reviewed by Ojan Vafai.
3320 Element::computedStyle and CSSComputedStyleDeclaration::getPropertyCSSValue
3321 should use the PseudoElement and it's renderer if they exist so that
3322 querying the computed style while an animation is running returns
3323 the intermediate values.
3325 No new tests, updated existing tests.
3327 * css/CSSComputedStyleDeclaration.cpp:
3328 (WebCore::CSSComputedStyleDeclaration::styledNode): Added, returns either the PseudoElement or the Node.
3329 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Updated to use styledNode.
3330 * css/CSSComputedStyleDeclaration.h:
3331 (CSSComputedStyleDeclaration):
3333 (WebCore::Element::computedStyle): Check the PseudoElement, not just the cached pseudo style.
3334 * dom/ElementRareData.h:
3335 (WebCore::ElementRareData::pseudoElement): Remove ASSERT_NOT_REACHED so passing other pseudos returns 0.
3337 2013-02-07 Mark Lam <mark.lam@apple.com>
3339 Add a comment about how the SQLTransaction state machine works.
3340 https://bugs.webkit.org/show_bug.cgi?id=109243.
3342 Rubber stamped by Anders Carlsson.
3346 * Modules/webdatabase/SQLTransactionBackend.cpp:
3348 2013-02-06 Gavin Barraclough <barraclough@apple.com>
3350 PluginProcess should quit immediately if idle in response to low-memory notifications
3351 https://bugs.webkit.org/show_bug.cgi?id=109103
3352 <rdar://problem/12679827>
3354 Reviewed by Darin Adler.
3356 This patch allows a process to set a custom callback for low memory warnings
3357 (defaulting to the current behaviour, as implemented in releaseMemory).
3359 MemoryPressureHandler::install is currently used for two purposes - it is
3360 called when first initializing a low memory handler for a process, and also
3361 used to reinstall the handler (on a delay) after the notification has occured.
3362 Since reinstallation doesn't change the callback, split these behaviours out -
3363 MemoryPressureHandler::initialize is added to initialization, and accepts a
3364 custom callback, install in made private.
3367 - Added export for releaseMemory.
3368 * platform/MemoryPressureHandler.cpp:
3369 (WebCore::MemoryPressureHandler::releaseMemory):
3370 - Added null implementation for non-Mac builds.
3371 * platform/MemoryPressureHandler.h:
3372 (WebCore::MemoryPressureHandler::initialize):
3373 - distinguish initialization from reinstallations, allow handler to be set.
3374 (MemoryPressureHandler):
3375 - Added m_lowMemoryHandler function pointer member variable.
3376 * platform/mac/MemoryPressureHandlerMac.mm:
3377 (WebCore::MemoryPressureHandler::respondToMemoryPressure):
3378 - Call m_lowMemoryHandler instead of releaseMemory.
3380 2013-02-07 Kentaro Hara <haraken@chromium.org>
3382 [V8] #ifndef NDEBUG is redundant for assertContextHasCorrectPrototype()
3383 https://bugs.webkit.org/show_bug.cgi?id=109167
3385 Reviewed by Andreas Kling.
3387 Given that assertContextHasCorrectPrototype() is anyway empty in a release
3388 build, we don't need to surround it with #ifndef NDEBUG.
3390 No tests. No change in behavior.
3392 * bindings/v8/DOMWrapperWorld.cpp:
3393 (WebCore::DOMWrapperWorld::assertContextHasCorrectPrototype):
3394 * bindings/v8/DOMWrapperWorld.h:
3396 (WebCore::DOMWrapperWorld::isolated):
3398 2013-02-07 Alexei Svitkine <asvitkine@chromium.org>
3400 Chromium: Hang parsing bidi control chars on Mac OS X 10.6
3401 https://bugs.webkit.org/show_bug.cgi?id=108877
3403 This was broken a while ago by:
3404 https://bugs.webkit.org/show_bug.cgi?id=83045
3406 On 10.6, CoreText will not produce any runs covering the
3407 Unicode BiDi RTL mark control char, which causes an infinite
3408 loop in ComplexTextController::indexOfCurrentRun() due to no
3409 run covering the character at offset 0.
3411 This patch fixes that issue by finding the earliest run
3412 explicitly via the minimum stringBegin() index instead of
3413 relying on a run existing that covers offset 0.
3415 Fixes hang on many BiDi wikipedia pages on Chromium/Mac10.6.
3416 Chromium bug: http://crbug.com/167844
3418 New test in the same style as the harfbuzz-buffer-overrun.html
3419 test (in the same folder).
3421 Reviewed by Eric Seidel.
3423 Test: fast/text/international/rtl-mark.html
3425 * platform/graphics/mac/ComplexTextController.cpp:
3426 (WebCore::ComplexTextController::indexOfCurrentRun):
3428 2013-02-07 Kentaro Hara <haraken@chromium.org>
3430 Implement FocusEvent constructor
3431 https://bugs.webkit.org/show_bug.cgi?id=109170
3433 Reviewed by Adam Barth.
3435 Editor's draft: https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm
3437 FocusEvent constructor should be implemented under a DOM4_EVENTS_CONSTRUCTOR
3438 flag, which is enabled on Chromium and Safari.
3440 Test: fast/events/constructors/focus-event-constructor.html
3442 * dom/FocusEvent.cpp:
3443 (WebCore::FocusEventInit::FocusEventInit):
3445 (WebCore::FocusEvent::FocusEvent):
3449 (WebCore::FocusEvent::create):
3451 * dom/FocusEvent.idl:
3452 * page/DOMWindow.idl:
3454 2013-02-07 Elliott Sprehn <esprehn@chromium.org>
3456 HTML parser should queue MutationRecords for its operations
3457 https://bugs.webkit.org/show_bug.cgi?id=89351
3459 Reviewed by Eric Seidel.
3461 Generate mutation records inside the parser. This is done by using a
3462 ChildListMutationScope in the ContainerNode::parser* methods and then
3463 adding delivery before each <script> element would be processed by
3466 Test: fast/dom/MutationObserver/parser-mutations.html
3468 * dom/ContainerNode.cpp:
3469 (WebCore::ContainerNode::takeAllChildrenFrom):
3470 (WebCore::ContainerNode::parserInsertBefore):
3471 (WebCore::ContainerNode::parserRemoveChild):
3472 (WebCore::ContainerNode::parserAppendChild):
3473 * html/parser/HTMLScriptRunner.cpp:
3474 (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
3475 (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
3476 (WebCore::HTMLScriptRunner::execute):
3477 (WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
3478 (WebCore::HTMLScriptRunner::executeScriptsWaitingForStylesheets):
3479 (WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
3480 (WebCore::HTMLScriptRunner::runScript):
3482 2013-02-07 Kentaro Hara <haraken@chromium.org>
3484 Fix FIXMEs in WindowFeatures.h
3485 https://bugs.webkit.org/show_bug.cgi?id=109151
3487 Reviewed by Adam Barth.
3489 1. // FIXME: We can delete this constructor once V8 showModalDialog is
3490 // changed to use DOMWindow.
3492 This FIXME is not right. The WindowFeatures() constructor is used by
3493 other ports too (e.g. WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp).
3494 So we should remove the FIXME.
3496 2. // FIXME: We can make these functions private non-member functions
3497 // once V8 showModalDialog is changed to use DOMWindow.
3499 Given that V8 now uses DOMWindow in showModalDialog(), we can make the
3502 No tests. No change in behavior.
3504 * page/WindowFeatures.h:
3506 (WebCore::WindowFeatures::WindowFeatures):
3509 2013-02-07 Adam Barth <abarth@webkit.org>
3511 fast/parser/document-write-noscript.html fails for threaded HTML parser
3512 https://bugs.webkit.org/show_bug.cgi?id=109237
3514 Reviewed by Eric Seidel.
3516 If there are multiple calls to document.write in an external script, we
3517 need to wait for them all to complete before invalidating the
3518 speculative tokens. Instead of doing this when we unwind the
3519 document.write call stack, we do this when we're about to resume
3520 parsing after script execution.
3522 Test: fast/parser/document-write-basic.html
3524 * html/parser/HTMLDocumentParser.cpp:
3525 (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
3526 (WebCore::HTMLDocumentParser::insert):
3527 (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
3529 2013-02-07 Lamarque V. Souza <Lamarque.Souza@basyskom.com>
3531 Fix build when compiling with css3-text and css3-conditional-rules feature flags enabled.
3532 https://bugs.webkit.org/show_bug.cgi?id=109217
3534 Reviewed by Benjamin Poulain.
3536 * css/InspectorCSSOMWrappers.cpp:
3537 (WebCore::InspectorCSSOMWrappers::collect):
3539 2013-02-07 Keishi Hattori <keishi@webkit.org>
3541 REGRESSION (r140778): Calendar Picker doesn't open when the element has the required attribute
3542 https://bugs.webkit.org/show_bug.cgi?id=109136
3544 Reviewed by Kent Tamura.
3546 Calendar picker was using the "Clear" button to calculate the window width.
3547 Since it doesn't exist when the input element has a required attribute,
3548 it was throwing an error. This patch fixes the width calculating logic.
3550 Tests: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-ar.html
3551 platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required.html
3553 * Resources/pagepopups/calendarPicker.css:
3554 (.today-clear-area):
3555 * Resources/pagepopups/calendarPicker.js:
3556 (CalendarPicker.prototype.fixWindowSize): Fixing the logic to calculate
3557 the width. We don't want to use clear button because it doesn't exist
3558 when a value is required.
3560 2013-02-07 Terry Anderson <tdanderson@chromium.org>
3562 Non-scrollable divs and non-scrollable iframes can scroll with touch
3563 https://bugs.webkit.org/show_bug.cgi?id=109087
3565 Reviewed by Eric Seidel.
3567 Tests: fast/events/touch/gesture/touch-gesture-noscroll-div.html
3568 fast/events/touch/gesture/touch-gesture-noscroll-iframe.html
3570 When finding a candidate for a scrollable node in
3571 EventHandler::handleGestureScrollUpdate(), select the document node
3572 if it is reached before any scrollable element when walking up the DOM
3573 tree. Also ensure that calling RenderLayer::scrollBy() for a document
3574 node does not result in scrolling if the element is not scrollable.
3576 * page/EventHandler.cpp:
3577 (WebCore::closestScrollableNodeCandidate):
3578 (WebCore::EventHandler::handleGestureScrollUpdate):
3579 * rendering/RenderLayer.cpp:
3580 (WebCore::RenderLayer::scrollBy):
3582 2013-02-07 Mark Lam <mark.lam@apple.com>
3584 Introduce SQLTransactionBackend and SQLTransactionBackendSync [Part 2].
3585 https://bugs.webkit.org/show_bug.cgi?id=109109.
3587 Reviewed by Anders Carlsson.
3589 Adding back the new SQLTransaction and SQLTransactionSync files.
3593 * Modules/webdatabase/SQLTransaction.cpp: Added.
3594 (WebCore::SQLTransaction::create):
3595 (WebCore::SQLTransaction::SQLTransaction):
3596 (WebCore::SQLTransaction::from):
3597 * Modules/webdatabase/SQLTransaction.h: Added.
3599 * Modules/webdatabase/SQLTransactionSync.cpp: Added.
3600 (WebCore::SQLTransactionSync::create):
3601 (WebCore::SQLTransactionSync::SQLTransactionSync):
3602 (WebCore::SQLTransactionSync::from):
3603 * Modules/webdatabase/SQLTransactionSync.h: Added.
3604 (SQLTransactionSync):
3606 2013-02-07 Mark Lam <mark.lam@apple.com>
3608 Introduce SQLTransactionBackend and SQLTransactionBackendSync.
3609 https://bugs.webkit.org/show_bug.cgi?id=109109.
3611 Reviewed by Anders Carlsson.
3613 - Renamed SQLTransaction and SQLTransactionSync to SQLTransactionBackend
3614 and SQLTransactionBackendSync respectively.
3615 - Added back SQLTransaction and SQLTransactionSync as new files, and have
3616 their classes extends their respective backends. This is a stop gap
3617 measure to keep things working until the front-end and back-end can be
3619 Note: these files will be committed in a subsequent commit to ensure
3620 that the patching goes smoothly.
3621 - Where needed, I made use of new SQLTransaction::from() and
3622 SQLTransactionSync::from() static methods that "get" the front-end
3623 transactions from the back-ends. This is also a stop gap measure to
3624 keep things working until the proper refactoring is complete.
3625 - Fixed up pre-existing style checker violations that are now detected
3626 on code that were touched during my renaming.
3627 - Added the back-end files to all the build files.
3632 * GNUmakefile.list.am:
3633 * Modules/webdatabase/Database.cpp:
3634 (WebCore::Database::scheduleTransactionStep):
3635 * Modules/webdatabase/Database.h:
3637 * Modules/webdatabase/DatabaseBackend.h:
3639 * Modules/webdatabase/DatabaseTask.cpp:
3640 (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::DatabaseTransactionTask):
3641 * Modules/webdatabase/DatabaseTask.h:
3642 (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::create):
3643 (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::transaction):
3644 (DatabaseBackendAsync::DatabaseTransactionTask):
3645 * Modules/webdatabase/SQLTransaction.cpp: Removed.
3646 * Modules/webdatabase/SQLTransaction.h: Removed.
3647 * Modules/webdatabase/SQLTransactionBackend.cpp: Copied from Source/WebCore/Modules/webdatabase/SQLTransaction.cpp.
3648 (WebCore::SQLTransactionBackend::SQLTransactionBackend):
3649 (WebCore::SQLTransactionBackend::~SQLTransactionBackend):
3650 (WebCore::SQLTransactionBackend::executeSQL):
3651 (WebCore::SQLTransactionBackend::enqueueStatement):
3652 (WebCore::SQLTransactionBackend::debugStepName):
3653 (WebCore::SQLTransactionBackend::checkAndHandleClosedOrInterruptedDatabase):
3654 (WebCore::SQLTransactionBackend::performNextStep):
3655 (WebCore::SQLTransactionBackend::performPendingCallback):
3656 (WebCore::SQLTransactionBackend::notifyDatabaseThreadIsShuttingDown):
3657 (WebCore::SQLTransactionBackend::acquireLock):
3658 (WebCore::SQLTransactionBackend::lockAcquired):
3659 (WebCore::SQLTransactionBackend::openTransactionAndPreflight):
3660 (WebCore::SQLTransactionBackend::deliverTransactionCallback):
3661 (WebCore::SQLTransactionBackend::scheduleToRunStatements):
3662 (WebCore::SQLTransactionBackend::runStatements):
3663 (WebCore::SQLTransactionBackend::getNextStatement):
3664 (WebCore::SQLTransactionBackend::runCurrentStatement):
3665 (WebCore::SQLTransactionBackend::handleCurrentStatementError):
3666 (WebCore::SQLTransactionBackend::deliverStatementCallback):
3667 (WebCore::SQLTransactionBackend::deliverQuotaIncreaseCallback):
3668 (WebCore::SQLTransactionBackend::postflightAndCommit):
3669 (WebCore::SQLTransactionBackend::deliverSuccessCallback):
3670 (WebCore::SQLTransactionBackend::cleanupAfterSuccessCallback):
3671 (WebCore::SQLTransactionBackend::handleTransactionError):
3672 (WebCore::SQLTransactionBackend::deliverTransactionErrorCallback):
3673 (WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
3674 * Modules/webdatabase/SQLTransactionBackend.h: Copied from Source/WebCore/Modules/webdatabase/SQLTransaction.h.
3675 (SQLTransactionBackend):
3676 * Modules/webdatabase/SQLTransactionBackendSync.cpp: Copied from Source/WebCore/Modules/webdatabase/SQLTransactionSync.cpp.
3677 (WebCore::SQLTransactionBackendSync::SQLTransactionBackendSync):
3678 (WebCore::SQLTransactionBackendSync::~SQLTransactionBackendSync):
3679 (WebCore::SQLTransactionBackendSync::executeSQL):
3680 (WebCore::SQLTransactionBackendSync::begin):
3681 (WebCore::SQLTransactionBackendSync::execute):
3682 (WebCore::SQLTransactionBackendSync::commit):
3683 (WebCore::SQLTransactionBackendSync::rollback):
3684 * Modules/webdatabase/SQLTransactionBackendSync.h: Copied from Source/WebCore/Modules/webdatabase/SQLTransactionSync.h.
3685 (SQLTransactionBackendSync):
3686 * Modules/webdatabase/SQLTransactionCoordinator.cpp:
3687 (WebCore::getDatabaseIdentifier):
3688 (WebCore::SQLTransactionCoordinator::processPendingTransactions):
3689 (WebCore::SQLTransactionCoordinator::acquireLock):
3690 (WebCore::SQLTransactionCoordinator::releaseLock):
3691 (WebCore::SQLTransactionCoordinator::shutdown):
3692 * Modules/webdatabase/SQLTransactionCoordinator.h:
3693 (SQLTransactionCoordinator):
3694 (WebCore::SQLTransactionCoordinator::SQLTransactionCoordinator):
3696 * Modules/webdatabase/SQLTransactionSync.cpp: Removed.
3697 * Modules/webdatabase/SQLTransactionSync.h: Removed.
3700 * WebCore.vcproj/WebCore.vcproj:
3701 * WebCore.vcxproj/WebCore.vcxproj:
3702 * WebCore.vcxproj/WebCore.vcxproj.filters:
3703 * WebCore.xcodeproj/project.pbxproj:
3705 2013-02-07 Dean Jackson <dino@apple.com>
3707 Use new speech bubble artwork for captions menu button
3708 https://bugs.webkit.org/show_bug.cgi?id=109215
3710 Reviewed by Eric Carlson.
3712 Rather than call into RenderTheme to display this button, embed artwork
3713 into the CSS. This means we can remove some uncalled methods in
3716 * css/mediaControlsQuickTime.css:
3717 (video::-webkit-media-controls-toggle-closed-captions-button): New background image using SVG.
3718 * rendering/RenderTheme.cpp:
3719 (WebCore::RenderTheme::paint): Don't call the specific painter for the CC button.
3720 * rendering/RenderTheme.h: Remove unused function.
3721 * rendering/RenderThemeMac.h: Ditto.
3722 * rendering/RenderThemeMac.mm: Ditto.
3724 2013-02-07 Michelangelo De Simone <michelangelo@webkit.org>
3726 [CSS Shaders] Add the last blending step
3727 https://bugs.webkit.org/show_bug.cgi?id=104012
3729 The resulting blended color in mix() is now weighted according to
3730 the original element's backdrop alpha value.
3732 Reviewed by Dean Jackson.
3734 Test: css3/filters/custom/custom-filter-blend-fractional-destination-alpha.html
3736 * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
3737 (WebCore::CustomFilterValidatedProgram::rewriteMixFragmentShader):
3739 2013-02-07 Benjamin Poulain <bpoulain@apple.com>
3741 Fix two exports of WebCore symbols on iOS
3742 https://bugs.webkit.org/show_bug.cgi?id=109238
3744 Reviewed by David Kilzer.
3746 * WebCore.exp.in: Export wkCTFontTransformGlyphs but not
3747 wkCGContextDrawsWithCorrectShadowOffsets on iOS.
3749 2013-02-07 Hans Muller <hmuller@adobe.com>
3751 [CSS Exclusions] Ignore ExclusionPolygon edges above minLogicalIntervalTop
3752 https://bugs.webkit.org/show_bug.cgi?id=107566
3754 Reviewed by David Hyatt.
3756 Improve ExclusionPolygon::firstIncludedIntervalLogicalTop() performance by only
3757 creating offset edges for polygon edges that are below the horizontal minLogicalIntervalTop
3758 line. In other words, don't bother creating offset edges that can't define the polygon's
3761 Test: fast/exclusions/shape-inside/shape-inside-first-fit-004.html
3763 * rendering/ExclusionPolygon.cpp:
3764 (WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop): Don't create offset edges for polygon edges above minLogicalIntervalTop.
3766 2013-02-07 Jer Noble <jer.noble@apple.com>
3768 Improve logging of MediaPlayerPrivateAVFoundation Notifications.
3769 https://bugs.webkit.org/show_bug.cgi?id=109223
3771 Reviewed by Eric Carlson.
3773 Convert the existing Notification enum to an expandable macro. Then add a
3774 Logging-only function which stringifies the enums.
3776 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3778 (WebCore::notificationName):
3779 (WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification):
3780 (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification):
3781 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
3783 2013-02-07 Martin Robinson <mrobinson@igalia.com>
3785 [GTK] Cleanup command-line defines
3786 https://bugs.webkit.org/show_bug.cgi?id=109213
3788 Reviewed by Xan Lopez.
3790 * GNUmakefile.am: Remove references to flags that are now handled
3791 via autotoolsconfig.h.
3793 2013-02-07 Tom Sepez <tsepez@chromium.org>
3795 [V8] Binding Integrity crash in V8MediaStream::createWrapper
3796 https://bugs.webkit.org/show_bug.cgi?id=109211
3798 Reviewed by Adam Barth.
3800 Patch suppresses a chrome crasher.
3802 * Modules/mediastream/MediaStream.idl:
3804 2013-02-07 Eric Carlson <eric.carlson@apple.com>
3806 [Mac] decrease in-band caption advance notice interval
3807 https://bugs.webkit.org/show_bug.cgi?id=109190
3809 Reviewed by Simon Fraser.
3811 No new tests, no observable change in behavior.
3813 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3814 (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Request cues 2 seconds in advance.
3816 2013-02-07 ChangSeok Oh <shivamidow@gmail.com>
3818 [GTK][AC] Clutter required version up to 1.12
3819 https://bugs.webkit.org/show_bug.cgi?id=109037
3821 Reviewed by Martin Robinson.
3823 Replace deprecated clutter apis with new ones.
3825 No new tests, since this patch is minor refactoring.
3827 * platform/graphics/clutter/GraphicsLayerActor.cpp:
3828 (graphicsLayerActorSetAnchorPoint):
3829 * platform/graphics/clutter/GraphicsLayerClutter.cpp:
3830 (WebCore::idleDestroy):
3831 (WebCore::GraphicsLayerClutter::updateSublayerList):
3833 2013-02-07 Benjamin Poulain <bpoulain@apple.com>
3835 Move pauseAnimation/pauseTransition from TestRunner to Internals
3836 https://bugs.webkit.org/show_bug.cgi?id=109107
3838 Reviewed by Anders Carlsson.
3840 Tests: animations/animation-internals-api-multiple-keyframes.html
3841 animations/animation-internals-api.html
3843 * testing/Internals.cpp:
3844 (WebCore::Internals::pauseAnimationAtTimeOnElement):
3846 (WebCore::Internals::pauseTransitionAtTimeOnElement):
3847 * testing/Internals.h:
3849 * testing/Internals.idl:
3851 2013-02-07 Gavin Peters <gavinp@chromium.org>
3853 Unreviewed, rolling out r142155.
3854 http://trac.webkit.org/changeset/142155
3855 https://bugs.webkit.org/show_bug.cgi?id=82888
3859 * bindings/js/JSClipboardCustom.cpp:
3860 (WebCore::JSClipboard::types):
3861 * bindings/v8/custom/V8ClipboardCustom.cpp:
3862 (WebCore::V8Clipboard::typesAccessorGetter):
3865 * platform/blackberry/ClipboardBlackBerry.cpp:
3866 (WebCore::ClipboardBlackBerry::types):
3867 * platform/blackberry/ClipboardBlackBerry.h:
3868 (ClipboardBlackBerry):
3869 * platform/chromium/ChromiumDataObject.cpp:
3870 (WebCore::ChromiumDataObject::types):
3871 * platform/chromium/ChromiumDataObject.h:
3872 (ChromiumDataObject):
3873 * platform/chromium/ClipboardChromium.cpp:
3874 (WebCore::ClipboardChromium::types):
3875 * platform/chromium/ClipboardChromium.h:
3876 (ClipboardChromium):
3877 * platform/efl/ClipboardEfl.cpp:
3878 (WebCore::ClipboardEfl::types):
3879 * platform/efl/ClipboardEfl.h:
3881 * platform/gtk/ClipboardGtk.cpp:
3882 (WebCore::ClipboardGtk::types):
3883 * platform/gtk/ClipboardGtk.h:
3885 * platform/mac/ClipboardMac.h:
3887 * platform/mac/ClipboardMac.mm:
3888 (WebCore::addHTMLClipboardTypesForCocoaType):
3889 (WebCore::ClipboardMac::types):
3890 * platform/qt/ClipboardQt.cpp:
3891 (WebCore::ClipboardQt::types):
3892 * platform/qt/ClipboardQt.h:
3894 * platform/win/ClipboardWin.cpp:
3895 (WebCore::addMimeTypesForFormat):
3896 (WebCore::ClipboardWin::types):
3897 * platform/win/ClipboardWin.h:
3900 2013-02-07 Rik Cabanier <cabanier@adobe.com>
3902 Add support for parsing of -webkit-background-blend-mode
3903 https://bugs.webkit.org/show_bug.cgi?id=108547
3905 Reviewed by David Hyatt.
3907 Added parsing and general CSS handling of -webkit-background-blend-mode per
3908 https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#background-blend-mode
3910 Tests: css3/compositing/background-blend-mode-property-parsing.html
3911 css3/compositing/background-blend-mode-property.html
3913 * css/CSSComputedStyleDeclaration.cpp: Built value for getComputedStyle.
3915 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3916 * css/CSSParser.cpp: Parsed and stored value of -webkit-background-blend-mode.
3917 (WebCore::CSSParser::parseValue):
3918 (WebCore::CSSParser::parseFillProperty):
3919 * css/CSSProperty.cpp: Listed -webkit-background-blend-mode as a non-inherited property.
3920 (WebCore::CSSProperty::isInheritedProperty):
3921 * css/CSSPropertyNames.in: Added -webkit-background-blend-mode as a CSS property.
3922 * css/CSSToStyleMap.cpp: Mapped background blend mode from CSS value to enum.
3923 (WebCore::CSSToStyleMap::mapFillBlendMode):
3925 * css/CSSToStyleMap.h: Added function declaration 'mapFillBlendMode'.
3927 * css/StyleBuilder.cpp: Set up propery handler for -webkit-background-blend-mode.
3928 (WebCore::StyleBuilder::StyleBuilder):
3929 * rendering/style/FillLayer.cpp: Added code to store and retrieve the blend mode from a layer.
3930 (WebCore::FillLayer::FillLayer):
3931 (WebCore::FillLayer::operator=):
3932 (WebCore::FillLayer::operator==):
3933 (WebCore::FillLayer::fillUnsetProperties):
3934 * rendering/style/FillLayer.h: Added function definitions to manage blend mode in a layer.
3935 (WebCore::FillLayer::blendMode):
3936 (WebCore::FillLayer::isBlendModeSet):
3937 (WebCore::FillLayer::setBlendMode):
3938 (WebCore::FillLayer::clearBlendMode):
3939 (WebCore::FillLayer::initialFillBlendMode):
3942 2013-02-07 Gavin Peters <gavinp@chromium.org>
3944 Unreviewed, rolling out r142142.
3945 http://trac.webkit.org/changeset/142142
3946 https://bugs.webkit.org/show_bug.cgi?id=109154
3948 Mac expectations were not right. See http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=inspector-protocol%2Fnmi-webaudio-leak-test.html and http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=inspector-protocol%2Fnmi-webaudio.html .
3951 * inspector/front-end/DefaultTextEditor.js:
3952 (WebInspector.TextEditorMainPanel.prototype._registerShortcuts):
3954 2013-02-07 Gavin Peters <gavinp@chromium.org>
3956 Unreviewed, rolling out r142081.
3957 http://trac.webkit.org/changeset/142081
3958 https://bugs.webkit.org/show_bug.cgi?id=109146
3960 The patch caused a crash in inspector-protocol/nmi-webaudio*.html .
3962 See http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=inspector-protocol%2Fnmi-webaudio-leak-test.html and http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=inspector-protocol%2Fnmi-webaudio.html .
3964 * dom/WebCoreMemoryInstrumentation.cpp:
3966 * inspector/front-end/NativeMemorySnapshotView.js:
3967 (WebInspector.MemoryBlockViewProperties._initialize):
3968 * platform/PlatformMemoryInstrumentation.cpp:
3971 2013-02-07 Bear Travis <betravis@adobe.com>
3973 [CSS Exclusions] shape-inside does not properly handle padding or border
3974 https://bugs.webkit.org/show_bug.cgi?id=102715
3976 Reviewed by David Hyatt.
3978 This patch positions the exclusion shape based on the value of the css box sizing
3979 property. Geometry calculations happen in the shape coordinate space. For layout,
3980 these coordinates are translated to the border-box coordinate system by adding
3981 the appropriate offsets.
3983 Test: fast/exclusions/shape-inside/shape-inside-box-sizing.html
3985 * rendering/ExclusionShapeInfo.cpp:
3986 (WebCore::::computedShape): Pass m_shapeLogicalWidth to the exclusion shape
3988 * rendering/ExclusionShapeInfo.h:
3989 (WebCore::ExclusionShapeInfo::setShapeSize): Adjust block layout dimensions to
3990 shape dimensions when checking to see if the shape geometry must be recalculated.
3991 (WebCore::ExclusionShapeInfo::shapeLogicalTop): Account for layout offsets.
3992 (WebCore::ExclusionShapeInfo::shapeLogicalBottom): Ditto.
3993 (WebCore::ExclusionShapeInfo::shapeLogicalLeft): Ditto.
3994 (WebCore::ExclusionShapeInfo::shapeLogicalRight): Ditto.
3995 (WebCore::ExclusionShapeInfo::logicalTopOffset): Return the offset from the logical
3996 top of the border box to the logical top of the shape.
3997 (WebCore::ExclusionShapeInfo::logicalLeftOffset): Return the offset from the logical
3998 left of the border box to the logical left of the shape.
3999 (ExclusionShapeInfo):
4000 * rendering/ExclusionShapeInsideInfo.cpp:
4001 (WebCore::ExclusionShapeInsideInfo::computeSegmentsForLine): Adjust line top to
4002 be in shape coordinates.
4003 (WebCore::ExclusionShapeInsideInfo::adjustLogicalLineTop): Ditto.
4004 * rendering/ExclusionShapeInsideInfo.h:
4005 (WebCore::ExclusionShapeInsideInfo::lineOverlapsShapeBounds): Use consistent
4006 coordinate system (border box) to test for whether a line overlaps a shape.
4007 (WebCore::ExclusionShapeInsideInfo::logicalLineTop): Include the logical offset
4008 from the border box.
4009 (WebCore::ExclusionShapeInsideInfo::logicalLineBottom): Ditto.
4011 2013-02-07 Benjamin Poulain <bpoulain@apple.com>
4013 Upstream iOS isWebThread() and isUIThread()
4014 https://bugs.webkit.org/show_bug.cgi?id=109130
4016 Reviewed by Sam Weinig.
4018 * bindings/objc/WebScriptObject.mm:
4019 (+[WebScriptObject initialize]):
4020 * platform/mac/SharedBufferMac.mm:
4021 (+[WebCoreSharedBufferData initialize]):
4022 #ifdef out the legacy initialization as it is not correct when
4025 2013-02-07 Vivek Galatage <vivek.vg@samsung.com>
4027 Web Inspector: CPU pegged when inspecting LocalStorage that mutates.